/// <reference types="../../@cosmic/bos-script" />
declare global {
    namespace $ {
        namespace com.kingdee.bos.ctrl.data.modal{
            interface IDefObj_S {
            }
            type IDefObj_ST = $.java.io.Serializable & IDefObj_S;
            interface IDefObj_C extends IDefObj_ST {
            }
            interface IDefObj$ {
                getName():string;
                getProperties():$.java.util.Map;
                getAlias():string;
                getAliasName():string;
                setDesc(desc:string):void;
                getDesc():string;
                copy(obj:IDefObj):void;
                setName(name:string):void;
                setAlias(alias:string):void;
            }
            type IDefObj_T = $.java.io.Serializable & IDefObj$;
            interface IDefObj extends IDefObj_T {
            }
            interface DefObj_S {
                readonly P_DESC:string;
                readonly P_ALIAS:string;
            }
            type DefObj_ST = DefObj_S & IDefObj_S;
            interface DefObj_C extends DefObj_ST {
                new():DefObj;
            }
            interface DefObj$ {
                setProperty(name:string,val:any):void;
                getProperty(name:string):any;
                getStrProperty(name:string):string;
                setDesc(desc:string,l:$.java.util.Locale):void;
                getAlias(l:$.java.util.Locale):string;
                getDesc(l:$.java.util.Locale):string;
                setAlias(alias:string,l:$.java.util.Locale):void;
            }
            type DefObj_T = DefObj$ & IDefObj;
            interface DefObj extends DefObj_T {
            }
        }
        namespace com.kingdee.bos.ctrl.reportone.r1.common.designercore.data{
            interface DataExtend_S {
                readonly TYPE_REPORT_PARAM:string;
                readonly ID_REPORT_PARAM:string;
                readonly ID_SYSTEM_PARAM:string;
                readonly TYPE_SYSTEM_PARAM:string;
                createSysParamDataExt():DataExtend;
                /**
                 * 参数列表(Parameter) => 参数来源列表(DataParamSource)
                 *
                 * @param params
                 * @return
                 */
                params2ParamSources(params:$.java.util.List):$.java.util.List;
                createReportParamDataExt():DataExtend;
            }
            type DataExtend_ST = DataExtend_S & com.kingdee.bos.ctrl.data.modal.DefObj_S;
            interface DataExtend_C extends DataExtend_ST {
                new():DataExtend;
            }
            interface DataExtend$ {
                isMainDS():boolean;
                getParamSources():$.java.util.Map;
                getDsType():string;
                addUsedField(fieldKey:string):void;
                setQueryEntityId(queryEntityId:string):void;
                getUnionFields():$.java.util.Set;
                getFilterCondition():kd.bos.entity.filter.FilterCondition;
                /**
                 * 获取字段usedFields的值
                 *
                 * @return usedFields的值
                 */
                getUsedFields():$.java.util.Set;
                /**
                 * 将参数usedFields的值赋给字段usedFields
                 *
                 * @param 参数usedFields
                 */
                setUsedFields(usedFields:$.java.util.Set):void;
                setUnionFields(unionFields:$.java.util.Set):void;
                getInfo():string;
                setFilterCondition(filterCondition:kd.bos.entity.filter.FilterCondition):void;
                setMainDS(isMainDS:boolean):void;
                copyMe():this;
                setDsType(dsType:string):void;
                getQueryEntityId():string;
                /**
                 * 获取依赖的数据源的名字，即这个数据源的父亲
                 *
                 * @return 如果存在父亲，返回父亲的名字 否则，返回空字符串
                 */
                getParentName():string;
                setInfo(info:string):void;
            }
            type DataExtend_T = DataExtend$ & com.kingdee.bos.ctrl.data.modal.DefObj;
            interface DataExtend extends DataExtend_T {
            }
        }
        namespace com.kingdee.bos.ctrl.reportone.r1.print.data{
            interface R1PrintDataSource_S {
            }
            interface R1PrintDataSource_C extends R1PrintDataSource_S {
                new():R1PrintDataSource;
            }
            interface R1PrintDataSource$ {
                setFilterCondition(arg0:$.kd.bos.entity.filter.FilterCondition):void;
                getParam(arg0:string):R1PrintDataParameter;
                setQueryEntityId(arg0:string):void;
                getDsType():string;
                getUsedFields():$.java.util.Set;
                getAssociateParameter():R1PrintDataParameter;
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                setUnionFields(arg0:$.java.util.Set):void;
                getReference():string;
                getSortFields():R1PrintDataSortItem[];
                getLogString():string;
                getParams():R1PrintDataParameter[];
                getUnionFields():$.java.util.Set;
                getParamCount():number;
                setUsedFields(arg0:$.java.util.Set):void;
                getId():string;
                setDsType(arg0:string):void;
                getParam(arg0:number):R1PrintDataParameter;
                getQueryEntityId():string;
            }
            type R1PrintDataSource_T = R1PrintDataSource$;
            interface R1PrintDataSource extends R1PrintDataSource_T {
            }
            interface IPrintDataProvider_S {
            }
            type IPrintDataProvider_ST = $.java.io.Serializable & IPrintDataProvider_S;
            interface IPrintDataProvider_C extends IPrintDataProvider_ST {
            }
            interface IPrintDataProvider$ {
                getInteFormatId():long;
                setPkIds(arg0:$.java.util.List):void;
                getPageId():string;
                setMainEntityType(arg0:$.kd.bos.entity.MainEntityType):void;
                setWorkFlowParams(arg0:$.java.util.Map):void;
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                setPlunginProxy(arg0:$.kd.bos.entity.plugin.PrintServicePluginProxy):void;
                getPkIds():$.java.util.List;
                setQueryParam(arg0:kd.bos.entity.report.ReportQueryParam):void;
                getCustomDynamicObjectTypes():$.java.util.Map;
                setInteFormatId(arg0:long):void;
                getWorkFlowParams():$.java.util.Map;
                setModelType(arg0:string):void;
                setCustomDynamicObjectTypes(arg0:$.java.util.Map):void;
                isCanPrint?(arg0:string,arg1:long,arg2:string):boolean;
                getPluginProxy():$.kd.bos.entity.plugin.PrintServicePluginProxy;
                getPrintLang?(arg0:string):$.kd.bos.lang.Lang;
                setDataEntities(arg0:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                getData(arg0:R1PrintDataSource):$.java.util.List;
                getQueryParam():kd.bos.entity.report.ReportQueryParam;
                setDataEntity(arg0:$.kd.bos.dataentity.entity.DynamicObject):void;
                getModelType():string;
                setCustomFieldsMap(arg0:$.java.util.Map):void;
                getMainEntityType():$.kd.bos.entity.MainEntityType;
                setPageId(arg0:string):void;
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                setFilterExps?(arg0:$.java.util.Map):void;
                getCustomFieldsMap():$.java.util.Map;
            }
            type IPrintDataProvider_T = $.java.io.Serializable & IPrintDataProvider$;
            interface IPrintDataProvider extends IPrintDataProvider_T {
            }
            interface AbstractPrintDataProvider_S {
            }
            type AbstractPrintDataProvider_ST = AbstractPrintDataProvider_S & IPrintDataProvider_S;
            interface AbstractPrintDataProvider_C extends AbstractPrintDataProvider_ST {
                new():AbstractPrintDataProvider;
            }
            interface AbstractPrintDataProvider$ {
            }
            type AbstractPrintDataProvider_T = AbstractPrintDataProvider$ & IPrintDataProvider;
            interface AbstractPrintDataProvider extends AbstractPrintDataProvider_T {
            }
            interface R1PrintDataParameter_S {
            }
            interface R1PrintDataParameter_C extends R1PrintDataParameter_S {
                new():R1PrintDataParameter;
            }
            interface R1PrintDataParameter$ {
                getValue():any;
                getAssociateSource():string;
                getId():string;
                getAssociateField():string;
            }
            type R1PrintDataParameter_T = R1PrintDataParameter$;
            interface R1PrintDataParameter extends R1PrintDataParameter_T {
            }
            interface R1PrintDataSortItem_S {
                readonly DESC:number;
                readonly ASC:number;
            }
            interface R1PrintDataSortItem_C extends R1PrintDataSortItem_S {
                new():R1PrintDataSortItem;
            }
            interface R1PrintDataSortItem$ {
                getSortField():string;
                getSortType():number;
            }
            type R1PrintDataSortItem_T = R1PrintDataSortItem$;
            interface R1PrintDataSortItem extends R1PrintDataSortItem_T {
            }
        }
        namespace kd.bos.actiondispatcher{
            interface ActionUtil_S {
                responseException(e:$.java.lang.Throwable,action:string,requestURI:string,response:$.javax.servlet.ServletResponse,status:kd.bos.mservice.common.HttpStatusCode,servletPath:string):void;
                getServletPath(httpRequest:$.javax.servlet.http.HttpServletRequest):string;
                responseException(e:$.java.lang.Throwable,action:string,requestURI:string,response:$.javax.servlet.ServletResponse):void;
                writeResponseJson(response:$.javax.servlet.ServletResponse,result:$.java.lang.CharSequence):void;
                writeResponseResult(response:$.javax.servlet.ServletResponse,result:$.java.lang.CharSequence):void;
                isShowStackTrace():boolean;
                writeResponseJson(response:$.javax.servlet.ServletResponse,result:$.java.lang.CharSequence,status:kd.bos.mservice.common.HttpStatusCode,servletPath:string):void;
                writeResponseXml(response:$.javax.servlet.ServletResponse,result:$.java.lang.CharSequence):void;
            }
            interface ActionUtil_C extends ActionUtil_S {
                new():ActionUtil;
            }
            interface ActionUtil$ {
            }
            type ActionUtil_T = ActionUtil$;
            interface ActionUtil extends ActionUtil_T {
            }
        }
        namespace kd.bos.algo{
            interface FilterFunction_S {
            }
            type FilterFunction_ST = FilterFunction_S & kd.bos.algox.Function_S;
            interface FilterFunction_C extends FilterFunction_ST {
                new():FilterFunction;
            }
            interface FilterFunction$ {
                /**
                 * 使用自定义过滤函数对DataSet每行数据进行过滤处理
                 * @param row 每行数据
                 * @return 是否符合过滤条件
                 */
                test(row:Row):boolean;
            }
            type FilterFunction_T = FilterFunction$ & kd.bos.algox.Function;
            interface FilterFunction extends FilterFunction_T {
            }
            interface RowMetaFactory_S {
                /**
                 * 根据字段名称和类型创建元素据
                 * @param fieldNames 属性名称
                 * @param dataTypes 数据类型
                 * @return 元数据
                 */
                createRowMeta(fieldNames:string[],dataTypes:DataType[]):RowMeta;
            }
            interface RowMetaFactory_C extends RowMetaFactory_S {
                new():RowMetaFactory;
            }
            interface RowMetaFactory$ {
            }
            type RowMetaFactory_T = RowMetaFactory$;
            interface RowMetaFactory extends RowMetaFactory_T {
            }
            interface RowUtil_S {
                /**
                 * 对Algox的行进行类型转换
                 * @param rowMeta 元数据信息
                 * @param rowX Algox中的行数据
                 * @return
                 */
                convert(rowMeta:RowMeta,rowX:kd.bos.algox.RowX):kd.bos.algox.RowX;
                /**
                 * 将行变成数组
                 * @param row 构造DataSet结果集的行数据
                 * @return 行数据转换后的Object数组值
                 */
                toArray(row:Row):any[];
                /**
                 * 持久化Row
                 * @param row 行数据
                 * @return 持久化的Row
                 */
                persist(row:Row):Row;
                /**
                 * 将row转成map
                 * @param row 行数据
                 * @return
                 */
                toMap(row:Row):$.java.util.Map;
            }
            interface RowUtil_C extends RowUtil_S {
                new():RowUtil;
            }
            interface RowUtil$ {
            }
            type RowUtil_T = RowUtil$;
            interface RowUtil extends RowUtil_T {
            }
            interface HashTable_S {
            }
            interface HashTable_C extends HashTable_S {
            }
            interface HashTable$ {
                /**
                 * 关闭资源
                 */
                close():void;
                /**
                 * 获取元素据
                 * @return
                 */
                getRowMeta():RowMeta;
            }
            type HashTable_T = HashTable$;
            interface HashTable extends HashTable_T {
            }
            interface DataSet_S {
            }
            type DataSet_ST = $.java.lang.AutoCloseable & $.java.lang.Iterable & $.java.util.Iterator & DataSet_S;
            interface DataSet_C extends DataSet_ST {
            }
            interface DataSet$ {
                /**
                 * 获取元素据
                 * @return 元素据
                 */
                getRowMeta():RowMeta;
                /**
                 * 设置迭代超时时间
                 * @param timeout 超时时间，默认单位为秒
                 */
                setIterateTimeout?(timeout:number):void;
                /**
                 * 根据某个key，将DataSet转成HashTable
                 * @param keyField 某个key值
                 * @return  HashTable
                 */
                toHashTable(keyField:string):HashTable;
                /**
                 * 默认分组，没有分组字段，默认只有一组
                 * @return GroupbyDataSet
                 */
                groupBy():GroupbyDataSet;
                /**
                 * 判断是否还有数据
                 * @return 是否还有数据
                 */
                isEmpty():boolean;
                /**
                 * 支持expr中写参数，参数值通过params传递
                 * 比如：
                 * <pre>
                 *     <code>
                 * params.put("var1", 100);
                 * filter("fqty>var1", params);
                 *     </code>
                 * </pre>
                 * @param expr 过滤的表达式，支持变量方式
                 * @param params 变量对应的参数值
                 * @return DataSet
                 */
                filter(expr:string,params:$.java.util.Map):this;
                /**
                 * 可以指定Join类型是left join还是right join
                 * @param rightDataSet join的另外一个结果集
                 * @param type {@link kd.bos.algo.JoinType} Join的类型
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                join(rightDataSet:DataSet,type_arg:JoinType):JoinDataSet;
                /**
                 * 可以指定join方式以及join类型
                 * @param rightDataSet join的另外一个结果集
                 * @param type {@link kd.bos.algo.JoinType} Join的类型
                 * @param hint {@link kd.bos.algo.JoinHint} Join的提示，可设置一些优化信息
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                join(rightDataSet:DataSet,type_arg:JoinType,hint:JoinHint):JoinDataSet;
                /**
                 * 全连接
                 * @param rightDataSet join的另外一个结果集
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                fullJoin(rightDataSet:DataSet):JoinDataSet;
                /**
                 * 数据过滤
                 * @param expr 支持四则运算
                 * @return DataSet
                 */
                where(expr:string):this;
                /**
                 * 多个dataset union 不支持消除重复
                 * @param dataSets 多个结果集
                 * @return DataSet
                 */
                union(...dataSets:DataSet[]):this;
                /**
                 * 对某字段进行count统计，不包括null值
                 * @param field 统计字段
                 * @param distinct 是否去重
                 * @return count值
                 */
                count(field:string,distinct:boolean):number;
                /**
                 * 排序后取前几条数据
                 * @param top 取数长度
                 * @param orderBy 排序字段
                 * @return DataSet
                 */
                topBy(top:number,orderBy:string[]):this;
                /**
                 * 自定义map函数，对dataset进行处理，生成新的dataset
                 * @param function  自定义map函数
                 * @return DataSet
                 */
                map(function_arg:MapFunction):this;
                /**
                 * 指定join方式的全连接
                 * @param rightDataSet join的另外一个结果集
                 * @param hint {@link kd.bos.algo.JoinHint} Join的提示，可设置一些优化信息
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                fullJoin(rightDataSet:DataSet,hint:JoinHint):JoinDataSet;
                /**
                 * 默认进行innerjoin
                 * @param rightDataSet join的另外一个结果集
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                join(rightDataSet:DataSet):JoinDataSet;
                /**
                 * 返回某范围数据
                 * @param start 从start位置开始取值
                 * @param length 取数长度
                 * @return DataSet
                 */
                range(start:number,length:number):this;
                /**
                 * 返回某范围数据
                 * @param start 从start位置开始取值
                 * @param length 取数长度
                 * @return DataSet
                 */
                limit?(start:number,length:number):this;
                /**
                 * simple union,不支持消除重复
                 * @param dataSet union的另外一个结果集
                 * @return DataSet
                 */
                union(dataSet:DataSet):this;
                /**
                 * 根据分组字段对DataSet进行分组，默认升序排列，分组字段不支持表达式
                 * @param groupFields 分组字段
                 * @return GroupbyDataSet
                 */
                groupBy(groupFields:string[]):GroupbyDataSet;
                /**
                 * 对结果集去重，默认是所有字段
                 * @return DataSet
                 */
                distinct():this;
                /**
                 * 支持expr中写参数，参数值通过params传递
                 * 比如：
                 * <pre>
                 *     <code>
                 * params.put("var1", 100);
                 * filter("fqty>var1", params);
                 *     </code>
                 * </>
                 * @param expr 过滤的表达式，支持变量方式
                 * @param params 变量对应的参数值
                 * @return DataSet
                 */
                where(expr:string,params:$.java.util.Map):this;
                /**
                 * 右连接
                 * @param rightDataSet join的另外一个结果集
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                rightJoin(rightDataSet:DataSet):JoinDataSet;
                /**
                 * 根据分组字段进行分割
                 * @param groupFields 分组字段
                 * @return DataSet[]
                 */
                splitByGroup(groupFields:string[]):DataSet[];
                /**
                 * 更新字段
                 * @param field 需要更新的某个字段
                 * @param expr  更新的表达式处理
                 * @return DataSet
                 */
                updateField?(field:string,expr:string):this;
                /**
                 * expr支持基本四则运算，包括：+,-,*,/,()
                 *     支持常量数字，字符串
                 *     支持逻辑表达式： <,>,<=,>=,<>, and, or, xor, not
                 *     支持宏: NULL, TRUE, FALSE
                 *
                 *     语法: field, expr alias，或expr as alias
                 *     例子：
                 *     1. famount
                 *     2. famount as amount
                 *     3. famount * 2 as amount, famount + 2 as amount, famount / fqty as amount, famount * fqty as mount,
                 *     4. (famount + qty) * 2 as amount
                 *     5. famount > fqty as b
                 *     6. famount > fqty and fqty > 100 as c
                 *     7. null as c, true as c, false as c
                 *     8. 100 as amount, 'abc' as name
                 *     9. fname + 'abc' as name
                 * @param expr 单个expr或者用逗号隔开的多个expr
                 * @return DataSet
                 */
                select(expr:string):this;
                /**
                 * 是否copy一个新的
                 */
                print(copy:boolean):void;
                /**
                 * 增加字段
                 * @param expr 新增的字段表达式
                 * @param alias 新增字段的别名
                 * @return DataSet
                 */
                addField(expr:string,alias:string):this;
                /**
                 * 新增一个空数据字段
                 *  @param alias 新增空数据字段别名
                 *  @return DataSet
                 */
                addNullField(alias:string):this;
                /**
                 * 对DataSet进行reduce操作后，将数据输出到一个Collector
                 * @param fun reduce函数
                 * @return DataSet
                 */
                reduceGroup(fun:ReduceGroupFunctionWithCollector):this;
                /**
                 * 将DataSet与HashTable进行hashjoin
                 * @param hashTable  HashTable
                 * @param leftJoinKeyField join字段
                 * @param hashTableSelectFields 选取HashTable中需返回的字段
                 * @return {@link kd.bos.algo.HashJoinDataSet}
                 */
                hashJoin(hashTable:HashTable,leftJoinKeyField:string,hashTableSelectFields:string[]):HashJoinDataSet;
                /**
                 * 支持自定义过滤函数进行过滤
                 * @param func 自定义过滤函数
                 * @return DataSet
                 */
                where(func:FilterFunction):this;
                /**
                 * 根据过滤条件，每组过滤条件一个dataset，所有不在这些过滤条件的单独作为一个dataset
                 * @param filterExprs 过滤条件
                 * @param includeOthers 是否返回不在这些条件中的dataset
                 * @return 结果集
                 */
                splitByFilter(filterExprs:string[],includeOthers:boolean):DataSet[];
                /**
                 * 默认进行innerjoin ,可以指定join方式
                 * @param rightDataSet join的另外一个结果集
                 * @param hint {@link kd.bos.algo.JoinHint} Join的提示，可设置一些优化信息
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                join(rightDataSet:DataSet,hint:JoinHint):JoinDataSet;
                /**
                 * 将DataSet与HashTable进行hashjoin
                 * @param hashTable HashTable
                 * @param leftJoinKeyField join字段
                 * @param hashTableSelectFields 选取HashTable中需返回的字段
                 * @param includeNotExist: 类似left join,是否要包含数据不存在的行
                 * @return {@link kd.bos.algo.HashJoinDataSet}
                 */
                hashJoin(hashTable:HashTable,leftJoinKeyField:string,hashTableSelectFields:string[],includeNotExist:boolean):HashJoinDataSet;
                /**
                 * 获取缓存dataset的builder
                 * @param hint 获取缓存dataset的参数值
                 * @return CachedDataSet.Builder
                 */
                cacheBuilder(hint:CacheHint):CachedDataSet$Builder;
                /**
                 * expr支持基本四则运算，包括：+,-,*,/,()
                 *    支持常量数字，字符串
                 *    支持逻辑表达式： <,>,<=,>=,<>, and, or, xor, not
                 *    支持宏: NULL, TRUE, FALSE
                 *
                 *    语法: field, expr alias，或expr as alias
                 *    例子：
                 *    1. famount
                 *    2. famount as amount
                 *    3. famount * 2 as amount, famount + 2 as amount, famount / fqty as amount, famount * fqty as mount,
                 *    4. (famount + qty) * 2 as amount
                 *    5. famount > fqty as b
                 *    6. famount > fqty and fqty > 100 as c
                 *    7. null as c, true as c, false as c
                 *    8. 100 as amount, 'abc' as name
                 *    9. fname + 'abc' as name
                 * @param exprs 需要选择的列表达式
                 * @return DataSet
                 */
                select(...exprs:string[]):this;
                /**
                 * fields语法: field, 或者field desc, field asc
                 * @param fields 排序字段名称
                 * @return  DataSet
                 */
                orderBy(fields:string[]):this;
                /**
                 * 添加监听器，在关闭datset之前和之后执行
                 * @param listener 监听器
                 */
                addListener(listener:DataSet$Listener):void;
                /**
                 * 返回前length条数据
                 * @param length 取数长度
                 * @return DataSet
                 */
                top(length:number):this;
                /**
                 * 可以通过写sql的方式进行数据处理
                 * @param sql sql语句
                 * @return DataSet
                 */
                executeSql(sql:string):this;
                /**
                 * 支持自定义过滤函数进行过滤
                 * @param func 自定义过滤函数
                 * @return DataSet
                 */
                filter(func:FilterFunction):this;
                /**
                 * 同 select(String... exprs);，提供去重参数。
                 * @param distinct 是否需要去重
                 * @param exprs 需要选择的列表达式
                 * @return DataSet
                 */
                select(distinct:boolean,...exprs:string[]):this;
                /**
                 * 可以通过写sql的方式进行数据处理
                 * @param sql sql语句
                 * @param hint {@link kd.bos.algo.SqlHint} 执行sql语句时可以执行一些优化信息
                 * @return DataSet
                 */
                executeSql(sql:string,hint:SqlHint):this;
                /**
                 * 根据分组字段对DataSet进行分组，是否进行降序排列
                 * @param groupFields
                 * @param orderByDescs 是否根据分组字段进行降序排序
                 * @return GroupbyDataSet
                 */
                groupBy(groupFields:string[],orderByDescs:boolean[]):GroupbyDataSet;
                /**
                 * 更新多个字段
                 * @param fields 需要更新的某个字段
                 * @param exprs 更新的表达式处理
                 * @return DataSet
                 */
                updateFields(fields:string[],exprs:string[]):this;
                /**
                 * 复制一份DataSet
                 * @return DataSet
                 */
                copy():this;
                /**
                 * 批量删除字段
                 * @param fields 需要删除的字段的名称
                 * @return  DataSet
                 */
                removeFields(...fields:string[]):this;
                /**
                 * 左连接
                 * @param rightDataSet  join的另外一个结果集
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                leftJoin(rightDataSet:DataSet):JoinDataSet;
                /**
                 * 指定join方式的左连接
                 * @param rightDataSet join的另外一个结果集
                 * @param hint {@link kd.bos.algo.JoinHint} Join的提示，可设置一些优化信息
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                leftJoin(rightDataSet:DataSet,hint:JoinHint):JoinDataSet;
                /**
                 * 缓存dataset
                 * @param cacheHint 获取缓存dataset的参数值
                 * @return CachedDataSet
                 */
                cache(cacheHint:CacheHint):CachedDataSet;
                /**
                 * 增加余额字段, 该字段的值从上往下累加
                 * @param expr 新增余额字段的表达式处理
                 * @param alias 新增字段的别名
                 * @return DataSet
                 */
                addBalanceField(expr:string,alias:string):this;
                /**
                 * 使用表达式进行数据过滤
                 * @param expr: 支持四则运算
                 * @return DataSet
                 */
                filter(expr:string):this;
                /**
                 * 对DataSet进行reduce操作
                 * @param fun reduce函数
                 * @return DataSet
                 */
                reduceGroup(fun:ReduceGroupFunction):this;
                /**
                 * 指定join方式的右连接
                 * @param rightDataSet join的另外一个结果集
                 * @param hint {@link kd.bos.algo.JoinHint} Join的提示，可设置一些优化信息
                 * @return JoinDataSet {@link kd.bos.algo.JoinDataSet}
                 */
                rightJoin(rightDataSet:DataSet,hint:JoinHint):JoinDataSet;
                /**
                 * 新增多个空数据字段
                 *  @param aliases 新增空数据字段别名
                 *  @return DataSet
                 */
                addNullField(...aliases:string[]):this;
                /**
                 * 新增多个字段
                 * @param exprs 新增的字段表达式
                 * @param aliases 新增字段的别名
                 * @return DataSet
                 */
                addFields(exprs:string[],aliases:string[]):this;
            }
            type DataSet_T = $.java.lang.AutoCloseable & $.java.lang.Iterable & $.java.util.Iterator & DataSet$;
            interface DataSet extends DataSet_T {
            }
            interface Hint_S {
            }
            type Hint_ST = $.java.util.concurrent.ConcurrentHashMap & Hint_S;
            interface Hint_C extends Hint_ST {
                new():Hint;
            }
            interface Hint$ {
                getString(key:string,defaultValue:string):string;
                getBoolean(key:string,defaultValue:boolean):boolean;
                getInt(key:string,defaultValue:number):number;
            }
            type Hint_T = $.java.util.concurrent.ConcurrentHashMap & Hint$;
            interface Hint extends Hint_T {
            }
            interface RowMeta_S {
                /**
                 * 根据ResultSet返回元素据
                 * @param rs 数据库结果集
                 * @return 数据库结果集对应的元素据
                 */
                fromResultSet(rs:$.java.sql.ResultSet):RowMeta;
            }
            type RowMeta_ST = $.java.io.Serializable & RowMeta_S;
            interface RowMeta_C extends RowMeta_ST {
                /**
                 * 构造函数
                 * @param fields 属性Field
                 */
                new(fields:Field[]):RowMeta;
                /**
                 * 构造函数
                 * @param fieldNames 属性名称
                 * @param dataTypes 属性类型
                 */
                new(fieldNames:string[],dataTypes:DataType[]):RowMeta;
            }
            interface RowMeta$ {
                /**
                 * 返回属性对应的索引值
                 * @param nameOrAlias 名称或别名
                 * @param throwException 当不存在该字段时，是否抛出异常
                 * @return 属性对应的索引值
                 */
                getFieldIndex(nameOrAlias:string,throwException:boolean):number;
                /**
                 * 返回对应索引值属性的别名
                 * @param index 索引值
                 * @return 对应索引值属性的别名
                 */
                getFieldAlias(index:number):string;
                /**
                 * 返回所有数据类型
                 * @return 所有数据类型
                 */
                getTypes():$.java.util.List;
                /**
                 * 返回对应索引值位置属性的名称
                 * @param index 索引值
                 * @return 对应索引值位置属性的名称
                 */
                getFieldName(index:number):string;
                /**
                 * 返回对应索引值属性的类型
                 * @param index 索引值
                 * @return 对应索引值属性的类型
                 */
                getFieldDataType(index:number):DataType;
                /**
                 * 根据名称或者别名获取属性
                 * @param nameOrAlias 名称或别名
                 * @return 对应属性
                 */
                getField(nameOrAlias:string):Field;
                /**
                 * 返回所有属性对应的数据类型的枚举数字值
                 * @return 所有属性对应的数据类型的枚举数字值
                 */
                getDataTypeOrdinals():number[];
                /**
                 * 返回所有属性
                 * @param fieldNames 字段名称
                 * @return  所有属性
                 */
                getFields(fieldNames:string[]):Field[];
                /**
                 * 将Row转成map
                 * @param row 行数据
                 * @return 转换后的map
                 */
                toMap(row:Row):$.java.util.Map;
                /**
                 * 返回所有属性的数据类型
                 * @return 所有属性的数据类型
                 */
                getDataTypes():DataType[];
                /**
                 * 返回所有属性别名
                 * @return 所有属性别名
                 */
                getFieldNames():string[];
                /**
                 * 返回属性个数
                 * @return 属性个数
                 */
                getFieldCount():number;
                /**
                 * 将Row转成map
                 * @param row 行数据
                 * @param map 存放转换后的map
                 */
                toMap(row:Row,map:$.java.util.Map):void;
                /**
                 * 返回对应索引值的属性是否为空
                 * @param index 索引值
                 * @return  对应索引值的属性是否为空
                 */
                isNullable(index:number):boolean;
                /**
                 * 根据名称或者别名获取属性
                 * @param nameOrAlias 名称或别名
                 * @param throwException  当不存在该字段时，是否抛出异常
                 * @return 对应属性
                 */
                getField(nameOrAlias:string,throwException:boolean):Field;
                /**
                 * 获取所有属性
                 * @return 有属性
                 */
                getFields():Field[];
                /**
                 * 返回对应索引位置的数据类型
                 * @param index 列对应的索引值
                 * @return 对应索引位置的数据类型
                 */
                getDataType(index:number):DataType;
                /**
                 * 返回属性对应的索引值
                 * @param nameOrAlias 名称或别名
                 * @return 属性对应的索引值
                 */
                getFieldIndex(nameOrAlias:string):number;
                /**
                 * 根据索引获取属性
                 * @param index 索引值
                 * @return 对应属性
                 */
                getField(index:number):Field;
            }
            type RowMeta_T = $.java.io.Serializable & RowMeta$;
            interface RowMeta extends RowMeta_T {
            }
            interface CachedDataSet$Builder_S {
            }
            interface CachedDataSet$Builder_C extends CachedDataSet$Builder_S {
            }
            interface CachedDataSet$Builder$ {
                append(arg0:Row):void;
                append(arg0:$.java.util.Iterator):void;
                build():CachedDataSet;
            }
            type CachedDataSet$Builder_T = CachedDataSet$Builder$;
            interface CachedDataSet$Builder extends CachedDataSet$Builder_T {
            }
            interface AlgoException_S {
                /**
                 * 将异常包装成AlgoException
                 * @param cause 被包装的异常
                 * @return AlgoException
                 */
                wrap(cause:$.java.lang.Throwable):AlgoException;
                /**
                 * 创建一个AlgoException
                 * @param message 异常信息
                 * @param args 异常信息中的参数
                 * @return AlgoException
                 */
                create(message:string,...args:any[]):AlgoException;
                /**
                 * 创建一个AlgoException
                 *  @param cause 被包装的异常
                 *  @param message 异常信息
                 *  @param args 异常信息中的参数
                 *  @return AlgoException
                 */
                create(message:string,cause:$.java.lang.Throwable,...args:any[]):AlgoException;
                /**
                 * 将异常包装成AlgoException
                 * @param cause 被包装的异常
                 * @param message 异常信息
                 * @param args 异常信息中的占位参数
                 * @return AlgoException
                 */
                wrap(cause:$.java.lang.Throwable,message:string,...args:any[]):AlgoException;
            }
            type AlgoException_ST = $.java.lang.RuntimeException & AlgoException_S;
            interface AlgoException_C extends AlgoException_ST {
                /**
                 * 构造函数
                 * @param cause 被包装的异常
                 */
                new(cause:$.java.lang.Throwable):AlgoException;
                /**
                 * 构造函数
                 * @param message 异常信息
                 */
                new(message:string):AlgoException;
                /**
                 * 构造函数
                 * @param message 异常信息
                 * @param args 异常信息中的参数
                 */
                new(message:string,args:any[]):AlgoException;
                /**
                 * 构造函数
                 * @param message  异常信息
                 * @param cause 被包装的异常
                 */
                new(message:string,cause:$.java.lang.Throwable):AlgoException;
                /**
                 * 构造函数
                 * @param message 异常信息
                 * @param cause 被包装的异常
                 * @param args 异常信息中的参数
                 */
                new(message:string,cause:$.java.lang.Throwable,args:any[]):AlgoException;
                /**
                 * 构造函数
                 * @param cause 被包装的异常
                 * @param message 异常信息
                 * @param args 异常信息中的参数
                 */
                new(cause:$.java.lang.Throwable,message:string,args:any[]):AlgoException;
            }
            interface AlgoException$ {
            }
            type AlgoException_T = $.java.lang.RuntimeException & AlgoException$;
            interface AlgoException extends AlgoException_T {
            }
            interface DataSetBuilder_S {
            }
            interface DataSetBuilder_C extends DataSetBuilder_S {
            }
            interface DataSetBuilder$ {
                /**
                 * 将当前数组数据添加到dataset中
                 * @param values 数组数据
                 */
                append(values:any[]):void;
                /**
                 * 将某个DataSet的行数据添加到当前dataset中
                 * @param row  数据行
                 */
                append(row:Row):void;
                /**
                 * 生成dataset
                 * @return DataSet
                 */
                build():DataSet;
            }
            type DataSetBuilder_T = DataSetBuilder$;
            interface DataSetBuilder extends DataSetBuilder_T {
            }
            interface HashJoinDataSet_S {
            }
            interface HashJoinDataSet_C extends HashJoinDataSet_S {
            }
            interface HashJoinDataSet$ {
                /**
                 * HashJoinDataSet转为dataset
                 * @return
                 */
                finish():DataSet;
                /**
                 * 进行hashjoin后，继续添加HashTable形成一个新的HashJoinDataSet。
                 * @param hashTable 要添加的HashTable
                 * @param leftJoinKeyField 连接的字段
                 * @param hashTableSelectFields 需要返回的字段
                 * @param includeNotExist: 类似left join
                 * @return
                 */
                addHashTable(hashTable:HashTable,leftJoinKeyField:string,hashTableSelectFields:string[],includeNotExist:boolean):this;
                /**
                 * 可以选择join的方式
                 * @param hint 设置join的一些优化信息
                 * @return
                 */
                hint(hint:JoinHint):this;
                /**
                 * 进行hashjoin后，继续添加HashTable形成一个新的HashJoinDataSet。
                 * @param hashTable 要添加的HashTable
                 * @param leftJoinKeyField 连接的字段
                 * @param hashTableSelectFields 需要返回的字段
                 * @return  HashJoinDataSet
                 */
                addHashTable(hashTable:HashTable,leftJoinKeyField:string,hashTableSelectFields:string[]):this;
                /**
                 * Hashjoin后，返回左边join的结果集的字段的HashJoinDataSet
                 * @param leftFields 返回的字段
                 * @return HashJoinDataSet
                 */
                selectLeftFields(leftFields:string[]):this;
            }
            type HashJoinDataSet_T = HashJoinDataSet$;
            interface HashJoinDataSet extends HashJoinDataSet_T {
            }
            interface MapFunction_S {
            }
            type MapFunction_ST = MapFunction_S & kd.bos.algox.Function_S & kd.bos.algox.ResultAwarable_S;
            interface MapFunction_C extends MapFunction_ST {
                new():MapFunction;
            }
            interface MapFunction$ {
                /**
                 * 对DataSet进行自定义map函数处理
                 * @param row DataSet中的行
                 * @return 处理后的结果
                 */
                map(row:Row):any[];
            }
            type MapFunction_T = MapFunction$ & kd.bos.algox.Function & kd.bos.algox.ResultAwarable;
            interface MapFunction extends MapFunction_T {
            }
            interface CustomizedInput_S {
            }
            type CustomizedInput_ST = $.java.io.Closeable & CustomizedInput_S & Input_S;
            interface CustomizedInput_C extends CustomizedInput_ST {
            }
            interface CustomizedInput$ {
                /**
                 * 创建迭代器
                 * @return 迭代器
                 */
                createIterator():$.java.util.Iterator;
            }
            type CustomizedInput_T = $.java.io.Closeable & CustomizedInput$ & Input;
            interface CustomizedInput extends CustomizedInput_T {
            }
            interface Field_S {
            }
            type Field_ST = $.java.io.Serializable & Field_S;
            interface Field_C extends Field_ST {
                /**
                 * 构造函数
                 * @param name 属性名称
                 * @param dataType 属性类型
                 */
                new(name:string,dataType:DataType):Field;
                /**
                 * 构造函数
                 * @param name 属性名称
                 * @param dataType 属性类型
                 * @param nullable 是否允许为空
                 */
                new(name:string,dataType:DataType,nullable:boolean):Field;
                /**
                 * 构造函数
                 * @param name 属性名称
                 * @param alias 别名
                 * @param dataType 属性类型
                 * @param nullable 是否允许为空
                 */
                new(name:string,alias:string,dataType:DataType,nullable:boolean):Field;
            }
            interface Field$ {
                /**
                 * 获取属性类型
                 * @return 属性类型
                 */
                getDataType():DataType;
                /**
                 * 拷贝该field，返回新的实例，但是使用自定义名称和别名
                 * @param name 属性名称
                 * @return
                 */
                deriveName(name:string):this;
                /**
                 * 获取属性别名
                 * @return 别名
                 */
                getAlias():string;
                /**
                 * 拷贝该field，返回新的实例，但是别名是自定义的
                 * @param alias 别名
                 * @return
                 */
                deriveAlias(alias:string):this;
                /**
                 * 是否允许为空
                 * @return
                 */
                isNullable():boolean;
                /**
                 * 设置属性类型
                 * @param dataType 属性类型
                 */
                setDataType(dataType:DataType):void;
                /**
                 * 拷贝该field，返回新的实例
                 * @return
                 */
                copy():this;
                /**
                 * 拷贝该field，返回新的实例，但是使用自定义名称和别名
                 * @param name 属性名称
                 * @param alias 属性别名
                 * @return Field
                 */
                derive(name:string,alias:string):this;
                /**
                 * 设置属性别名
                 * @param alias 别名
                 */
                setAlias(alias:string):void;
                /**
                 * 获取属性名称
                 * @return 属性名称
                 */
                getName():string;
                /**
                 * 设置属性名称
                 * @param name 属性名称
                 */
                setName(name:string):void;
            }
            type Field_T = $.java.io.Serializable & Field$;
            interface Field extends Field_T {
            }
            interface Input_S {
            }
            type Input_ST = $.java.io.Serializable & Input_S;
            interface Input_C extends Input_ST {
            }
            interface Input$ {
                /**
                 * 获取元素据
                 * @return {@link kd.bos.algo.RowMeta}
                 */
                getRowMeta():RowMeta;
            }
            type Input_T = $.java.io.Serializable & Input$;
            interface Input extends Input_T {
            }
            interface AlgoContext_S {
            }
            type AlgoContext_ST = $.java.io.Closeable & $.java.lang.AutoCloseable & AlgoContext_S;
            interface AlgoContext_C extends AlgoContext_ST {
            }
            interface AlgoContext$ {
            }
            type AlgoContext_T = $.java.io.Closeable & $.java.lang.AutoCloseable & AlgoContext$;
            interface AlgoContext extends AlgoContext_T {
            }
            interface CustomizedOutput_S {
            }
            type CustomizedOutput_ST = $.java.io.Closeable & CustomizedOutput_S & Output_S;
            interface CustomizedOutput_C extends CustomizedOutput_ST {
            }
            interface CustomizedOutput$ {
                /**
                 * 将处理后的row数据写入到输出
                 * @param row 行数据
                 */
                write(row:any[]):void;
                /**
                 * 打开输出
                 */
                open():void;
            }
            type CustomizedOutput_T = $.java.io.Closeable & CustomizedOutput$ & Output;
            interface CustomizedOutput extends CustomizedOutput_T {
            }
            interface Output_S {
            }
            type Output_ST = $.java.io.Serializable & Output_S;
            interface Output_C extends Output_ST {
            }
            interface Output$ {
                /**
                 * 此输出是否是串行的
                 *
                 * @return true if output is single parallel
                 */
                isSingleParallel():boolean;
                /**
                 * 获取元数据
                 *
                 * @return
                 */
                getRowMeta():RowMeta;
            }
            type Output_T = $.java.io.Serializable & Output$;
            interface Output extends Output_T {
            }
            interface Collector_S {
            }
            interface Collector_C extends Collector_S {
            }
            interface Collector$ {
                /**
                 * 数据处理
                 * @param values 构成结果集的行信息
                 */
                collect(values:any[]):void;
            }
            type Collector_T = Collector$;
            interface Collector extends Collector_T {
            }
            interface DataSet$Listener_S {
            }
            interface DataSet$Listener_C extends DataSet$Listener_S {
            }
            interface DataSet$Listener$ {
                afterClosed?():void;
                beforeClosed?():void;
            }
            type DataSet$Listener_T = DataSet$Listener$;
            interface DataSet$Listener extends DataSet$Listener_T {
            }
            interface SqlHint_S {
                readonly DEFAULT:SqlHint;
            }
            interface SqlHint_C extends SqlHint_S {
                new():SqlHint;
            }
            interface SqlHint$ {
                /**
                 * 是否包含某个聚合函数
                 * @param name 函数名称
                 * @return 是否包含某个聚合函数
                 */
                containsAggFunction(name:string):boolean;
                /**
                 * 注册一个聚合函数
                 * @param func 自定义聚合函数
                 */
                registerAggFunction(func:CustomAggFunction):void;
                /**
                 * 通过名称获取聚合函数
                 * @param name 函数名称
                 * @return 聚合函数
                 */
                getAggFunction(name:string):CustomAggFunction;
            }
            type SqlHint_T = SqlHint$;
            interface SqlHint extends SqlHint_T {
            }
            interface DataType_S {
                readonly TimestampTypeOrdinal:number;
                readonly BigDecimalType:kd.bos.algo.datatype.BigDecimalType;
                readonly AnyTypeOrdinal:number;
                readonly DateType:kd.bos.algo.datatype.DateType;
                readonly NullTypeOrdinal:number;
                readonly LongType:kd.bos.algo.datatype.LongType;
                readonly IntegerTypeOrdinal:number;
                readonly BooleanType:kd.bos.algo.datatype.BooleanType;
                readonly BooleanTypeOrdinal:number;
                readonly IntegerType:kd.bos.algo.datatype.IntegerType;
                readonly UnknownTypeOrdinal:number;
                readonly DoubleTypeOrdinal:number;
                readonly NullType:kd.bos.algo.datatype.NullType;
                readonly TimestampType:kd.bos.algo.datatype.TimestampType;
                readonly StringTypeOrdinal:number;
                readonly AnyType:kd.bos.algo.datatype.AnyType;
                readonly BigDecimalTypeOrdinal:number;
                readonly LongTypeOrdinal:number;
                readonly DateTypeOrdinal:number;
                readonly NumericTypeOrdinal:number;
                readonly StringType:kd.bos.algo.datatype.StringType;
                /**
                 * 将DataType转为sql类型
                 * @param dataType Algo中的数据类型
                 * @return  Algo中的数据类型对应的sql中的类型的索引值
                 */
                toSqlType(dataType:DataType):number;
                /**
                 * 将值进行指定类型转换
                 * @param dataType Algo中的数据类型
                 * @param value 值
                 * @return 类型转换后的值
                 */
                convertValue(dataType:DataType,value:any):any;
                /**
                 * 创建BigDecimal类型
                 * @param precision 数值长度
                 * @param scale 小数长度
                 * @return BigDecimalType
                 */
                createBigDecimalType(precision:number,scale:number):kd.bos.algo.datatype.BigDecimalType;
                /**
                 * TODO: if supported standalone BigDecimalType,
                 * dataType==DataType.BigDecimalType is illegal
                 *
                 * @param precision 数值长度
                 * @return BigDecimalType
                 */
                createBigDecimalType(precision:number):kd.bos.algo.datatype.BigDecimalType;
                /**
                 * 将sql类型转为DataType
                 * @param sqlType sql中类型的索引值
                 * @return Algo中的数据类型
                 */
                fromSqlType(sqlType:number):DataType;
            }
            type DataType_ST = $.java.io.Serializable & DataType_S;
            interface DataType_C extends DataType_ST {
            }
            interface DataType$ {
                readonly ordinal:number;
                /**
                 * 返回对应的Java对象类型
                 * @return Java对象类型
                 */
                getJavaType():$.java.lang.Class;
                /**
                 * 返回对应的数据库类型
                 * @return 数据库类型
                 */
                getSqlType():number;
                /**
                 * 将值转为当前类型的值
                 * @param value 值
                 * @return 转为当前类型后的值
                 */
                convertValue(value:any):any;
                /**
                 * 返回类型名称
                 * @return 类型名称
                 */
                getName():string;
                /**
                 * 返回类型名称
                 * @return 类型名称
                 */
                getSql():string;
                /**
                 * 对应的java类型Class是否是抽象的
                 * @return
                 */
                isAbstract():boolean;
                /**
                 * 判断是否预期的类型
                 * @param other 被判断的类型
                 * @return 是否预期的类型
                 */
                acceptsType(other:DataType):boolean;
            }
            type DataType_T = $.java.io.Serializable & DataType$;
            interface DataType extends DataType_T {
            }
            interface ReduceGroupFunction_S {
            }
            type ReduceGroupFunction_ST = ReduceGroupFunction_S & kd.bos.algox.Function_S & kd.bos.algox.ResultAwarable_S;
            interface ReduceGroupFunction_C extends ReduceGroupFunction_ST {
                new():ReduceGroupFunction;
            }
            interface ReduceGroupFunction$ {
                /**
                 * 分组后，对每组的数据进行处理
                 * @param iter 分组后，每组数据集的迭代器
                 * @return 每组数据进行处理后，每组数据集的迭代器
                 */
                reduce(iter:$.java.util.Iterator):$.java.util.Iterator;
            }
            type ReduceGroupFunction_T = ReduceGroupFunction$ & kd.bos.algox.Function & kd.bos.algox.ResultAwarable;
            interface ReduceGroupFunction extends ReduceGroupFunction_T {
            }
            interface CustomAggFunction_S {
            }
            interface CustomAggFunction_C extends CustomAggFunction_S {
                /**
                 * 构造函数
                 * @param funName 函数名称
                 * @param resultDataType 数据类型
                 */
                new(funName:string,resultDataType:DataType):CustomAggFunction;
            }
            interface CustomAggFunction$ {
                /**
                 * 获取函数名称
                 * @return 函数名称
                 */
                getFunName():string;
                combineAggValue(arg0:any,arg1:any):any;
                /**
                 * 获取数据类型
                 * @return 数据类型
                 */
                getResultDataType():DataType;
                /**
                 * 获取聚合后的结果
                 * @return 聚合后的结果
                 */
                newAggValue():any;
                getResult(arg0:any):any;
                addValue(arg0:any,arg1:any):any;
            }
            type CustomAggFunction_T = CustomAggFunction$;
            interface CustomAggFunction extends CustomAggFunction_T {
            }
            interface AlgoModule_S {
            }
            type AlgoModule_ST = $.kd.sdk.module.Module & AlgoModule_S;
            interface AlgoModule_C extends AlgoModule_ST {
                new():AlgoModule;
            }
            interface AlgoModule$ {
            }
            type AlgoModule_T = $.kd.sdk.module.Module & AlgoModule$;
            interface AlgoModule extends AlgoModule_T {
            }
            interface CachedDataSet_S {
            }
            interface CachedDataSet_C extends CachedDataSet_S {
            }
            interface CachedDataSet$ {
                /**
                 * 获取指定范围数据，返回迭代器
                 * @param begin 开始行
                 * @param length 结束行
                 * @return 迭代器
                 */
                iterator(begin:number,length:number):$.java.util.Iterator;
                /**
                 * 获取行数
                 * @return 行数
                 */
                getRowCount():number;
                /**
                 * 获取cacheId
                 * @return cacheId 缓存id
                 */
                getCacheId():string;
                /**
                 * 获取指定范围数据
                 * @param begin 开始行
                 * @param length 结束行
                 * @return 数据
                 */
                getList(begin:number,length:number):$.java.util.List;
                /**
                 * 获取元素据
                 * @return 元素据 {@link kd.bos.algo.RowMeta}
                 */
                getRowMeta():RowMeta;
                /**
                 * 关闭CacheDataSet
                 */
                close():void;
                /**
                 * 将CacheDataSet转成CacheDataSet
                 * @param algo Algo对象
                 * @param closeAlso 关闭DataSet时是否将缓存DataSet也关闭
                 * @return DataSet 缓存结果转换后的DataSet
                 */
                toDataSet(algo:Algo,closeAlso:boolean):DataSet;
            }
            type CachedDataSet_T = CachedDataSet$;
            interface CachedDataSet extends CachedDataSet_T {
            }
            interface CacheHint_S {
                readonly DefaultTimeout:number;
                /**
                 * 获取一个默认的CacheHint
                 * @return CacheHint
                 */
                getDefault():CacheHint;
            }
            type CacheHint_ST = $.java.io.Serializable & CacheHint_S;
            interface CacheHint_C extends CacheHint_ST {
                /**
                 * 默认构造函数
                 */
                new():CacheHint;
            }
            interface CacheHint$ {
                /**
                 * 获取缓存id
                 * @return 缓存id
                 */
                getCacheId():string;
                /**
                 *  获取每页大小
                 * @return 每页大小
                 */
                getPageSize():number;
                /**
                 * 设置超时时间
                 * @param timeout 时间
                 */
                setTimeout(timeout:long):void;
                /**
                 * 设置触发dataset允许的最大数据行数时是否抛出异常
                 * @param throwExceptionWhenExceedAllowMaxRows true为抛出异常，false不会抛出异常，会忽略超出最大行数的数据
                 */
                setThrowExceptionWhenExceedAllowMaxRows(throwExceptionWhenExceedAllowMaxRows:boolean):void;
                /**
                 * 触发dataset允许的最大数据行数时是否抛出异常
                 * @return true为抛出异常，false不会抛出异常，会忽略超出最大行数的数据
                 */
                isThrowExceptionWhenExceedAllowMaxRows():boolean;
                /**
                 * 设置dataset允许的最大数据行数
                 * @param allowMaxRows 新的dataset允许的最大行数
                 */
                setAllowMaxRows(allowMaxRows:number):void;
                /**
                 * 获取超时时间
                 * @return 超时时间
                 */
                getTimeout():long;
                /**
                 * 设置超时时间
                 * @param timeout 时间
                 * @param unit 时间单位
                 */
                setTimeout(timeout:long,unit:$.java.util.concurrent.TimeUnit):void;
                /**
                 * 获取dataset允许的最大数据行数
                 * @return dataset允许的最大行数
                 */
                getAllowMaxRows():number;
                /**
                 * 设置每页大小
                 * @param pageSize 页大小
                 */
                setPageSize(pageSize:number):void;
                /**
                 * 设置缓存类型。
                 * @param storageType 缓存类型目前主要包括:redis,local(本地磁盘，不建议无法跨节点)，tempfile(文件服务器的临时文件)
                 */
                setStorageType(storageType:string):void;
                /**
                 * 获取缓存类型
                 * @return 缓存类型
                 */
                getStorageType():string;
                /**
                 * 设置缓存id
                 * @param cacheId 缓存id
                 */
                setCacheId(cacheId:string):void;
            }
            type CacheHint_T = $.java.io.Serializable & CacheHint$;
            interface CacheHint extends CacheHint_T {
            }
            interface RowFeature_S {
            }
            interface RowFeature_C extends RowFeature_S {
            }
            interface RowFeature$ {
                /**
                 * 返回对应索引的值
                 * @param index 索引值
                 * @return 值
                 */
                get(index:number):any;
            }
            type RowFeature_T = RowFeature$;
            interface RowFeature extends RowFeature_T {
            }
            class JoinType {
                static readonly FULL:kd.bos.algo.JoinType;
                static readonly RIGHT:kd.bos.algo.JoinType;
                static readonly CROSS:kd.bos.algo.JoinType;
                static readonly LEFT:kd.bos.algo.JoinType;
                static readonly INNER:kd.bos.algo.JoinType;
                static values():kd.bos.algo.JoinType[];
                static valueOf(arg0:string):kd.bos.algo.JoinType;
                /**
                 * 获取JoinType的名称
                 * @return
                 */
                getName():string;
            }
            interface GroupbyDataSet_S {
            }
            interface GroupbyDataSet_C extends GroupbyDataSet_S {
            }
            interface GroupbyDataSet$ {
                /**
                 * 分组后求最大值
                 * @param field 字段
                 * @return
                 */
                max(field:string):this;
                /**
                 * 用min(field)计算最小行，然后获取当前行propertyField字段的值
                 * @param field 计算最大值的字段
                 * @param propertyField 获取该字段的值
                 * @return
                 */
                minP(field:string,propertyField:string):this;
                /**
                 * 用max(expr)计算最大行，然后获取当前行propertyField字段的值，并给其起别名alias
                 * @param expr 支持表达式计算
                 * @param propertyField 获取该字段的值
                 * @param alias 别名
                 * @return
                 */
                maxP(expr:string,propertyField:string,alias:string):this;
                /**
                 * 分组后求最大值
                 * @param expr 支持表达式计算
                 * @param alias 别名
                 * @return
                 */
                max(expr:string,alias:string):this;
                /**
                 * 分组后对某字段值进行拼接
                 * @param field 字段名称
                 * @return
                 */
                groupConcat(field:string):this;
                /**
                 * 类似于sum(expr) as alias
                 * @param expr: 支持计算表达式, + - * ()等
                 * @param alias 别名
                 * @return
                 */
                sum(expr:string,alias:string):this;
                /**
                 * 分组后求平均值
                 * @param field 字段
                 * @return
                 */
                avg(field:string):this;
                /**
                 * 类似于 sum(field)
                 * @param field： 字段
                 * @return
                 */
                sum(field:string):this;
                /**
                 * 分组后，进行自定义聚合操作
                 * @param func 自定义函数
                 * @param expr  计算表达式
                 * @param alias 别名
                 * @return
                 */
                agg(func:CustomAggFunction,expr:string,alias:string):this;
                /**
                 * 分组后进行自定义函数操作
                 * @param fun 自定义reduce函数
                 * @return
                 */
                reduceGroup(fun:ReduceGroupFunctionWithCollector):DataSet;
                /**
                 * 分组后对某字段值进行拼接
                 * @param field 字段名称
                 * @param alias 别名
                 * @param separator 拼接时的分隔符
                 * @return
                 */
                groupConcat(field:string,alias:string,separator:string):this;
                /**
                 * 分组后求平均值
                 * @param expr 支持表达式计算
                 * @param alias 别名
                 * @return
                 */
                avg(expr:string,alias:string):this;
                /**
                 * 类似于 count(1) as count
                 * @return
                 */
                count():this;
                /**
                 * 分组后，根据某字段再去重进行count
                 * @param expr  去重字段
                 * @param alias 别名
                 * @return
                 */
                countDistinct(expr:string[],alias:string):this;
                /**
                 * 聚合操作后生成新的DataSet
                 * @return
                 */
                finish():DataSet;
                /**
                 * 类似于 count(1) as alias
                 * @param alias：  别名
                 * @return
                 */
                count(alias:string):this;
                /**
                 * 分组后进行自定义函数操作
                 * @param fun 自定义reduce函数
                 * @return
                 */
                reduceGroup(fun:ReduceGroupFunction):DataSet;
                /**
                 * 用max(field)计算最大行，然后获取当前行propertyField字段的值
                 * @param field 计算最大值的字段
                 * @param propertyField 获取该字段的值
                 * @return
                 */
                maxP(field:string,propertyField:string):this;
                /**
                 * 分组后求最小值
                 * @param expr 支持表达式计算
                 * @param alias 别名
                 * @return
                 */
                min(expr:string,alias:string):this;
                /**
                 * 分组后，根据某字段再去重进行count
                 * @param exprStr  去重字段
                 * @return
                 */
                countDistinct(exprStr:string[]):this;
                /**
                 * 分组后求最小值
                 * @param field 字段
                 * @return
                 */
                min(field:string):this;
                /**
                 * 用min(expr)计算最小行，然后获取当前行propertyField字段的值，并给其起别名alias
                 * @param expr 计算最大值的字段
                 * @param propertyField 获取该字段的值
                 * @param alias 别名
                 * @return
                 */
                minP(expr:string,propertyField:string,alias:string):this;
                /**
                 * 分组后对某字段值进行拼接
                 * @param field 字段名称
                 * @param alias 别名
                 * @return
                 */
                groupConcat(field:string,alias:string):this;
            }
            type GroupbyDataSet_T = GroupbyDataSet$;
            interface GroupbyDataSet extends GroupbyDataSet_T {
            }
            interface JoinDataSet_S {
            }
            interface JoinDataSet_C extends JoinDataSet_S {
            }
            interface JoinDataSet$ {
                /**
                 * join后返回需要的字段
                 * @param leftFields 左连接字段
                 * @param rightFields 右连接字段
                 * @return
                 */
                select(leftFields:string[],rightFields:string[]):this;
                /**
                 * 选择join的方式
                 * @param hint 设置Join的一些优化信息
                 * @return
                 */
                hint(hint:JoinHint):this;
                /**
                 * 生成DataSet
                 * @return
                 */
                finish():DataSet;
                /**
                 * join后返回需要的字段
                 * @param fields 返回左表字段
                 * @return
                 */
                select(...fields:string[]):this;
                /**
                 * 进行连接条件设置
                 * @param leftField 左连接字段
                 * @param rightField 右连接字段
                 * @return
                 */
                on(leftField:string,rightField:string):this;
            }
            type JoinDataSet_T = JoinDataSet$;
            interface JoinDataSet extends JoinDataSet_T {
            }
            interface Algo_S {
                /**
                 * 获取缓存过的CachedDataSet
                 * @param cacheId 缓存id
                 * @return CachedDataSet
                 */
                getCacheDataSet(cacheId:string):CachedDataSet;
                /**
                 * 创建Algo对象，此对象用来创建DataSet等操作
                 * @param algoKey 用来标记不同Algo对象的标识，用来进行内部进行监控DataSet的不同来源
                 * @return Algo
                 */
                create(algoKey:string):Algo;
                /**
                 * 根据缓存id删除缓存DataSet
                 * @param cacheId 缓存id
                 */
                removeCacheDataSet(cacheId:string):void;
                /**
                 * 关闭当前线程的所有DataSet
                 * <p>
                 * <strong>注意：</strong>
                 * <li>谨慎使用，这会关闭当前线程的所有DataSet，这有可能会关闭其他地方不属于自己逻辑的DataSet，影响别的逻辑!</li>
                 * </p>
                 */
                closeAllDataSet():void;
                /**
                 * 创建一个Algo上下文{@link kd.bos.algo.AlgoContext}
                 * @return AlgoContext
                 */
                newContext():AlgoContext;
            }
            interface Algo_C extends Algo_S {
                new():Algo;
            }
            interface Algo$ {
                /**
                 * 使用一个迭代器Iterator，元素据创建DataSet。
                 * @param iterator 迭代器
                 * @param rowMeta 元素据
                 * @return DataSet
                 */
                createDataSet(iterator:$.java.util.Iterator,rowMeta:RowMeta):DataSet;
                /**
                 * 创建DataSetBuilder，可再使用它创建DataSet。
                 * @param rowMeta 元素据
                 * @return DataSetBuilder
                 */
                createDataSetBuilder(rowMeta:RowMeta):DataSetBuilder;
                /**
                 * 使用ResultSet 创建DataSet
                 * @param rs 数据库结果集
                 * @return DataSet
                 */
                createDataSet(rs:$.java.sql.ResultSet):DataSet;
                /**
                 * 使用Input源创建DataSet，这个输入源可以是{@link kd.bos.algo.input.OrmInput}，{@link kd.bos.algo.input.DbInput}等，或者自己实现一个Input。
                 * @param inputs 输入源
                 * @return DataSet
                 */
                createDataSet(...inputs:Input[]):DataSet;
                /**
                 * 使用一个迭代器Iterable，元素据创建DataSet。
                 * @param iterator 迭代器
                 * @param rowMeta 元素据
                 * @return DataSet
                 */
                createDataSet(iterator:$.java.lang.Iterable,rowMeta:RowMeta):DataSet;
                /**
                 * 创建缓存结果集的Builder
                 * @param rowMeta 元素据
                 * @param hint 创建缓存结果集时的提示，可以设置缓存过期时间等信息
                 * @return CachedDataSet.Builder
                 */
                createCachedDataSetBuilder(rowMeta:RowMeta,hint:CacheHint):CachedDataSet$Builder;
                /**
                 * 使用ResultSet和元素据创建DataSet
                 * @param rs 数据库结果集
                 * @param rowMeta 元素据
                 * @return DataSet
                 */
                createDataSet(rs:$.java.sql.ResultSet,rowMeta:RowMeta):DataSet;
                /**
                 * 使用一个集合,元素据创建DataSet，建议使用DataSetBuilder构造更好
                 * <p>
                 * <strong>注意：</strong>
                 * <li>集合大小要控制，小心OOM。此方法创建的DataSet数据全在内存中。</li>
                 * </p>
                 * @param rowList 集合数据
                 * @param rowMeta 元素据
                 * @return DataSet
                 */
                createDataSet(rowList:$.java.util.Collection,rowMeta:RowMeta):DataSet;
            }
            type Algo_T = Algo$;
            interface Algo extends Algo_T {
            }
            interface JoinHint_S {
            }
            type JoinHint_ST = Hint_S & JoinHint_S;
            interface JoinHint_C extends JoinHint_ST {
                new():JoinHint;
            }
            interface JoinHint$ {
                /**
                 * 是否是merge方式的join
                 * @return
                 */
                isUseMerge():boolean;
                /**
                 * 设置Join方式为merge
                 * @param useMerge
                 */
                setUseMerge(useMerge:boolean):void;
                /**
                 * 是否当值为Null时，当做0处理
                 * @return 是否当值为Null时，当做0处理
                 */
                isNullAsZero():boolean;
                /**
                 * join的方式是否为nest
                 * @return
                 */
                isUseNest():boolean;
                /**
                 * 设置是否当值为Null时，当做0处理
                 * @param nullAsZero
                 */
                setNullAsZero(nullAsZero:boolean):void;
                /**
                 * 设置Join的方式为nest
                 * @param useNest
                 */
                setUseNest(useNest:boolean):void;
            }
            type JoinHint_T = Hint & JoinHint$;
            interface JoinHint extends JoinHint_T {
            }
            interface ReduceGroupFunctionWithCollector_S {
            }
            type ReduceGroupFunctionWithCollector_ST = ReduceGroupFunctionWithCollector_S & kd.bos.algox.Function_S & kd.bos.algox.ResultAwarable_S;
            interface ReduceGroupFunctionWithCollector_C extends ReduceGroupFunctionWithCollector_ST {
                new():ReduceGroupFunctionWithCollector;
            }
            interface ReduceGroupFunctionWithCollector$ {
                /**
                 * 对分组后的结果集进行reduce处理
                 * @param iter 分组后，每组的Iterator
                 * @param collector 对处理后的数据进行收集的接口
                 */
                reduce(iter:$.java.util.Iterator,collector:Collector):void;
            }
            type ReduceGroupFunctionWithCollector_T = ReduceGroupFunctionWithCollector$ & kd.bos.algox.Function & kd.bos.algox.ResultAwarable;
            interface ReduceGroupFunctionWithCollector extends ReduceGroupFunctionWithCollector_T {
            }
            interface Row_S {
            }
            type Row_ST = RowFeature_S & Row_S;
            interface Row_C extends Row_ST {
            }
            interface Row$ {
                /**
                 * 返回对应索引的Timestamp类型的值
                 * @param index 索引值
                 * @return Timestamp类型的值
                 */
                getTimestamp(index:number):Date;
                /**
                 * 返回对应索引的字符串类型的值
                 * @param index 索引值
                 * @return 字符串类型的值
                 */
                getString(index:number):string;
                /**
                 * 返回对应索引的BigDecimal类型的值
                 * @param index 索引值
                 * @return BigDecimal类型的值
                 */
                getBigDecimal(index:number):$.java.math.BigDecimal;
                /**
                 * 返回对应索引的Double类型的值
                 * @param index 索引值
                 * @return Double类型的值
                 */
                getDouble(index:number):number;
                /**
                 * 返回对应索引的长整形类型的值
                 * @param index 索引值
                 * @return 长整形类型的值
                 */
                getLong(index:number):long;
                /**
                 * 返回对应属性的长整形类型的值
                 * @param field 属性名
                 * @return 长整形类型的值
                 */
                getLong(field:string):long;
                /**
                 * 返回对应属性的boolean类型的值
                 * @param field 属性名
                 * @return boolean类型的值
                 */
                getBoolean(field:string):boolean;
                /**
                 * 返回对应属性的BigDecimal类型的值
                 * @param field 属性名
                 * @return igDecimal类型的值
                 */
                getBigDecimal(field:string):$.java.math.BigDecimal;
                /**
                 * 返回对应属性的值
                 * @param field 属性名
                 * @return 属性的值
                 */
                get(field:string):any;
                /**
                 * 返回对应属性的日期类型的值
                 * @param field 属性名
                 * @return 日期类型的值
                 */
                getDate(field:string):Date;
                /**
                 * 返回对应属性的字符串类型的值
                 * @param field 属性名
                 * @return 字符串类型的值
                 */
                getString(field:string):string;
                /**
                 * 返回对应索引的boolean类型的值
                 * @param index 索引值
                 * @return boolean类型的值
                 */
                getBoolean(index:number):boolean;
                /**
                 * 返回对应索引的日期类型的值
                 * @param index 索引值
                 * @return 期类型的值
                 */
                getDate(index:number):Date;
                /**
                 * 返回列数
                 * @return 列的个数
                 */
                size():number;
                /**
                 * 返回对应属性的整形类型的值
                 * @param field 属性名
                 * @return 整形类型的值
                 */
                getInteger(field:string):number;
                /**
                 * 返回对应属性的Double类型的值
                 * @param field 属性名
                 * @return Double类型的值
                 */
                getDouble(field:string):number;
                /**
                 * 返回对应属性的Timestamp类型的值
                 * @param field 属性名
                 * @return  Timestamp类型的值
                 */
                getTimestamp(field:string):Date;
                /**
                 * 返回对应索引的整形类型的值
                 * @param index 索引值
                 * @return 整形类型的值
                 */
                getInteger(index:number):number;
            }
            type Row_T = Row$ & RowFeature;
            interface Row extends Row_T {
            }
        }
        namespace kd.bos.algo.dataset{
            interface RowFactory_S {
                /**
                 * 创建行数据
                 * @param rowMeta 元数据
                 * @param values 转为行的数组值
                 * @return 行数据
                 */
                createRow(rowMeta:RowMeta,values:any[]):Row;
                /**
                 * 将数组值根据元数据信息进行类型转换
                 * @param rowMeta 元数据
                 * @param values 数组值
                 */
                convert(rowMeta:RowMeta,values:any[]):void;
                /**
                 * 将innerRow根据元数据信息进行类型转换后生成新的行数据
                 * @param rowMeta 新的元数据
                 * @param innerRow 旧的行数据
                 * @return 新的行数据
                 */
                createNewMetaRow(rowMeta:RowMeta,innerRow:Row):Row;
                /**
                 * 创建行数据
                 * @param rowMeta 元数据信息
                 * @param values 转为行的数组值
                 * @param needConvert 是否需要进行类型转换
                 * @return
                 */
                createPersistedRow(rowMeta:RowMeta,values:any[],needConvert:boolean):PersistedRow;
                /**
                 * 根据数据库结果集创建行数据
                 * @param rowMeta 元数据信息
                 * @param rs 数据库结果集
                 * @return 行数据
                 */
                createRow(rowMeta:RowMeta,rs:$.java.sql.ResultSet):Row;
                /**
                 * 创建行数据
                 * @param rowMeta 元数据信息
                 * @param values 转为行的数组值
                 * @param needConvert 是否需要进行类型转换
                 * @return
                 */
                createRow(rowMeta:RowMeta,values:any[],needConvert:boolean):Row;
            }
            interface RowFactory_C extends RowFactory_S {
                new():RowFactory;
            }
            interface RowFactory$ {
            }
            type RowFactory_T = RowFactory$;
            interface RowFactory extends RowFactory_T {
            }
            interface PersistedRow_S {
            }
            type PersistedRow_ST = PersistedRow_S & Row_S;
            interface PersistedRow_C extends PersistedRow_ST {
            }
            interface PersistedRow$ {
            }
            type PersistedRow_T = PersistedRow$ & Row;
            interface PersistedRow extends PersistedRow_T {
            }
        }
        namespace kd.bos.algo.dataset.cache{
            interface CachedDataSetBuilder_S {
            }
            type CachedDataSetBuilder_ST = CachedDataSet$Builder_S & CachedDataSetBuilder_S;
            interface CachedDataSetBuilder_C extends CachedDataSetBuilder_ST {
                /**
                 * 构造函数
                 * @param rowMeta 元数据
                 * @param hint 缓存参数信息
                 */
                new(rowMeta:RowMeta,hint:CacheHint):CachedDataSetBuilder;
                /**
                 * 构造函数
                 * @param rowMeta 元数据
                 * @param hint 缓存参数信息
                 * @param spanTag 监控标识
                 */
                new(rowMeta:RowMeta,hint:CacheHint,spanTag:string):CachedDataSetBuilder;
            }
            interface CachedDataSetBuilder$ {
            }
            type CachedDataSetBuilder_T = CachedDataSet$Builder & CachedDataSetBuilder$;
            interface CachedDataSetBuilder extends CachedDataSetBuilder_T {
            }
        }
        namespace kd.bos.algo.datatype{
            interface FractionalType_S {
            }
            type FractionalType_ST = FractionalType_S & NumericType_S;
            interface FractionalType_C extends FractionalType_ST {
            }
            interface FractionalType$ {
            }
            type FractionalType_T = FractionalType$ & NumericType;
            interface FractionalType extends FractionalType_T {
            }
            interface IntegerType_S {
            }
            type IntegerType_ST = IntegerType_S & IntegralType_S;
            interface IntegerType_C extends IntegerType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.IntegerType</li>
                 * </p>
                 */
                new():IntegerType;
            }
            interface IntegerType$ {
            }
            type IntegerType_T = IntegerType$ & IntegralType;
            interface IntegerType extends IntegerType_T {
            }
            interface NumericType_S {
                readonly instance:NumericType;
                /**
                 * 向上转型
                 * @param left 类型1
                 * @param right 类型2
                 * @return 类型值较大的类型
                 */
                computeCompatibleDown(left:NumericType,right:NumericType):NumericType;
            }
            type NumericType_ST = DataType_S & NumericType_S;
            interface NumericType_C extends NumericType_ST {
                new():NumericType;
            }
            interface NumericType$ {
            }
            type NumericType_T = DataType & NumericType$;
            interface NumericType extends NumericType_T {
            }
            interface LongType_S {
            }
            type LongType_ST = IntegralType_S & LongType_S;
            interface LongType_C extends LongType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.LongType</li>
                 * </p>
                 */
                new():LongType;
            }
            interface LongType$ {
            }
            type LongType_T = IntegralType & LongType$;
            interface LongType extends LongType_T {
            }
            interface IntegralType_S {
                /**
                 * 类型比较，返回类型索引较小的类型。但是较小类型大于Long时，则返回Long
                 *  @param left 类型1
                 *  @param right 类型1
                 *  @return 返回索引较小的类型
                 */
                computeCompatibleUp(left:NumericType,right:NumericType):IntegralType;
            }
            type IntegralType_ST = IntegralType_S & NumericType_S;
            interface IntegralType_C extends IntegralType_ST {
            }
            interface IntegralType$ {
            }
            type IntegralType_T = IntegralType$ & NumericType;
            interface IntegralType extends IntegralType_T {
            }
            interface StringType_S {
            }
            type StringType_ST = DataType_S & StringType_S;
            interface StringType_C extends StringType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.StringType</li>
                 * </p>
                 */
                new():StringType;
            }
            interface StringType$ {
            }
            type StringType_T = DataType & StringType$;
            interface StringType extends StringType_T {
            }
            interface BooleanType_S {
            }
            type BooleanType_ST = BooleanType_S & DataType_S;
            interface BooleanType_C extends BooleanType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.BooleanType</li>
                 * </p>
                 */
                new():BooleanType;
            }
            interface BooleanType$ {
            }
            type BooleanType_T = BooleanType$ & DataType;
            interface BooleanType extends BooleanType_T {
            }
            interface TimestampType_S {
            }
            type TimestampType_ST = DataType_S & TimestampType_S;
            interface TimestampType_C extends TimestampType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.TimestampType</li>
                 * </p>
                 */
                new():TimestampType;
            }
            interface TimestampType$ {
            }
            type TimestampType_T = DataType & TimestampType$;
            interface TimestampType extends TimestampType_T {
            }
            interface NullType_S {
            }
            type NullType_ST = DataType_S & NullType_S;
            interface NullType_C extends NullType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.NullType</li>
                 * </p>
                 */
                new():NullType;
            }
            interface NullType$ {
            }
            type NullType_T = DataType & NullType$;
            interface NullType extends NullType_T {
            }
            interface BigDecimalType_S {
            }
            type BigDecimalType_ST = BigDecimalType_S & FractionalType_S;
            interface BigDecimalType_C extends BigDecimalType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.BigDecimalType</li>
                 * </p>
                 */
                new():BigDecimalType;
            }
            interface BigDecimalType$ {
                /**
                 * 获取范围（小数位数）
                 * @return 范围
                 */
                getScale():number;
                /**
                 * 获取精度
                 * @return 精度
                 */
                getPrecision():number;
            }
            type BigDecimalType_T = BigDecimalType$ & FractionalType;
            interface BigDecimalType extends BigDecimalType_T {
            }
            interface AnyType_S {
                readonly instance:AnyType;
            }
            type AnyType_ST = AnyType_S & DataType_S;
            interface AnyType_C extends AnyType_ST {
                new():AnyType;
            }
            interface AnyType$ {
            }
            type AnyType_T = AnyType$ & DataType;
            interface AnyType extends AnyType_T {
            }
            interface DateType_S {
            }
            type DateType_ST = DataType_S & DateType_S;
            interface DateType_C extends DateType_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>不直接使用构造函数，使用DataType.DateType</li>
                 * </p>
                 */
                new():DateType;
            }
            interface DateType$ {
            }
            type DateType_T = DataType & DateType$;
            interface DateType extends DateType_T {
            }
        }
        namespace kd.bos.algo.exception{
            interface AlgoExceedAllowMaxRowsToDiskException_S {
            }
            type AlgoExceedAllowMaxRowsToDiskException_ST = AlgoExceedAllowMaxRowsToDiskException_S & AlgoException_S;
            interface AlgoExceedAllowMaxRowsToDiskException_C extends AlgoExceedAllowMaxRowsToDiskException_ST {
                /**
                 * 构造函数
                 */
                new():AlgoExceedAllowMaxRowsToDiskException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 */
                new(message:string):AlgoExceedAllowMaxRowsToDiskException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 * @param currentRowCount 当前有多少行
                 * @param maxRowCount     最大可写入的行数
                 */
                new(message:string,currentRowCount:number,maxRowCount:number):AlgoExceedAllowMaxRowsToDiskException;
            }
            interface AlgoExceedAllowMaxRowsToDiskException$ {
            }
            type AlgoExceedAllowMaxRowsToDiskException_T = AlgoExceedAllowMaxRowsToDiskException$ & AlgoException;
            interface AlgoExceedAllowMaxRowsToDiskException extends AlgoExceedAllowMaxRowsToDiskException_T {
            }
            interface AlgoExceedCollectionAllowMaxCellsException_S {
            }
            type AlgoExceedCollectionAllowMaxCellsException_ST = AlgoExceedCollectionAllowMaxCellsException_S & AlgoException_S;
            interface AlgoExceedCollectionAllowMaxCellsException_C extends AlgoExceedCollectionAllowMaxCellsException_ST {
                /**
                 * 构造函数
                 */
                new():AlgoExceedCollectionAllowMaxCellsException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 */
                new(message:string):AlgoExceedCollectionAllowMaxCellsException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 * @param currentCellsCount 当前有多少单元格子
                 * @param maxCellsCount     最大可写入的单元格
                 */
                new(message:string,currentCellsCount:long,maxCellsCount:long):AlgoExceedCollectionAllowMaxCellsException;
            }
            interface AlgoExceedCollectionAllowMaxCellsException$ {
            }
            type AlgoExceedCollectionAllowMaxCellsException_T = AlgoExceedCollectionAllowMaxCellsException$ & AlgoException;
            interface AlgoExceedCollectionAllowMaxCellsException extends AlgoExceedCollectionAllowMaxCellsException_T {
            }
            interface AlgoExceedAllowMaxRows4SortException_S {
            }
            type AlgoExceedAllowMaxRows4SortException_ST = AlgoExceedAllowMaxRows4SortException_S & AlgoException_S;
            interface AlgoExceedAllowMaxRows4SortException_C extends AlgoExceedAllowMaxRows4SortException_ST {
                /**
                 * 构造函数
                 */
                new():AlgoExceedAllowMaxRows4SortException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 */
                new(message:string):AlgoExceedAllowMaxRows4SortException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 * @param maxRowCount     最大可写入的行数
                 */
                new(message:string,maxRowCount:number):AlgoExceedAllowMaxRows4SortException;
            }
            interface AlgoExceedAllowMaxRows4SortException$ {
            }
            type AlgoExceedAllowMaxRows4SortException_T = AlgoExceedAllowMaxRows4SortException$ & AlgoException;
            interface AlgoExceedAllowMaxRows4SortException extends AlgoExceedAllowMaxRows4SortException_T {
            }
            interface AlgoExceedAllowMaxRowsException_S {
            }
            type AlgoExceedAllowMaxRowsException_ST = AlgoExceedAllowMaxRowsException_S & AlgoException_S;
            interface AlgoExceedAllowMaxRowsException_C extends AlgoExceedAllowMaxRowsException_ST {
                /**
                 * 构造函数
                 */
                new():AlgoExceedAllowMaxRowsException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 */
                new(message:string):AlgoExceedAllowMaxRowsException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 * @param currentRowCount 当前有多少行
                 * @param maxRowCount     最大可写入的行数
                 */
                new(message:string,currentRowCount:number,maxRowCount:number):AlgoExceedAllowMaxRowsException;
            }
            interface AlgoExceedAllowMaxRowsException$ {
            }
            type AlgoExceedAllowMaxRowsException_T = AlgoExceedAllowMaxRowsException$ & AlgoException;
            interface AlgoExceedAllowMaxRowsException extends AlgoExceedAllowMaxRowsException_T {
            }
            interface AlgoExceedAllowMaxDataSetsException_S {
            }
            type AlgoExceedAllowMaxDataSetsException_ST = AlgoExceedAllowMaxDataSetsException_S & AlgoException_S;
            interface AlgoExceedAllowMaxDataSetsException_C extends AlgoExceedAllowMaxDataSetsException_ST {
                /**
                 * 构造函数
                 */
                new():AlgoExceedAllowMaxDataSetsException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 */
                new(message:string):AlgoExceedAllowMaxDataSetsException;
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 * @param currentDataSetCount 当前线程有多少dataset
                 * @param maxDataSetCount     当前线程最大允许的dataset数量
                 */
                new(message:string,currentDataSetCount:number,maxDataSetCount:number):AlgoExceedAllowMaxDataSetsException;
            }
            interface AlgoExceedAllowMaxDataSetsException$ {
            }
            type AlgoExceedAllowMaxDataSetsException_T = AlgoExceedAllowMaxDataSetsException$ & AlgoException;
            interface AlgoExceedAllowMaxDataSetsException extends AlgoExceedAllowMaxDataSetsException_T {
            }
            interface AlgoTimeOutException_S {
            }
            type AlgoTimeOutException_ST = AlgoException_S & AlgoTimeOutException_S;
            interface AlgoTimeOutException_C extends AlgoTimeOutException_ST {
                /**
                 * 构造函数
                 *
                 * @param message         异常信息
                 */
                new(message:string):AlgoTimeOutException;
            }
            interface AlgoTimeOutException$ {
            }
            type AlgoTimeOutException_T = AlgoException & AlgoTimeOutException$;
            interface AlgoTimeOutException extends AlgoTimeOutException_T {
            }
        }
        namespace kd.bos.algo.input{
            interface OqlInput_S {
            }
            type OqlInput_ST = $.kd.bos.algo.Input & OqlInput_S;
            interface OqlInput_C extends OqlInput_ST {
                /**
                 * 构造函数
                 * @param algoKey 追踪DataSet的key
                 * @param oql oql语句
                 * @param params oql参数
                 * @param rowMeta 元素据
                 */
                new(algoKey:string,oql:string,params:any[],rowMeta:$.kd.bos.algo.RowMeta):OqlInput;
            }
            interface OqlInput$ {
                /**
                 * 获取请求上下文信息
                 * @return  请求上下文信息
                 */
                getRequestContext():$.kd.bos.context.RequestContext;
                /**
                 * 获取oql参数
                 * @return oql参数
                 */
                getParams():any[];
                /**
                 * 获取oql语句
                 * @return oql语句
                 */
                getOql():string;
                /**
                 * 获取algoKey
                 * @return algoKey 用来标识DataSet
                 */
                getAlgoKey():string;
            }
            type OqlInput_T = $.kd.bos.algo.Input & OqlInput$;
            interface OqlInput extends OqlInput_T {
            }
            interface CollectionInput_S {
            }
            type CollectionInput_ST = $.kd.bos.algo.Input & CollectionInput_S;
            interface CollectionInput_C extends CollectionInput_ST {
                /**
                 * 构造函数:根据元素据和数据集构建一个CollectionInput
                 * @param rowMeta 元数据
                 * @param collection 数据集
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta,collection:$.java.util.Collection):CollectionInput;
            }
            interface CollectionInput$ {
            }
            type CollectionInput_T = $.kd.bos.algo.Input & CollectionInput$;
            interface CollectionInput extends CollectionInput_T {
            }
            interface EmptyInput_S {
            }
            type EmptyInput_ST = $.kd.bos.algo.Input & EmptyInput_S;
            interface EmptyInput_C extends EmptyInput_ST {
                /**
                 * 构造函数
                 * @param rowMeta 元数据
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta):EmptyInput;
            }
            interface EmptyInput$ {
            }
            type EmptyInput_T = $.kd.bos.algo.Input & EmptyInput$;
            interface EmptyInput extends EmptyInput_T {
            }
            interface IterableInput_S {
            }
            type IterableInput_ST = $.kd.bos.algo.Input & IterableInput_S;
            interface IterableInput_C extends IterableInput_ST {
                /**
                 * 构造函数
                 * @param rowMeta 元素据
                 * @param iterable 迭代器
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta,iterable:$.java.lang.Iterable):IterableInput;
            }
            interface IterableInput$ {
                /**
                 * 获取迭代器
                 * @return 迭代器
                 */
                getIterable():$.java.lang.Iterable;
            }
            type IterableInput_T = $.kd.bos.algo.Input & IterableInput$;
            interface IterableInput extends IterableInput_T {
            }
            interface DbInput_S {
            }
            type DbInput_ST = $.kd.bos.algo.Input & DbInput_S;
            interface DbInput_C extends DbInput_ST {
                /**
                 * 构造函数
                 * @param algoKey 追踪dataset的可以
                 * @param routeKey 数据路由key
                 * @param sql sql语句
                 * @param params sql参数
                 * @param rowMeta 元素据
                 */
                new(algoKey:string,routeKey:string,sql:string,params:any[],rowMeta:$.kd.bos.algo.RowMeta):DbInput;
            }
            interface DbInput$ {
                /**
                 * 获取sql语句
                 * @return  sql语句
                 */
                getSql():string;
                /**
                 * 获取上下文
                 * @return 上下文
                 */
                getRequestContext():$.kd.bos.context.RequestContext;
                /**
                 * 获取sql参数
                 * @return sql参数
                 */
                getParams():any[];
                /**
                 * 获取数据库路由key
                 * @return 数据库路由key
                 */
                getRouteKey():string;
                /**
                 * 获取algoKey
                 * @return algoKey
                 */
                getAlgoKey():string;
            }
            type DbInput_T = $.kd.bos.algo.Input & DbInput$;
            interface DbInput extends DbInput_T {
            }
            interface IteratorInput_S {
            }
            type IteratorInput_ST = $.kd.bos.algo.Input & IteratorInput_S;
            interface IteratorInput_C extends IteratorInput_ST {
                /**
                 * 构造函数
                 * @param rowMeta 元素据
                 * @param iterator 迭代器
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta,iterator:$.java.util.Iterator):IteratorInput;
            }
            interface IteratorInput$ {
                /**
                 * 获取迭代器
                 * @return 迭代器
                 */
                getIterator():$.java.util.Iterator;
            }
            type IteratorInput_T = $.kd.bos.algo.Input & IteratorInput$;
            interface IteratorInput extends IteratorInput_T {
            }
            interface OrmInput_S {
            }
            type OrmInput_ST = $.kd.bos.algo.Input & OrmInput_S;
            interface OrmInput_C extends OrmInput_ST {
                /**
                 * 构造函数
                 * @param algoKey 追踪DataSet的key
                 * @param entityName 实体名称
                 * @param selectFields 查询列名称
                 * @param filters 过滤条件
                 */
                new(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[]):OrmInput;
                /**
                 * 构造函数
                 * @param algoKey 追踪DataSet的key
                 * @param entityName 实体名称
                 * @param selectFields 查询列名称
                 * @param filters 过滤条件
                 * @param cacheSize 查询结果DataSet每次缓存的数据量，用于查询隐私字段的场景
                 */
                new(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],cacheSize:number):OrmInput;
                /**
                 * 构造函数
                 * @param algoKey 追踪DataSet的key
                 * @param entityName 实体名称
                 * @param selectFields 查询列名称
                 * @param filters 过滤条件
                 * @param rowMeta 元素据
                 */
                new(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],rowMeta:$.kd.bos.algo.RowMeta):OrmInput;
                /**
                 * 构造函数
                 * @param algoKey 追踪DataSet的key
                 * @param entityName 实体名称
                 * @param selectFields 查询列名称
                 * @param filters 过滤条件
                 * @param rowMeta 元素据
                 * @param cacheSize  查询结果DataSet每次缓存的数据量，用于查询隐私字段的场景
                 */
                new(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],rowMeta:$.kd.bos.algo.RowMeta,cacheSize:number):OrmInput;
            }
            interface OrmInput$ {
                /**
                 * 获取实体名称
                 * @return 实体名称
                 */
                getEntityName():string;
                /**
                 * 获取algoKey
                 * @return algoKey 用来标识DataSet的key
                 */
                getAlgoKey():string;
                /**
                 * 获取请求上下文信息
                 * @return 上下文信息
                 */
                getRequestContext():$.kd.bos.context.RequestContext;
                /**
                 * 获取查询列信息
                 * @return 查询列信息
                 */
                getSelectFields():string;
                /**
                 * 获取查询条件
                 * @return 查询条件
                 */
                getFilters():$.kd.bos.orm.query.QFilter[];
                /**
                 * 取数大小
                 * @return 取数大小
                 */
                getCacheSize():number;
            }
            type OrmInput_T = $.kd.bos.algo.Input & OrmInput$;
            interface OrmInput extends OrmInput_T {
            }
            interface DataSetInput_S {
            }
            type DataSetInput_ST = $.kd.bos.algo.Input & DataSetInput_S;
            interface DataSetInput_C extends DataSetInput_ST {
                /**
                 * 构造函数:使用一个DataSet构建一个DataSetInput
                 * @param dataSet 结果集
                 */
                new(dataSet:$.kd.bos.algo.DataSet):DataSetInput;
                /**
                 * 构造函数:使用一个DataSet和新的元素据构建一个DataSetInput
                 * @param dataSet 结果集
                 * @param rowMeta 元素据
                 */
                new(dataSet:$.kd.bos.algo.DataSet,rowMeta:$.kd.bos.algo.RowMeta):DataSetInput;
            }
            interface DataSetInput$ {
                /**
                 * 获取源DataSet
                 * @return 源DataSet
                 */
                getDataSet():$.kd.bos.algo.DataSet;
            }
            type DataSetInput_T = $.kd.bos.algo.Input & DataSetInput$;
            interface DataSetInput extends DataSetInput_T {
            }
        }
        namespace kd.bos.algo.output{
            interface AbstractOutput_S {
            }
            type AbstractOutput_ST = $.kd.bos.algo.Output & AbstractOutput_S;
            interface AbstractOutput_C extends AbstractOutput_ST {
                new():AbstractOutput;
            }
            interface AbstractOutput$ {
                setSingleParallel(singleParallel:boolean):void;
            }
            type AbstractOutput_T = $.kd.bos.algo.Output & AbstractOutput$;
            interface AbstractOutput extends AbstractOutput_T {
            }
            interface DataSetCacheOutput_S {
            }
            type DataSetCacheOutput_ST = AbstractOutput_S & DataSetCacheOutput_S;
            interface DataSetCacheOutput_C extends DataSetCacheOutput_ST {
                /**
                 * 构造函数
                 * @param rowMeta 元数据
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta):DataSetCacheOutput;
                /**
                 * 构造函数
                 * @param rowMeta 元数据
                 * @param hint 缓存参数
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta,hint:$.kd.bos.algo.CacheHint):DataSetCacheOutput;
            }
            interface DataSetCacheOutput$ {
                /**
                 * 获取缓存数据ID
                 *
                 * @return id
                 */
                getId():string;
                /**
                 * 获取缓存参数
                 *
                 * @return hint
                 */
                getCacheHint():$.kd.bos.algo.CacheHint;
            }
            type DataSetCacheOutput_T = AbstractOutput & DataSetCacheOutput$;
            interface DataSetCacheOutput extends DataSetCacheOutput_T {
            }
            interface DbOutput_S {
            }
            type DbOutput_ST = AbstractOutput_S & DbOutput_S;
            interface DbOutput_C extends DbOutput_ST {
                /**
                 * 构造函数
                 *
                 * @param routeKey 分库路由
                 * @param sql      用于insert数据的SQL
                 * @param rowMeta  元数据
                 */
                new(routeKey:string,sql:string,rowMeta:$.kd.bos.algo.RowMeta):DbOutput;
            }
            interface DbOutput$ {
                /**
                 * 获取分库路由
                 *
                 * @return routeKey
                 */
                getRouteKey():string;
                /**
                 * 获取SqlTypes
                 *
                 * @return sqlTypes
                 */
                getSqlTypes():number[];
                /**
                 * 获取执行保存的SQL
                 *
                 * @return sql
                 */
                getSql():string;
                /**
                 * 设置上下文
                 * @param rc 上下文
                 */
                setRequestContext(rc:$.kd.bos.context.RequestContext):void;
                /**
                 * 是否事务保存
                 *
                 * @return true=事务中保存，false不在事务中保存
                 */
                isNeedTx():boolean;
                /**
                 * 获取上下文
                 *
                 * @return rc 上下文
                 */
                getRequestContext():$.kd.bos.context.RequestContext;
                /**
                 * 设置元数据
                 * @param rowMeta 元数据
                 */
                setRowMeta(rowMeta:$.kd.bos.algo.RowMeta):void;
                /**
                 * 获取分批参数
                 *
                 * @return 分批参数
                 */
                getBatchInterval():number;
                /**
                 * 设置分批参数
                 *
                 * @param batchInterval 分批参数
                 */
                setBatchInterval(batchInterval:number):void;
                /**
                 * 设置SQL数据类型
                 *
                 * @param sqlTypes 数据库字段类型
                 */
                setSqlTypes(sqlTypes:number[]):void;
                /**
                 * 是否需要事务保存
                 *
                 * @param needTx true=需要，false=不需要
                 */
                setNeedTx(needTx:boolean):void;
            }
            type DbOutput_T = AbstractOutput & DbOutput$;
            interface DbOutput extends DbOutput_T {
            }
            interface DataSetOutput_S {
            }
            type DataSetOutput_ST = AbstractOutput_S & DataSetOutput_S;
            interface DataSetOutput_C extends DataSetOutput_ST {
                /**
                 * 构造函数
                 *
                 * @param rowMeta 元数据
                 */
                new(rowMeta:$.kd.bos.algo.RowMeta):DataSetOutput;
            }
            interface DataSetOutput$ {
                /**
                 * 获取id，用于从JobSession#readDataSet获取结果
                 *
                 * @return id
                 */
                getId():string;
            }
            type DataSetOutput_T = AbstractOutput & DataSetOutput$;
            interface DataSetOutput extends DataSetOutput_T {
            }
            interface PrintOutput_S {
            }
            type PrintOutput_ST = AbstractOutput_S & PrintOutput_S;
            interface PrintOutput_C extends PrintOutput_ST {
                /**
                 * 构造函数
                 */
                new():PrintOutput;
            }
            interface PrintOutput$ {
            }
            type PrintOutput_T = AbstractOutput & PrintOutput$;
            interface PrintOutput extends PrintOutput_T {
            }
            interface IgnoreOutput_S {
            }
            type IgnoreOutput_ST = AbstractOutput_S & IgnoreOutput_S;
            interface IgnoreOutput_C extends IgnoreOutput_ST {
                /**
                 * 构造函数
                 */
                new():IgnoreOutput;
            }
            interface IgnoreOutput$ {
            }
            type IgnoreOutput_T = AbstractOutput & IgnoreOutput$;
            interface IgnoreOutput extends IgnoreOutput_T {
            }
        }
        namespace kd.bos.algox{
            interface CommitTimeoutException_S {
            }
            type CommitTimeoutException_ST = CommitTimeoutException_S & kd.bos.algo.AlgoException_S;
            interface CommitTimeoutException_C extends CommitTimeoutException_ST {
            }
            interface CommitTimeoutException$ {
            }
            type CommitTimeoutException_T = CommitTimeoutException$ & kd.bos.algo.AlgoException;
            interface CommitTimeoutException extends CommitTimeoutException_T {
            }
            interface CoGroupDataSetX_S {
            }
            type CoGroupDataSetX_ST = CoGroupDataSetX_S & kd.bos.algox.core.AbstractDataSetX_S;
            interface CoGroupDataSetX_C extends CoGroupDataSetX_ST {
            }
            interface CoGroupDataSetX$ {
                /**
                 * 指定分组协作字段，类似于SQL JOIN中的on
                 *
                 * @param leftField  左数据集中的字段名
                 * @param rightField 右数据集中的字段名
                 * @return 数据集
                 */
                on(leftField:string,rightField:string):this;
            }
            type CoGroupDataSetX_T = CoGroupDataSetX$ & kd.bos.algox.core.AbstractDataSetX;
            interface CoGroupDataSetX extends CoGroupDataSetX_T {
            }
            interface FilterFunction_S {
            }
            type FilterFunction_ST = FilterFunction_S & Function_S;
            interface FilterFunction_C extends FilterFunction_ST {
                new():FilterFunction;
            }
            interface FilterFunction$ {
                /**
                 * 判断当前记录是否满足条件
                 *
                 * @param row 当前记录
                 * @return true=满足，进入下一结果集，false=不满足，丢弃
                 */
                test(row:RowX):boolean;
            }
            type FilterFunction_T = FilterFunction$ & Function;
            interface FilterFunction extends FilterFunction_T {
            }
            interface AlgoX_S {
                /**
                 * 创建任务会话，可以通过会话提交任务给计算集群执行
                 *
                 * @param name  任务名称
                 * @param title 任务标题
                 * @return 任务会话
                 */
                createSession(name:string,title:string):JobSession;
                /**
                 * 创建任务会话
                 *
                 * @param name 任务名称
                 * @return 任务会话
                 */
                createSession(name:string):JobSession;
            }
            interface AlgoX_C extends AlgoX_S {
                new():AlgoX;
            }
            interface AlgoX$ {
            }
            type AlgoX_T = AlgoX$;
            interface AlgoX extends AlgoX_T {
            }
            interface GroupReduceFunction_S {
            }
            type GroupReduceFunction_ST = Function_S & GroupReduceFunction_S & ResultAwarable_S & ResultConvertable_S;
            interface GroupReduceFunction_C extends GroupReduceFunction_ST {
                new():GroupReduceFunction;
            }
            interface GroupReduceFunction$ {
                /**
                 * reduce
                 *
                 * @param iter      分组后的数据集
                 * @param collector collector
                 */
                reduce(iter:$.java.lang.Iterable,collector:Collector):void;
            }
            type GroupReduceFunction_T = Function & GroupReduceFunction$ & ResultAwarable & ResultConvertable;
            interface GroupReduceFunction extends GroupReduceFunction_T {
            }
            interface CancelTimeoutException_S {
            }
            type CancelTimeoutException_ST = CancelTimeoutException_S & kd.bos.algo.AlgoException_S;
            interface CancelTimeoutException_C extends CancelTimeoutException_ST {
            }
            interface CancelTimeoutException$ {
            }
            type CancelTimeoutException_T = CancelTimeoutException$ & kd.bos.algo.AlgoException;
            interface CancelTimeoutException extends CancelTimeoutException_T {
            }
            interface GroupCombineReduceFunction_S {
            }
            type GroupCombineReduceFunction_ST = Function_S & GroupCombineReduceFunction_S & ResultAwarable_S & ResultConvertable_S;
            interface GroupCombineReduceFunction_C extends GroupCombineReduceFunction_ST {
                new():GroupCombineReduceFunction;
            }
            interface GroupCombineReduceFunction$ {
                /**
                 * reduce
                 *
                 * @param iter      combine后的数据集
                 * @param collector collector
                 */
                reduce(iter:$.java.lang.Iterable,collector:Collector):void;
                /**
                 * combine
                 *
                 * @param iter      分组后的数据集
                 * @param collector collector
                 */
                combine(iter:$.java.lang.Iterable,collector:Collector):void;
            }
            type GroupCombineReduceFunction_T = Function & GroupCombineReduceFunction$ & ResultAwarable & ResultConvertable;
            interface GroupCombineReduceFunction extends GroupCombineReduceFunction_T {
            }
            interface GroupCombineFunction_S {
            }
            type GroupCombineFunction_ST = Function_S & GroupCombineFunction_S & ResultAwarable_S;
            interface GroupCombineFunction_C extends GroupCombineFunction_ST {
                new():GroupCombineFunction;
            }
            interface GroupCombineFunction$ {
                /**
                 * combine
                 * <p>
                 * 需要保证输入和输出的结构一致
                 * </p>
                 *
                 * @param iter      分组后的数据集
                 * @param collector collector
                 */
                combine(iter:$.java.lang.Iterable,collector:Collector):void;
            }
            type GroupCombineFunction_T = Function & GroupCombineFunction$ & ResultAwarable;
            interface GroupCombineFunction extends GroupCombineFunction_T {
            }
            interface ResultAwarable_S {
            }
            interface ResultAwarable_C extends ResultAwarable_S {
            }
            interface ResultAwarable$ {
                /**
                 * 获取元数据
                 *
                 * @return 元数据
                 */
                getResultRowMeta():kd.bos.algo.RowMeta;
            }
            type ResultAwarable_T = ResultAwarable$;
            interface ResultAwarable extends ResultAwarable_T {
            }
            interface AlgoXCallBack_S {
            }
            interface AlgoXCallBack_C extends AlgoXCallBack_S {
            }
            interface AlgoXCallBack$ {
                /**
                 * 任务运行异常时调用
                 *
                 * @param e 异常
                 */
                onFailed(e:$.java.lang.Exception):void;
                /**
                 * 任务运行结束时调用
                 */
                onFinished():void;
            }
            type AlgoXCallBack_T = AlgoXCallBack$;
            interface AlgoXCallBack extends AlgoXCallBack_T {
            }
            interface MapFunction_S {
            }
            type MapFunction_ST = Function_S & MapFunction_S & ResultAwarable_S;
            interface MapFunction_C extends MapFunction_ST {
                new():MapFunction;
            }
            interface MapFunction$ {
                /**
                 * 映射函数
                 *
                 * @param row RowX
                 * @return 新RowX
                 */
                map(row:RowX):RowX;
            }
            type MapFunction_T = Function & MapFunction$ & ResultAwarable;
            interface MapFunction extends MapFunction_T {
            }
            interface ResultConvertable_S {
            }
            interface ResultConvertable_C extends ResultConvertable_S {
            }
            interface ResultConvertable$ {
                needConvertRow?():boolean;
            }
            type ResultConvertable_T = ResultConvertable$;
            interface ResultConvertable extends ResultConvertable_T {
            }
            interface JoinDataSetX_S {
            }
            type JoinDataSetX_ST = JoinDataSetX_S & kd.bos.algox.core.AbstractDataSetX_S;
            interface JoinDataSetX_C extends JoinDataSetX_ST {
            }
            interface JoinDataSetX$ {
                /**
                 * 可以自行决定返回的列
                 * <p>
                 * 如果使用了withFunc，那么select会被忽略。
                 * </p>
                 * @param func JoinFunction
                 * @return JoinDataSetX
                 */
                withFunc(func:JoinFunction):this;
                /**
                 * 返回join后的列
                 *
                 * @param leftFields  左数据集字段数组
                 * @param rightFields 右数据集字段数组
                 * @return JoinDataSetX
                 */
                select(leftFields:string[],rightFields:string[]):this;
                /**
                 * Join on
                 *
                 * @param leftField  左数据集字段
                 * @param rightField 右数据集字段
                 * @return JoinDataSetX
                 */
                on(leftField:string,rightField:string):this;
            }
            type JoinDataSetX_T = JoinDataSetX$ & kd.bos.algox.core.AbstractDataSetX;
            interface JoinDataSetX extends JoinDataSetX_T {
            }
            interface Function_S {
            }
            type Function_ST = $.java.io.Serializable & Function_S;
            interface Function_C extends Function_ST {
                new():Function;
            }
            interface Function$ {
                getSourceRowMeta():kd.bos.algo.RowMeta;
                setSourceRowMeta(sourceRowMeta:kd.bos.algo.RowMeta):void;
            }
            type Function_T = $.java.io.Serializable & Function$;
            interface Function extends Function_T {
            }
            interface RunningTimeoutException_S {
            }
            type RunningTimeoutException_ST = RunningTimeoutException_S & kd.bos.algo.AlgoException_S;
            interface RunningTimeoutException_C extends RunningTimeoutException_ST {
            }
            interface RunningTimeoutException$ {
            }
            type RunningTimeoutException_T = RunningTimeoutException$ & kd.bos.algo.AlgoException;
            interface RunningTimeoutException extends RunningTimeoutException_T {
            }
            interface CoGroupFunction_S {
            }
            type CoGroupFunction_ST = CoGroupFunction_S & Function_S & ResultAwarable_S;
            interface CoGroupFunction_C extends CoGroupFunction_ST {
                new():CoGroupFunction;
            }
            interface CoGroupFunction$ {
                /**
                 * 分组协作回调函数
                 * @param iter1 左分组数据集，已经按照on中的字段分组好，且iter1和iter2中的分组key一致
                 * @param iter2 右分组数据集
                 * @param collector collector
                 */
                coGroup(iter1:$.java.lang.Iterable,iter2:$.java.lang.Iterable,collector:Collector):void;
            }
            type CoGroupFunction_T = CoGroupFunction$ & Function & ResultAwarable;
            interface CoGroupFunction extends CoGroupFunction_T {
            }
            interface JoinFunction_S {
            }
            type JoinFunction_ST = Function_S & JoinFunction_S & ResultAwarable_S;
            interface JoinFunction_C extends JoinFunction_ST {
                new():JoinFunction;
            }
            interface JoinFunction$ {
                /**
                 * 处理join结果
                 *
                 * @param row1 左边的row
                 * @param row2 右边的row
                 * @return RowX
                 */
                join(row1:RowX,row2:RowX):RowX;
            }
            type JoinFunction_T = Function & JoinFunction$ & ResultAwarable;
            interface JoinFunction extends JoinFunction_T {
            }
            interface FlatMapFunction_S {
            }
            type FlatMapFunction_ST = FlatMapFunction_S & Function_S & ResultAwarable_S;
            interface FlatMapFunction_C extends FlatMapFunction_ST {
                new():FlatMapFunction;
            }
            interface FlatMapFunction$ {
                /**
                 * 展开RowX,对rowX生成多行数据后，通过collector将数据输出到下个结算节点
                 *
                 * @param rowX      当前行
                 * @param collector 收集器
                 */
                flatMap(rowX:RowX,collector:Collector):void;
            }
            type FlatMapFunction_T = FlatMapFunction$ & Function & ResultAwarable;
            interface FlatMapFunction extends FlatMapFunction_T {
            }
            interface Collector_S {
            }
            interface Collector_C extends Collector_S {
            }
            interface Collector$ {
                /**
                 * 收集RowX
                 *
                 * @param row 行数据
                 */
                collect(row:RowX):void;
            }
            type Collector_T = Collector$;
            interface Collector extends Collector_T {
            }
            interface RowX_S {
            }
            type RowX_ST = $.java.io.Serializable & RowX_S & kd.bos.algo.RowFeature_S;
            interface RowX_C extends RowX_ST {
            }
            interface RowX$ {
                /**
                 * 获取double类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getDouble(index:number):number;
                /**
                 * 获取date类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getDate(index:number):Date;
                /**
                 * 获取long类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getLong(index:number):long;
                /**
                 * 将行数据转为map返回
                 *
                 * @param rowMeta map的key
                 * @param reuse   map
                 * @return map
                 */
                toMap(rowMeta:kd.bos.algo.RowMeta,reuse:$.java.util.Map):$.java.util.Map;
                /**
                 * 获取boolean类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getBoolean(index:number):boolean;
                /**
                 * 获取数据数组
                 *
                 * @return row
                 */
                values():any[];
                /**
                 * 获取int类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getInteger(index:number):number;
                /**
                 * 获取string类型的值
                 *
                 * @param index 下标
                 * @return value
                 */
                getString(index:number):string;
                /**
                 * 获取timestamp类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getTimestamp(index:number):Date;
                /**
                 * 获取BigDecimal类型的值
                 *
                 * @param index 数组下标
                 * @return value
                 */
                getBigDecimal(index:number):$.java.math.BigDecimal;
                /**
                 * 拷贝一份新的RowX
                 *
                 * @return new RowX
                 */
                copy():this;
                /**
                 * 设置行的值
                 *
                 * @param values
                 */
                setValues(values:any[]):void;
                /**
                 * 设置行中的单个值
                 *
                 * @param index 数组下标，从0开始
                 * @param value 值
                 */
                set(index:number,value:any):void;
                /**
                 * 获取一行数据的个数
                 *
                 * @return size
                 */
                size():number;
            }
            type RowX_T = $.java.io.Serializable & RowX$ & kd.bos.algo.RowFeature;
            interface RowX extends RowX_T {
            }
            interface Grouper_S {
            }
            interface Grouper_C extends Grouper_S {
            }
            interface Grouper$ {
                /**
                 * 取分组后的最小值
                 *
                 * @param field 取最小值的字段
                 * @return DataSetX
                 */
                min(field:string):DataSetX;
                /**
                 * 分组计数
                 *
                 * @param field 计数的字段
                 * @param alias 计数后字段别名
                 * @return DataSetX
                 */
                count(field:string,alias:string):DataSetX;
                /**
                 * 对分组后的数据集进行reduce操作
                 *
                 * @param function GroupReduceFunction
                 * @return DataSetX
                 */
                reduceGroup(function_arg:GroupReduceFunction):DataSetX;
                /**
                 * 对分组后的数据集进行combine及reduce操作
                 *
                 * @param func GroupCombineReduceFunction
                 * @return DataSetX
                 */
                combineReduceGroup(func:GroupCombineReduceFunction):DataSetX;
                /**
                 * 取分组后的最大值
                 *
                 * @param field 取最大值的字段
                 * @return DataSetX
                 */
                max(field:string):DataSetX;
                /**
                 * 对分组后的数据求和
                 *
                 * @param field 求和字段
                 * @param alias 求和后字段的别名
                 * @return DataSetX
                 */
                sum(field:string,alias:string):DataSetX;
                /**
                 * 分组计数
                 *
                 * @param field 计数的字段
                 * @return DataSetX
                 */
                count(field:string):DataSetX;
                /**
                 * 对分组后的数据集进行combine操作
                 *
                 * @param function GroupCombineFunction
                 * @return DataSetX
                 */
                combineGroup(function_arg:GroupCombineFunction):DataSetX;
                /**
                 * 取分组后的最大值
                 *
                 * @param field 取最大值的字段
                 * @param alias 取最大值后字段别名
                 * @return DataSetX
                 */
                max(field:string,alias:string):DataSetX;
                /**
                 * 取分组后的最小值
                 *
                 * @param field 取最小值的字段
                 * @param alias 取最小值后的字段别名
                 * @return DataSetX
                 */
                min(field:string,alias:string):DataSetX;
                /**
                 * 对分组后的数据进行求和
                 *
                 * @param field 求和的字段
                 * @return DataSetX
                 */
                sum(field:string):DataSetX;
            }
            type Grouper_T = Grouper$;
            interface Grouper extends Grouper_T {
            }
            interface JobSession_S {
                /**
                 * 获取任务执行进度
                 *
                 * @param jobId jobId
                 * @return 任务进度百分比值，范围[0-100]
                 */
                getJobProgress(jobId:string):number;
            }
            interface JobSession_C extends JobSession_S {
                new():JobSession;
            }
            interface JobSession$ {
                /**
                 * 提交同步任务
                 *
                 * @param commitTimeout 任务提交超时时间
                 * @param runningTimeout 任务执行超时时间
                 * @param timeUnit 超时时间单位
                 * @param timeoutAutoCancel 运行超时自动取消
                 * @throws CommitTimeoutException 任务提交超时异常
                 * @throws RunningTimeoutException 任务运行超时异常
                 */
                commit(commitTimeout:number,runningTimeout:number,timeUnit:$.java.util.concurrent.TimeUnit,timeoutAutoCancel:boolean):void;
                /**
                 * 提交异步任务
                 *
                 * @param commitTimeout 任务提交超时时间
                 * @param runningTimeout 任务执行超时时间
                 * @param timeUnit 超时时间单位
                 * @param callback 任务执行完毕后回调接口
                 * @param timeoutAutoCancel 运行超时自动取消
                 * @return 任务ID
                 */
                asyncCommit(commitTimeout:number,runningTimeout:number,timeUnit:$.java.util.concurrent.TimeUnit,callback:AlgoXCallBack,timeoutAutoCancel:boolean):string;
                /**
                 * 提交同步任务
                 *
                 * @param timeout  超时时间（同时设置任务提交超时时间及任务运行超时时间）
                 * @param timeUnit 超时时间的单位
                 * @throws CommitTimeoutException  任务提交超时异常
                 * @throws RunningTimeoutException 任务运行超时异常
                 */
                commit(timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
                /**
                 * 获取任务执行结果
                 * @param id OutputId
                 * @return 结果集
                 */
                readDataSet(id:string):kd.bos.algo.DataSet;
                /**
                 * 为任务设置分区标识
                 * <p>
                 * 推荐所有的任务都设置分区标识，将同一领域或者模块的任务归为同一分区；该设置只有在AlgoX集群配置了分区集群时才会生效。
                 * </p>
                 *
                 * @param region 分区标识，区分大小写，只能是字符及数字
                 */
                setRegion(region:string):void;
                /**
                 * 提交同步任务
                 *
                 * @param commitTimeout 任务提交超时时间
                 * @param runningTimeout 任务执行超时时间
                 * @param timeUnit 超时时间单位
                 * @throws CommitTimeoutException 任务提交超时异常
                 * @throws RunningTimeoutException 任务运行超时异常
                 */
                commit(commitTimeout:number,runningTimeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
                /**
                 * 创建数据源
                 *
                 * @param inputs 多个元数据一致的数据源
                 * @return DataSetX
                 */
                fromInput(...inputs:kd.bos.algo.Input[]):DataSetX;
                /**
                 * 创建数据源
                 * <p>
                 * Input用来创建数据源，是Job的源头。常见有以下几种：
                 * <li>
                 * {@link kd.bos.algo.input.OrmInput}： ORM查询
                 * </li>
                 * <li>
                 * {@link kd.bos.algo.input.DbInput}： DB KSQL 查询
                 * </li>
                 * <li>
                 * {@link kd.bos.algo.input.DataSetInput}： 将Algo DataSet作为Input
                 * </li>
                 * <li>
                 * {@link kd.bos.algo.input.CollectionInput}： 集合对象
                 * </li>
                 * <li>
                 * {@link kd.bos.algo.CustomizedInput}： 抽象类，可自定义取数逻辑
                 * </li>
                 * </p>
                 * @param input 数据源
                 * @return DataSetX
                 */
                fromInput(input:kd.bos.algo.Input):DataSetX;
                /**
                 * 提交异步任务
                 *
                 * @param timeout  超时时间（同时设置任务提交超时时间及任务运行超时时间）
                 * @param timeUnit 超时时间单位
                 * @param callback 任务执行完毕后回调接口
                 * @return 任务ID
                 */
                asyncCommit(timeout:number,timeUnit:$.java.util.concurrent.TimeUnit,callback:AlgoXCallBack):string;
                /**
                 * 提交异步任务
                 *
                 * @param timeout  超时时间（同时设置任务提交超时时间及任务运行超时时间）
                 * @param timeUnit 超时时间单位
                 * @param callback 任务执行完毕后回调接口
                 * @param timeoutAutoCancel 运行超时自动取消
                 * @return 任务ID
                 */
                asyncCommit(timeout:number,timeUnit:$.java.util.concurrent.TimeUnit,callback:AlgoXCallBack,timeoutAutoCancel:boolean):string;
                /**
                 * 提交同步任务
                 *
                 * @param timeout  超时时间（同时设置任务提交超时时间及任务运行超时时间）
                 * @param timeUnit 超时时间的单位
                 * @param timeoutAutoCancel 运行超时自动取消
                 * @throws CommitTimeoutException  任务提交超时异常
                 * @throws RunningTimeoutException 任务运行超时异常
                 */
                commit(timeout:number,timeUnit:$.java.util.concurrent.TimeUnit,timeoutAutoCancel:boolean):void;
                /**
                 * 为任务设置标题
                 *
                 * @param title 标题
                 */
                setTitle(title:string):void;
                /**
                 * 提交异步任务
                 *
                 * @param commitTimeout 任务提交超时时间
                 * @param runningTimeout 任务执行超时时间
                 * @param timeUnit 超时时间单位
                 * @param callback 任务执行完毕后回调接口
                 * @return 任务ID
                 */
                asyncCommit(commitTimeout:number,runningTimeout:number,timeUnit:$.java.util.concurrent.TimeUnit,callback:AlgoXCallBack):string;
                /**
                 * 取消任务
                 * @param jobId          jobId
                 * @param cancelTimeout  任务取消超时时间
                 * @param timeUnit       超时时间单位
                 * @throws CancelTimeoutException 任务取消超时异常
                 */
                cancel(jobId:string,cancelTimeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
            }
            type JobSession_T = JobSession$;
            interface JobSession extends JobSession_T {
            }
            interface AlgoXModule_S {
            }
            type AlgoXModule_ST = $.kd.sdk.module.Module & AlgoXModule_S;
            interface AlgoXModule_C extends AlgoXModule_ST {
                new():AlgoXModule;
            }
            interface AlgoXModule$ {
            }
            type AlgoXModule_T = $.kd.sdk.module.Module & AlgoXModule$;
            interface AlgoXModule extends AlgoXModule_T {
            }
            interface DataSetX_S {
            }
            interface DataSetX_C extends DataSetX_S {
            }
            interface DataSetX$ {
                /**
                 * 排序
                 *
                 * @param fields 排序的字段列表，例如： id, name desc, age asc
                 * @return DataSetX
                 */
                orderBy(...fields:string[]):this;
                /**
                 * 删除字段
                 *
                 * @param fields 字段名数组
                 * @return DataSetX
                 */
                removeFields(...fields:string[]):this;
                /**
                 * 对整个数据集求和
                 *
                 * @param field 求和字段
                 * @param alias 求和后字段别名
                 * @return DataSetX
                 */
                sum(field:string,alias:string):this;
                /**
                 * 过滤数据集： 类似于SQL中的WHERE操作，返回满足条件的列
                 *
                 * @param func 自定义过滤函数
                 * @return DataSetX
                 */
                filter(func:FilterFunction):this;
                /**
                 * 获取数据集元数据
                 *
                 * @return 元数据
                 */
                getRowMeta():kd.bos.algo.RowMeta;
                /**
                 * 增加字段
                 *
                 * @param fields 字段名数组
                 * @param values 字段值数组
                 * @return DataSetX
                 */
                addFields(fields:kd.bos.algo.Field[],values:any[]):this;
                /**
                 * 合并数据集，类似SQL中的union
                 * @param dataSet 需要合并的数据集
                 * @return DataSetX
                 */
                union(dataSet:DataSetX):this;
                /**
                 * 对整个数据集取最大值
                 *
                 * @param field 取最大值字段
                 * @return DataSetX
                 */
                max(field:string):this;
                /**
                 * 取top行
                 *
                 * @param n top的行数
                 * @return DataSetX
                 */
                top(n:number):this;
                /**
                 * 对整个数据集取最小值
                 *
                 * @param field 取最小值字段
                 * @return DataSetX
                 */
                min(field:string):this;
                /**
                 * 全外连接
                 *
                 * @param right DataSetX
                 * @return JoinDataSetX
                 */
                fullJoin(right:DataSetX):JoinDataSetX;
                /**
                 * 对整个数据集进行combine和reduce操作
                 *
                 * @param func GroupCombineReduceFunction
                 * @return DataSetX
                 */
                combineReduceGroup(func:GroupCombineReduceFunction):this;
                /**
                 * 过滤数据集： 类似于SQL中的WHERE操作，返回满足条件的列
                 *
                 * @param expr 表达式，例如： id > 50
                 * @return DataSetX
                 */
                filter(expr:string):this;
                /**
                 * 右连接
                 *
                 * @param right DataSetX
                 * @return JoinDataSetX
                 */
                rightJoin(right:DataSetX):JoinDataSetX;
                /**
                 * 对整个数据集进行combine操作
                 *
                 * @param func GroupCombineFunction
                 * @return DataSetX
                 */
                combineGroup(func:GroupCombineFunction):this;
                /**
                 * 内连接
                 *
                 * @param right DataSetX
                 * @return JoinDataSetX
                 */
                join(right:DataSetX):JoinDataSetX;
                /**
                 * 左连接
                 *
                 * @param right DataSetX
                 * @return JoinDataSetX
                 */
                leftJoin(right:DataSetX):JoinDataSetX;
                /**
                 * 过滤数据集： 类似于SQL中的WHERE操作，返回满足条件的列
                 *
                 * @param expr 带参数的表达式，例如： id > var
                 * @param params 参数，例如： var -> 50
                 * @return DataSetX
                 */
                filter(expr:string,params:$.java.util.Map):this;
                /**
                 * 对整个数据集计数
                 *
                 * @param field 计数字段
                 * @param alias 计数后字段别名
                 * @return DataSetX
                 */
                count(field:string,alias:string):this;
                /**
                 * 分组
                 * @param fields 按字段分组
                 * @return Grouper
                 */
                groupBy(...fields:string[]):Grouper;
                /**
                 * 对整个数据集进行reduce操作
                 *
                 * @param func GroupReduceFunction
                 * @return DataSetX
                 */
                reduceGroup(func:GroupReduceFunction):this;
                /**
                 * 任务结果输出
                 * <p>
                 * Job必须有Output，运行时Output全部正常结束，Job才结束。
                 *
                 * <li>
                 * {@link kd.bos.algo.output.DataSetOutput}： 输出为 algo DataSet，在当前 JobSession 中可以获取到，不可跨会话访问
                 * </li>
                 *
                 * <li>
                 * {@link kd.bos.algo.output.DataSetCacheOutput}： 输出为 algo CachedDataSet，通过Algo. getCacheDataSet 获取到，
                 * 可跨会话访问
                 * </li>
                 *
                 * <li>
                 * {@link kd.bos.algo.output.DbOutput}： 输出到DB
                 * </li>
                 *
                 * <li>
                 * {@link kd.bos.algo.output.CustomizedOutput}： 自定义Output接口，自己实现
                 * </li>
                 *
                 * <li>
                 * {@link kd.bos.algo.CustomizedOutput}： 打印，用于调试
                 * </li>
                 *
                 * <li>
                 * {@link kd.bos.algo.output.IgnoreOutput}： 忽略输出
                 * </li>
                 *
                 * </p>
                 *
                 * @param output 输出
                 */
                output(output:kd.bos.algo.Output):void;
                /**
                 * 一对一映射，一行RowX生成一行新的RowX
                 *
                 * @param func 映射函数
                 * @return DataSetX
                 */
                map(func:MapFunction):this;
                /**
                 * 主动根据字段进行hash将数据集重新分区
                 *
                 * @param fields 分区的字段
                 * @return DataSetX
                 */
                partitionByHash(...fields:string[]):this;
                /**
                 * 去重
                 * @param fields 按字段列表去重复
                 * @return DataSetX
                 */
                distinct(...fields:string[]):this;
                /**
                 * 返回节点并行度是否为1
                 *
                 * @return boolean
                 */
                isSingleParallel():boolean;
                /**
                 * 设置节点并行度
                 *
                 * @param value true： 并行度为1 false： 配置值
                 */
                setSingleParallel(value:boolean):void;
                /**
                 * 返回指定列
                 *
                 * @param fields 要返回的列
                 * @return DataSetX
                 */
                select(...fields:string[]):this;
                /**
                 * 对整个数据集计数
                 *
                 * @param field 计数字段
                 * @return DataSetX
                 */
                count(field:string):this;
                /**
                 * 分组协作
                 * <p>
                 * 是一种特殊的join，coGroup后必须调用CoGroupDataSetX#on方法，用于确定分组join的key。
                 * </p>
                 *
                 * @param dataSet 需要join的数据集
                 * @param func    分组协作函数
                 * @return CoGroupDataSetX
                 */
                coGroup(dataSet:DataSetX,func:CoGroupFunction):CoGroupDataSetX;
                /**
                 * 对整个数据集取最小值
                 *
                 * @param field 取最小值字段
                 * @param alias 取最小值后字段别名
                 * @return DataSetX
                 */
                min(field:string,alias:string):this;
                /**
                 * 对整个数据集求和
                 *
                 * @param field 求和字段
                 * @return DataSetX
                 */
                sum(field:string):this;
                /**
                 * 对整个数据集取最大值
                 *
                 * @param field 取最大值字段
                 * @param alias 取最大值后字段别名
                 * @return DataSetX
                 */
                max(field:string,alias:string):this;
                /**
                 * 一对多映射，一行RowX生成多行RowX
                 *
                 * @param func 映射函数
                 * @return DataSetX
                 */
                flatMap(func:FlatMapFunction):this;
            }
            type DataSetX_T = DataSetX$;
            interface DataSetX extends DataSetX_T {
            }
        }
        namespace kd.bos.algox.core{
            interface DataSinkX_S {
            }
            type DataSinkX_ST = $.java.io.Serializable & DataSinkX_S;
            interface DataSinkX_C extends DataSinkX_ST {
                new(source:DataSetX,output:kd.bos.algo.Output):DataSinkX;
            }
            interface DataSinkX$ {
                getOutput():kd.bos.algo.Output;
                getRowMeta():kd.bos.algo.RowMeta;
                getSource():DataSetX;
                getLocation():string;
            }
            type DataSinkX_T = $.java.io.Serializable & DataSinkX$;
            interface DataSinkX extends DataSinkX_T {
            }
            interface AbstractDataSetX_S {
            }
            type AbstractDataSetX_ST = AbstractDataSetX_S & DataSetX_S;
            interface AbstractDataSetX_C extends AbstractDataSetX_ST {
                new(context:JobContext,source:DataSetX):AbstractDataSetX;
                new(context:JobContext,source1:DataSetX,source2:DataSetX):AbstractDataSetX;
            }
            interface AbstractDataSetX$ {
                getSource():DataSetX;
                getLocation():string;
                getSources():$.java.util.List;
            }
            type AbstractDataSetX_T = AbstractDataSetX$ & DataSetX;
            interface AbstractDataSetX extends AbstractDataSetX_T {
            }
            interface JobContext_S {
                readonly KEY_DISABLELOCALMODE:string;
                readonly KEY_REQUESTCONTEXT:string;
            }
            type JobContext_ST = $.java.io.Serializable & JobContext_S;
            interface JobContext_C extends JobContext_ST {
                new():JobContext;
            }
            interface JobContext$ {
                isDisableLocalModel():boolean;
                getParallelism():number;
                setJobName(jobName:string):void;
                clear():void;
                getDataSinks():$.java.util.List;
                getTitle():string;
                registerDataSink(dataSink:DataSinkX):void;
                getRegion():string;
                getJobName():string;
                setTitle(title:string):void;
                disableLocalModel():void;
                setRegion(region:string):void;
                getReadWriteMode():string;
                setParallelism(parallelism:number):void;
                setReadWriteMode(readWriteMode:string):void;
            }
            type JobContext_T = $.java.io.Serializable & JobContext$;
            interface JobContext extends JobContext_T {
            }
        }
        namespace kd.bos.archive{
            interface ArchiveModule_S {
            }
            type ArchiveModule_ST = $.kd.sdk.module.Module & ArchiveModule_S;
            interface ArchiveModule_C extends ArchiveModule_ST {
                new():ArchiveModule;
            }
            interface ArchiveModule$ {
            }
            type ArchiveModule_T = $.kd.sdk.module.Module & ArchiveModule$;
            interface ArchiveModule extends ArchiveModule_T {
            }
        }
        namespace kd.bos.archive.api{
            class ArchiveRepeatModeEnum {
                static readonly ByDays:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static readonly ByHours:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static readonly ByMinutes:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static readonly NONE:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static readonly ByMonths:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static readonly ByYears:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static readonly ByWeeks:kd.bos.archive.api.ArchiveRepeatModeEnum;
                static values():kd.bos.archive.api.ArchiveRepeatModeEnum[];
                static valueOf(arg0:string):kd.bos.archive.api.ArchiveRepeatModeEnum;
            }
        }
        namespace kd.bos.archive.api.dto{
            interface ArchiveBasedata_S {
            }
            interface ArchiveBasedata_C extends ArchiveBasedata_S {
                /**
                 * @param number
                 * @param timeAttr
                 * 构造函数
                 */
                new(number_arg:string,timeAttr:string):ArchiveBasedata;
            }
            interface ArchiveBasedata$ {
                /**
                 * 获取最后更新时间属性字段
                 */
                getTimeAttr():string;
                /**
                 * 获取归档规则编码
                 */
                getNumber():string;
            }
            type ArchiveBasedata_T = ArchiveBasedata$;
            interface ArchiveBasedata extends ArchiveBasedata_T {
            }
            interface McDatabase_S {
            }
            interface McDatabase_C extends McDatabase_S {
                /**
                 * 构造方法
                 * @param databaseKey
                 * @param name
                 */
                new(databaseKey:string,name:string):McDatabase;
            }
            interface McDatabase$ {
                /**
                 * 获取物理库编码
                 * @return
                 */
                getDatabaseKey():string;
                /**
                 * 获取物理库名称
                 * @return
                 */
                getName():string;
                /**
                 * 设置物理库编码
                 * @param databaseKey
                 */
                setDatabaseKey(databaseKey:string):void;
                /**
                 * 设置物理库名称
                 * @param name
                 */
                setName(name:string):void;
            }
            type McDatabase_T = McDatabase$;
            interface McDatabase extends McDatabase_T {
            }
            interface ArchiveSchedule_S {
            }
            interface ArchiveSchedule_C extends ArchiveSchedule_S {
                new():ArchiveSchedule;
            }
            interface ArchiveSchedule$ {
                getMasterId():long;
                setMasterId(masterId:long):void;
                /**
                 * 获取平台调度计划ID
                 * @return
                 */
                getPlanId():string;
                /**
                 * 获取是否启用标志
                 * @return
                 */
                getEnable():string;
                setStatus(status:string):void;
                /**
                 * 设置平台调度计划ID
                 * @param planId
                 */
                setPlanId(planId:string):void;
                /**
                 * 设置主键id
                 * @param id
                 */
                setId(id:long):void;
                getStatus():string;
                /**
                 * 设置调度计划描述
                 * @param execPlan
                 */
                setExecPlan(execPlan:string):void;
                /**
                 * 设置是否启用
                 * @param enable
                 */
                setEnable(enable:string):void;
                /**
                 * 设置失效时间
                 * @param endTime
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 获取调度计划名称
                 * @return
                 */
                getName():string;
                /**
                 * 获取主键id
                 * @return
                 */
                getId():long;
                /**
                 * 获取调度计划描述
                 * @return
                 */
                getExecPlan():string;
                /**
                 * 获取失效时间
                 * @return
                 */
                getEndTime():Date;
                /**
                 * 设置迁移方式
                 * @param movingTypeEnum
                 */
                setMovingTypeEnum(movingTypeEnum:kd.bos.archive.enums.ArchiveConfigMovingTypeEnum):void;
                /**
                 * 获取迁移方式
                 * @return
                 */
                getMovingTypeEnum():kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                /**
                 * 设置调度计划编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置调度计划名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 获取调度计划编码
                 * @return
                 */
                getNumber():string;
            }
            type ArchiveSchedule_T = ArchiveSchedule$;
            interface ArchiveSchedule extends ArchiveSchedule_T {
            }
            interface ArchiveDatabase_S {
            }
            interface ArchiveDatabase_C extends ArchiveDatabase_S {
                new():ArchiveDatabase;
            }
            interface ArchiveDatabase$ {
                /**
                 * 设置是否开启标志
                 * @param enable
                 */
                setEnable(enable:string):void;
                /**
                 * 设置主键
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 获取物理归档库
                 * @return
                 */
                getDatabase():string;
                /**
                 * 设置逻辑归档库
                 * @param archiveRouteKey
                 */
                setArchiveRouteKey(archiveRouteKey:string):void;
                /**
                 * 设置物理归档库
                 * @param database
                 */
                setDatabase(database:string):void;
                /**
                 * 设置分组id
                 * @param groupId
                 */
                setGroupId(groupId:long):void;
                /**
                 * 获取主键
                 * @return
                 */
                getId():long;
                /**
                 * 获取编码
                 * @return
                 */
                getNumber():string;
                /**
                 * 获取逻辑归档库
                 * @return
                 */
                getArchiveRouteKey():string;
                /**
                 * 获取转储分区标识
                 * @return
                 */
                getLogicSuffix():string;
                /**
                 * 设置转储分区标识
                 * @param logicSuffix
                 */
                setLogicSuffix(logicSuffix:string):void;
                /**
                 * 获取分组id
                 */
                getGroupId():long;
                /**
                 * 是否开启标志
                 * @return
                 */
                getEnable():string;
                /**
                 * 设置分区库名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 设置编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取分区库名称
                 * @return
                 */
                getName():string;
            }
            type ArchiveDatabase_T = ArchiveDatabase$;
            interface ArchiveDatabase extends ArchiveDatabase_T {
            }
            interface TaskResultInfo_S {
            }
            interface TaskResultInfo_C extends TaskResultInfo_S {
                new():TaskResultInfo;
            }
            interface TaskResultInfo$ {
                /**
                 * 设置调度id
                 * @param scheduleRcdId
                 */
                setScheduleRcdId(scheduleRcdId:long):void;
                /**
                 * 设置单据编码
                 * @param entityName
                 */
                setEntityName(entityName:string):void;
                /**
                 * 设置任务归档数据总数
                 * @param count
                 */
                setCount(count:long):void;
                /**
                 * 设置归档路由
                 * @param archiveRoute
                 */
                setArchiveRoute(archiveRoute:string):void;
                /**
                 * 获取任务执行结果
                 * @return
                 */
                getResult():string;
                /**
                 * 设置任务执行结果
                 * @param result
                 */
                setResult(result:string):void;
                /**
                 * 获取根单据编码
                 * @return
                 */
                getRootEntityName():string;
                /**
                 * 获取归档路由
                 * @return
                 */
                getArchiveRoute():string;
                /**
                 * 获取调度id
                 * @return
                 */
                getScheduleRcdId():long;
                /**
                 * 设置任务id
                 * @param taskId
                 */
                setTaskId(taskId:long):void;
                /**
                 * 获取任务id
                 * @return
                 */
                getTaskId():long;
                /**
                 * 设置根单据编码
                 * @param rootEntityName
                 */
                setRootEntityName(rootEntityName:string):void;
                /**
                 * 获取任务归档数据总数
                 * @return
                 */
                getCount():long;
                /**
                 * 获取单据编码
                 * @return
                 */
                getEntityName():string;
            }
            type TaskResultInfo_T = TaskResultInfo$;
            interface TaskResultInfo extends TaskResultInfo_T {
            }
            interface ArchiveRule_S {
            }
            interface ArchiveRule_C extends ArchiveRule_S {
                new():ArchiveRule;
            }
            interface ArchiveRule$ {
                /**
                 * 设置归档迁移类型
                 * @param movingType
                 */
                setMovingType(movingType:kd.bos.archive.enums.ArchiveConfigMovingTypeEnum):void;
                /**
                 * 获取是否启用标志
                 * @return
                 */
                getEnable():string;
                getStatus():string;
                /**
                 * 获取归档规则主键
                 * @return
                 */
                getId():long;
                getMasterId():long;
                /**
                 * 设置是否同步同库基础资料
                 * @param syncBaseData
                 */
                setSyncBaseData(syncBaseData:string):void;
                /**
                 * 设置是否启用
                 * @param enable
                 */
                setEnable(enable:string):void;
                /**
                 * 设置分区归档库主键
                 * @param groupId
                 */
                setGroupId(groupId:long):void;
                /**
                 * 获取归档规则备注
                 * @return
                 */
                getMark():string;
                setMasterId(masterId:long):void;
                /**
                 * 获取归档迁移类型
                 * @return
                 */
                getMovingType():kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                /**
                 * 设置归档规则条件描述
                 * @param conditionDesc
                 */
                setConditionDesc(conditionDesc:string):void;
                /**
                 * 设置可归档单据主键
                 * @param billSetId
                 */
                setBillSetId(billSetId:long):void;
                /**
                 * 获取规则条件类型
                 * @return
                 */
                getFilterType():kd.bos.archive.enums.ArchiveConfigFilterTypeEnum;
                /**
                 * 获取是否同步同库基础资料标志
                 * @return
                 */
                getSyncBaseData():string;
                /**
                 * 设置归档规则备注
                 * @param mark
                 */
                setMark(mark:string):void;
                /**
                 * 获取规则条件
                 * @return
                 */
                getCondition():string;
                /**
                 * 获取单据编码
                 * @return
                 */
                getEntityNumber():string;
                /**
                 * 获取单据名称
                 * @return
                 */
                getName():string;
                /**
                 * 设置单据名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 设置归档规则主键
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 设置规则条件
                 * @param condition
                 */
                setCondition(condition:string):void;
                /**
                 * 设置规则条件类型
                 * @param filterType
                 */
                setFilterType(filterType:kd.bos.archive.enums.ArchiveConfigFilterTypeEnum):void;
                /**
                 * 获取归档规则条件描述
                 * @return
                 */
                getConditionDesc():string;
                /**
                 * 获取单据编码
                 * @return
                 */
                getNumber():string;
                /**
                 * 获取分区归档库主键
                 * @return
                 */
                getGroupId():long;
                /**
                 * 获取可归档单据主键
                 * @return
                 */
                getBillSetId():long;
                /**
                 * 设置单据编码
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                setStatus(status:string):void;
                /**
                 * 设置单据编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
            }
            type ArchiveRule_T = ArchiveRule$;
            interface ArchiveRule extends ArchiveRule_T {
            }
            interface ScheduleResultInfo_S {
            }
            interface ScheduleResultInfo_C extends ScheduleResultInfo_S {
                new():ScheduleResultInfo;
            }
            interface ScheduleResultInfo$ {
                /**
                 * 获取任务列表
                 * @return
                 */
                getTaskResultInfoList():$.java.util.List;
                /**
                 * 获取调度id
                 * @return
                 */
                getScheduleId():long;
                /**
                 * 设置任务列表
                 * @param taskResultInfoList
                 */
                setTaskResultInfoList(taskResultInfoList:$.java.util.List):void;
                /**
                 * 设置调度id
                 * @param scheduleId
                 */
                setScheduleId(scheduleId:long):void;
            }
            type ScheduleResultInfo_T = ScheduleResultInfo$;
            interface ScheduleResultInfo extends ScheduleResultInfo_T {
            }
            interface ArchivePlan_S {
            }
            interface ArchivePlan_C extends ArchivePlan_S {
                /**
                 *  构造函数 归档的系统调度计划
                 *
                 * @param startTime      执行开始时间
                 * @param entTime        结束时间
                 * @param repeatModeEnum 重复模式
                 * @param period         重复周期
                 */
                new(startTime:Date,entTime:Date,repeatModeEnum:ArchiveRepeatModeEnum,period:number):ArchivePlan;
            }
            interface ArchivePlan$ {
                /**
                 * 获取重复间隔
                 * @return
                 */
                getPeriod():number;
                /**
                 * 获取执行结束时间
                 * @return
                 */
                getEndTime():Date;
                /**
                 * 获取执行开始时间
                 * @return
                 */
                getStartTime():Date;
                /**
                 * 获取重复模式
                 * @return
                 */
                getRepeatModeEnum():ArchiveRepeatModeEnum;
            }
            type ArchivePlan_T = ArchivePlan$;
            interface ArchivePlan extends ArchivePlan_T {
            }
        }
        namespace kd.bos.archive.api.factory{
            interface ArchiveApiFactory_S {
            }
            interface ArchiveApiFactory_C extends ArchiveApiFactory_S {
                new():ArchiveApiFactory;
            }
            interface ArchiveApiFactory$ {
            }
            type ArchiveApiFactory_T = ArchiveApiFactory$;
            interface ArchiveApiFactory extends ArchiveApiFactory_T {
            }
        }
        namespace kd.bos.archive.api.service{
            interface ArchiveRuleApi_S {
            }
            interface ArchiveRuleApi_C extends ArchiveRuleApi_S {
            }
            interface ArchiveRuleApi$ {
            }
            type ArchiveRuleApi_T = ArchiveRuleApi$;
            interface ArchiveRuleApi extends ArchiveRuleApi_T {
            }
            interface ArchiveScheduleApi_S {
            }
            interface ArchiveScheduleApi_C extends ArchiveScheduleApi_S {
            }
            interface ArchiveScheduleApi$ {
            }
            type ArchiveScheduleApi_T = ArchiveScheduleApi$;
            interface ArchiveScheduleApi extends ArchiveScheduleApi_T {
            }
            interface ArchiveMcApi_S {
            }
            interface ArchiveMcApi_C extends ArchiveMcApi_S {
            }
            interface ArchiveMcApi$ {
            }
            type ArchiveMcApi_T = ArchiveMcApi$;
            interface ArchiveMcApi extends ArchiveMcApi_T {
            }
            interface ArchiveResultApi_S {
            }
            interface ArchiveResultApi_C extends ArchiveResultApi_S {
            }
            interface ArchiveResultApi$ {
            }
            type ArchiveResultApi_T = ArchiveResultApi$;
            interface ArchiveResultApi extends ArchiveResultApi_T {
            }
            interface ArchiveRouteApi_S {
            }
            interface ArchiveRouteApi_C extends ArchiveRouteApi_S {
            }
            interface ArchiveRouteApi$ {
            }
            type ArchiveRouteApi_T = ArchiveRouteApi$;
            interface ArchiveRouteApi extends ArchiveRouteApi_T {
            }
            interface ArchiveDatabaseApi_S {
            }
            interface ArchiveDatabaseApi_C extends ArchiveDatabaseApi_S {
            }
            interface ArchiveDatabaseApi$ {
            }
            type ArchiveDatabaseApi_T = ArchiveDatabaseApi$;
            interface ArchiveDatabaseApi extends ArchiveDatabaseApi_T {
            }
        }
        namespace kd.bos.archive.enums{
            class ArchiveConfigFilterTypeEnum {
                static readonly BILL:kd.bos.archive.enums.ArchiveConfigFilterTypeEnum;
                static readonly ELASTICSEARCH:kd.bos.archive.enums.ArchiveConfigFilterTypeEnum;
                static readonly CUSTOM:kd.bos.archive.enums.ArchiveConfigFilterTypeEnum;
                static valueOf(arg0:string):kd.bos.archive.enums.ArchiveConfigFilterTypeEnum;
                /**
                 * 根据key返回枚举
                 * @param key
                 * @return
                 */
                static from(key:string):kd.bos.archive.enums.ArchiveConfigFilterTypeEnum;
                static values():kd.bos.archive.enums.ArchiveConfigFilterTypeEnum[];
                /**
                 * 获取枚举value
                 * @return
                 */
                getValue():string;
                /**
                 * 获取枚举key
                 * @return
                 */
                getKey():string;
            }
            class ArchiveConfigMovingTypeEnum {
                static readonly CLEAR:kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                static readonly ARCHIVE:kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                static readonly SYNC:kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                static valueOf(arg0:string):kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                /**
                 * 根据key得到枚举类
                 * @param key
                 * @return
                 */
                static from(key:string):kd.bos.archive.enums.ArchiveConfigMovingTypeEnum;
                static values():kd.bos.archive.enums.ArchiveConfigMovingTypeEnum[];
                /**
                 * 获取枚举key
                 * @return
                 */
                getKey():string;
                /**
                 * 获取枚举value
                 * @return
                 */
                getValue():string;
            }
            class ArchiveConfigConnectionTypeEnum {
                static readonly ELASTICSEARCH:kd.bos.archive.enums.ArchiveConfigConnectionTypeEnum;
                static readonly BILL:kd.bos.archive.enums.ArchiveConfigConnectionTypeEnum;
                static readonly CUSTOM:kd.bos.archive.enums.ArchiveConfigConnectionTypeEnum;
                static valueOf(arg0:string):kd.bos.archive.enums.ArchiveConfigConnectionTypeEnum;
                static values():kd.bos.archive.enums.ArchiveConfigConnectionTypeEnum[];
                /**
                 * 根据key返回枚举
                 * @param key
                 * @return
                 */
                static from(key:string):kd.bos.archive.enums.ArchiveConfigConnectionTypeEnum;
                /**
                 * 获取枚举key
                 * @return
                 */
                getKey():string;
                /**
                 * 获取枚举value
                 * @return
                 */
                getValue():string;
            }
        }
        namespace kd.bos.atomicincr{
            interface AtomicIncrement_S {
                atomicIncrService:AtomicIncrService;
                /**
                 * 获取自增服务实例
                 * @param module 模块
                 * @return 自增服务实例
                 */
                getInstance(module_arg:string):AtomicIncrement;
            }
            interface AtomicIncrement_C extends AtomicIncrement_S {
                new():AtomicIncrement;
            }
            interface AtomicIncrement$ {
                /**
                 * 获取自增key的当前值
                 * @param key 自增key
                 * @return key的当前值
                 */
                get(key:string):long;
                /**
                 * 删除key，会从数据库中删除key，无法恢复。
                 * @param key 自增key
                 */
                del(key:string):void;
                /**
                 * 自增，步长step
                 * @param key 自增key
                 * @param step 自增步长
                 * @return 自增后的值
                 */
                incr(key:string,step:number):long;
                /**
                 * 判断key是否存在
                 * @param key 自增key
                 * @return 若存在返回true，否则返回false
                 */
                exist(key:string):boolean;
                /**
                 * 自减，指定步长
                 * @param key 自增key
                 * @param step 步长，大于0
                 * @return 自减后的值
                 */
                decr(key:string,step:number):long;
                /**
                 * 批量获取key的值
                 * @param keys key集合
                 * @return key-value map结果集
                 */
                batchGet(keys:$.java.util.Set):$.java.util.Map;
                /**
                 * 自增，步长1
                 * @param key 自增key
                 * @return 自增后的值
                 */
                incr(key:string):long;
                /**
                 * set if not exist
                 *
                 * @param key       自增key
                 * @param initValue 初始值
                 */
                setnx(key:string,initValue:long):void;
                /**
                 * 自减，步长1
                 * @param key 自增key
                 * @return 自减后的值
                 */
                decr(key:string):long;
                /**
                 * 如果key的当前值小于入参value，则将当前key值设置为value
                 * @param key 自增key
                 * @param value 设置key的结果
                 * @return 是否设置成功
                 */
                compareAndSet(key:string,value:long):boolean;
            }
            type AtomicIncrement_T = AtomicIncrement$;
            interface AtomicIncrement extends AtomicIncrement_T {
            }
            interface AtomicIncrementModule_S {
            }
            type AtomicIncrementModule_ST = $.kd.sdk.module.Module & AtomicIncrementModule_S;
            interface AtomicIncrementModule_C extends AtomicIncrementModule_ST {
                new():AtomicIncrementModule;
            }
            interface AtomicIncrementModule$ {
            }
            type AtomicIncrementModule_T = $.kd.sdk.module.Module & AtomicIncrementModule$;
            interface AtomicIncrementModule extends AtomicIncrementModule_T {
            }
            interface AtomicIncrService_S {
            }
            interface AtomicIncrService_C extends AtomicIncrService_S {
            }
            interface AtomicIncrService$ {
                get(key:string):long;
                set(key:string,value:long):void;
                insert(key:string,initValue:long):void;
                batchGet(keys:$.java.util.Set):$.java.util.Map;
                exist(key:string):boolean;
                incr(key:string,step:long):long;
                del(key:string):void;
            }
            type AtomicIncrService_T = AtomicIncrService$;
            interface AtomicIncrService extends AtomicIncrService_T {
            }
        }
        namespace kd.bos.audit{
            interface Auditable_S {
            }
            type Auditable_ST = $.java.lang.AutoCloseable & Auditable_S;
            interface Auditable_C extends Auditable_ST {
            }
            interface Auditable$ {
            }
            type Auditable_T = $.java.lang.AutoCloseable & Auditable$;
            interface Auditable extends Auditable_T {
            }
            interface Audit_S {
                readonly profile_audit_use_inner_config_key:string;
                readonly profile_audit_config_detail_key:string;
                readonly profile_audit_config_startup_delay_key:string;
                readonly profile_audit_config_showmessage_instead_exception_key:string;
                readonly profile_audit_config_items_key:string;
                readonly tracer_detail_name:string;
                readonly profile_audit_config_log_enable_key:string;
                readonly profile_audit_config_enable_key:string;
                readonly profile_audit_config_logmaxsize_key:string;
                readonly tracer_name:string;
                readonly tracer_summary_name:string;
                readonly profile_audit_config_logcost_key:string;
                getAudit_log_key():string;
                finallyAudit():void;
                setMaxParamsDataSize(maxParamsDataSize:number):void;
                getShowMessage():string;
                isEnable(auditNames:string):boolean;
                auditDirect(names:string,times:number,costs:long,maxCost:long,...params:any[]):boolean;
                getLogMaxSize():number;
                isEnable():boolean;
                /**
                 * @param names  多个审计名称用,分隔
                 * @param params 记录参数
                 */
                audit(names:string,...params:any[]):Auditable;
                setLogMaxSize(logMaxSize:number):void;
                getMaxParamsDataSize():number;
            }
            type Audit_ST = $.java.io.Serializable & Audit_S;
            interface Audit_C extends Audit_ST {
                new(traceId:string):Audit;
            }
            interface Audit$ {
                setServiceName(serviceName:string):void;
                getAuditLogContext():AuditLogContext;
                get(name:string):CostItem;
                keys():$.java.util.Set;
                getTraceId():string;
                getServiceName():string;
            }
            type Audit_T = $.java.io.Serializable & Audit$;
            interface Audit extends Audit_T {
            }
            interface AuditLogContext_S {
            }
            interface AuditLogContext_C extends AuditLogContext_S {
            }
            interface AuditLogContext$ {
                getVersion():string;
                getTraceId():string;
                getAccountName():string;
            }
            type AuditLogContext_T = AuditLogContext$;
            interface AuditLogContext extends AuditLogContext_T {
            }
            interface CostItem_S {
                /**
                 * @param s
                 *            格式：name=times,costs,maxCost,warnningImmediately,throwException
                 */
                of(s:string):CostItem;
            }
            type CostItem_ST = $.java.io.Serializable & CostItem_S;
            interface CostItem_C extends CostItem_ST {
                new(name:string,ct:CostThreshold):CostItem;
            }
            interface CostItem$ {
                toSimpleString():string;
                getMaxCost():long;
                getCostThreshold():CostThreshold;
                getTimes():number;
                getCosts():long;
                getName():string;
                getDetail():string;
            }
            type CostItem_T = $.java.io.Serializable & CostItem$;
            interface CostItem extends CostItem_T {
            }
            interface CostThreshold_S {
            }
            type CostThreshold_ST = $.java.io.Serializable & CostThreshold_S;
            interface CostThreshold_C extends CostThreshold_ST {
                new():CostThreshold;
                new(times:number,costs:long,maxCost:long,warnningImmediately:boolean,throwException:boolean):CostThreshold;
            }
            interface CostThreshold$ {
                setMaxCost(maxCost:long):void;
                getCosts():long;
                setThrowException(throwException:boolean):void;
                isThrowException():boolean;
                withTimes():boolean;
                setTimes(times:number):void;
                setWarnningImmediately(warnningImmediately:boolean):void;
                withCosts():boolean;
                getTimes():number;
                isWarnningImmediately():boolean;
                withMaxCost():boolean;
                setCosts(costs:long):void;
                getMaxCost():long;
            }
            type CostThreshold_T = $.java.io.Serializable & CostThreshold$;
            interface CostThreshold extends CostThreshold_T {
            }
        }
        namespace kd.bos.base{
            interface BaseModule_S {
            }
            type BaseModule_ST = $.kd.sdk.module.Module & BaseModule_S;
            interface BaseModule_C extends BaseModule_ST {
                new():BaseModule;
            }
            interface BaseModule$ {
            }
            type BaseModule_T = $.kd.sdk.module.Module & BaseModule$;
            interface BaseModule extends BaseModule_T {
            }
            interface MobileBaseShowParameter_S {
            }
            type MobileBaseShowParameter_ST = MobileBaseShowParameter_S & kd.bos.bill.MobileBillShowParameter_S;
            interface MobileBaseShowParameter_C extends MobileBaseShowParameter_ST {
                new():MobileBaseShowParameter;
            }
            interface MobileBaseShowParameter$ {
            }
            type MobileBaseShowParameter_T = MobileBaseShowParameter$ & kd.bos.bill.MobileBillShowParameter;
            interface MobileBaseShowParameter extends MobileBaseShowParameter_T {
            }
            interface BasedataHelper_S {
                /**
                 * 创建插件(基础资料个性化控制插件)
                 *
                 * @param plugins
                 *            脚本插件类
                 * @return 创建的插件列表
                 */
                createPlugin(plugins:$.java.util.List):$.java.util.List;
            }
            interface BasedataHelper_C extends BasedataHelper_S {
                new():BasedataHelper;
            }
            interface BasedataHelper$ {
            }
            type BasedataHelper_T = BasedataHelper$;
            interface BasedataHelper extends BasedataHelper_T {
            }
            interface IBasedataController_S {
            }
            type IBasedataController_ST = $.java.io.Serializable & IBasedataController_S;
            interface IBasedataController_C extends IBasedataController_ST {
            }
            interface IBasedataController$ {
                /**
                 * 模糊搜索前触发，插件可添加模糊搜索字段
                 * @param addFuzzySearchEvent
                 */
                addFuzzySearchField?(addFuzzySearchEvent:kd.bos.form.field.events.AddFuzzySearchEvent):void;
                /**
                 * 构建基础资料内置过滤条件;
                 * @return
                 */
                buildBaseDataCoreFilter(event:kd.bos.form.field.events.BaseDataCustomControllerEvent):void;
            }
            type IBasedataController_T = $.java.io.Serializable & IBasedataController$;
            interface IBasedataController extends IBasedataController_T {
            }
            interface BaseShowParameter_S {
            }
            type BaseShowParameter_ST = BaseShowParameter_S & kd.bos.bill.BillShowParameter_S;
            interface BaseShowParameter_C extends BaseShowParameter_ST {
                new():BaseShowParameter;
            }
            interface BaseShowParameter$ {
                /**
                 * 设置使用组织集合
                 *
                 * @param useOrgIds 使用组织集合
                 */
                setUseOrgIds(useOrgIds:$.java.util.List):void;
                /**
                 * 返回使用组织集合
                 *
                 * @return 使用组织集合
                 */
                getUseOrgIds():$.java.util.List;
                /**
                 * 设置使用组织
                 *
                 * @param useOrgId 使用组织
                 */
                setUseOrgId(useOrgId:long):void;
                /**
                 * 返回使用组织
                 *
                 * @return 使用组织
                 */
                getUseOrgId():long;
            }
            type BaseShowParameter_T = BaseShowParameter$ & kd.bos.bill.BillShowParameter;
            interface BaseShowParameter extends BaseShowParameter_T {
            }
            interface AbstractBasePlugIn_S {
            }
            type AbstractBasePlugIn_ST = AbstractBasePlugIn_S & kd.bos.bill.AbstractBillPlugIn_S;
            interface AbstractBasePlugIn_C extends AbstractBasePlugIn_ST {
                new():AbstractBasePlugIn;
            }
            interface AbstractBasePlugIn$ {
            }
            type AbstractBasePlugIn_T = AbstractBasePlugIn$ & kd.bos.bill.AbstractBillPlugIn;
            interface AbstractBasePlugIn extends AbstractBasePlugIn_T {
            }
            interface AbstractMobBasePlugIn_S {
            }
            type AbstractMobBasePlugIn_ST = AbstractMobBasePlugIn_S & kd.bos.bill.AbstractMobBillPlugIn_S;
            interface AbstractMobBasePlugIn_C extends AbstractMobBasePlugIn_ST {
                new():AbstractMobBasePlugIn;
            }
            interface AbstractMobBasePlugIn$ {
            }
            type AbstractMobBasePlugIn_T = AbstractMobBasePlugIn$ & kd.bos.bill.AbstractMobBillPlugIn;
            interface AbstractMobBasePlugIn extends AbstractMobBasePlugIn_T {
            }
            interface AbstractBasedataController_S {
            }
            type AbstractBasedataController_ST = $.kd.bos.base.IBasedataController & AbstractBasedataController_S;
            interface AbstractBasedataController_C extends AbstractBasedataController_ST {
                new():AbstractBasedataController;
            }
            interface AbstractBasedataController$ {
            }
            type AbstractBasedataController_T = $.kd.bos.base.IBasedataController & AbstractBasedataController$;
            interface AbstractBasedataController extends AbstractBasedataController_T {
            }
        }
        namespace kd.bos.base.utils{
            interface IBaseCallbackHandler_S {
            }
            interface IBaseCallbackHandler_C extends IBaseCallbackHandler_S {
            }
            interface IBaseCallbackHandler$ {
                /**
                 * 回调处理
                 *
                 * @param params
                 * @return
                 */
                handle(...params:any[]):any;
            }
            type IBaseCallbackHandler_T = IBaseCallbackHandler$;
            interface IBaseCallbackHandler extends IBaseCallbackHandler_T {
            }
            interface IBaseCallback_S {
            }
            interface IBaseCallback_C extends IBaseCallback_S {
            }
            interface IBaseCallback$ {
                handle():void;
            }
            type IBaseCallback_T = IBaseCallback$;
            interface IBaseCallback extends IBaseCallback_T {
            }
        }
        namespace kd.bos.base.utils.msg{
            interface IBaseMessage_S {
                readonly M00035:string;
                readonly M00119:string;
                readonly M00202:string;
                readonly M00027:string;
                readonly M00042:string;
                readonly M00166:string;
                readonly M00060:string;
                readonly M00058:string;
                readonly M00033:string;
                readonly M00005:string;
                readonly M00031:string;
                readonly M00242:string;
                readonly M00003:string;
                readonly M00126:string;
                readonly M00165:string;
                readonly M00238:string;
                readonly M00071:string;
                readonly M00206:string;
                readonly M00122:string;
                readonly M00168:string;
                readonly M00084:string;
                readonly M00203:string;
                readonly M00079:string;
                readonly M00068:string;
                readonly M00080:string;
                readonly M00161:string;
                readonly M00103:string;
                readonly M00069:string;
                readonly M00181:string;
                readonly M00191:string;
                readonly M00061:string;
                readonly M00236:string;
                readonly M00045:string;
                readonly M00115:string;
                readonly M00159:string;
                readonly M00077:string;
                readonly M00067:string;
                readonly M00072:string;
                readonly M00100:string;
                readonly M00190:string;
                readonly M00074:string;
                readonly M00151:string;
                readonly M00188:string;
                readonly M00048:string;
                readonly M00207:string;
                readonly M00116:string;
                readonly M00076:string;
                readonly M00087:string;
                readonly M00104:string;
                readonly M00167:string;
                readonly M00018:string;
                readonly M00098:string;
                readonly M00230:string;
                readonly M00105:string;
                readonly M00108:string;
                readonly M00197:string;
                readonly M00143:string;
                readonly M00083:string;
                readonly M00036:string;
                readonly M00123:string;
                readonly M00094:string;
                readonly M00196:string;
                readonly M00211:string;
                readonly M00245:string;
                readonly M00054:string;
                readonly M00004:string;
                readonly M00224:string;
                readonly M00220:string;
                readonly M00186:string;
                readonly M00195:string;
                readonly M00021:string;
                readonly M00023:string;
                readonly M00142:string;
                readonly M00145:string;
                readonly M00026:string;
                readonly M00046:string;
                readonly M00028:string;
                readonly M00120:string;
                readonly M00204:string;
                readonly M00007:string;
                readonly M00038:string;
                readonly M00185:string;
                readonly M00194:string;
                readonly M00039:string;
                readonly M00044:string;
                readonly M00153:string;
                readonly M00160:string;
                readonly M00056:string;
                readonly M00075:string;
                readonly M00096:string;
                readonly M00051:string;
                readonly M00127:string;
                readonly M00200:string;
                readonly M00124:string;
                readonly M00131:string;
                readonly M00179:string;
                readonly M00091:string;
                readonly M00057:string;
                readonly M00169:string;
                readonly M00020:string;
                readonly M00243:string;
                readonly M00173:string;
                readonly M00140:string;
                readonly M00192:string;
                readonly M00201:string;
                readonly M00183:string;
                readonly M00218:string;
                readonly M00006:string;
                readonly M00102:string;
                readonly M00154:string;
                readonly M00014:string;
                readonly M00059:string;
                readonly M00177:string;
                readonly M00250:string;
                readonly M00022:string;
                readonly M00106:string;
                readonly M00112:string;
                readonly M00070:string;
                readonly M00086:string;
                readonly M00125:string;
                readonly M00156:string;
                readonly M00138:string;
                readonly M00148:string;
                readonly M00174:string;
                readonly M00016:string;
                readonly M00198:string;
                readonly M00129:string;
                readonly M00170:string;
                readonly M00065:string;
                readonly M00163:string;
                readonly M00172:string;
                readonly M00011:string;
                readonly M00062:string;
                readonly M00134:string;
                readonly M00099:string;
                readonly M00118:string;
                readonly M00199:string;
                readonly M00237:string;
                readonly M00032:string;
                readonly M00225:string;
                readonly M00110:string;
                readonly M00136:string;
                readonly M00241:string;
                readonly M00141:string;
                readonly M00249:string;
                readonly M00101:string;
                readonly M00029:string;
                readonly M00208:string;
                readonly M00017:string;
                readonly M00082:string;
                readonly M00152:string;
                readonly M00095:string;
                readonly M00214:string;
                readonly M00229:string;
                readonly M00205:string;
                readonly M00025:string;
                readonly M00053:string;
                readonly M00064:string;
                readonly M00210:string;
                readonly M00233:string;
                readonly M00135:string;
                readonly M00222:string;
                readonly M00227:string;
                readonly M00030:string;
                readonly M00217:string;
                readonly M00092:string;
                readonly M00002:string;
                readonly M00240:string;
                readonly M00012:string;
                readonly M00043:string;
                readonly M00144:string;
                readonly M00213:string;
                readonly M00024:string;
                readonly M00187:string;
                readonly M00063:string;
                readonly M00178:string;
                readonly M00219:string;
                readonly M00216:string;
                readonly M00090:string;
                readonly M00209:string;
                readonly M00001:string;
                readonly M00009:string;
                readonly M00246:string;
                readonly M00113:string;
                readonly M00231:string;
                readonly M00235:string;
                readonly M00162:string;
                readonly M00010:string;
                readonly M00019:string;
                readonly M00037:string;
                readonly M00085:string;
                readonly MSG_TOTAL:number;
                readonly M00171:string;
                readonly M00158:string;
                readonly M00157:string;
                readonly M00093:string;
                readonly M00109:string;
                readonly M00121:string;
                readonly M00176:string;
                readonly M00132:string;
                readonly M00015:string;
                readonly M00040:string;
                readonly M00133:string;
                readonly M00008:string;
                readonly M00244:string;
                readonly M00078:string;
                readonly M00137:string;
                readonly M00034:string;
                readonly M00041:string;
                readonly M00149:string;
                readonly M00228:string;
                readonly M00081:string;
                readonly M00013:string;
                readonly M00164:string;
                readonly M00089:string;
                readonly M00130:string;
                readonly M00052:string;
                readonly M00097:string;
                readonly M00114:string;
                readonly M00147:string;
                readonly M00155:string;
                readonly M00223:string;
                readonly M00055:string;
                readonly M00066:string;
                readonly M00239:string;
                readonly M00050:string;
                readonly M00232:string;
                readonly M00234:string;
                readonly M00248:string;
                readonly M00128:string;
                readonly M00175:string;
                readonly M00150:string;
                readonly M00049:string;
                readonly M00215:string;
                readonly M00146:string;
                readonly M00184:string;
                readonly M00226:string;
                readonly M00180:string;
                readonly M00117:string;
                readonly M00182:string;
                readonly M00189:string;
                readonly M00107:string;
                readonly M00088:string;
                readonly M00247:string;
                readonly M00139:string;
                readonly M00193:string;
                readonly M00047:string;
                readonly M00221:string;
                readonly M00212:string;
                readonly M00111:string;
                readonly M00073:string;
            }
            interface IBaseMessage_C extends IBaseMessage_S {
            }
            interface IBaseMessage$ {
                /**
                 * 获取多语言处理类
                 *
                 * @return
                 */
                getMultiLangEnumBridge?():MultiLangEnumBridge;
            }
            type IBaseMessage_T = IBaseMessage$;
            interface IBaseMessage extends IBaseMessage_T {
            }
            interface BaseMessageUtils_S {
                /**
                 * 获取提示语信息
                 *
                 * @param baseMessage
                 * @param code
                 * @return
                 */
                getMessage(baseMessage:IBaseMessage,code:string):string;
                /**
                 * 获取提示语信息
                 *
                 * @param messageMap
                 * @param code
                 * @param fieldObj
                 * @param params
                 * @return
                 */
                getMessageWithObj(messageMap:$.java.util.Map,code:string,fieldObj:string,...params:any[]):string;
                /**
                 * 获取提示语信息
                 *
                 * @param baseMessage
                 * @param code
                 * @param params
                 * @return
                 */
                getMessage(baseMessage:IBaseMessage,code:string,...params:any[]):string;
                /**
                 * 显示加载提示
                 *
                 * @param view
                 * @param handler
                 */
                showLoading(view:$.kd.bos.form.IFormView,handler:IBaseCallback):void;
                /**
                 * 获取提示语信息
                 *
                 * @param messageMap
                 * @param code
                 * @param params
                 * @return
                 */
                getMessage(messageMap:$.java.util.Map,code:string,...params:any[]):string;
                /**
                 * 获取提示语信息
                 *
                 * @param messageMap
                 * @param code
                 * @return
                 */
                getMessage(messageMap:$.java.util.Map,code:string):string;
                /**
                 * 获取提示语信息
                 *
                 * @param baseMessage
                 * @param code
                 * @param fieldObj
                 * @param params
                 * @return
                 */
                getMessageWithObj(baseMessage:IBaseMessage,code:string,fieldObj:string,...params:any[]):string;
                /**
                 * 显示加载提示
                 *
                 * @param view
                 * @param message
                 * @param handler
                 */
                showLoading(view:$.kd.bos.form.IFormView,message:string,handler:IBaseCallback):void;
            }
            interface BaseMessageUtils_C extends BaseMessageUtils_S {
                new():BaseMessageUtils;
            }
            interface BaseMessageUtils$ {
            }
            type BaseMessageUtils_T = BaseMessageUtils$;
            interface BaseMessageUtils extends BaseMessageUtils_T {
            }
            interface MultiLangEnumBridge_S {
            }
            interface MultiLangEnumBridge_C extends MultiLangEnumBridge_S {
                new(description:string,resourceId:string,systemType:string):MultiLangEnumBridge;
            }
            interface MultiLangEnumBridge$ {
                /**
                 * 翻译多语言
                 *
                 * @return
                 */
                loadKDString():string;
                /**
                 * 翻译多语言
                 *
                 * @param params
                 * @return
                 */
                loadKDString(...params:any[]):string;
            }
            type MultiLangEnumBridge_T = MultiLangEnumBridge$;
            interface MultiLangEnumBridge extends MultiLangEnumBridge_T {
            }
        }
        namespace kd.bos.basedata{
            interface BaseDataModule_S {
            }
            type BaseDataModule_ST = $.kd.sdk.module.Module & BaseDataModule_S;
            interface BaseDataModule_C extends BaseDataModule_ST {
                new():BaseDataModule;
            }
            interface BaseDataModule$ {
            }
            type BaseDataModule_T = $.kd.sdk.module.Module & BaseDataModule$;
            interface BaseDataModule extends BaseDataModule_T {
            }
        }
        namespace kd.bos.basedata.cache{
            interface BaseDataCtrlCacheMrg_S {
            }
            interface BaseDataCtrlCacheMrg_C extends BaseDataCtrlCacheMrg_S {
                new():BaseDataCtrlCacheMrg;
            }
            interface BaseDataCtrlCacheMrg$ {
            }
            type BaseDataCtrlCacheMrg_T = BaseDataCtrlCacheMrg$;
            interface BaseDataCtrlCacheMrg extends BaseDataCtrlCacheMrg_T {
            }
            interface BaseDataCtrlCache_S {
            }
            interface BaseDataCtrlCache_C extends BaseDataCtrlCache_S {
                new():BaseDataCtrlCache;
            }
            interface BaseDataCtrlCache$ {
            }
            type BaseDataCtrlCache_T = BaseDataCtrlCache$;
            interface BaseDataCtrlCache extends BaseDataCtrlCache_T {
            }
        }
        namespace kd.bos.basedata.service{
            interface BaseDataServiceImpl_S {
                readonly BD_ACCOUNTINGSYS:string;
                readonly DATA_STATUS_C:string;
                readonly EXRATE_CONVERT_MODE_DIRECT:string;
                readonly CTRLSTRATEGY_OU_FREE_ASSIGN:string;
                readonly CTRLSTRATEGY_CU_SHARE:string;
                readonly BOS_USER_ENTITYID:string;
                readonly ENTITYID_EXCHANGERATE:string;
                readonly DEFAULTCTRLSTRATEGY_ENTITYID:string;
                readonly ORGBIZ_ENTITYID:string;
                readonly CTRLSTRATEGY_OU_ASSIGN:string;
                readonly CTRLSTRATEGY_GLOBAL_SHARE:string;
                readonly BD_ACCOUNTINGSYSVIEWSCH:string;
                readonly ORG_ENTITYID:string;
                readonly BD_ACCOUNTINGSYS_BASE:string;
                readonly CTRLTYPE_SHARE:string;
                readonly BASEDATAUSERANGESUFFIX:string;
                readonly DATA_STATUS:string;
                readonly MANAGESTRATEGY_CU:string;
                readonly BASEDATAEXCSUFFIX:string;
                readonly ENTITYID_ENTITYMETA:string;
                readonly ENTITYID_BASEDATAVIEW:string;
                readonly DATA_STATUS_A:string;
                readonly ENTITYID_ENTITYOPORGVIEW:string;
                readonly ENTITYID_ORG_STRUCTURE:string;
                readonly CTRLTYPE_ASSIGN:string;
                readonly CTRLSTRATEGY_CU_FREE_ASSIGN:string;
                readonly CTRLSTRATEGY_PRIVATE:string;
                readonly DATA_STATUS_B:string;
                readonly EXRATE_CONVERT_MODE_INDIRECT:string;
                readonly BDCTRLSTRTGY_ENTITYID:string;
                readonly ENTITYID_WORKCALENDAR:string;
                readonly MANAGESTRATEGY_CREATEORG:string;
                readonly CTRLSTRATEGY_CU_ASSIGN:string;
                readonly BASEDATAUSEREGSUFFIX:string;
                /**
                 * 根据核算体系id 和 核算主体 获取记账范围
                 * @param acctSysId
                 * @param acctorgs
                 * @return
                 */
                getAccountingSysBizOrg(acctSysId:long,acctorgs:long[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取受控辅助资料过滤条件
                 * @param dataTypeId  受控辅助资料类型id
                 * @return
                 */
                getBdCtrlAssistDataFilter(dataTypeId:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据核算主体获取基本会计政策
                 * @param orgIds
                 * @return
                 */
                getAccountingSysBaseInfo(orgIds:long[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据核算体系id 和 记账范围 获取核算主体
                 * @param acctSysId
                 * @param bizacctorgs
                 * @return
                 */
                getAccountingSysAcctOrg(acctSysId:long,bizacctorgs:long[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据汇率表，源币，目标币和日期得到直接汇率
                 * 1.当希望得到最新汇率时，则设date为null;
                 * 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
                 *
                 * @param exchangeTableID  汇率表ID
                 * @param sourceCurrencyID 源货币ID
                 * @param targetCurrencyID 目标货币ID
                 * @param date 日期 格式yyyy-MM-dd
                 * @return exchangeRate 汇率
                 */
                getExchangeRate(exchangeTableID:long,sourceCurrencyID:long,targetCurrencyID:long,date:Date):$.java.math.BigDecimal;
                /**
                 * 根据核算体系id获取视图
                 * @param acctSysId
                 * @return
                 */
                getAccountingSysView(acctSysId:long):$.java.util.Map;
                /**
                 * 描述：根据实体编码获取配置的全文索引，未配置则返回null。
                 *
                 * @param entityNumber 实体编码
                 * @return fullTextIndex 对应实体配置的全文索引，未配置则返回null;
                 */
                getFullTextIndex(entityNumber:string):string;
                /**
                 * 描述：保存版本化数据，处理使用范围表数据。
                 * @param dataInfo 基础数据
                 * @return true
                 */
                saveHistoryInfo(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                /**
                 * 根据汇率表，源币，目标币和日期得到汇率
                 * 1.当希望得到最新汇率时，则设date为null;
                 * 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
                 *
                 * @param exchangeTableID  汇率表ID
                 * @param sourceCurrencyID 源货币ID
                 * @param targetCurrencyID 目标货币ID
                 * @param convertMode 换算方式 1:直接汇率;2:间接汇率
                 * @param date 日期 格式yyyy-MM-dd
                 * @return exchangeRate 汇率
                 */
                getExchangeRate(exchangeTableID:long,sourceCurrencyID:long,targetCurrencyID:long,convertMode:string,date:Date):$.java.math.BigDecimal;
                /**
                 * 是否分配的数据
                 */
                isAssignData(number_arg:string,primaryKeyValue:any,useOrgId:long):boolean;
                /**
                 * 描述：检查实体的属性是否配置全文索引。
                 *
                 * @param entityNumber 实体编码
                 * @param propertyNumber
                 * @return isDBFulltextProperty 检查属性在实体中已经配置全文索引则返回true,否则返回false;
                 */
                isDBFulltext(entityNumber:string,propertyNumber:string):boolean;
                /**
                 * 描述：根据业务组织取本位币和汇率表
                 * 1、先根据单据返回的主业务组织获取实体核算组织（已提供接口）；
                 * 2、再从核算组织本位币设置中获取本位币或汇率表；
                 * 3、获取逻辑：优先获取核算组织本身的本位币或汇率表，若没有则往上找上级，直到找到为止；
                 *
                 * @param accountOrgID 实体核算组织ID
                 */
                getBaseAccountingInfo(accountOrgID:long):$.java.util.Map;
                /**
                 * 获取受控辅助资料过滤条件
                 * @param orgID 组织机构ID
                 * @return QFilter 过滤条件。类似于QFilter("id", "in", baseDataIdsSet)
                 */
                getBdCtrlAssistantDataFilter(orgID:long):$.kd.bos.orm.query.QFilter;
            }
            type BaseDataServiceImpl_ST = $.kd.bos.service.IBaseDataService & AbstractBaseDataService_S & BaseDataServiceImpl_S;
            interface BaseDataServiceImpl_C extends BaseDataServiceImpl_ST {
                new():BaseDataServiceImpl;
            }
            interface BaseDataServiceImpl$ {
                /**
                 * 描述：批量判断基础数据是否被分配过。
                 * @param entityNumber 实体标识
                 * @param dataIDs 基础数据ID列表
                 * @return List<Long> 有分配过的数据的列表
                 */
                checkHasAssignData(entityNumber:string,dataIDs:$.java.util.List):$.java.util.List;
                /**
                 * 描述：保存基础数据修改化排除表
                 * @param entityID 基础资料实体ID
                 * @param dataIds 基础数据ID
                 * @param createOrgID 创建组织ID
                 * @param orgIds 组织ID集合
                 */
                saveBaseDataExc(entityID:string,dataIds:$.java.util.List,createOrgID:long,orgIds:$.java.util.List):void;
                /**
                 * 获取基础资料创建组织过滤
                 * @param entityID 实体标识
                 * @param orgID 组织机构ID
                 * @return QFilter 过滤条件。类似于QFilter(CREATEORG, "in", baseDataCreaterOrgSet)
                 */
                getBaseDataCreaterOrgFilter(entityID:string,orgID:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 描述：获取基础数据控制插件
                 * @param entityType 实体标识
                 * @return IBaseDataCtrlPlugin 基础数据控制插件
                 */
                getBaseDataCtrlPlugin(entityType:string):$.kd.bos.servicehelper.basedata.IBaseDataCtrlPlugin;
                /**
                 * 描述：获取指定组织的工作日历。
                 * @param orgId 组织机构
                 * @return DynamicObject 工作日历
                 */
                getWorkCalendar(orgId:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：获取指定组织,开始日期，结束日期的工作日历。
                 * @param orgId 组织机构
                 * @param startDate 开始日期
                 * @param endDate 结束日期
                 * @return DynamicObject 工作日历
                 */
                getWorkCalendar(orgId:long,startDate:Date,endDate:Date):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取已个性化分配未插入个性化排除表的异常数据
                 * @param entityID 受控基础资料类型
                 * @param uesOrgIDs 使用组织
                 * @return Object[3]:useorgid,dataid,createorgid(使用组织ID，数据ID,创建组织ID)
                 */
                getUnInsertExcHistory(entityID:string,uesOrgIDs:$.java.util.List):$.java.util.List;
                /**
                 * 用于树形列表更新节点
                 *
                 * @param currentId
                 *            当前节点id
                 * @param newParentId
                 *            新的父节点id
                 * @param prop
                 *            分组属性
                 * @return 操作结果
                 */
                treeNodeUpdate(currentId:any,newParentId:any,prop:$.kd.bos.entity.property.GroupProp):boolean;
                /**
                 * 描述：批量处理禁用基础资料时相关处理。
                 * @param entityID 实体标识
                 * @param orgIds 禁用基础资料组织范围ID集合
                 * @param masterIds 待禁用的基础数据主ID集合
                 */
                handleBatchDisable(entityID:string,orgIds:$.java.util.List,masterIds:$.java.util.List):void;
                /**
                 * 补个性化排除表数据
                 */
                fixExcTable(entityID:string,orgIDs:$.java.util.List):void;
                /**
                 * 用于树形列表删除分组节点
                 *
                 * @param ids
                 *            批量节点id
                 * @param prop
                 *            分组属性
                 * @return 批量操作结果
                 */
                deleteFormGroup(ids:any[],prop:$.kd.bos.entity.property.GroupProp):$.kd.bos.entity.operate.IOperationResult;
                /**
                 * 描述：批量个性化后续处理，如维护相关的使用登记表和个性化排除表记录。
                 */
                clearBaseDataFilterCache(entityType:string,orgID:long):void;
            }
            type BaseDataServiceImpl_T = $.kd.bos.service.IBaseDataService & AbstractBaseDataService & BaseDataServiceImpl$;
            interface BaseDataServiceImpl extends BaseDataServiceImpl_T {
            }
            interface AbstractBaseDataService_S {
                readonly BASEDATAEXCSUFFIX:string;
            }
            interface AbstractBaseDataService_C extends AbstractBaseDataService_S {
                new():AbstractBaseDataService;
            }
            interface AbstractBaseDataService$ {
                /**
                 * 获取基础资料创建组织id
                 * @param baseData 基础资料
                 * @param defaultValue 默认值
                 * @return 创建组织id
                 */
                getBaseDataCreateOrgId(baseData:$.kd.bos.dataentity.entity.DynamicObject,defaultValue:long):long;
                /**
                 * 保存私有数据使用范围
                 */
                savePrivateBaseDataUseRange(entityID:string,privateParams:$.java.util.List):void;
                /**
                 * 描述：批量保存基础数据使用范围
                 * @param dataArr 基础数据
                 * @param useOrgList 使用组织ID集合
                 */
                saveBaseDataUseRange(dataArr:$.kd.bos.dataentity.entity.DynamicObject[],useOrgList:$.java.util.List):void;
                /**
                 * 描述：加入管理组织的直接下级组织（不含下级管控单元）
                 * @param orgViewId 组织视图ID
                 * @param parentOrgId 组织ID
                 * @return List 下级组织ID列表
                 */
                getDirectSubordinateOrgList(orgViewId:long,parentOrgId:long):$.java.util.List;
                /**
                 * 获取基础资料对应视图中，离当前组织最近的上级管控单元组织
                 */
                getSupCtrlUintOrg(entityID:string,orgId:long):long;
                /**
                 * 获取基础资料创建组织id
                 * @param baseData 基础资料
                 * @return 创建组织id
                 */
                getBaseDataCreateOrgId(baseData:$.kd.bos.dataentity.entity.DynamicObject):long;
                /**
                 * 	保存数据使用范围
                 * @param entityID
                 * @param saveParams List<Object[]>   Object[0]:dataId Object[1]:useOrgId
                 */
                saveBaseDataUseRange(entityID:string,saveParams:$.java.util.List):void;
            }
            type AbstractBaseDataService_T = AbstractBaseDataService$;
            interface AbstractBaseDataService extends AbstractBaseDataService_T {
            }
        }
        namespace kd.bos.basedataref{
            interface BaseDataCheckRefrenceResult_S {
            }
            interface BaseDataCheckRefrenceResult_C extends BaseDataCheckRefrenceResult_S {
                new():BaseDataCheckRefrenceResult;
            }
            interface BaseDataCheckRefrenceResult$ {
            }
            type BaseDataCheckRefrenceResult_T = BaseDataCheckRefrenceResult$;
            interface BaseDataCheckRefrenceResult extends BaseDataCheckRefrenceResult_T {
            }
            interface BaseDataCheckRefrence_S {
            }
            interface BaseDataCheckRefrence_C extends BaseDataCheckRefrence_S {
                new():BaseDataCheckRefrence;
            }
            interface BaseDataCheckRefrence$ {
            }
            type BaseDataCheckRefrence_T = BaseDataCheckRefrence$;
            interface BaseDataCheckRefrence extends BaseDataCheckRefrence_T {
            }
            interface BaseDataRefenceKey_S {
            }
            interface BaseDataRefenceKey_C extends BaseDataRefenceKey_S {
                new():BaseDataRefenceKey;
            }
            interface BaseDataRefenceKey$ {
            }
            type BaseDataRefenceKey_T = BaseDataRefenceKey$;
            interface BaseDataRefenceKey extends BaseDataRefenceKey_T {
            }
        }
        namespace kd.bos.baserecordset.exportandimport{
            interface BaseDataSetDao_S {
            }
            interface BaseDataSetDao_C extends BaseDataSetDao_S {
                new():BaseDataSetDao;
            }
            interface BaseDataSetDao$ {
            }
            type BaseDataSetDao_T = BaseDataSetDao$;
            interface BaseDataSetDao extends BaseDataSetDao_T {
            }
        }
        namespace kd.bos.basmsg.api{
            interface IBaseMessageService_S {
            }
            interface IBaseMessageService_C extends IBaseMessageService_S {
            }
            interface IBaseMessageService$ {
                /**
                 * 描述：消息中心调用本接口服务展示消息
                 */
                showMessage?(message:MessageInfo):void;
            }
            type IBaseMessageService_T = IBaseMessageService$;
            interface IBaseMessageService extends IBaseMessageService_T {
            }
            interface MessageInfo_S {
            }
            interface MessageInfo_C extends MessageInfo_S {
                new():MessageInfo;
            }
            interface MessageInfo$ {
                setUrl(url:string):void;
                setId(id:long):void;
                getMessageTitle():$.kd.bos.dataentity.entity.ILocaleString;
                getMsgType():string;
                getDuration():number;
                getDefaultLang():string;
                setClickClassName(clickClassName:string):void;
                setMessageContent(messageContent:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 开放按钮点击操作，二开实现后传递全类名
                 * @return
                 */
                getClickClassName():string;
                getUrl():string;
                setShowType(showType:string):void;
                setMsgType(msgType:string):void;
                getShowType():string;
                getTimeOut():long;
                getContent():string;
                isToAll():boolean;
                setDuration(duration:number):void;
                setMessageTitle(messageTitle:$.kd.bos.dataentity.entity.ILocaleString):void;
                setCustomParam(customParam:$.java.util.Map):void;
                getId():long;
                setUserList(userList:$.java.util.List):void;
                /**
                 * 从当前语言环境中获取消息字段
                 * //当前语言环境没有值，则获取默认语言环境的值，默认语言环境没有值，则用中文默认值，如果中文都没有，则取多语言字段中任意有值的字段
                 * @param mutiLang
                 * @param lang
                 * @param defaultValue
                 * @return
                 */
                getValueByLang(mutiLang:$.kd.bos.dataentity.entity.ILocaleString,lang:string,defaultValue:string):string;
                /**
                 * 自定义参数
                 * @return
                 */
                getCustomParam():$.java.util.Map;
                setToAll(toAll:boolean):void;
                setDefaultLang(defaultLang:string):void;
                /**
                 * 如果是平台的处理事件，则保留历史逻辑
                 * @return
                 */
                isNoticeClick():boolean;
                getUserList():$.java.util.List;
                getTitle():string;
                getMessageContent():$.kd.bos.dataentity.entity.ILocaleString;
                setTimeOut(timeOut:long):void;
            }
            type MessageInfo_T = MessageInfo$;
            interface MessageInfo extends MessageInfo_T {
            }
        }
        namespace kd.bos.bd.engine{
            interface AbstractBaseDataUseRelEngine_S {
                removeAllRelBitCache(entity:string):void;
                removeRelBitCache(entity:string,orgId:long):void;
            }
            interface AbstractBaseDataUseRelEngine_C extends AbstractBaseDataUseRelEngine_S {
                new():AbstractBaseDataUseRelEngine;
            }
            interface AbstractBaseDataUseRelEngine$ {
            }
            type AbstractBaseDataUseRelEngine_T = AbstractBaseDataUseRelEngine$;
            interface AbstractBaseDataUseRelEngine extends AbstractBaseDataUseRelEngine_T {
            }
            interface BaseDataUseRelQueryEngine_S {
                /**
                 * 获取所有组织的所有位图数据
                 * @param orgIds 组织
                 * @param entity 实体
                 * @return 位图集合
                 */
                getAllUseBitByOrgIds(orgIds:$.java.util.Collection,entity:string):$.java.util.Set;
                /**
                 * 获取所有组织关系位图数据（先从缓存中取）
                 * @param entity 基础资料实体
                 * @return map 组织 / 组织基础资料使用关系位图
                 */
                getAllRelBitMapByEntity(entity:string):$.java.util.Map;
                /**
                 * 批量查询组织位图信息
                 * @param orgIds 组织id集合
                 * @param entity entity
                 * @return 组织 -> 数据位图信息
                 * @throws Exception e
                 */
                getOrgUseRelBitMapByOrgIds(orgIds:$.java.util.Collection,entity:string):$.java.util.Map;
                /**
                 * 获取特定组织在特定类型的基础资料下所能查询到的基础资料
                 * @param orgId 组织id
                 * @param entityId 实体
                 * @return 基础资料fbitindex集合
                 */
                getUseBaseDataIndexArrByOrgId(orgId:long,entityId:string):number[];
                /**
                 * 批量查询组织位图信息
                 * @param orgIds 组织id集合
                 * @param entity 基础资料单据实体
                 * @param tableName 位图数据表名
                 * @param route 数据库路由
                 * @return 组织 -> 数据位图信息
                 * @throws Exception e
                 */
                getRelBitMapByOrgIds(orgIds:$.java.util.Collection,entity:string,tableName:string,route:$.kd.bos.db.DBRoute):$.java.util.Map;
                /**
                 * 获取特定组织在特定类型的基础资料下所能查询到的基础资料
                 * @param orgId 组织id
                 * @param entityId 实体
                 * @return 基础资料fbitindex集合
                 */
                getUseBaseDataIndexByOrgId(orgId:long,entityId:string):$.java.util.List;
                /**
                 * 获取特定组织在特定类型的基础资料下所能查询到的基础资料
                 * @param orgIds 组织id
                 * @param entityId 实体
                 * @return 基础资料fbitindex集合
                 */
                getUseBaseDataIndexArrByOrgId(orgIds:$.java.util.List,entityId:string):number[];
                /**
                 * 批量查询组织位图信息
                 * @param orgIds 组织id集合
                 * @param entity entity
                 * @return 组织 -> 数据位图信息
                 * @throws ExecutionException e
                 * @throws InterruptedException e
                 */
                getRelBitMapByOrgIds(orgIds:$.java.util.Collection,entity:string):$.java.util.Map;
                /**
                 * 获取CU组织关系位图数据（先从缓存取）
                 * @param entity 基础资料实体
                 * @return map 组织 / 组织基础资料使用关系位图
                 */
                getCURelBitMapByEntity(entity:string):$.java.util.Map;
            }
            type BaseDataUseRelQueryEngine_ST = AbstractBaseDataUseRelEngine_S & BaseDataUseRelQueryEngine_S;
            interface BaseDataUseRelQueryEngine_C extends BaseDataUseRelQueryEngine_ST {
                new():BaseDataUseRelQueryEngine;
            }
            interface BaseDataUseRelQueryEngine$ {
            }
            type BaseDataUseRelQueryEngine_T = AbstractBaseDataUseRelEngine & BaseDataUseRelQueryEngine$;
            interface BaseDataUseRelQueryEngine extends BaseDataUseRelQueryEngine_T {
            }
        }
        namespace kd.bos.bd.pojo{
            interface BaseDataUseRelBit_S {
            }
            interface BaseDataUseRelBit_C extends BaseDataUseRelBit_S {
                /**
                 * 构造数据使用关系对象
                 */
                new():BaseDataUseRelBit;
            }
            interface BaseDataUseRelBit$ {
                /**
                 * 获取使用组织
                 * @return 使用组织
                 */
                getOrgId():long;
                /**
                 * 设置数据位图
                 * @param bit 位图
                 */
                setBit(bit:any):void;
                /**
                 * 获取使用组织位图
                 * @return 使用组织位图信息
                 */
                getBit():any;
                /**
                 * 设置使用组织
                 * @param orgId 使用组织
                 */
                setOrgId(orgId:long):void;
            }
            type BaseDataUseRelBit_T = BaseDataUseRelBit$;
            interface BaseDataUseRelBit extends BaseDataUseRelBit_T {
            }
        }
        namespace kd.bos.bd.provider{
            interface BaseDataListProvider_S {
            }
            type BaseDataListProvider_ST = $.kd.bos.mvc.list.ListDataProvider & BaseDataListProvider_S;
            interface BaseDataListProvider_C extends BaseDataListProvider_ST {
                new(entityId:string,orgId:long,view:$.kd.bos.form.IFormView):BaseDataListProvider;
                new(entityId:string,orgId:long,view:$.kd.bos.form.IFormView,useOrgIds:$.java.util.List):BaseDataListProvider;
            }
            interface BaseDataListProvider$ {
            }
            type BaseDataListProvider_T = $.kd.bos.mvc.list.ListDataProvider & BaseDataListProvider$;
            interface BaseDataListProvider extends BaseDataListProvider_T {
            }
        }
        namespace kd.bos.bd.service{
            interface AbstractBaseService_S {
            }
            interface AbstractBaseService_C extends AbstractBaseService_S {
                new():AbstractBaseService;
            }
            interface AbstractBaseService$ {
            }
            type AbstractBaseService_T = AbstractBaseService$;
            interface AbstractBaseService extends AbstractBaseService_T {
            }
            interface BaseDataCommonService_S {
                /**
                 * 受控基础资料是否使用新模型
                 * <li> 此方法应该使用缓存存储升级状态，但是升级服务是否有升级之后回退的情况，如果有那可能会出现业务不一致性
                 * @param entity 受控实体
                 * @return true/false
                 */
                isNewModel(entity:string):boolean;
            }
            type BaseDataCommonService_ST = AbstractBaseDataService_S & BaseDataCommonService_S;
            interface BaseDataCommonService_C extends BaseDataCommonService_ST {
                new():BaseDataCommonService;
            }
            interface BaseDataCommonService$ {
                getBaseDataFilterNoAudit(entityId:string,orgId:long):$.kd.bos.orm.query.QFilter;
                /**
                 * setReloadOrg
                 * @param reloadOrg true or false
                 */
                setReloadOrg(reloadOrg:boolean):void;
            }
            type BaseDataCommonService_T = AbstractBaseDataService & BaseDataCommonService$;
            interface BaseDataCommonService extends BaseDataCommonService_T {
            }
            interface AbstractBaseDataService_S {
                getLongPropertyFromDynamicObject(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,property:string):long;
            }
            type AbstractBaseDataService_ST = AbstractBaseDataService_S & AbstractBaseService_S;
            interface AbstractBaseDataService_C extends AbstractBaseDataService_ST {
                new():AbstractBaseDataService;
            }
            interface AbstractBaseDataService$ {
                /**
                 * 写操作日志
                 * @param rel 使用关系
                 * @param entity 受控实体
                 * @param opName 操作名称
                 * @param opOrg 操作组织
                 */
                writOpLog(rel:$.java.util.Map,entity:string,opName:string,opOrg:long):void;
                /**
                 * 批量获取直接下级CU组织数据
                 * @param orgViewId 组织视图ID
                 * @param parentOrgIds 上级组织id集合
                 * @return 对应上级的所有直接下级非CU组织ID
                 */
                getDirectSubCuOrgMapping(orgViewId:long,parentOrgIds:$.java.util.Collection):$.java.util.Map;
                /**
                 * 获取基础资料bitIndex和id的映射关系
                 * @param baseDataIds 基础资料id集合
                 * @param entity 受控实体
                 * @return 基础资料bitIndex和id的映射关系
                 */
                getBaseDataId2BitIndexMap(baseDataIds:$.java.util.Collection,entity:string):$.java.util.Map;
                /**
                 * 获取已经被个性化数据的id
                 * @param entity 受控实体
                 * @param dataIds 基础资料id集合
                 * @return 已经被个性化数据id
                 */
                selectCustomDataIds(entity:string,dataIds:$.java.util.Collection):$.java.util.Set;
                /**
                 * 生成基础资料bitIndex数据
                 * @param objs 受控基础资料数组
                 * @param entityId 单据标识
                 */
                generateBaseDataBitIndexAndSourceId(objs:$.kd.bos.dataentity.entity.DynamicObject[],entityId:string):void;
                /**
                 * 获取已经被个性化数据
                 * @param entity 受控实体
                 * @param dataIds 原始数据id
                 * @return K：dataId   V: orgIds
                 */
                selectCustomDataMap(entity:string,dataIds:$.java.util.Collection):$.java.util.Map;
            }
            type AbstractBaseDataService_T = AbstractBaseDataService$ & AbstractBaseService;
            interface AbstractBaseDataService extends AbstractBaseDataService_T {
            }
        }
        namespace kd.bos.bec.api{
            interface IEventServicePlugin_S {
            }
            interface IEventServicePlugin_C extends IEventServicePlugin_S {
            }
            interface IEventServicePlugin$ {
                handleEvent?(evt:kd.bos.bec.model.KDBizEvent):any;
                compensateEvent?(evt:kd.bos.bec.model.KDBizEvent):any;
                calculateUserIds?(evt:kd.bos.bec.model.KDBizEvent):$.java.util.Map;
                buildBillUrl?(evt:kd.bos.bec.model.KDBizEvent):$.java.util.Map;
            }
            type IEventServicePlugin_T = IEventServicePlugin$;
            interface IEventServicePlugin extends IEventServicePlugin_T {
            }
            interface IEventService_S {
            }
            interface IEventService_C extends IEventService_S {
            }
            interface IEventService$ {
                triggerEventSubscribeJobs(eventNumber:string,objs:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                triggerEventSubscribeJobs(businessKey:string,operation:string,entityNumber:string,variable:$.java.util.Map):void;
                invokeEventPlugin?(clazz:string,methodName:string,...args:any[]):any;
                triggerEventSubscribeJobs(eventNumber:string,businessKey:string,entityNumber:string):void;
                triggerEventSubscribe?(eventNumber:string,json:string):any;
            }
            type IEventService_T = IEventService$;
            interface IEventService extends IEventService_T {
            }
            interface IEventHandler_S {
            }
            interface IEventHandler_C extends IEventHandler_S {
            }
            interface IEventHandler$ {
                execute(event:kd.bos.bec.model.KDBizEvent,cfg:string):any;
            }
            type IEventHandler_T = IEventHandler$;
            interface IEventHandler extends IEventHandler_T {
            }
        }
        namespace kd.bos.bec.model{
            interface KDBizEvent_S {
            }
            type KDBizEvent_ST = $.java.io.Serializable & KDBizEvent_S;
            interface KDBizEvent_C extends KDBizEvent_ST {
                new():KDBizEvent;
                new(source:any):KDBizEvent;
            }
            interface KDBizEvent$ {
                setEventId(eventId:long):void;
                setVariables(variables:string):void;
                getSource():string;
                getVariables():string;
                setEventNumber(eventNumber:string):void;
                getEventId():long;
                setSource(source:string):void;
                getEventNumber():string;
            }
            type KDBizEvent_T = $.java.io.Serializable & KDBizEvent$;
            interface KDBizEvent extends KDBizEvent_T {
            }
            interface EntityEvent_S {
            }
            type EntityEvent_ST = EntityEvent_S & KDBizEvent_S;
            interface EntityEvent_C extends EntityEvent_ST {
                new():EntityEvent;
                new(source:any):EntityEvent;
            }
            interface EntityEvent$ {
                getEntityNumber():string;
                setOperation(operation:string):void;
                getOperation():string;
                setEntityNumber(entityNumber:string):void;
                setBusinesskeys(businesskeys:$.java.util.List):void;
                getBusinesskeys():$.java.util.List;
            }
            type EntityEvent_T = EntityEvent$ & KDBizEvent;
            interface EntityEvent extends EntityEvent_T {
            }
            interface JsonEvent_S {
            }
            type JsonEvent_ST = JsonEvent_S & KDBizEvent_S;
            interface JsonEvent_C extends JsonEvent_ST {
                new():JsonEvent;
                new(source:any):JsonEvent;
            }
            interface JsonEvent$ {
            }
            type JsonEvent_T = JsonEvent$ & KDBizEvent;
            interface JsonEvent extends JsonEvent_T {
            }
        }
        namespace kd.bos.bill{
            interface BillShowParameter_S {
            }
            type BillShowParameter_ST = BillShowParameter_S & kd.bos.form.FormShowParameter_S;
            interface BillShowParameter_C extends BillShowParameter_ST {
                new():BillShowParameter;
            }
            interface BillShowParameter$ {
                /**
                 * 设置历史单据归档主路由
                 *
                 * 历史单据归档后，存储位置发生了变化。要打开已归档的单据，必须指定数据归档主路由及归档分路由 {@link #setArchiveKey(String)}
                 * 本方法通常在列表打开单据时由系统设置，插件不需关注
                 *
                 * @param routeKey 数据归档主路由
                 */
                setRouteKey(routeKey:string):void;
                /**
                 * 设置历史单据归档分路由
                 *
                 * @param archiveKey 归档分路由
                 */
                setArchiveKey(archiveKey:string):void;
                /**
                 * 下推，传入目标单数据包缓存PageId，可以据此取到数据包
                 *
                 * @param cachePageId 页面pageId
                 */
                setCachePageId(cachePageId:string):void;
                /**
                 * 返回界面布局方案
                 *
                 * @return 界面布局方案
                 */
                getLayoutSchemeId():long;
                /**
                 * 返回下推时存有目标单数据包的页面pageId，可以据此取到数据包
                 *
                 * @return 页面pageId
                 */
                getCachePageId():string;
                /**
                 * 返回打开的单据类型，可据此确定单据布局
                 *
                 * @return 单据类型内码
                 */
                getBillTypeId():string;
                /**
                 * 设置打开的单据内码
                 *
                 * @param pkId 单据内码
                 */
                setPkId(pkId:any):void;
                /**
                 * 返回单据是否允许同账号重入
                 *
                 * @return 返回true，允许同账号重入；默认返回false不允许同账号重入
                 */
                isEnableUserReentrant():boolean;
                /**
                 * 设置单据是否允许同账号重入
                 *
                 * 用户打开单据进行编辑后，会申请互斥锁，其他人打开单据会提示冲突，同账号重入也会提示冲突。
                 * 设置此选项为true，同账号允许重入，打开单据不会提示冲突
                 *
                 * @param enableUserReentrant 设置为true，允许同账号重入
                 */
                setEnableUserReentrant(enableUserReentrant:boolean):void;
                /**
                 * 设置打开的单据类型，可据此确定单据布局
                 *
                 * @param billTypeId 单据类型内码
                 */
                setBillTypeId(billTypeId:string):void;
                /**
                 * 返回主组织
                 *
                 * @return 主组织内码
                 */
                getLayoutMainOrgId():long;
                /**
                 * 返回是否关闭界面布局方案选项值
                 *
                 * @return 选项，是否关闭界面布局方案
                 */
                isDisableLayoutScheme():boolean;
                /**
                 * 设置单据界面状态枚举值
                 *
                 * 供反序列化调用，功能代码不要调用
                 *
                 * @param value 单据界面状态枚举值
                 */
                setBillStatusValue(value:number):void;
                /**
                 * 返回功能验权所用的业务对象实体编码
                 *
                 * @return 实体编码
                 */
                getPermissionEntityId():string;
                /**
                 * 设置单据界面状态
                 *
                 * 和{@link setStatus}功能有重复和冲突，如两者同时设置，以后者为准
                 *
                 * @param billStatus 单据界面状态
                 */
                setBillStatus(billStatus:BillOperationStatus):void;
                /**
                 * 返回历史单据归档主路由
                 *
                 * @return 归档主路由
                 */
                getRouteKey():string;
                /**
                 * 设置界面布局方案
                 *
                 * @param layoutSchemeId 界面布局方案
                 */
                setLayoutSchemeId(layoutSchemeId:long):void;
                /**
                 * 设置主组织
                 * @param layoutMainOrgId 主组织
                 */
                setLayoutMainOrgId(layoutMainOrgId:long):void;
                /**
                 * 设置功能验权所用的业务对象实体编码
                 *
                 * 功能权限默认按单据授权、验权。特殊场景多种单据需共用授权，打开这些单据时，指定验权采用的业务对象实体编码实现共用授权
                 *
                 * @param permissionEntityId 实体编码
                 */
                setPermissionEntityId(permissionEntityId:string):void;
                /**
                 * 返回历史单据归档分路由
                 *
                 * @return 归档分路由
                 */
                getArchiveKey():string;
                /**
                 * 返回单据界面状态
                 *
                 * @return 单据界面状态
                 */
                getBillStatus():BillOperationStatus;
                /**
                 * 设置选项，关闭界面布局方案
                 *
                 * @param disableLayoutScheme 选项，设置为true关闭界面布局方案
                 */
                setDisableLayoutScheme(disableLayoutScheme:boolean):void;
                /**
                 * 返回打开的单据内码
                 *
                 * @return 单据内码
                 */
                getPkId():any;
            }
            type BillShowParameter_T = BillShowParameter$ & kd.bos.form.FormShowParameter;
            interface BillShowParameter extends BillShowParameter_T {
            }
            interface IBillView_S {
            }
            type IBillView_ST = IBillView_S & kd.bos.form.IFormView_S;
            interface IBillView_C extends IBillView_ST {
            }
            interface IBillView$ {
                /**
                 * 设置单据界面状态
                 *
                 * @param value 单据界面状态枚举值
                 */
                setBillStatus(value:BillOperationStatus):void;
            }
            type IBillView_T = IBillView$ & kd.bos.form.IFormView;
            interface IBillView extends IBillView_T {
            }
            class BillOperationStatus {
                static readonly ADDNEW:kd.bos.bill.BillOperationStatus;
                static readonly VIEW:kd.bos.bill.BillOperationStatus;
                static readonly AUDIT:kd.bos.bill.BillOperationStatus;
                static readonly EDIT:kd.bos.bill.BillOperationStatus;
                static readonly SUBMIT:kd.bos.bill.BillOperationStatus;
                /**
                 * 把整数值转换为枚举类型，如果传入的整数无枚举类型匹配，会报 RuntimeException 异常
                 *
                 * @param value 整数值
                 * @return 枚举类型
                 */
                static forValue(value:number):kd.bos.bill.BillOperationStatus;
                static values():kd.bos.bill.BillOperationStatus[];
                static valueOf(arg0:string):kd.bos.bill.BillOperationStatus;
                /**
                 * 获取枚举类型整数值
                 *
                 * @return 枚举类型整数值
                 */
                getValue():number;
            }
            class OperationStatus {
                static readonly EDIT:kd.bos.bill.OperationStatus;
                static readonly ADDNEW:kd.bos.bill.OperationStatus;
                static readonly VIEW:kd.bos.bill.OperationStatus;
                /**
                 * 枚举类型转换，把整数转成枚举值
                 *
                 * @param value 整数值
                 * @return 枚举值
                 */
                static forValue(value:number):kd.bos.bill.OperationStatus;
                static valueOf(arg0:string):kd.bos.bill.OperationStatus;
                static values():kd.bos.bill.OperationStatus[];
                /**
                 * 返回整数型枚举值
                 *
                 * @return 整数型枚举值
                 */
                getValue():number;
            }
            interface MobileBillShowParameter_S {
            }
            type MobileBillShowParameter_ST = BillShowParameter_S & MobileBillShowParameter_S;
            interface MobileBillShowParameter_C extends MobileBillShowParameter_ST {
                new():MobileBillShowParameter;
            }
            interface MobileBillShowParameter$ {
                /**
                 * 设置移动单据界面显示位置
                 *
                 * @param value 显示位置枚举值
                 */
                setPosition(value:MobileFormPosition):void;
                /**
                 * 返回移动单据界面显示位置
                 *
                 * @return 显示位置枚举值
                 */
                getPosition():MobileFormPosition;
            }
            type MobileBillShowParameter_T = BillShowParameter & MobileBillShowParameter$;
            interface MobileBillShowParameter extends MobileBillShowParameter_T {
            }
            interface CtsyBillShowParameter_S {
            }
            type CtsyBillShowParameter_ST = BillShowParameter_S & CtsyBillShowParameter_S & kd.bos.form.ICtsyShowParameter_S;
            interface CtsyBillShowParameter_C extends CtsyBillShowParameter_ST {
                /**
                 * 构造函数
                 */
                new():CtsyBillShowParameter;
                /**
                 * 构造函数
                 * @param tenantCode 远程租户编码
                 * @param accountId 远程租户数据中心id
                 * @param formId 远程业务单编码
                 */
                new(tenantCode:string,accountId:string,formId:string):CtsyBillShowParameter;
            }
            interface CtsyBillShowParameter$ {
                /**
                 * 设置远程租户编码
                 * @param tenantCode
                 */
                setTenantCode(tenantCode:string):void;
                /**
                 * 设置远程租户数据中心id
                 * @param accountId
                 */
                setAccountId(accountId:string):void;
                /**
                 * 获取关闭回调actionId的固定后缀缀，后面业务可在前面加自定义的actionId，已用"$"分隔
                 * @return
                 */
                getCloseCallBackActionIdSuffix():string;
            }
            type CtsyBillShowParameter_T = BillShowParameter & CtsyBillShowParameter$ & kd.bos.form.ICtsyShowParameter;
            interface CtsyBillShowParameter extends CtsyBillShowParameter_T {
            }
            class MobileFormPosition {
                static readonly Default:kd.bos.bill.MobileFormPosition;
                static readonly Bottom:kd.bos.bill.MobileFormPosition;
                static readonly Middle:kd.bos.bill.MobileFormPosition;
                static readonly Top:kd.bos.bill.MobileFormPosition;
                static valueOf(arg0:string):kd.bos.bill.MobileFormPosition;
                static values():kd.bos.bill.MobileFormPosition[];
            }
            interface IBillPlugin_S {
            }
            type IBillPlugin_ST = $.kd.bos.form.plugin.IFormPlugin & IBillPlugin_S;
            interface IBillPlugin_C extends IBillPlugin_ST {
            }
            interface IBillPlugin$ {
                /**
                 * 修改、查看单据，数据加载完成事件
                 *
                 * 此事件在单据数据加载完毕，还未绑定到界面前触发，插件可以对加载出的单据数据做调整
                 *
                 * @param e 事件参数
                 */
                afterLoadData(e:$.java.util.EventObject):void;
            }
            type IBillPlugin_T = $.kd.bos.form.plugin.IFormPlugin & IBillPlugin$;
            interface IBillPlugin extends IBillPlugin_T {
            }
            interface AbstractBillPlugIn_S {
            }
            type AbstractBillPlugIn_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractBillPlugIn_S & IBillPlugin_S;
            interface AbstractBillPlugIn_C extends AbstractBillPlugIn_ST {
                new():AbstractBillPlugIn;
            }
            interface AbstractBillPlugIn$ {
            }
            type AbstractBillPlugIn_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractBillPlugIn$ & IBillPlugin;
            interface AbstractBillPlugIn extends AbstractBillPlugIn_T {
            }
            interface AbstractMobBillPlugIn_S {
            }
            type AbstractMobBillPlugIn_ST = $.kd.bos.form.plugin.IMobFormPlugin & AbstractBillPlugIn_S & AbstractMobBillPlugIn_S;
            interface AbstractMobBillPlugIn_C extends AbstractMobBillPlugIn_ST {
                new():AbstractMobBillPlugIn;
            }
            interface AbstractMobBillPlugIn$ {
            }
            type AbstractMobBillPlugIn_T = $.kd.bos.form.plugin.IMobFormPlugin & AbstractBillPlugIn & AbstractMobBillPlugIn$;
            interface AbstractMobBillPlugIn extends AbstractMobBillPlugIn_T {
            }
            interface IMobileBillView_S {
            }
            type IMobileBillView_ST = $.kd.bos.bill.IBillView & $.kd.bos.form.IMobileView & IMobileBillView_S;
            interface IMobileBillView_C extends IMobileBillView_ST {
            }
            interface IMobileBillView$ {
            }
            type IMobileBillView_T = $.kd.bos.bill.IBillView & $.kd.bos.form.IMobileView & IMobileBillView$;
            interface IMobileBillView extends IMobileBillView_T {
            }
            interface AbstractBillWebApiPlugin_S {
            }
            type AbstractBillWebApiPlugin_ST = AbstractBillWebApiPlugin_S & IBillWebApiPlugin_S;
            interface AbstractBillWebApiPlugin_C extends AbstractBillWebApiPlugin_ST {
                new():AbstractBillWebApiPlugin;
            }
            interface AbstractBillWebApiPlugin$ {
            }
            type AbstractBillWebApiPlugin_T = AbstractBillWebApiPlugin$ & IBillWebApiPlugin;
            interface AbstractBillWebApiPlugin extends AbstractBillWebApiPlugin_T {
            }
            interface IBillWebApiPlugin_S {
            }
            interface IBillWebApiPlugin_C extends IBillWebApiPlugin_S {
            }
            interface IBillWebApiPlugin$ {
                /**
                 * 执行自定义服务方法
                 *
                 * @param ctx 服务执行上下文
                 * @return 返回服务执行结果
                 */
                doCustomService(ctx:kd.bos.entity.api.WebApiContext):$.kd.bos.entity.api.ApiResult;
                /**
                 * 设置单据标识
                 * @param fid 单据标识，如"bd_currency"
                 */
                setFormId?(fid:string):void;
                /**
                 * 通过Api参数自己实现PK值获取，而不是基于编码自动获得
                 *
                 * @param e
                 */
                convertPk?(e:$.kd.bos.bill.events.ConvertPkEvent):void;
                /**
                 * 获取单据标识
                 * @return 返回单据标识，如"bd_currency"
                 */
                getFormId?():string;
                /**
                 * 执行自定义服务方法
                 * @param params 服务参数
                 * @return 返回服务执行结果
                 */
                doCustomService(params:$.java.util.Map):$.kd.bos.entity.api.ApiResult;
                /**
                 * 获取版本号
                 *
                 * @return 默认返回"1.0"
                 */
                getVersion?():string;
                /**
                 * 执行AICommand方法
                 *
                 * @param e
                 */
                doAICommand?(e:$.kd.bos.bill.events.AICommandEvent):void;
                /**
                 * 执行自定义服务方法
                 *
                 * @param params 服务参数（集合型参数）
                 * @return 返回服务执行结果
                 */
                doCustomServiceList?(params:$.java.util.List):any;
            }
            type IBillWebApiPlugin_T = IBillWebApiPlugin$;
            interface IBillWebApiPlugin extends IBillWebApiPlugin_T {
            }
        }
        namespace kd.bos.bill.events{
            interface AICommandEvent_S {
            }
            interface AICommandEvent_C extends AICommandEvent_S {
                new():AICommandEvent;
            }
            interface AICommandEvent$ {
                /**
                 * 设置 AI 指令参数
                 *
                 * @param cmd AI 指令参数
                 */
                setCommand(cmd:$.kd.bos.entity.api.AICommand):void;
                /**
                 * 设置 AI 指令事件结果
                 *
                 * @param result AI 指令事件结果
                 */
                setResult(result:$.kd.bos.entity.api.ApiResult):void;
                /**
                 * 获取 AI 指令事件结果
                 *
                 * @return AI 指令事件结果
                 */
                getResult():$.kd.bos.entity.api.ApiResult;
                /**
                 * 获取 AI 指令参数
                 *
                 * @return AI 指令参数
                 */
                getCommand():$.kd.bos.entity.api.AICommand;
            }
            type AICommandEvent_T = AICommandEvent$;
            interface AICommandEvent extends AICommandEvent_T {
            }
            interface LocateEvent_S {
            }
            type LocateEvent_ST = $.java.util.EventObject & LocateEvent_S;
            interface LocateEvent_C extends LocateEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源，视图层控制接口(IMobileView)的实例
                 * @param mobLocation 移动位置
                 */
                new(source:any,mobLocation:$.kd.bos.entity.MobLocation):LocateEvent;
            }
            interface LocateEvent$ {
                /**
                 * 返回移动位置
                 *
                 * @return 移动位置
                 */
                getMobLocation():$.kd.bos.entity.MobLocation;
            }
            type LocateEvent_T = $.java.util.EventObject & LocateEvent$;
            interface LocateEvent extends LocateEvent_T {
            }
            interface ConvertPkEvent_S {
            }
            type ConvertPkEvent_ST = $.java.util.EventObject & ConvertPkEvent_S;
            interface ConvertPkEvent_C extends ConvertPkEvent_ST {
                /**
                 * 构造函数，创建转换PK事件参数实例
                 *
                 * @param source     事件触发源
                 * @param op
                 * @param dataObject
                 */
                new(source:any,op:string,dataObject:$.java.util.Map):ConvertPkEvent;
            }
            interface ConvertPkEvent$ {
                /**
                 * 获取操作编码
                 *
                 * @return
                 */
                getOpNumber():string;
                /**
                 * 获取数据
                 *
                 * @return
                 */
                getDataObject():$.java.util.Map;
                /**
                 * 设置 pk 值
                 *
                 * @param pk
                 */
                setPK(pk:any):void;
                /**
                 * 获取 pk 值
                 * @return
                 */
                getPK():any;
            }
            type ConvertPkEvent_T = $.java.util.EventObject & ConvertPkEvent$;
            interface ConvertPkEvent extends ConvertPkEvent_T {
            }
        }
        namespace kd.bos.botp{
            interface ConvertDataService_S {
            }
            interface ConvertDataService_C extends ConvertDataService_S {
                new():ConvertDataService;
            }
            interface ConvertDataService$ {
                /**
                 * 根据表格编码，加载其表格定义对象，从而获知其对应的单据与实体
                 *
                 * @param tableId 表格编码
                 * @return
                 */
                loadTableDefine(tableId:long):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 根据应用内码获取应用下所有的转换规则内码  （convertrulemetadata中bizappid为源单所在的应用，该接口也是按规则中源单所在应用进行分类）
                 * @param appId
                 * @return
                 */
                loadConvertRuleIdsByAppId(appId:string):$.java.util.List;
                /**
                 * 加载全部目标单据信息，用于下推操作，列出可选目标单
                 * @param entityNumber：当前单据编码
                 * @param opType：转换操作类型
                 * @return 可转换的目标单列表
                 */
                loadConvertBills(entityNumber:string,opType:$.kd.bos.entity.botp.ConvertOpType):$.java.util.List;
                /**
                 * 加载全部转换路线
                 * @return
                 */
                loadAllConvertPaths():$.java.util.List;
                /**
                 * 根据单据和实体，加载其表格定义对象，从而获知其对应的表格编码
                 *
                 * @param entityNumber 单据
                 * @param entityKey 实体
                 * @return
                 */
                loadTableDefine(entityNumber:string,entityKey:string):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 加载第三方目标单据信息，用于下推操作
                 * @param sourceEntityNumber：源单单据编码
                 * @param targetEntityNumber：目标单单据编码
                 * @return 可转换的目标单列表
                 */
                loadThirdConvertBills(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
            }
            type ConvertDataService_T = ConvertDataService$;
            interface ConvertDataService extends ConvertDataService_T {
            }
        }
        namespace kd.bos.bundle.util{
            interface MultiLangEnumBridge_S {
            }
            interface MultiLangEnumBridge_C extends MultiLangEnumBridge_S {
                new():MultiLangEnumBridge;
                new(arg0:string):MultiLangEnumBridge;
                new(arg0:string,arg1:string,arg2:string):MultiLangEnumBridge;
            }
            interface MultiLangEnumBridge$ {
                setResourceID(arg0:string):void;
                setSystemType(arg0:string):void;
                getDescription():string;
                setDescription(arg0:string):void;
                getResourceID():string;
                loadKDString():string;
                getSystemType():string;
            }
            type MultiLangEnumBridge_T = MultiLangEnumBridge$;
            interface MultiLangEnumBridge extends MultiLangEnumBridge_T {
            }
        }
        namespace kd.bos.ca{
            interface ISignOperateCallback_S {
            }
            interface ISignOperateCallback_C extends ISignOperateCallback_S {
            }
            interface ISignOperateCallback$ {
                /**
                 * 客户端签名
                 * @param opResult
                 * @param clearPin 是否需要清除PIN码
                 * @return
                 */
                sign(opResult:$.kd.bos.entity.operate.result.OperationResult,clearPin:boolean):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 执行签名操作
                 * @param opResult
                 * @return
                 */
                sign(opResult:$.kd.bos.entity.operate.result.OperationResult):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 执行sign 之前初始化
                 * @param view
                 * @param invoker
                 * @param option
                 * @param type
                 * @param callbackId
                 */
                beforeSign(view:$.kd.bos.form.IFormView,invoker:$.kd.bos.form.SignCallbackLisenter,option:$.kd.bos.dataentity.OperateOption,type_arg:kd.bos.form.ClientCallback$SignClientType,callbackId:string):this;
            }
            type ISignOperateCallback_T = ISignOperateCallback$;
            interface ISignOperateCallback extends ISignOperateCallback_T {
            }
            interface ICAService_S {
            }
            interface ICAService_C extends ICAService_S {
            }
            interface ICAService$ {
                /**
                 * CA认证服务验签方法。
                 * @param signData 签名信息
                 * @param plainData 原文信息
                 * @param publicKey  证书公钥
                 * @param caConfig ca配置信息
                 * @return 验签结果
                 */
                verifySign(signData:string,plainData:string,publicKey:string,caConfig:$.java.util.Map):kd.bos.ca.bean.VerifySignResult;
            }
            type ICAService_T = ICAService$;
            interface ICAService extends ICAService_T {
            }
            interface AbstractCAService_S {
            }
            type AbstractCAService_ST = AbstractCAService_S & ICAService_S;
            interface AbstractCAService_C extends AbstractCAService_ST {
                new():AbstractCAService;
            }
            interface AbstractCAService$ {
            }
            type AbstractCAService_T = AbstractCAService$ & ICAService;
            interface AbstractCAService extends AbstractCAService_T {
            }
        }
        namespace kd.bos.ca.bean{
            interface VerifySignResult_S {
            }
            interface VerifySignResult_C extends VerifySignResult_S {
                new():VerifySignResult;
            }
            interface VerifySignResult$ {
                /**
                 * 设置验签结果信息。
                 * @param message 验签结果信息
                 */
                setMessage(message:string):void;
                /**
                 * 设置验签结果。
                 * @param success 验签结果
                 */
                setSuccess(success:boolean):void;
                /**
                 * 是否验签成功。
                 * @return 是否验签成功
                 */
                isSuccess():boolean;
                /**
                 * 获取验签结果信息。
                 * @return 验签结果信息
                 */
                getMessage():string;
            }
            type VerifySignResult_T = VerifySignResult$;
            interface VerifySignResult extends VerifySignResult_T {
            }
        }
        namespace kd.bos.cache{
            interface LocalMemoryCache_S {
            }
            interface LocalMemoryCache_C extends LocalMemoryCache_S {
            }
            interface LocalMemoryCache$ {
                /**
                 * 存储键值对到缓存中。
                 * <p>
                 * 若 {@code key} 已存在，则旧值将被 {@code value} 覆盖，并重置过期时间（取决于实现策略）。
                 * </p>
                 *
                 * @param key 缓存键，不可为 {@code null}，需确保全局唯一性
                 * @param value 缓存值，不可为 {@code null}，支持任意可序列化对象
                 * @throws IllegalArgumentException 若 {@code key} 或 {@code value} 为 {@code null}（由具体实现决定）
                 */
                put(key:string,value:any):void;
                /**
                 * 批量获取多个键对应的缓存值。
                 * <p>
                 * 返回的 {@link Map} 仅包含存在的键值对，未找到的键不会出现在结果中。
                 * </p>
                 *
                 * @param keys 一个或多个缓存键
                 * @return 存在的键值对映射（不会为 {@code null}，但可能为空）
                 */
                get(...keys:string[]):$.java.util.Map;
                /**
                 * 清空当前缓存实例中的所有数据。
                 * <p>
                 * 此操作不会移除缓存配置（如超时时间、内存限制），仅删除所有缓存项。
                 * </p>
                 */
                clear():void;
                /**
                 * 从缓存中的 Map 结构删除指定字段。
                 * <p>
                 * 此方法要求 {@code key} 对应的值必须为 {@link Map} 类型，否则行为取决于实现（可能抛出 {@link ClassCastException} 或静默失败）。
                 * </p>
                 *
                 * @param key 缓存中 Map 结构的键
                 * @param fields 要删除的 Map 字段，若为空数组则不执行任何操作
                 * @throws ClassCastException 若 {@code key} 对应的值不是 Map 类型（由具体实现决定）
                 */
                removeMapFields(key:string,...fields:string[]):void;
                /**
                 * 获取指定键对应的缓存值。
                 * <p>
                 * 若键不存在或已过期，返回 {@code null}。
                 * </p>
                 *
                 * @param key 缓存键
                 * @return 缓存值，可能为 {@code null}
                 */
                get(key:string):any;
                /**
                 * 删除一个或多个缓存项。
                 * <p>
                 * 若某个键不存在，则静默跳过，不抛出异常。
                 * </p>
                 *
                 * @param keys 要删除的缓存键
                 */
                remove(...keys:string[]):void;
                /**
                 * 检查指定键是否存在且未过期。
                 *
                 * @param key 缓存键
                 * @return 存在且有效返回 {@code true}，否则返回 {@code false}
                 */
                contains(key:string):boolean;
            }
            type LocalMemoryCache_T = LocalMemoryCache$;
            interface LocalMemoryCache extends LocalMemoryCache_T {
            }
            class EhcacheStoreType {
                static readonly Disk:kd.bos.cache.EhcacheStoreType;
                static readonly Heap:kd.bos.cache.EhcacheStoreType;
                static values():kd.bos.cache.EhcacheStoreType[];
                static valueOf(arg0:string):kd.bos.cache.EhcacheStoreType;
                getCode():number;
            }
            interface Cacheable_S {
            }
            interface Cacheable_C extends Cacheable_S {
            }
            interface Cacheable$ {
                /**
                 * 批量管道模式
                 */
                pipelinedMode():void;
                syncAndReturn():$.java.util.List;
                singleMode():void;
            }
            type Cacheable_T = Cacheable$;
            interface Cacheable extends Cacheable_T {
            }
            interface SessionableCache_S {
            }
            interface SessionableCache_C extends SessionableCache_S {
            }
            interface SessionableCache$ {
                remove(arg0:string,arg1:any):void;
                getAll(sessionId:string):$.java.util.Map;
                getKeysWithPrefix(sessionId:string,prefix:string):$.java.util.List;
                getKeys(sessionId:string):$.java.util.List;
                put(arg0:string,arg1:any,arg2:any):void;
                expireAfter(sessionId:string,second:number):void;
                get(arg0:string,arg1:any[]):$.java.util.List;
                remove(arg0:string,arg1:any[]):void;
                put(sessionId:string,map:$.java.util.Map):void;
                remove(sessionId:string):void;
                get(arg0:string,arg1:any):any;
                contains(arg0:string,arg1:any):boolean;
            }
            type SessionableCache_T = SessionableCache$;
            interface SessionableCache extends SessionableCache_T {
            }
            interface CacheConfigInfo_S {
            }
            interface CacheConfigInfo_C extends CacheConfigInfo_S {
                new():CacheConfigInfo;
            }
            interface CacheConfigInfo$ {
                /**
                 * 设置最大条目数量限制。
                 * @param maxItemSize 必须 ≥1，建议值 ≥100 以避免频繁淘汰
                 */
                setMaxItemSize(maxItemSize:number):void;
                /**
                 * 获取缓存允许的最大条目数量。
                 * @return ≥1 的整数，实际值可能根据系统属性调整
                 */
                getMaxItemSize():number;
                /**
                 * 设置缓存条目存活时间。
                 * @param timeout 超时时间（秒），必须 >0
                 * @throws IllegalArgumentException 如果传入 ≤0 的值（由具体实现决定）
                 */
                setTimeout(timeout:number):void;
                /**
                 * 获取当前配置的超时时间（秒）。
                 * @return 正整数，必须 >0
                 */
                getTimeout():number;
                /**
                 * 判断当前是否使用存活时间（TTL）策略。
                 * @return true 表示基于创建时间过期，false 表示基于最后访问时间过期
                 */
                isTimeToLive():boolean;
                /**
                 * 设置过期策略模式。
                 * @param timeToLive true=TTL模式，false=TTI模式
                 */
                setTimeToLive(timeToLive:boolean):void;
            }
            type CacheConfigInfo_T = CacheConfigInfo$;
            interface CacheConfigInfo extends CacheConfigInfo_T {
            }
            interface SessionlessCache_S {
            }
            type SessionlessCache_ST = Cacheable_S & SessionlessCache_S;
            interface SessionlessCache_C extends SessionlessCache_ST {
            }
            interface SessionlessCache$ {
                /**
                 * 按照type/Map<key,value>结构存储，type为一级key
                 * @param type
                 * @param key
                 * @return
                 */
                contains(type_arg:string,key:string):boolean;
                /**
                 * 按照type/Map<key,value>结构存储，type为一级key
                 * @param type
                 * @param key
                 * @return
                 */
                get(type_arg:string,key:string):any;
                getAll(type_arg:string):$.java.util.Map;
                get(type_arg:string,keys:string[]):$.java.util.List;
                /**
                 * @deprecated
                 * @param prefix
                 * @return
                 */
                getKeysWithPrefix(prefix:string):$.java.util.List;
                /**
                 * 按照type/Map<key,value>结构存储，type为一级key,清除整个Map
                 * @param type
                 */
                removeType(type_arg:string):void;
                expireAfter(keyOrType:string,timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
                decr(key:string,timeoutSeconds:number):long;
                /**
                 * 按照普通key/value存储，删除key
                 * @param key
                 */
                remove(key:string):void;
                remove(keys:string[]):void;
                /**
                 * 按照type/Map<key,value>结构存储，type为一级key
                 * 注意：默认超时，配置中心配置
                 * @param type
                 * @param keyValues
                 */
                put(type_arg:string,keyValues:$.java.util.Map):void;
                put(arg0:string,arg1:any,arg2:number,arg3:$.java.util.concurrent.TimeUnit):void;
                /**
                 * 设置超时，单位秒，keyOrType为一级key，当存储为key/value时，为key，当存储为type/Map<key,value>时，为type，不支持二级key设置超时
                 * @param keyOrType
                 * @param second
                 */
                expireAfter(keyOrType:string,second:number):void;
                /**
                 * @param type
                 * @param key
                 * @param value
                 * @param timeout, -1时不超时，整个type的超时设置，
                 * 注意：key/value是加入Map中的，不是单独存在的，生命周期是跟这type走的，type失效，map中的所有key/value全部失效，无法对某个key/value单独设置超时
                 * 如果需要多次put，timeout设为-1，最后再调用一次expire(type, timeout)
                 */
                put(type_arg:string,key:string,value:string,timeoutSeconds:number):void;
                inc(key:string,timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):long;
                put(type_arg:string,key:string,value:string,timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
                /**
                 * 按照type/Map<key,value>结构存储，type为一级key
                 * @param type
                 * @param key
                 */
                remove(type_arg:string,key:string):void;
                put(arg0:string,arg1:string,arg2:any):void;
                getKeysWithPrefix(type_arg:string,prefix:string):$.java.util.List;
                put(arg0:string,arg1:any):void;
                put(type_arg:string,keyValues:$.java.util.Map,timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
                getKeys(type_arg:string):$.java.util.List;
                /**
                 * @param type
                 * @param keyValues
                 * @param timeout -1时不超时
                 */
                put(type_arg:string,keyValues:$.java.util.Map,timeoutSeconds:number):void;
                inc(key:string):long;
                remove(type_arg:string,keys:string[]):void;
                put(arg0:string,arg1:any,arg2:number):void;
                decr(key:string,timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):long;
                incrBy(key:string,amount:number):long;
                /**
                 * 按照普通key/value存储
                 * @param key
                 * @return
                 */
                contains(key:string):boolean;
                /**
                 * 按照普通key/value存储，获取value
                 * @param key
                 * @return
                 */
                get(key:string):any;
                decr(key:string):long;
                inc(key:string,timeoutSeconds:number):long;
                expireAfterImmediateEffect(keyOrType:string,timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):void;
            }
            type SessionlessCache_T = Cacheable & SessionlessCache$;
            interface SessionlessCache extends SessionlessCache_T {
            }
            interface DistributeSessionlessCache_S {
            }
            type DistributeSessionlessCache_ST = DistributeSessionlessCache_S & SessionlessCache_S;
            interface DistributeSessionlessCache_C extends DistributeSessionlessCache_ST {
            }
            interface DistributeSessionlessCache$ {
                /**
                 * 获取集合的元素数量。
                 *
                 * @param key 集合的键
                 * @return 元素数量，键不存在时返回0
                 * @throws KDException 缓存操作失败时抛出
                 */
                getSetLength(key:string):number;
                /**
                 * 存储字节数组值到字符串键，使用默认过期时间。
                 *
                 * @param key 字符串键
                 * @param value 字节数组值
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                put(key:string,value:number[]):void;
                /**
                 * 设置列表指定索引位置的元素值。
                 *
                 * @param key 列表的键
                 * @param index 要修改的索引位置
                 * @param value 新的元素值
                 * @throws IndexOutOfBoundsException 当索引超出列表当前范围时抛出
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                setListObject(key:string,index:number,value:string):void;
                /**
                 * 获取哈希字段的字节数组值。
                 *
                 * @param key 哈希键
                 * @param field 字段字节数组
                 * @return 值字节数组，字段不存在时返回null
                 * @throws KDException 缓存操作失败时抛出
                 */
                hget(key:string,field:number[]):number[];
                /**
                 * 获取列表指定索引位置的元素。
                 *
                 * @param key 列表的键
                 * @param index 目标索引
                 * @return 元素值，索引越界时返回null
                 * @throws KDException 缓存操作失败时抛出
                 */
                getListObject(key:string,index:number):string;
                /**
                 * 向集合添加元素，指定过期时间单位。
                 *
                 * @param key 集合的键
                 * @param values 要添加的元素数组（唯一性）
                 * @param timeout 过期时间数值
                 * @param timeUnit 过期时间单位
                 * @return 成功添加的元素数量（去重后）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                addToSet(key:string,values:string[],timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):number;
                /**
                 * 存储哈希字段的字节数组值，指定过期时间。
                 *
                 * @param key 哈希键
                 * @param field 字段字节数组
                 * @param value 值字节数组
                 * @param timeoutSeconds 过期时间（秒）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                hset(key:string,field:number[],value:number[],timeoutSeconds:number):void;
                /**
                 * 检查缓存服务是否可用。
                 *
                 * @return 默认true（具体实现可能不同）
                 */
                isAvailable?():boolean;
                /**
                 * 删除列表从指定索引开始的多个元素。
                 *
                 * @param key 列表的键
                 * @param index 起始索引
                 * @param length 要删除的元素数量
                 * @throws KDException 缓存操作失败时抛出
                 */
                removeListObjects(key:string,index:number,length:number):void;
                /**
                 * 重置列表：删除原有数据后添加新元素，指定过期时间单位。
                 *
                 * @param key 列表的键
                 * @param values 新的元素数组，若为空则仅删除原有列表
                 * @param timeout 过期时间数值
                 * @param timeUnit 过期时间单位
                 * @return 操作后的列表长度（添加元素时）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                resetList(key:string,values:string[],timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):number;
                /**
                 * 将元素追加到列表尾部，使用默认过期时间。
                 *
                 * @param key 列表的键
                 * @param values 要添加的元素数组，元素按顺序追加
                 * @return 操作后的列表长度
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                addList(key:string,values:string[]):number;
                /**
                 * 以字节形式保存数据，使用默认过期时间。
                 * @param key 唯一key的utf-8编码格式
                 * @param value 数据字节
                 * @param timeout 超时时间（单位秒）
                 */
                put(key:number[],value:number[],timeout:number):void;
                /**
                 * 存储字节数组值到字符串键，指定过期时间。
                 *
                 * @param key 字符串键
                 * @param value 字节数组值
                 * @param timeoutSeconds 过期时间（秒）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                put(key:string,value:number[],timeoutSeconds:number):void;
                /**
                 * 向集合添加元素，指定过期时间。
                 *
                 * @param key 集合的键
                 * @param values 要添加的元素数组（唯一性）
                 * @param timeoutSeconds 过期时间（秒）
                 * @return 成功添加的元素数量（去重后）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                addToSet(key:string,values:string[],timeoutSeconds:number):number;
                hmget(arg0:string,...arg1:number[][]):$.java.util.List;
                /**
                 * 批量存储哈希字段值，使用默认过期时间。
                 *
                 * @param key 哈希键
                 * @param hash 字段-值映射表
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                hmset(key:string,hash:$.java.util.Map):void;
                /**
                 * 存储哈希字段的字节数组值，使用默认过期时间。
                 *
                 * @param key 哈希键
                 * @param field 字段字节数组
                 * @param value 值字节数组
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                hset(key:string,field:number[],value:number[]):void;
                /**
                 * 向集合添加元素，使用默认过期时间。
                 *
                 * @param key 集合的键
                 * @param values 要添加的元素数组（唯一性）
                 * @return 成功添加的元素数量（去重后）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                addToSet(key:string,values:string[]):number;
                /**
                 * 重置列表：删除原有数据后添加新元素，指定过期时间。
                 *
                 * @param key 列表的键
                 * @param values 新的元素数组，若为空则仅删除原有列表
                 * @param timeoutSeconds 过期时间（秒）
                 * @return 操作后的列表长度（添加元素时）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                resetList(key:string,values:string[],timeoutSeconds:number):number;
                /**
                 * 删除字节数据, 数据不存在时相当于删除成功
                 * @param key 唯一key的utf-8编码格式
                 */
                remove?(key:number[]):void;
                /**
                 * 获取字符串键对应的字节数组值。
                 *
                 * @param key 字符串键
                 * @return 字节数组值，键不存在时返回null
                 * @throws KDException 缓存操作失败时抛出
                 */
                getByteValue(key:string):number[];
                /**
                 * 将元素追加到列表尾部，并指定过期时间单位。
                 *
                 * @param key 列表的键
                 * @param values 要添加的元素数组，元素按顺序追加
                 * @param timeout 过期时间数值
                 * @param timeUnit 过期时间单位（如TimeUnit.SECONDS）
                 * @return 操作后的列表长度
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                addList(key:string,values:string[],timeout:number,timeUnit:$.java.util.concurrent.TimeUnit):number;
                /**
                 * 获取字节数据
                 * @param key 唯一key的utf-8编码格式
                 * @return 数据值，byte数组格式
                 */
                get?(key:number[]):number[];
                /**
                 * 在列表指定索引位置前插入元素。若索引不存在则抛出异常。
                 *
                 * @param key 列表的键
                 * @param index 目标索引位置（从0开始）
                 * @param values 要插入的元素数组，按逆序插入（如values[0]最后插入）
                 * @return 成功插入的元素数量
                 * @throws IndexOutOfBoundsException 当索引超出列表当前范围时抛出
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                insertList(key:string,index:number,values:string[]):number;
                /**
                 * 获取哈希的所有字段-值对。
                 *
                 * @param key 哈希键
                 * @return 字段-值映射表，键不存在时返回空Map
                 * @throws KDException 缓存操作失败时抛出
                 */
                hgetAll(key:string):$.java.util.Map;
                /**
                 * 获取集合的所有元素。
                 *
                 * @param key 集合的键
                 * @return 元素数组（无序），键不存在时返回空数组
                 * @throws KDException 缓存操作失败时抛出
                 */
                getSetValues(key:string):string[];
                /**
                 * 删除列表指定索引位置的元素。
                 *
                 * @param key 列表的键
                 * @param index 要删除的索引位置
                 * @throws KDException 缓存操作失败时抛出
                 */
                removeListObject(key:string,index:number):void;
                /**
                 * 获取列表的全部元素。
                 *
                 * @param key 列表的键
                 * @return 元素数组，键不存在时返回空数组
                 * @throws KDException 缓存操作失败时抛出
                 */
                getList(key:string):string[];
                /**
                 * 批量存储哈希字段值，指定过期时间。
                 *
                 * @param key 哈希键
                 * @param hash 字段-值映射表
                 * @param timeoutSeconds 过期时间（秒）
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                hmset(key:string,hash:$.java.util.Map,timeoutSeconds:number):void;
                /**
                 * 将元素追加到列表尾部，并指定过期时间。
                 *
                 * @param key 列表的键
                 * @param values 要添加的元素数组，元素按顺序追加
                 * @param timeoutSeconds 过期时间（秒）
                 * @return 操作后的列表长度
                 * @throws KDException 缓存操作失败或超出缓存大小限制时抛出
                 */
                addList(key:string,values:string[],timeoutSeconds:number):number;
                /**
                 * 从集合中移除指定元素。
                 *
                 * @param key 集合的键
                 * @param values 要移除的元素数组
                 * @throws KDException 缓存操作失败时抛出
                 */
                removeSetValues(key:string,values:string[]):void;
                /**
                 * 获取列表的当前长度。
                 *
                 * @param key 列表的键
                 * @return 列表长度，键不存在时返回0
                 * @throws KDException 缓存操作失败时抛出
                 */
                getListLength(key:string):number;
                /**
                 * 获取列表指定范围内的元素。
                 *
                 * @param key 列表的键
                 * @param index 起始索引（包含）
                 * @param length 要获取的元素数量
                 * @return 元素数组，键不存在时返回空数组
                 * @throws KDException 缓存操作失败时抛出
                 */
                getList(key:string,index:number,length:number):string[];
            }
            type DistributeSessionlessCache_T = DistributeSessionlessCache$ & SessionlessCache;
            interface DistributeSessionlessCache extends DistributeSessionlessCache_T {
            }
            interface DistributeSessionableCache_S {
            }
            type DistributeSessionableCache_ST = DistributeSessionableCache_S & SessionableCache_S;
            interface DistributeSessionableCache_C extends DistributeSessionableCache_ST {
            }
            interface DistributeSessionableCache$ {
            }
            type DistributeSessionableCache_T = DistributeSessionableCache$ & SessionableCache;
            interface DistributeSessionableCache extends DistributeSessionableCache_T {
            }
            interface CacheModule_S {
            }
            type CacheModule_ST = $.kd.sdk.module.Module & CacheModule_S;
            interface CacheModule_C extends CacheModule_ST {
                new():CacheModule;
            }
            interface CacheModule$ {
            }
            type CacheModule_T = $.kd.sdk.module.Module & CacheModule$;
            interface CacheModule extends CacheModule_T {
            }
            interface CacheFactory_S {
                /**
                 * 获取 JVM 范围内共享的通用缓存工厂（线程安全单例）
                 *
                 * @return 全局唯一的缓存工厂实例
                 * @throws IllegalStateException 如果初始化过程中发生配置错误
                 */
                getCommonCacheFactory():CacheFactory;
            }
            interface CacheFactory_C extends CacheFactory_S {
                new():CacheFactory;
            }
            interface CacheFactory$ {
                /**
                 * 获取默认分布式缓存实例（无会话模式）
                 * <p>
                 * 对应 {@code redis.serversForCache} 配置的 Redis 集群，
                 * 同一个 region 的缓存实例在工厂中保持单例
                 * </p>
                 *
                 * @return 已配置的分布式缓存实例，不会返回 {@code null}
                 */
                getDistributeSessionlessCache():DistributeSessionlessCache;
                /**
                 * 获取指定 region 的分布式缓存实例
                 * <p>
                 * region 对应 Redis 配置路径 {@code redis.serversForCache.[region]}，
                 * 若未找到配置则回退到默认缓存实例。
                 * </p>
                 *
                 * <h3>使用场景</h3>
                 * 当需要将特定模块的缓存隔离到独立 Redis 实例/集群时：
                 * <pre>
                 * // 获取对应 region 配置的缓存实例
                 * DistributeSessionlessCache cache =
                 *     factory.getDistributeSessionlessCache("order-service");
                 * </pre>
                 *
                 * @param region 缓存区域标识符，{@code null} 表示默认区域
                 * @return 与 region 绑定的分布式缓存实例
                 */
                getDistributeSessionlessCache(region:string):DistributeSessionlessCache;
                /**
                 * 获取带调用链跟踪的分布式缓存实例
                 *
                 * @param trace 是否启用调用链追踪：
                 *              {@code true} 记录完整调用链（默认），
                 *              {@code false} 关闭追踪（极端性能场景使用）
                 * @return 分布式缓存实例，与 {@link #getDistributeSessionlessCache()} 同源
                 * @see #getDistributeSessionlessCache(String)
                 */
                getDistributeSessionlessCache(trace:boolean):DistributeSessionlessCache;
                /**
                 * 获取临时文件缓存实例（全局单例）
                 * <p>
                 * 用于存储临时生成的文件对象，支持自动清理机制
                 * </p>
                 *
                 * @return 临时文件缓存实例
                 */
                getTempFileCache():TempFileCache;
                /**
                 * 获取支持高可用策略的分布式缓存实例
                 *
                 * @param region 缓存区域标识符
                 * @param distributeCacheHAPolicy 自定义高可用策略（故障转移）
                 * @return 应用 HA 策略的缓存实例
                 * @throws UnsupportedOperationException 当策略不被实现支持时抛出
                 */
                getDistributeSessionlessCache(region:string,distributeCacheHAPolicy:DistributeCacheHAPolicy):DistributeSessionlessCache;
                /**
                 * 获取支持会话的分布式缓存实例
                 * <p>
                 * 适用于需要会话绑定的场景（如用户登录态管理）
                 * </p>
                 *
                 * @return 分布式会话缓存实例
                 */
                $getDistributeSessionableCache():DistributeSessionableCache;
                /**
                 * 获取带调用链跟踪的指定 region 缓存实例
                 *
                 * @param region 缓存区域标识符
                 * @param trace 是否启用调用链追踪
                 * @return 对应的分布式缓存实例
                 * @see #getDistributeSessionlessCache(String)
                 */
                getDistributeSessionlessCache(region:string,trace:boolean):DistributeSessionlessCache;
                /**
                 * 获取或创建本地内存缓存实例（自动加载配置文件）
                 * <p>
                 * 当首次请求 region+type 组合时，根据配置文件初始化缓存；
                 * 后续调用返回已创建的实例。
                 * </p>
                 *
                 * @param region 缓存区域，用于隔离不同业务模块
                 * @param type   缓存类型，同一区域下的子分类
                 * @return 存在的或新建的本地缓存实例
                 */
                $getOrCreateLocalMemoryCache(region:string,type_arg:string):LocalMemoryCache;
                /**
                 * 获取或创建带自定义配置的本地缓存（首次创建生效）
                 * <p>
                 * cacheConfig 仅在首次创建时生效，后续调用忽略配置参数
                 * </p>
                 *
                 * @param region      缓存区域标识符
                 * @param type        缓存类型
                 * @param cacheConfig 初始化配置（仅首次生效）
                 * @return 本地缓存实例
                 */
                $getOrCreateLocalMemoryCache(region:string,type_arg:string,cacheConfig:CacheConfigInfo):LocalMemoryCache;
                /**
                 * 获取已存在的本地缓存实例
                 *
                 * @param region 缓存区域标识符
                 * @param type   缓存类型
                 * @return 存在的实例，若未创建则返回 {@code null}
                 */
                $getLocalMemoryCache(region:string,type_arg:string):LocalMemoryCache;
                /**
                 * @param region 缓存区域标识符
                 * @param type   缓存类型
                 * @return 新创建的缓存实例（强制替换已存在的）
                 */
                $createOrReplaceLocalMemoryCache(region:string,type_arg:string,cacheConfig:CacheConfigInfo):LocalMemoryCache;
                /**
                 * 获取或创建指定存储类型的本地缓存
                 * <p>
                 * 支持堆内/堆外存储配置，适用于特殊内存管理场景
                 * </p>
                 *
                 * @param storeType 存储类型 {@link EhcacheStoreType}
                 * @return 配置指定存储策略的缓存实例
                 */
                $getOrCreateLocalMemoryCache(region:string,type_arg:string,cacheConfig:CacheConfigInfo,storeType:EhcacheStoreType):LocalMemoryCache;
            }
            type CacheFactory_T = CacheFactory$;
            interface CacheFactory extends CacheFactory_T {
            }
            interface TempFileCache_S {
            }
            interface TempFileCache_C extends TempFileCache_S {
            }
            interface TempFileCache$ {
                /**
                 * 保存文件并返回包含元数据的映射表，configKey 格式与 saveAsUrl 中枚举的值一样，存在多种情况
                 * @param filename 文件名，不能为{@code null}
                 * @param in 文件输入流，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间24h
                 * @return 包含文件存储元数据的映射表，至少包含id/configKey等字段
                 */
                save(filename:string,in_arg:$.java.io.InputStream,timeout:number):$.java.util.Map;
                /**
                 * 通过URL获取文件输入流
                 * @see kd.bos.cache.tempfile.BaseTempFileCache#parseUrl(java.lang.String)
                 * @param url 临时文件URL地址，不能为{@code null}
                 * @return 文件输入流，调用方需自行关闭该流
                 * @throws KDException 当文件不存在或读取失败时抛出
                 */
                getInputStream(url:string):$.java.io.InputStream;
                /**
                 * 检查指定URL对应的临时文件是否存在
                 * @param url 临时文件URL地址，不能为{@code null}
                 * @return 存在返回{@code true}，否则返回{@code false}
                 */
                exists(url:string):boolean;
                /**
                 * 立即删除指定URL对应的临时文件
                 * @param url 临时文件URL地址，不能为{@code null}
                 * @throws KDException 当删除操作失败时抛出
                 */
                remove(url:string):void;
                /**
                 * 将多个URL文件打包为压缩文件
                 * @param zipName 压缩文件名，不能为{@code null}
                 * @param urls 需要压缩的文件URL数组，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间24h
                 * @return 可下载的压缩文件URL地址
                 * @throws KDException 当压缩过程中发生IO错误时抛出
                 */
                compress(zipName:string,urls:string[],timeout:number):string;
                /**
                 * 将字节数组保存为临时文件，返回完整URL地址，格式与 saveAsUrl 方法一样，区别在于包含了域名
                 * @see TempFileCache#saveAsUrl(java.lang.String, byte[], int)
                 * @param filename 文件名，不能为{@code null}
                 * @param bytes 文件二进制内容，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间24h
                 * @return 包含完整域名的临时文件URL地址
                 */
                saveAsFullUrl(filename:string,bytes:number[],timeout:number):string;
                /**
                 * 将输入流保存为临时文件，返回可访问的URL地址
                 * @see kd.bos.cache.tempfile.BaseTempFileCache#makeUrl(java.lang.String, java.lang.String)
                 * @param filename 文件名，不能为{@code null}
                 * @param in 文件输入流，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间 24h
                 * @return 可访问该临时文件的相对URL地址，格式为 tempfile/download.do?configKey=%s&id=%s
                 * <p> redis 模式，有几种情况：
                 * <p>（1）configKey=tempfile.redis (配置了 temfile.redis 参数） 例如：tempfile/download.do?configKey=tempfile.redis&id=tempfile-2163072020827387904
                 * <p>（2）configKey=redis.serversForCache.tempfile(配置了redis.serversForCache.tempfile 参数） 例如： tempfile/download.do?configKey=redis.serversForCache.tempfile&id=tempfile-2163072020827387904
                 * <p>（3）configKey=redis.serversForCache（使用全局的 sessionless cache）例如： tempfile/download.do?configKey=redis.serversForCache&id=tempfile-2163072020827387904
                 * <p>disk 模式: configKey=tempfile.disk 例如： tempfile/download.do?configKey=tempfile.disk&id=tempfile-2163072020827387904
                 * <p>fileserver 模式：configKey=tempfile.fileserver 例如： tempfile/download.do?configKey=tempfile.fileserver&id=tempfile-2163072020827387904
                 */
                saveAsUrl(filename:string,in_arg:$.java.io.InputStream,timeout:number):string;
                /**
                 * 将字节数组保存为临时文件，返回可访问的URL地址
                 * @see kd.bos.cache.tempfile.BaseTempFileCache#makeUrl(java.lang.String, java.lang.String)
                 * @param filename 文件名，不能为{@code null}
                 * @param bytes 文件二进制内容，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间24h
                 * @return 可访问该临时文件的相对URL地址，格式为 tempfile/download.do?configKey=%s&id=%s
                 * <p> redis 模式，有几种情况：
                 * <p>（1）configKey=tempfile.redis (配置了 temfile.redis 参数） 例如：tempfile/download.do?configKey=tempfile.redis&id=tempfile-2163072020827387904
                 * <p>（2）configKey=redis.serversForCache.tempfile(配置了redis.serversForCache.tempfile 参数） 例如： tempfile/download.do?configKey=redis.serversForCache.tempfile&id=tempfile-2163072020827387904
                 * <p>（3）configKey=redis.serversForCache（使用全局的 sessionless cache）例如： tempfile/download.do?configKey=redis.serversForCache&id=tempfile-2163072020827387904
                 * <p>disk 模式: configKey=tempfile.disk 例如： tempfile/download.do?configKey=tempfile.disk&id=tempfile-2163072020827387904
                 * <p>fileserver 模式：configKey=tempfile.fileserver 例如： tempfile/download.do?configKey=tempfile.fileserver&id=tempfile-2163072020827387904
                 */
                saveAsUrl(filename:string,bytes:number[],timeout:number):string;
                /**
                 * 保存字节数组并返回包含元数据的映射表，configKey 格式与 saveAsUrl 中枚举的值一样，存在多种情况
                 * @param filename 文件名，不能为{@code null}
                 * @param bytes 文件二进制内容，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间24h
                 * @return 包含文件存储元数据的映射表，至少包含id/configKey等字段
                 */
                save(filename:string,bytes:number[],timeout:number):$.java.util.Map;
                /**
                 * 将输入流保存为临时文件，返回完整URL地址，格式与 saveAsUrl 方法一样，区别在于包含了域名
                 * @see TempFileCache#saveAsUrl(String, InputStream, int)
                 * @param filename 文件名，不能为{@code null}
                 * @param in 文件输入流，不能为{@code null}
                 * @param timeout 缓存有效期（单位：秒），超过该时间文件被自动清理，最大设置时间24h
                 * @return 包含完整域名的临时文件URL地址
                 */
                saveAsFullUrl(filename:string,in_arg:$.java.io.InputStream,timeout:number):string;
            }
            type TempFileCache_T = TempFileCache$;
            interface TempFileCache extends TempFileCache_T {
            }
            interface DistributeCacheHAPolicy_S {
            }
            interface DistributeCacheHAPolicy_C extends DistributeCacheHAPolicy_S {
                /**
                 * 默认不启用
                 */
                new():DistributeCacheHAPolicy;
                /**
                 * @param dbBackup 是否启用数据库备份
                 * @param tenantable 是否是在数据库系统初始化后的服务
                 */
                new(dbBackup:boolean,tenantable:boolean):DistributeCacheHAPolicy;
            }
            interface DistributeCacheHAPolicy$ {
                /**
                 * 是否启用数据库备份
                 */
                isDbBackup():boolean;
                /**
                 * 是否是在数据库系统初始化后的服务
                 */
                isTenantable():boolean;
                /**
                 * 设置否是在数据库系统初始化后的服务
                 * </p>
                 * 注意，在传入{@link CacheFactory} 后修改无效。
                 */
                setTenantable(tenantable:boolean):void;
                /**
                 * 设置是否启用数据库备份
                 * </p>
                 * 注意，在传入{@link CacheFactory} 后修改无效。
                 */
                setDbBackup(dbBackup:boolean):void;
            }
            type DistributeCacheHAPolicy_T = DistributeCacheHAPolicy$;
            interface DistributeCacheHAPolicy extends DistributeCacheHAPolicy_T {
            }
        }
        namespace kd.bos.cache.tempfile{
            interface TempFileCacheDownloadable_S {
            }
            interface TempFileCacheDownloadable_C extends TempFileCacheDownloadable_S {
            }
            interface TempFileCacheDownloadable$ {
                /**
                 * 通过configKey和id获取文件内容
                 * @param configKey 存储配置标识符
                 * @param id 文件唯一标识符
                 * @return 文件内容封装对象
                 */
                get(configKey:string,id:string):TempFileCacheDownloadable$Content;
                /**
                 * 通过HTTP请求下载临时文件
                 * @param request HTTP请求对象，需包含configKey/id等必要参数
                 * @return 文件内容封装对象，包含文件流和元数据
                 * @throws IllegalArgumentException 当请求参数不完整时抛出
                 */
                download(request:$.javax.servlet.http.HttpServletRequest):TempFileCacheDownloadable$Content;
                /**
                 * 通过参数映射下载临时文件
                 * @param params 参数映射表，必须包含configKey和id字段
                 * @return 文件内容封装对象
                 * @throws IllegalArgumentException 当参数不完整时抛出
                 */
                download(params:$.java.util.Map):TempFileCacheDownloadable$Content;
            }
            type TempFileCacheDownloadable_T = TempFileCacheDownloadable$;
            interface TempFileCacheDownloadable extends TempFileCacheDownloadable_T {
            }
            interface TempFileCacheDownloadable$Content_S {
            }
            interface TempFileCacheDownloadable$Content_C extends TempFileCacheDownloadable$Content_S {
                new(arg0:number,arg1:$.java.io.InputStream,arg2:string):TempFileCacheDownloadable$Content;
            }
            interface TempFileCacheDownloadable$Content$ {
                getInputStream():$.java.io.InputStream;
                getFilename():string;
            }
            type TempFileCacheDownloadable$Content_T = TempFileCacheDownloadable$Content$;
            interface TempFileCacheDownloadable$Content extends TempFileCacheDownloadable$Content_T {
            }
        }
        namespace kd.bos.coderule.api{
            interface ICoreCodeRuleService_S {
            }
            interface ICoreCodeRuleService_C extends ICoreCodeRuleService_S {
            }
            interface ICoreCodeRuleService$ {
                isExist(arg0:string,arg1:$.kd.bos.dataentity.entity.DynamicObject,arg2:string):boolean;
            }
            type ICoreCodeRuleService_T = ICoreCodeRuleService$;
            interface ICoreCodeRuleService extends ICoreCodeRuleService_T {
            }
            interface CodeRuleEntryInfo_S {
            }
            interface CodeRuleEntryInfo_C extends CodeRuleEntryInfo_S {
                new():CodeRuleEntryInfo;
            }
            interface CodeRuleEntryInfo$ {
                /**
                 * 获取当前编码段是否显示
                 * @return true：显示；false：不显示
                 */
                getVisable():boolean;
                /**
                 * 设置是否有段间分隔符
                 * @param isSplitSign true：有段间分隔符；false：没有段间分隔符
                 */
                setIsSplitSign(isSplitSign:boolean):void;
                /**
                 * 设置使用模式为属性截断长度不够的补位方式
                 * @param addstyle true：右侧补位；false：左侧补位
                 */
                setAddstyle(addstyle:boolean):void;
                /**
                 * 获取编码来源字段标识
                 * @return 字段标识
                 */
                getValueAtribute():string;
                /**
                 * 设置显示格式，仅适用于业务对象日期编码段
                 * @param format 显示格式，如：yyyyMM
                 */
                setFormat(format:string):void;
                /**
                 * 获取当前编码段所在的编码规则信息
                 * @return 编码规则信息
                 */
                getCodeRuleInfo():CodeRuleInfo;
                /**
                 * 设置使用模式为属性截断长度不够的补位符号
                 * @param addchar 补位符号
                 */
                setAddchar(addchar:string):void;
                /**
                 * 设置编码段分录内码
                 * @param entryid 分录内码
                 */
                setEntryid(entryid:string):void;
                /**
                 * 获取是否有段间分隔符
                 * @return true：有段间分隔符；false：没有段间分隔符
                 */
                getIsSplitSign():boolean;
                /**
                 * 获取段间分隔符
                 * @return 段间分隔符
                 */
                getSplitSign():string;
                /**
                 * 获取使用模式为属性截断长度不够的补位符号
                 * @return 补位符号
                 */
                getAddchar():string;
                /**
                 * 设置编码段序号
                 * @param seq 编码段序号
                 */
                setSeq(seq:number):void;
                /**
                 * 设置流水号起始值
                 * @param initial 流水号起始值
                 */
                setInitial(initial:long):void;
                /**
                 * 设置当前编码段是否显示
                 * @param isVisable true：显示；false：不显示
                 */
                setVisable(isVisable:boolean):void;
                /**
                 * 获取编码段序号
                 * @return 编码段序号
                 */
                getSeq():number;
                /**
                 * 获取流水号起始值
                 * @return 流水号起始值
                 */
                getInitial():long;
                /**
                 * 获取使用模式为属性截断长度不够的补位方式
                 * @return true：右侧补位；false：左侧补位
                 */
                getAddstyle():boolean;
                /**
                 * 设置流水号长度
                 * @param length 流水号长度
                 */
                setLength(length:number):void;
                /**
                 * 获取当前编码段是否设置为依据
                 * @return true：当前编码段是依据；false：当前编码段不是依据
                 */
                getIsSortItem():boolean;
                /**
                 * 设置当前编码段是否设置为依据
                 * @param isSortItem true：当前编码段是依据；false：当前编码段不是依据
                 */
                setIsSortItem(isSortItem:boolean):void;
                /**
                 * 获取流水号长度
                 * @return 流水号长度
                 */
                getLength():number;
                /**
                 * 设置使用模式为属性截断的截取方式
                 * @param cutstyle true：从右向左截；false：从左向右截
                 */
                setCutstyle(cutstyle:boolean):void;
                /**
                 * 设置编码段类型
                 * <p>常量 ：1；业务对象日期：2；业务对象字段：8；系统日期：9；随机码：10；流水号：16；校验码：128</p>
                 * <p>具体参考枚举类：<code>CodeRuleEntryTypeEnum</code></p>
                 * @param attributeType 编码段类型
                 */
                setAttributeType(attributeType:string):void;
                /**
                 * 获取使用模式为属性截断的截取方式
                 * @return true：从右向左截；false：从左向右截
                 */
                getCutstyle():boolean;
                /**
                 * 设置流水号步长
                 * @param step 流水号步长
                 */
                setStep(step:long):void;
                /**
                 * 设置当前编码段所在的编码规则信息
                 * @param codeRuleInfo 编码规则信息
                 */
                setCodeRuleInfo(codeRuleInfo:CodeRuleInfo):void;
                /**
                 * 设置获取编码来源字段标识
                 * @param valueAtribute 字段标识
                 */
                setValueAtribute(valueAtribute:string):void;
                /**
                 * 获取编码段分录内码
                 * @return 分录内码
                 */
                getEntryid():string;
                /**
                 * 获取显示格式，仅适用于业务对象日期编码段
                 * @return 显示格式，如：yyyyMM
                 */
                getFormat():string;
                /**
                 * 获取编码段类型
                 * <p>常量 ：1；业务对象日期：2；业务对象字段：8；系统日期：9；随机码：10；流水号：16；校验码：128</p>
                 * <p>具体参考枚举类：<code>CodeRuleEntryTypeEnum</code></p>
                 * @return 编码段类型
                 */
                getAttributeType():string;
                /**
                 * 获取流水号步长
                 * @return 流水号步长
                 */
                getStep():long;
                /**
                 * 设置段间分隔符
                 * @param splitSign 段间分隔符
                 */
                setSplitSign(splitSign:string):void;
            }
            type CodeRuleEntryInfo_T = CodeRuleEntryInfo$;
            interface CodeRuleEntryInfo extends CodeRuleEntryInfo_T {
            }
            interface CodeRuleInfo_S {
            }
            interface CodeRuleInfo_C extends CodeRuleInfo_S {
                new():CodeRuleInfo;
            }
            interface CodeRuleInfo$ {
                /**
                 * 是否开启新增显示
                 * @return true：开启新增显示；false：关闭新增显示
                 */
                getIsAddView():boolean;
                /**
                 * 是否开启断号补偿
                 * @return true：开启断号补偿；false：关闭断号补偿
                 */
                getIsNonBreak():boolean;
                /**
                 * 获取启动条件配置
                 * <p>通用过滤控件序列化数据</p>
                 * <p>可通过此方式反序列化使用：<code>FilterCondition condition = SerializationUtils.fromJsonString(enableCondition, FilterCondition.class)</code></p>
                 * @return 启动条件配置
                 */
                getEnableCondition():string;
                /**
                 * 获取编码规则编码
                 * @return 编码规则编码
                 */
                getCodeRuleNumber():string;
                /**
                 * 获取业务对象编码
                 * @return 业务对象编码
                 */
                getEntityId():string;
                /**
                 * 是否用0补位
                 * @return true：用0补位；false：不用0补位
                 */
                isFillWithZero():boolean;
                /**
                 * 获取编码规则id
                 * @return 编码规则id
                 */
                getId():string;
                /**
                 * 获取修改编码时更新最大号的场景，界面上是下拉选。包含导入、下推和修改三种场景
                 * @return 修改编码时更新最大号的场景
                 */
                getUpdateMaxNumber():string;
                /**
                 * 获取修改编码时使用断号的场景，界面上是下拉选。包含导入、下推和修改三种场景
                 * @return 修改编码时使用断号的场景
                 */
                getUseInterruption():string;
                /**
                 * 获取受控组织配置信息
                 * @return 受控组织配置信息
                 */
                getOrgEntry():$.java.util.List;
                /**
                 * 获取使用组织id
                 * @return 使用组织id
                 */
                getOrgId():long;
                /**
                 * 是否开启修改时重新编码
                 * @return true：开启修改时重新编码；false：关闭修改时重新编码
                 */
                isUpdateRecover():boolean;
                /**
                 * 获取编码规则名称
                 * @return 编码规则名称
                 */
                getName():string;
                /**
                 * 获取编码规则的编码段信息
                 * @return 编码段信息
                 */
                getRuleEntry():$.java.util.List;
                /**
                 * 是否校验编码格式
                 * @return true：校验编码格式；false：不校验编码格式
                 */
                isCheckNumber():boolean;
                /**
                 * 是否开启允许修改
                 * @return true：开启允许修改；false：未开启允许修改
                 */
                getIsModifiable():boolean;
                /**
                 * 是否流水号自动升位
                 * @return true：自动升位；false：限制固定长度
                 */
                isAutoIncrLength():boolean;
                /**
                 * 获取分隔符
                 * @return 分隔符
                 */
                getSplitSign():string;
            }
            type CodeRuleInfo_T = CodeRuleInfo$;
            interface CodeRuleInfo extends CodeRuleInfo_T {
            }
            interface ConditionEntryInfo_S {
            }
            interface ConditionEntryInfo_C extends ConditionEntryInfo_S {
                new():ConditionEntryInfo;
            }
            interface ConditionEntryInfo$ {
                getProperty():string;
                getPropertyValue():string;
                setProperty(property:string):void;
                setPropertyValue(propertyValue:string):void;
            }
            type ConditionEntryInfo_T = ConditionEntryInfo$;
            interface ConditionEntryInfo extends ConditionEntryInfo_T {
            }
            interface ICodeRuleService_S {
            }
            type ICodeRuleService_ST = ICodeRuleService_S & kd.bos.coderule.api.ICoreCodeRuleService_S;
            interface ICodeRuleService_C extends ICodeRuleService_ST {
            }
            interface ICodeRuleService$ {
                /**
                 * 生成编号
                 * <p>会根据指定实体，动态对象信息和受控组织ID，生成编号。</p>
                 * <p>调用后最大号会加1，或者消耗断号记录（当前编码规则流水号段开启“断号补偿”时，才会消耗断号表的记录）</p>
                 * @param entityId 实体编码
                 * @param dataInfo 数据对象（单据或基础资料，对象上需要具有生成编码的所需信息）
                 * @param orgId    受控组织id，为空时默认取动态对象的主业务组织，主业务组织为空时默认取当前用户的组织
                 * @return 编号
                 */
                getNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgId:string):string;
                /**
                 * 获取编码规则配置信息
                 * @param entityId 实体编码
                 * @param dataInfo 数据对象集合（单据或基础资料，对象上需要具有编码规则配置的所需信息）
                 * @param orgID 受控组织ID，如果没有配置受控组织，传null即可
                 */
                getCodeRule(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):CodeRuleInfo;
                /**
                 * 预读编号
                 * <p>根据指定实体，动态对象信息和受控组织ID，生成编号。调用后最大号不变，断号记录也不会被消耗。</p>
                 * @param entityId 实体编码
                 * @param dataInfo 数据对象（单据或基础资料，对象上需要具有生成编码的所需信息）
                 * @param orgId    受控组织ID，如果没有配置受控组织，传null即可
                 * @return 编号
                 */
                readNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgId:string):string;
                /**
                 * 回收断号，当删除编号时，可以调用此方法保存断号
                 * @param entityId 实体编码
                 * @param dataInfo 数据对象（单据或基础资料，对象上需要具有回收编码的所需信息）
                 * @param orgID 受控组织ID，如果没有配置受控组织，传null即可
                 * @param number 待回收的编号
                 * @return 是否成功
                 */
                recycleNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string,number_arg:string):boolean;
                /**
                 * 批量生成编号, 根据动态对象集合, 顺序返回对应的编号
                 * (未匹配到的动态对象也会在返回集合中占用一个位置, 值为null)
                 * @param entityId 实体编码
                 * @param dynamicObjects 动态对象集合（单据或基础资料，对象上需要具有生成编码的所需信息）
                 * @return 返回对应的编号 (按照 dynamicObjects 的顺序)
                 */
                getNumbers?(entityId:string,dynamicObjects:$.java.util.List):$.java.util.List;
                /**
                 * 获取指定实体的全部启用状态的编码规则。
                 * @param entityID 实体标识
                 * @return 指定实体的全部启用状态的编码规则。
                 */
                getAllCodeRuleByEntity(entityID:string):$.java.util.List;
                /**
                 * 批量回收断号，当删除编号时，可以调用此方法保存断号
                 * @param entityId 实体编码
                 * @param dataInfo 数据对象集合（单据或基础资料，对象上需要具有回收编码的所需信息）
                 *                 数据对象集合的顺序要和待回收编号集合numbers顺序一致
                 * @param orgID 受控组织ID，如果没有配置受控组织，传null即可
                 * @param numbers 待回收的编号集合
                 * @return 是否成功
                 */
                recycleBatchNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject[],orgID:string,numbers:string[]):boolean[];
                /**
                 * 批量生成编号，会根据指定实体，动态对象信息和受控组织ID，生成编号。
                 * @param entityId 实体编码
                 * @param dataInfo 数据对象（单据或基础资料，对象上需要具有生成编码的所需信息）
                 * @param orgID 受控组织ID，如果没有配置受控组织，传null即可
                 * @param count 批量生成编号的个数
                 * @return String[] 编码规则生成的批量编号
                 */
                getBatchNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string,count:number):string[];
            }
            type ICodeRuleService_T = ICodeRuleService$ & kd.bos.coderule.api.ICoreCodeRuleService;
            interface ICodeRuleService extends ICodeRuleService_T {
            }
            interface OrgEntryInfo_S {
            }
            interface OrgEntryInfo_C extends OrgEntryInfo_S {
                new():OrgEntryInfo;
            }
            interface OrgEntryInfo$ {
                /**
                 * 获取组织id
                 * @return 组织id
                 */
                getOrgId():long;
                /**
                 * 获取组织是否包含下级
                 * @return true：包含下级；false：不包含下级
                 */
                getIsIncludeSubOrg():boolean;
                /**
                 * 设置组织id
                 * @param orgId
                 */
                setOrgId(orgId:long):void;
                /**
                 * 设置组织是否包含下级
                 * @param isIncludeSubOrg true：包含下级；false：不包含下级
                 */
                setIsIncludeSubOrg(isIncludeSubOrg:boolean):void;
            }
            type OrgEntryInfo_T = OrgEntryInfo$;
            interface OrgEntryInfo extends OrgEntryInfo_T {
            }
        }
        namespace kd.bos.coderule.constant{
            interface CodeRuleConstant_S {
                readonly RANDOM_NUMBER_LENGTH:number;
                readonly BAS_CODERULE:string;
                readonly CODERULE_SPECIAL_SPLIT_FOR_SERIAL_NUMBER:string;
                readonly SORTITEMVALUE:string;
                readonly TABLE_CODERULE:string;
                readonly ERRCODE_CODERULE_VALIDATE_NUMBER:string;
                readonly ENTITYID_CODERULE_MAXSERIAL:string;
                readonly CODERULE_ENTITY_INTERMITNO:string;
                readonly BILLNO_KEY:string;
                readonly BOTP_PUSH_TAG:string;
                readonly ERRCODE_CODERULE:string;
                readonly CODE_RULE_ID:string;
                readonly SERIAL:string;
                readonly VIRTUAL_ID:string;
                getCODELENGTHERROR():string;
            }
            interface CodeRuleConstant_C extends CodeRuleConstant_S {
            }
            interface CodeRuleConstant$ {
            }
            type CodeRuleConstant_T = CodeRuleConstant$;
            interface CodeRuleConstant extends CodeRuleConstant_T {
            }
        }
        namespace kd.bos.coderule.ext{
            interface ICodeRuleEditPlugin_S {
            }
            interface ICodeRuleEditPlugin_C extends ICodeRuleEditPlugin_S {
            }
            interface ICodeRuleEditPlugin$ {
                /**
                 * 初始化启动条件前事件
                 * 可在此事件设置可选字段
                 * @param args 参数
                 */
                beforeInitFilterCondition?(args:BeforeInitFilterConditionArgs):void;
                /**
                 * 获取业务对象（单据、基础资料）编码（表单标识）
                 * 用于判断此插件适用于对应的单据
                 * @return 业务对象编码（如业务对象有扩展，请返回原业务对象编码）
                 */
                getBizObjectNumber():string;
            }
            type ICodeRuleEditPlugin_T = ICodeRuleEditPlugin$;
            interface ICodeRuleEditPlugin extends ICodeRuleEditPlugin_T {
            }
            interface BeforeInitFilterConditionArgs_S {
            }
            interface BeforeInitFilterConditionArgs_C extends BeforeInitFilterConditionArgs_S {
                new():BeforeInitFilterConditionArgs;
                new(fieldKeys:$.java.util.List):BeforeInitFilterConditionArgs;
                new(filterColumns:$.java.util.List,fieldKeys:$.java.util.List):BeforeInitFilterConditionArgs;
            }
            interface BeforeInitFilterConditionArgs$ {
                getFieldKeys():$.java.util.List;
                setFilterColumns(filterColumns:$.java.util.List):void;
                getFilterColumns():$.java.util.List;
                setFieldKeys(fieldKeys:$.java.util.List):void;
            }
            type BeforeInitFilterConditionArgs_T = BeforeInitFilterConditionArgs$;
            interface BeforeInitFilterConditionArgs extends BeforeInitFilterConditionArgs_T {
            }
        }
        namespace kd.bos.coderule.service{
            interface CodeRuleServiceImp_S {
                /**
                 * 计算校验码
                 * 校验码的计算步骤如下：
                 * a.从代码位置序号2开始，所有偶数位的数字代码求和。
                 * b.将步骤a的和乘以3。
                 * c.从代码位置序号3开始，所有奇数位的数字代码求和。
                 * d.将步骤b与步骤c的结果相加。
                 * e.用大于或等于步骤d所得结果且为10最小整数倍的数减去步骤d所得结果，其差即为所求校验码的值。
                 * @param num 编号
                 * @return 校验码
                 */
                getCheckNumber(num:string):number;
            }
            type CodeRuleServiceImp_ST = $.kd.bos.coderule.api.ICodeRuleService & CodeRuleServiceImp_S & kd.bos.coderule.constant.CodeRuleConstant_S;
            interface CodeRuleServiceImp_C extends CodeRuleServiceImp_ST {
                /**
                 * 编码规则服务实现类构造方法
                 */
                new():CodeRuleServiceImp;
            }
            interface CodeRuleServiceImp$ {
                /**
                 * 根据实体ID获取使用的编码规则
                 *
                 * @param entityId 实体ID串
                 * @param orgID 组织id
                 * @return 编码规则信息对象
                 */
                getCodeRuleByEntityID(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):$.kd.bos.coderule.api.CodeRuleInfo;
                /**
                 * 根据传入dynamicObject，更新最大号
                 * @param unGenerateDynamicObjs 数据对象
                 * @param billNoFldKey 单据编号字段标识
                 */
                updateMaxserialNumbers(unGenerateDynamicObjs:$.java.util.List,billNoFldKey:string):void;
                /**
                 * 描述: 批量生成的编码, 根据动态对象集合, 顺序返回对应的编号
                 * (未匹配到的动态对象也会在返回集合中占用一个位置, 值为null)
                 *
                 * @param entityId 实体编码
                 * @param dynamicObjects 动态对象集合
                 * @return 返回对应的编号 (按照 dynamicObjects 的顺序)
                 */
                getNumbers(entityId:string,dynamicObjects:$.java.util.List,codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo):$.java.util.List;
                /**
                 * 生成示例编号
                 * @param codeRuleInfo 编码规则
                 * @param dataInfo 数据包
                 * @return 示例编号
                 */
                generateExampleSerialNumber(codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo,dataInfo:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 描述：获取流水号分组条件
                 */
                getSortItem(codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo,dataInfo:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 查询适用的编码规则
                 * @param codeRuleList 指定实体的全部启用状态的编码规则
                 * @param entityId     实体标识
                 * @param orgID        创建组织ID
                 * @param dataInfo     数据对象
                 * @return CodeRuleInfo 编码规则信息对象。
                 */
                getUsableCodeRuleId(codeRuleList:$.java.util.List,entityId:string,orgID:long,dataInfo:$.kd.bos.dataentity.entity.DynamicObject):$.kd.bos.coderule.api.CodeRuleInfo;
                /**
                 * 生成编号
                 * <p>会根据指定实体，动态对象信息和受控组织ID，生成或者预读编号。</p>
                 * @param codeRuleInfo 编码规则实体
                 * @param dataInfo 数据对象（单据或基础资料，对象上需要具有生成编码的所需信息）
                 * @param isReadNumber 是否预读编号
                 * @return 编号
                 */
                getNumber(codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,isReadNumber:boolean):string;
                /**
                 * 消耗断号
                 * <p color="red">此方法会删除断号表数据，数据删除不可恢复，请注意传参</p>
                 * @param codeRuleGroupList 需删除的断号数据
                 */
                consumptionIntermitnos(codeRuleGroupList:$.java.util.List):void;
                /**
                 * 根据实体ID获取使用的编码规则
                 *
                 * @param entityId 实体ID串
                 * @return 编码规则信息对象
                 */
                getCodeRuleByEntityID(entityId:string):$.kd.bos.coderule.api.CodeRuleInfo;
                /**
                 * 修改最大号 根据相同依据分组
                 * @param dynamicObjects 数据对象
                 * @param codeRuleInfo 编码规则实体对象
                 * @param sortItem 依据值
                 * @param billNoFldKey 单据编号字段标识
                 */
                updateMaxserialNumbersBySortitem(dynamicObjects:$.java.util.List,codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo,sortItem:string,billNoFldKey:string):void;
            }
            type CodeRuleServiceImp_T = $.kd.bos.coderule.api.ICodeRuleService & CodeRuleServiceImp$ & kd.bos.coderule.constant.CodeRuleConstant;
            interface CodeRuleServiceImp extends CodeRuleServiceImp_T {
            }
        }
        namespace kd.bos.consts{
            interface PermItemConst_S {
            }
            interface PermItemConst_C extends PermItemConst_S {
            }
            interface PermItemConst$ {
            }
            type PermItemConst_T = PermItemConst$;
            interface PermItemConst extends PermItemConst_T {
            }
            interface BOSExtPackage_S {
            }
            interface BOSExtPackage_C extends BOSExtPackage_S {
                new():BOSExtPackage;
            }
            interface BOSExtPackage$ {
            }
            type BOSExtPackage_T = BOSExtPackage$;
            interface BOSExtPackage extends BOSExtPackage_T {
            }
        }
        namespace kd.bos.context{
            interface OperationContext_S {
                readonly KEY_formId:string;
                readonly KEY_formName:string;
                readonly KEY_appId:string;
                readonly KEY_opMethod:string;
                readonly KEY_tenantId:string;
                readonly KEY_opKey:string;
                /**
                 * 移除当前线程的操作上下文
                 */
                remove():void;
                /**
                 * 设置操作上下文到当前线程
                 * @param context 操作上下文
                 */
                set(context:OperationContext):void;
                /**
                 * 获取操作上下文
                 * @return 操作上下文
                 */
                get():OperationContext;
            }
            interface OperationContext_C extends OperationContext_S {
                new():OperationContext;
            }
            interface OperationContext$ {
                /**
                 * 设置操作上下文的表单id
                 * @param formId 表单id
                 */
                setFormId(formId:string):void;
                /**
                 * 设置操作上下文的操作标识
                 * @param opKey 操作标识
                 */
                setOpKey(opKey:string):void;
                /**
                 * 获取操作上下文的操作标识
                 * @return 操作标识
                 */
                getOpKey():string;
                /**
                 * 获取操作上下文的表单名称
                 * @return 表单名称
                 */
                getFormName():string;
                /**
                 * 获取操作上下文的租户id
                 * @return 租户id
                 */
                getTenantId():string;
                /**
                 * 操作上下文深拷贝
                 * @return 新的操作上下文对象
                 */
                copy():this;
                /**
                 * 设置操作上下文的表单名称
                 * @param formName 表单名称
                 */
                setFormName(formName:string):void;
                /**
                 * 获取操作上下文的应用编码
                 * @return 应用编码
                 */
                getAppId():string;
                /**
                 * 设置操作上下文的应用编码
                 * @param appId 应用编码
                 */
                setAppId(appId:string):void;
                /**
                 * 设置操作上下文的操作方法
                 * @param opMethod 操作方法
                 */
                setOpMethod(opMethod:string):void;
                /**
                 * 获取操作上下文的操作方法
                 * @return 操作方法
                 */
                getOpMethod():string;
                /**
                 * 获取操作上下文的表单id
                 * @return 表单id
                 */
                getFormId():string;
                /**
                 * 设置操作上下文的租户id
                 * @param tenantId 租户id
                 */
                setTenantId(tenantId:string):void;
            }
            type OperationContext_T = OperationContext$;
            interface OperationContext extends OperationContext_T {
            }
            interface RequestContextCreator_S {
                /**
                 * MQ使用，请求上下文对象设置到当前线程
                 * @param rc 请求上下文
                 */
                restoreForMQ(rc:RequestContext):void;
                /**
                 * 创建符合当前session的上下文，目前仅给Mutex删除使用
                 *
                 * @param globalSessionId 全局会话id
                 * @param sessionInfo 会话信息
                 * @param client 客户端
                 */
                createForOnlySesssion(globalSessionId:string,sessionInfo:kd.bos.session.SessionInfo,client:string):void;
                /**
                 * 创建userAgent=Schedule，client=batch的请求上下文
                 * @param tenantId 租户id
                 * @param accountId 账套id
                 */
                createForPreheat(tenantId:string,accountId:string):void;
                /**
                 * 创建userAgent=Schedule，client=batch的请求上下文
                 * @param tenantId 租户id
                 * @param accountId 账套id
                 * @param userId 用户id
                 */
                createBatch(tenantId:string,accountId:string,userId:string):void;
                /**
                 * 创建userAgent=Schedule，client=batch的请求上下文
                 * @param tenantId 租户id
                 * @param userId 用户id
                 */
                createBatch(tenantId:string,userId:string):void;
                /**
                 * 线程池使用，请求上下文对象设置到当前线程
                 * @param rc 请求上下文
                 */
                restoreForThreadPool(rc:RequestContext):void;
                /**
                 * 根据用户会话信息创建请求上下文
                 * @param request servlet容器的request对象
                 * @param globalSessionId 全局会话id
                 * @param sessionInfo 用户会话信息
                 */
                create(request:$.javax.servlet.http.HttpServletRequest,globalSessionId:string,sessionInfo:kd.bos.session.SessionInfo):void;
                /**
                 * 创建userAgent=Schedule，client=batch的请求上下文
                 * @param tenantId 租户id
                 * @param accountId 账套id
                 * @param userId 用户id
                 * @param orgId 组织id
                 * @param lang 语种
                 * @param cacheGlSessionId 是否缓存会话信息
                 */
                createBatch(tenantId:string,accountId:string,userId:string,orgId:long,lang:$.kd.bos.lang.Lang,cacheGlSessionId:boolean):void;
                /**
                 * 商旅集成
                 *
                 * @param tenantId 租户id
                 * @param accountId 账套id
                 * @param userId 用户id
                 */
                createForTripSI(tenantId:string,accountId:string,userId:string):void;
                /**
                 * 第三方的MQ集成，需要在后台创建上下文对象 注意的地方：使用时，只有traceId，globalSessionId，和传入的3个参数是可靠可用的
                 *
                 * @param tenantId 租户id
                 * @param accountId 账套id
                 * @param userId 用户id
                 * @param lang 语种
                 */
                createFor3RDMQ(tenantId:string,accountId:string,userId:string,lang:$.kd.bos.lang.Lang):void;
                /**
                 * 创建请求上下文并设置到当前线程，设置全局会话id
                 * @param sessionId 全局会话id
                 * @return 请求上下文
                 */
                createOnlySession(sessionId:string):RequestContext;
                /**
                 * 创建userAgent=Schedule，client=batch的请求上下文
                 * @param tenantId 租户id
                 * @param accountId 账套id
                 * @param userId 用户id
                 * @param orgId 组织id
                 * @param lang 语种
                 */
                createBatch(tenantId:string,accountId:string,userId:string,orgId:long,lang:$.kd.bos.lang.Lang):void;
                /**
                 * 创建线程池专用的请求上下文
                 * @return 请求上下文
                 */
                createForThreadPool():RequestContext;
                /**
                 * 创建上下文
                 * @param request servlet容器的请求对象
                 * @param globalSessionId 全局会话id
                 * @param sessionInfo 用户会话信息
                 * @param isRefreshSession 是否刷新session
                 */
                create(request:$.javax.servlet.http.HttpServletRequest,globalSessionId:string,sessionInfo:kd.bos.session.SessionInfo,isRefreshSession:boolean):void;
            }
            interface RequestContextCreator_C extends RequestContextCreator_S {
                new():RequestContextCreator;
            }
            interface RequestContextCreator$ {
            }
            type RequestContextCreator_T = RequestContextCreator$;
            interface RequestContextCreator extends RequestContextCreator_T {
            }
            interface KdtxRequestContext_S {
                /**
                 * 获取当前线程的分布式事务上下文，若没有则创建一个空对象
                 * @return 分布式事务上下文
                 */
                get():KdtxRequestContext;
            }
            type KdtxRequestContext_ST = $.java.io.Serializable & KdtxRequestContext_S;
            interface KdtxRequestContext_C extends KdtxRequestContext_ST {
                new():KdtxRequestContext;
            }
            interface KdtxRequestContext$ {
                /**
                 * 获取分布式事务请求上下文的分布式事务id
                 * @return 分布式事务id
                 */
                getXid():string;
            }
            type KdtxRequestContext_T = $.java.io.Serializable & KdtxRequestContext$;
            interface KdtxRequestContext extends KdtxRequestContext_T {
            }
            interface RequestContext_S {
                readonly MANUAL_STRING:string;
                readonly key_orgId:string;
                readonly key_userType:string;
                readonly key_sandboxId:string;
                readonly key_clientUrl:string;
                readonly key_loginTime:string;
                readonly key_tenantId:string;
                readonly key_requestId:string;
                readonly key_uId:string;
                readonly key_userOpenId:string;
                readonly key_userAgent:string;
                readonly key_client:string;
                readonly key_loginIP:string;
                readonly key_userName:string;
                readonly key_userId:string;
                /**
                 * 获取或创建一个新的上下文
                 *
                 * @return 上下文信息
                 */
                getOrCreate():RequestContext;
                /**
                 * 获取异常堆栈信息
                 *
                 * @return
                 */
                getSetStack():string;
                /**
                 * 创建新的上下文信息
                 *
                 * @return 上下文信息
                 */
                create():RequestContext;
                /**
                 * <p>
                 * 增加全局属性时，请在此同步增加复制。
                 * <p>
                 * 注意使用场合 ：务必在新线程中调用本方法，用于自行启动线程设置上下文。
                 */
                copy(rc:RequestContext):RequestContext;
                /**
                 * 设置上下文信息
                 *
                 * @param rc
                 */
                set(rc:RequestContext):void;
                /**
                 * 获取上下文信息
                 *
                 * @return 上下文信息
                 */
                get():RequestContext;
                /**
                 * 创建上下文信息
                 *
                 * @param setCurrent true-创建新的山下文
                 *                   false-返回当前上下文
                 * @return 上下文信息
                 */
                create(setCurrent:boolean):RequestContext;
                /**
                 * 拷贝并设置为当前线程上下文
                 *
                 * @param rc 上下文信息
                 * @return 新的上下文信息
                 */
                copyAndSet(rc:RequestContext):RequestContext;
            }
            type RequestContext_ST = $.java.io.Serializable & RequestContext_S;
            interface RequestContext_C extends RequestContext_ST {
                new():RequestContext;
            }
            interface RequestContext$ {
                /**
                 * 设置操作类型
                 *
                 * @param operationType
                 */
                setOperationType(operationType:string):void;
                /**
                 * 设置云之家应用登录的Ticket
                 *
                 * @return
                 */
                setYzjAppTicket(yzjAppTicket:string):void;
                /**
                 * 获取请求的客户端代理名称
                 */
                getUserAgent():string;
                /**
                 * 获取登陆组织
                 *
                 * @return
                 */
                getLoginOrg():string;
                /**
                 * 获取查询参数
                 *
                 * @return
                 */
                getQueryString():string;
                /**
                 * 获取云之家应用登录的Ticket
                 *
                 * @return
                 */
                getYzjAppTicket():string;
                /**
                 * 设置云之家应用登录的AppId
                 *
                 * @param yzjAppId
                 */
                setYzjAppId(yzjAppId:string):void;
                /**
                 * 设置账套所属公司ID
                 *
                 * @param accCompanyId
                 */
                setAccCompanyId(accCompanyId:string):void;
                /**
                 * 获取云之家应用登录的AppId
                 *
                 * @return
                 */
                getYzjAppId():string;
                /**
                 * 设置登陆时间
                 *
                 * @param loginTime
                 */
                setLoginTime(loginTime:string):void;
                /**
                 * 获取客户端完整路径
                 *
                 * @return
                 */
                getClientFullContextPath():string;
                /**
                 * 获取第三方应用系统api访问应用id
                 *
                 * @return
                 */
                getApi3rdAppId():string;
                /**
                 * 设置客户端URL
                 *
                 * @param clientUrl
                 */
                setClientUrl(clientUrl:string):void;
                /**
                 * 获取上下文请求ID
                 *
                 * @return
                 */
                getRequestId():string;
                /**
                 * 设置登陆组织
                 *
                 * @param loginOrg
                 */
                setLoginOrg(loginOrg:string):void;
                /**
                 * 设置当前语言
                 */
                setLang(lang:$.kd.bos.lang.Lang):void;
                /**
                 * 获取当前会话的租户别名
                 *
                 * @return
                 */
                getTenantCode():string;
                /**
                 * 获取第三方商务合作伙伴ID
                 *
                 * @return
                 */
                getBizPartnerId():long;
                /**
                 * 获取请求的客户端类型
                 */
                getClient():string;
                /**
                 * 设置当前sessionId
                 *
                 * @param globalSessionId
                 */
                setGlobalSessionId(globalSessionId:string):void;
                /**
                 * 设置当前会话的租户别名
                 *
                 * @param tenantCode
                 */
                setTenantCode(tenantCode:string):void;
                /**
                 * 获取登陆时间
                 *
                 * @return
                 */
                getLoginTime():string;
                /**
                 * 获取当前语言
                 */
                getLang():$.kd.bos.lang.Lang;
                /**
                 * 设置租户信息
                 *
                 * @param tenantInfo
                 */
                setTenantInfo(tenantInfo:kd.bos.tenant.TenantInfo):void;
                /**
                 * 设置用户类型
                 *
                 * @param userType
                 */
                setUserType(userType:string):void;
                /**
                 * 获取操作类型
                 *
                 * @return
                 */
                getOperationType():string;
                /**
                 * 获取当前sessionId
                 *
                 * @return
                 */
                getGlobalSessionId():string;
                /**
                 * 设置当前调用链跟踪信息ID
                 */
                setTraceId(traceId:string):void;
                /**
                 * 获取用户名
                 *
                 * @return
                 */
                getUserName():string;
                /**
                 * 获取租户信息
                 *
                 * @return
                 */
                getTenantInfo():kd.bos.tenant.TenantInfo;
                /**
                 * 设置请求的客户端代理名称
                 *
                 * @param userAgent
                 */
                setUserAgent(userAgent:string):void;
                /**
                 * 获取登陆IP
                 *
                 * @return
                 */
                getLoginIP():string;
                /**
                 * 获取用户类型
                 *
                 * @return
                 */
                getUserType():string;
                /**
                 * 设置客户端路径
                 *
                 * @param clientFullContextPath
                 */
                setClientFullContextPath(clientFullContextPath:string):void;
                /**
                 * 设置登陆ID
                 *
                 * @param loginIP
                 */
                setLoginIP(loginIP:string):void;
                /**
                 * @param bizPartnerId
                 */
                setBizPartnerId(bizPartnerId:long):void;
                /**
                 * 设置当前用户登录的组织内码
                 *
                 * @param orgid
                 *            组织内码
                 */
                setOrgId(orgid:long):void;
                /**
                 * 设置用户名
                 *
                 * @param userName
                 */
                setUserName(userName:string):void;
                /**
                 * 获取用户的openId
                 */
                getUserOpenId():string;
                /**
                 * 获取账套所属公司ID
                 *
                 * @return
                 */
                getAccCompanyId():string;
                /**
                 * 设置查询参数
                 *
                 * @param queryString
                 */
                setQueryString(queryString:string):void;
                /**
                 * 设置用户的openId
                 */
                setUserOpenId(userOpenId:string):void;
                /**
                 * 设置上下文请求ID
                 *
                 * @param requestId
                 */
                setRequestId(requestId:string):void;
                /**
                 * 根据租户的code构建新的URL
                 *
                 * @param url
                 * @return
                 */
                convertTenantURL(url:string):string;
                /**
                 * 获取当前调用链跟踪信息ID
                 */
                getTraceId():string;
                /**
                 * 设置请求的客户端类型
                 */
                setClient(client:string):void;
                /**
                 * 获取当前用户登录的组织内码
                 *
                 * @return
                 */
                getOrgId():long;
                /**
                 * 设置客户端URL
                 *
                 * @return
                 */
                getClientUrl():string;
                /**
                 * 获取当前用户ID
                 *
                 * @return
                 */
                getCurrUserId():long;
                /**
                 * 获取账套ID
                 * @return
                 */
                getAccountId():string;
                /**
                 * 设置账套ID
                 *
                 * @param accountId
                 */
                setAccountId(accountId:string):void;
                /**
                 * 获取租户ID
                 *
                 * @return
                 */
                getTenantId():string;
                /**
                 * 设置第三方应用系统api访问应用id
                 *
                 * @param api3rdAppId
                 */
                setApi3rdAppId(api3rdAppId:string):void;
                /**
                 * 设置租户ID
                 *
                 * @param tenantId
                 */
                setTenantId(tenantId:string):void;
            }
            type RequestContext_T = $.java.io.Serializable & RequestContext$;
            interface RequestContext extends RequestContext_T {
            }
        }
        namespace kd.bos.ctlog{
            interface ICtLogPlugin_S {
            }
            interface ICtLogPlugin_C extends ICtLogPlugin_S {
            }
            interface ICtLogPlugin$ {
                /**
                 * 查询协同日志
                 *
                 * @param args
                 */
                queryCtLog?(args:kd.bos.ctlog.dto.CtLogQueryArgs):$.java.util.List;
            }
            type ICtLogPlugin_T = ICtLogPlugin$;
            interface ICtLogPlugin extends ICtLogPlugin_T {
            }
        }
        namespace kd.bos.ctlog.dto{
            interface CtLogQueryArgs_S {
            }
            type CtLogQueryArgs_ST = $.java.io.Serializable & CtLogQueryArgs_S;
            interface CtLogQueryArgs_C extends CtLogQueryArgs_ST {
                new():CtLogQueryArgs;
            }
            interface CtLogQueryArgs$ {
                getQueryEndTime():Date;
                setLogType(logType:long):void;
                getQueryNum():number;
                getLogType():long;
                setQueryEndTime(queryEndTime:Date):void;
                getLogStatus():string;
                getBillNo():string;
                setLogStatus(logStatus:string):void;
                setQueryNum(queryNum:number):void;
                setBillId(billId:string):void;
                getBillNumber():string;
                getBillId():string;
                getQueryStartTime():Date;
                setBillNumber(billNumber:string):void;
                setQueryStartTime(queryStartTime:Date):void;
                setBillNo(billNo:string):void;
            }
            type CtLogQueryArgs_T = $.java.io.Serializable & CtLogQueryArgs$;
            interface CtLogQueryArgs extends CtLogQueryArgs_T {
            }
        }
        namespace kd.bos.data{
            interface BusinessDataWriter_S {
            }
            interface BusinessDataWriter_C extends BusinessDataWriter_S {
                new():BusinessDataWriter;
            }
            interface BusinessDataWriter$ {
            }
            type BusinessDataWriter_T = BusinessDataWriter$;
            interface BusinessDataWriter extends BusinessDataWriter_T {
            }
            interface BusinessDataReader_S {
            }
            interface BusinessDataReader_C extends BusinessDataReader_S {
                new():BusinessDataReader;
            }
            interface BusinessDataReader$ {
            }
            type BusinessDataReader_T = BusinessDataReader$;
            interface BusinessDataReader extends BusinessDataReader_T {
            }
        }
        namespace kd.bos.dataentity{
            interface TypesContainer_S {
                /**
                 * 创建实例
                 */
                createInstance(cls:$.java.lang.Class):any;
                /**
                 * 获取或者注册（加载）类
                 * @param type 类全限定名
                 * @return 类类型
                 */
                getOrRegister(type_arg:string):$.java.lang.Class;
                /**
                 * 获取或者注册单例对象
                 * @param type 类全限定名
                 * @return 单例对象
                 */
                getOrRegisterSingletonInstance(type_arg:string):any;
                /**
                 * 通过类全限定名创建对象实例
                 * @param className 类全限定名
                 * @return 返回对象实例
                 */
                createInstance(className:string):any;
            }
            interface TypesContainer_C extends TypesContainer_S {
                new():TypesContainer;
            }
            interface TypesContainer$ {
            }
            type TypesContainer_T = TypesContainer$;
            interface TypesContainer extends TypesContainer_T {
            }
            interface RefObject_S {
            }
            interface RefObject_C extends RefObject_S {
                /**
                 * 引用对象构造方法
                 */
                new():RefObject;
                new(arg0:any):RefObject;
            }
            interface RefObject$ {
                argvalue:any;
                /**
                 * 获取原始对象
                 * @return 原始对象
                 */
                getValue():any;
                setValue(arg0:any):void;
            }
            type RefObject_T = RefObject$;
            interface RefObject extends RefObject_T {
            }
            interface DefinedDbIgnoreAttribute_S {
            }
            interface DefinedDbIgnoreAttribute_C extends DefinedDbIgnoreAttribute_S {
            }
            interface DefinedDbIgnoreAttribute$ {
                isDefinedDbIgnoreAttribute():boolean;
            }
            type DefinedDbIgnoreAttribute_T = DefinedDbIgnoreAttribute$;
            interface DefinedDbIgnoreAttribute extends DefinedDbIgnoreAttribute_T {
            }
            interface FourTuple_S {
            }
            type FourTuple_ST = FourTuple_S & ThreeTuple_S;
            interface FourTuple_C extends FourTuple_ST {
                new(arg0:any,arg1:any,arg2:any,arg3:any):FourTuple;
            }
            interface FourTuple$ {
                readonly item4:any;
            }
            type FourTuple_T = FourTuple$ & ThreeTuple;
            interface FourTuple extends FourTuple_T {
            }
            interface SqlParameter_S {
            }
            type SqlParameter_ST = $.kd.bos.db.SqlParameter & SqlParameter_S;
            interface SqlParameter_C extends SqlParameter_ST {
                /**
                 * 无参构造函数
                 */
                new():SqlParameter;
                /**
                 * 有参构造函数
                 *
                 * @param columnType JDBC类型
                 * @param value 值
                 */
                new(columnType:number,value:any):SqlParameter;
                /**
                 * @param name 名称
                 * @param columnType JDBC类型
                 * @param value 值
                 */
                new(name:string,columnType:number,value:any):SqlParameter;
            }
            interface SqlParameter$ {
            }
            type SqlParameter_T = $.kd.bos.db.SqlParameter & SqlParameter$;
            interface SqlParameter extends SqlParameter_T {
            }
            interface Consumer_S {
            }
            interface Consumer_C extends Consumer_S {
            }
            interface Consumer$ {
                accept(arg0:any):void;
            }
            type Consumer_T = Consumer$;
            interface Consumer extends Consumer_T {
            }
            interface OperateOptionPrivate_S {
            }
            type OperateOptionPrivate_ST = $.java.io.Serializable & OperateOptionPrivate_S & OperateOption_S;
            interface OperateOptionPrivate_C extends OperateOptionPrivate_ST {
                new():OperateOptionPrivate;
            }
            interface OperateOptionPrivate$ {
            }
            type OperateOptionPrivate_T = $.java.io.Serializable & OperateOption & OperateOptionPrivate$;
            interface OperateOptionPrivate extends OperateOptionPrivate_T {
            }
            interface IListSyncFunction_S {
            }
            interface IListSyncFunction_C extends IListSyncFunction_S {
            }
            interface IListSyncFunction$ {
                add(arg0:$.java.util.List,arg1:any):void;
                remove(arg0:$.java.util.List,arg1:any,arg2:number):void;
                create(arg0:any):any;
                equals(arg0:any,arg1:any):boolean;
                update(arg0:any,arg1:any):void;
            }
            type IListSyncFunction_T = IListSyncFunction$;
            interface IListSyncFunction extends IListSyncFunction_T {
            }
            interface DataEntityModule_S {
            }
            type DataEntityModule_ST = $.kd.sdk.module.Module & DataEntityModule_S;
            interface DataEntityModule_C extends DataEntityModule_ST {
                new():DataEntityModule;
            }
            interface DataEntityModule$ {
            }
            type DataEntityModule_T = $.kd.sdk.module.Module & DataEntityModule$;
            interface DataEntityModule extends DataEntityModule_T {
            }
            interface OperateOption_S {
                readonly CURRENTUSERID:string;
                readonly UPDATEMODIFYDATE:string;
                /**
                 * 构建空的操作选项
                 * @return 操作选项
                 */
                create():OperateOption;
            }
            type OperateOption_ST = $.java.io.Serializable & OperateOption_S;
            interface OperateOption_C extends OperateOption_ST {
                new():OperateOption;
            }
            interface OperateOption$ {
                /**
                 * 删除定义的值
                 * @param name 变量名称
                 * @return 是否成功删除
                 */
                removeVariable(name:string):boolean;
                /**
                 * 获取操作对象副本(浅拷贝)
                 * @return 操作选项
                 */
                copy():this;
                /**
                 * 合并操作选项
                 * @param other 其它选项
                 * @return 操作选项
                 */
                mergeValue(other:OperateOption):this;
                /**
                 * 获取某个变量的值，如果没有定义此变量，将抛出异常
                 * @param name 变量的名称，不区分大小写
                 * @return 变量值
                 */
                getVariableValue(name:string):string;
                /**
                 * 创建一个新的操作选项，以当前的操作选项为优先，如果找不到将使用baseOption基础选项
                 * @param baseOption 基础选项
                 * @return 返回一个新的选项对象
                 */
                merge(baseOption:OperateOption):this;
                /**
                 * 尝试获取某个变量的值
                 * @param name 变量的名称，不区分大小写
                 * @param result 变量的结果
                 * @return 是否成功获取
                 */
                tryGetVariableValue(name:string,result:RefObject):boolean;
                /**
                 * 设置定义的值
                 *
                 * @param name 选项的键，不区分大小写
                 * @param value 定义的值
                 */
                setVariableValue(name:string,value:string):void;
                /**
                 * 获取所有变量
                 * @return 以Map返回所有变量
                 */
                getVariables():$.java.util.Map;
                /**
                 * 从选项中获取定义的值
                 * @param name 选项的键，不区分大小写
                 * @param defaultValue 如果没有找到选项定义，其缺省值是多少
                 * @return 如果有定义，返回定义的值，否则返回缺省值
                 */
                getVariableValue(name:string,defaultValue:string):string;
                /**
                 * 是否包含某个变量
                 * @param name 变量名称
                 * @return 是否包含
                 */
                containsVariable(name:string):boolean;
            }
            type OperateOption_T = $.java.io.Serializable & OperateOption$;
            interface OperateOption extends OperateOption_T {
            }
            interface ThreeTuple_S {
            }
            type ThreeTuple_ST = ThreeTuple_S & Tuple_S;
            interface ThreeTuple_C extends ThreeTuple_ST {
                new(arg0:any,arg1:any,arg2:any):ThreeTuple;
            }
            interface ThreeTuple$ {
                readonly item3:any;
            }
            type ThreeTuple_T = ThreeTuple$ & Tuple;
            interface ThreeTuple extends ThreeTuple_T {
            }
            interface Tuple_S {
                create(arg0:any,arg1:any):Tuple;
            }
            interface Tuple_C extends Tuple_S {
                new(arg0:any,arg1:any):Tuple;
            }
            interface Tuple$ {
                readonly item1:any;
                readonly item2:any;
            }
            type Tuple_T = Tuple$;
            interface Tuple extends Tuple_T {
            }
        }
        namespace kd.bos.dataentity.collections{
            interface KeyedCollectionBase_S {
            }
            type KeyedCollectionBase_ST = $.java.io.Serializable & $.java.util.ArrayList & IKeyedCollectionBase_S & KeyedCollectionBase_S;
            interface KeyedCollectionBase_C extends KeyedCollectionBase_ST {
                new():KeyedCollectionBase;
                new(caseInsensitive:boolean):KeyedCollectionBase;
            }
            interface KeyedCollectionBase$ {
                resetMap():void;
            }
            type KeyedCollectionBase_T = $.java.io.Serializable & $.java.util.ArrayList & IKeyedCollectionBase & KeyedCollectionBase$;
            interface KeyedCollectionBase extends KeyedCollectionBase_T {
            }
            interface IKeyedCollectionBase_S {
            }
            interface IKeyedCollectionBase_C extends IKeyedCollectionBase_S {
            }
            interface IKeyedCollectionBase$ {
                get(arg0:any):any;
                containsKey(arg0:any):boolean;
            }
            type IKeyedCollectionBase_T = IKeyedCollectionBase$;
            interface IKeyedCollectionBase extends IKeyedCollectionBase_T {
            }
        }
        namespace kd.bos.dataentity.entity{
            interface ObjectConverter_S {
                readonly ZERO_BYTE:number;
                readonly ZERO_LONG:long;
                readonly ZERO_BIGDECIMAL:$.java.math.BigDecimal;
                readonly ZERO_FLOAT:number;
                readonly ZERO_SHORT:number;
                readonly ZERO_INTEGER:number;
                readonly ZERO_DOUBLE:number;
                /**
                 * 转换原始对象为目标类型 ， 若找不到转换器会返回原始对象
                 * @param value 原对象
                 * @param cls 目标类型
                 * @param enableNull 不转换null对象
                 * @return 目标类型对象
                 */
                convert(value:any,cls:$.java.lang.Class,enableNull:boolean):any;
            }
            interface ObjectConverter_C extends ObjectConverter_S {
                new():ObjectConverter;
            }
            interface ObjectConverter$ {
            }
            type ObjectConverter_T = ObjectConverter$;
            interface ObjectConverter extends ObjectConverter_T {
            }
            interface SimplePropertyAttribute_S {
            }
            type SimplePropertyAttribute_ST = $.java.lang.annotation.Annotation & SimplePropertyAttribute_S;
            interface SimplePropertyAttribute_C extends SimplePropertyAttribute_ST {
            }
            interface SimplePropertyAttribute$ {
                tableGroup():string;
                size():number;
                isDbIgnore():boolean;
                isPrimaryKey():boolean;
                autoSync():AutoSync;
                isEncrypt():boolean;
                displayName():string;
                scale():number;
                isEnableNull():boolean;
                dbType():number;
                alias():string;
                name():string;
            }
            type SimplePropertyAttribute_T = $.java.lang.annotation.Annotation & SimplePropertyAttribute$;
            interface SimplePropertyAttribute extends SimplePropertyAttribute_T {
            }
            interface DbIgnoreAttribute_S {
            }
            type DbIgnoreAttribute_ST = $.java.lang.annotation.Annotation & DbIgnoreAttribute_S;
            interface DbIgnoreAttribute_C extends DbIgnoreAttribute_ST {
            }
            interface DbIgnoreAttribute$ {
            }
            type DbIgnoreAttribute_T = $.java.lang.annotation.Annotation & DbIgnoreAttribute$;
            interface DbIgnoreAttribute extends DbIgnoreAttribute_T {
            }
            interface LocaleValueItem_S {
            }
            interface LocaleValueItem_C extends LocaleValueItem_S {
                new(arg0:number,arg1:any):LocaleValueItem;
            }
            interface LocaleValueItem$ {
                /**
                 * 获取语言代码
                 * @return 语言代码
                 */
                getLocaleId():number;
                /**
                 * 获取值
                 * @return
                 */
                getValue():any;
            }
            type LocaleValueItem_T = LocaleValueItem$;
            interface LocaleValueItem extends LocaleValueItem_T {
            }
            interface CloneUtils_S {
            }
            interface CloneUtils_C extends CloneUtils_S {
                /**
                 * 构造方法
                 * @param onlyDbProperty 是否仅仅包含数据库中定义的属性
                 * @param clearPrimaryKeyValue 是否清除主键的值
                 */
                new(onlyDbProperty:boolean,clearPrimaryKeyValue:boolean):CloneUtils;
            }
            interface CloneUtils$ {
                /**
                 * 克隆当前实体数据成为一个新的实体对象
                 * @param dataEntity 实体数据包
                 * @return 新的实体对象，将当前的数据复制到了新的实体对象
                 */
                clone(dataEntity:IDataEntityBase):any;
                /**
                 * 根据实体类型和实体数据克隆成为一个新的实体对象
                 * @param dt 实体类型
                 * @param dataEntity 实体数据包
                 * @return 新的实体对象
                 */
                clone(dt:kd.bos.dataentity.metadata.IDataEntityType,dataEntity:any):any;
            }
            type CloneUtils_T = CloneUtils$;
            interface CloneUtils extends CloneUtils_T {
            }
            interface IDataStorage_S {
            }
            interface IDataStorage_C extends IDataStorage_S {
            }
            interface IDataStorage$ {
                /**
                 * 浅克隆
                 *
                 * @return
                 */
                memberClone():this;
                /**
                 * 获取一个本地的值
                 *
                 * @param property
                 *            要访问的属性
                 * @return 本地存储的值
                 */
                getLocalValue(property:kd.bos.dataentity.metadata.IDataEntityProperty):any;
                /**
                 * 设置本地的值
                 *
                 * @param property
                 *            要设置的属性
                 * @param value
                 *            本地值
                 */
                setLocalValue(property:kd.bos.dataentity.metadata.IDataEntityProperty,value:any):void;
            }
            type IDataStorage_T = IDataStorage$;
            interface IDataStorage extends IDataStorage_T {
            }
            class AutoSync {
                static readonly Never:kd.bos.dataentity.entity.AutoSync;
                static readonly Always:kd.bos.dataentity.entity.AutoSync;
                static readonly OnInsert:kd.bos.dataentity.entity.AutoSync;
                static readonly OnUpdate:kd.bos.dataentity.entity.AutoSync;
                static forValue(value:number):kd.bos.dataentity.entity.AutoSync;
                static values():kd.bos.dataentity.entity.AutoSync[];
                static valueOf(arg0:string):kd.bos.dataentity.entity.AutoSync;
                getValue():number;
            }
            interface ISupportInitialize_S {
            }
            interface ISupportInitialize_C extends ISupportInitialize_S {
            }
            interface ISupportInitialize$ {
                /**
                 * 正在初始化
                 * @return
                 */
                isInitialized():boolean;
                /**
                 * 开始初始化
                 */
                beginInit():void;
                /**
                 * 结束初始化
                 */
                endInit():void;
            }
            type ISupportInitialize_T = ISupportInitialize$;
            interface ISupportInitialize extends ISupportInitialize_T {
            }
            interface ILocaleString_S {
                readonly GLang:string;
            }
            type ILocaleString_ST = ILocaleString_S & ILocaleValue_S;
            interface ILocaleString_C extends ILocaleString_ST {
            }
            interface ILocaleString$ {
                /**
                 * 设置多语言中华人名共和国(简体中文)字符串值
                 * @param value
                 */
                setLocaleValue_zh_CN?(value:string):void;
                /**
                 * 获取默认语言的字符串值
                 * @return
                 */
                getLocaleValue?():string;
                /**
                 * 获取多语言中华人名共和国(简体中文)字符串值
                 * @return
                 */
                getLocaleValue_zh_CN?():string;
                /**
                 * 设置多语言中国台湾(繁体中文)字符串值
                 * @param value
                 */
                setLocaleValue_zh_TW?(value:string):void;
                /**
                 * 获取多语言美国(英语)字符串值
                 * @return
                 */
                getLocaleValue_en?():string;
                /**
                 * 设置多语言美国(英语)字符串值
                 * @param value
                 */
                setLocaleValue_en?(value:string):void;
                /**
                 * 设置默认语言的字符串值
                 * @param value
                 */
                setLocaleValue?(value:string):void;
                /**
                 * 获取多语言中国台湾(繁体中文)字符串值
                 * @return
                 */
                getLocaleValue_zh_TW?():string;
            }
            type ILocaleString_T = ILocaleString$ & ILocaleValue;
            interface ILocaleString extends ILocaleString_T {
            }
            interface DataEntityWalkerEventArgs_S {
                DataEntityWalker(dataEntities:$.java.util.Collection,dt:kd.bos.dataentity.metadata.IDataEntityType,callback:DataEntityWalkerListner,onlyDbProperty:boolean):void;
            }
            type DataEntityWalkerEventArgs_ST = $.java.util.EventObject & DataEntityWalkerEventArgs_S;
            interface DataEntityWalkerEventArgs_C extends DataEntityWalkerEventArgs_ST {
                new(source:any):DataEntityWalkerEventArgs;
            }
            interface DataEntityWalkerEventArgs$ {
                getCount():number;
                getDataEntityType():kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 *     将当前的实体全部转化为数组方式输出
                 *
                 *     @return 数组形式的数据
                 */
                toArray():any[];
                getPropertyStock():PropertyStockNode;
                getDataEntities():$.java.lang.Iterable;
            }
            type DataEntityWalkerEventArgs_T = $.java.util.EventObject & DataEntityWalkerEventArgs$;
            interface DataEntityWalkerEventArgs extends DataEntityWalkerEventArgs_T {
            }
            interface DynamicObjectCollection_S {
            }
            type DynamicObjectCollection_ST = $.java.io.Serializable & DataEntityCollection_S & DynamicObjectCollection_S;
            interface DynamicObjectCollection_C extends DynamicObjectCollection_ST {
                /**
                 * 构造函数：创建动态实体对象集合实例
                 */
                new():DynamicObjectCollection;
                /**
                 * 构造函数：创建动态实体对象集合实例
                 * @param dt 集合关联的明细类型
                 * @param parent 指定此集合的父对象
                 */
                new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,parent:any):DynamicObjectCollection;
                /**
                 * 构造函数：创建动态实体对象集合实例
                 *
                 * @param dynamicItemPropertyType 集合关联的明细类型
                 * @param parent 指定此集合的父对象。
                 * @param list 默认的内部集合实例。
                 */
                new(dynamicItemPropertyType:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,parent:any,list:$.java.util.List):DynamicObjectCollection;
            }
            interface DynamicObjectCollection$ {
                /**
                 * 获取被删除的行
                 * @return 返回被删除的行
                 */
                getDeleteRows():$.java.util.List;
                /**
                 * 设置当前页起始索引号，下标从零开始
                 *
                 * @param rowIndex
                 */
                setStartRowIndex(rowIndex:number):void;
                /**
                 * 设置分页情况下总行数
                 *
                 * @param rowCount
                 */
                setRowCount(rowCount:number):void;
                /**
                 * 获取主实体对象
                 * @return
                 */
                getRootEntity():DynamicObject;
                /**
                 * 取当前页的分录数据
                 * @param pageIndex 当前页数
                 */
                fetchEntryRows(pageIndex:number):void;
                /**
                 * 获取分页索引
                 * @return
                 */
                getPageIndex():number;
                /**
                 * 获取主实体对象类型
                 * @return
                 */
                getRootEntityType():kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                /**
                 * 把动态实体对象插入到集合index索引的位置上
                 * @param index 从零开始的索引，应在index位置插入动态实体对象
                 * @param item 动态实体对象
                 */
                add(index:number,item:DynamicObject):void;
                /**
                 * 获取每页大小
                 * @return
                 */
                getPageSize():number;
                /**
                 * 获取被修改的行
                 * @return 返回被修改的行
                 */
                getUpdateRows():$.java.util.List;
                /**
                 * 获取插入的行
                 * @return 返回插入的行
                 */
                getInsertRows():$.java.util.List;
                /**
                 * 以起始行号开始，获取每页大小数据量的分录数据
                 * @param stratRowIndex 起始行号
                 * @param pageSize 每页大小
                 */
                fetchEntryRows(stratRowIndex:number,pageSize:number):void;
                /**
                 * 创建一个新的的动态实体对象
                 * @return
                 */
                addNew():DynamicObject;
                /**
                 * 获取总页数
                 * @return 总页数
                 */
                getPageCount():number;
                /**
                 * 获取当前页起始索引号，下标从零开始
                 */
                getStartRowIndex():number;
                /**
                 * 返回集合属性的元素数据类型
                 */
                getDynamicObjectType():kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                /**
                 * 获取设置分页情况下总行数
                 * @return
                 */
                getRowCount():number;
            }
            type DynamicObjectCollection_T = $.java.io.Serializable & DataEntityCollection & DynamicObjectCollection$;
            interface DynamicObjectCollection extends DynamicObjectCollection_T {
            }
            interface IBillEntityType_S {
            }
            interface IBillEntityType_C extends IBillEntityType_S {
            }
            interface IBillEntityType$ {
                /**
                 * 返回单据编号
                 * @return 单据编号
                 */
                getBillNo():string;
            }
            type IBillEntityType_T = IBillEntityType$;
            interface IBillEntityType extends IBillEntityType_T {
            }
            interface OrmLocaleValue_S {
            }
            type OrmLocaleValue_ST = $.java.io.Serializable & ILocaleString_S & OrmLocaleValue_S;
            interface OrmLocaleValue_C extends OrmLocaleValue_ST {
                /**
                 * 构造函数
                 * @param col 多语言分录特定的数据行集合
                 * @param inLocaleProperty 属性对象
                 */
                new(col:LocaleDynamicObjectCollection,inLocaleProperty:kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty):OrmLocaleValue;
            }
            interface OrmLocaleValue$ {
                setItem(lcid:string,value:string):void;
                put(key:string,value:string):string;
            }
            type OrmLocaleValue_T = $.java.io.Serializable & ILocaleString & OrmLocaleValue$;
            interface OrmLocaleValue extends OrmLocaleValue_T {
            }
            interface PkSnapshot_S {
            }
            type PkSnapshot_ST = $.java.io.Serializable & PkSnapshot_S;
            interface PkSnapshot_C extends PkSnapshot_ST {
                new():PkSnapshot;
            }
            interface PkSnapshot$ {
                TableName:string;
                Opids:any[];
                Oids:any[];
                /**
                 * 数据是否完整加载
                 * @return
                 */
                isLoaded():boolean;
                /**
                 * 设置数据完整加载标记 （内部使用）
                 * @param loaded 是否完整加载
                 */
                setLoaded(loaded:boolean):void;
            }
            type PkSnapshot_T = $.java.io.Serializable & PkSnapshot$;
            interface PkSnapshot extends PkSnapshot_T {
            }
            interface PropertyStockNode_S {
            }
            interface PropertyStockNode_C extends PropertyStockNode_S {
                /**
                 * 创建一个根节点对象
                 *
                 * @param dt
                 */
                new(dt:kd.bos.dataentity.metadata.IDataEntityType):PropertyStockNode;
            }
            interface PropertyStockNode$ {
                Property:kd.bos.dataentity.metadata.IDataEntityProperty;
                DataEntityType:kd.bos.dataentity.metadata.IDataEntityType;
                Previous:PropertyStockNode;
                /**
                 * 创建一个下级节点
                 *
                 * @param property
                 *            属性
                 * @return 新的节点
                 */
                CreateNextNode(property:kd.bos.dataentity.metadata.IComplexProperty,complextype:kd.bos.dataentity.metadata.IDataEntityType):this;
                /**
                 * 返回当前递归位置，使用点隔开
                 */
                getPropertyPath():string;
                /**
                 * 创建一个下级节点
                 *
                 * @param property
                 *            属性
                 * @param dt
                 *            数据类型
                 * @return 新的节点
                 */
                CreateNextNode(property:kd.bos.dataentity.metadata.IDataEntityProperty,dt:kd.bos.dataentity.metadata.IDataEntityType):this;
                /**
                 * 创建一个下级节点
                 *
                 * @param property
                 *            属性
                 * @return 新的节点
                 */
                CreateNextNode(property:kd.bos.dataentity.metadata.ICollectionProperty):this;
            }
            type PropertyStockNode_T = PropertyStockNode$;
            interface PropertyStockNode extends PropertyStockNode_T {
            }
            interface INotifyPropertyChanged_S {
            }
            interface INotifyPropertyChanged_C extends INotifyPropertyChanged_S {
            }
            interface INotifyPropertyChanged$ {
                getPropertyChangeListeners?():$.java.beans.PropertyChangeListener[];
                addPropertyChangeListener(listener:$.java.beans.PropertyChangeListener):void;
                removePropertyChangeListener(listener:$.java.beans.PropertyChangeListener):void;
            }
            type INotifyPropertyChanged_T = INotifyPropertyChanged$;
            interface INotifyPropertyChanged extends INotifyPropertyChanged_T {
            }
            interface DataEntityState_S {
            }
            type DataEntityState_ST = $.java.io.Serializable & DataEntityState_S;
            interface DataEntityState_C extends DataEntityState_ST {
            }
            interface DataEntityState$ {
                /**
                 * 获取属性缓存状态标记  （内部使用）
                 * @return
                 */
                getCacheState():$.java.util.Map;
                /**
                 * 获取改变的所有标记位
                 * @return
                 */
                getBizChangeFlags():long[];
                /**
                 * 实体在填写完默认值之后，有没有改动过字段值
                 *
                 * 同方法{@link #isChanged}
                 * 实体数据包在创建后，可能会自动创建一些空行，并填写属性默认值，保存时需要删除掉
                 * 填写属性默认值时，会记录脏标志位，因此不能通过脏标志位判断空行
                 *
                 * 本标志也会监控值变化，并在填写完默认值之后，重置为false，只记录非默认值的改动
                 *
                 * 特别说明： _bizChanged按属性对象的序号记录对应属性有没有被改变；第0位特殊，特别用来代表的是否下推生成,因此判断字段值有没有被改变过，需要跳过第0位
                 * @return
                 */
                isBizChanged():boolean;
                /**
                 * 返回此实体是否是从数据库中加载过来
                 *
                 * 默认情况下，当实体从数据库中加载时，将自动设置Dirty为false
                 */
                getFromDatabase():boolean;
                /**
                 * 设置此实体是否是从数据库中加载过来
                 * @param value 是否是从数据库中加载过来
                 * @param clearDirty 清除脏标识
                 */
                setFromDatabase(value:boolean,clearDirty:boolean):void;
                /**
                 * 设置实体的脏标志位值
                 * @param values 要设置脏标志位值
                 */
                setDirtyFlags(values:long[]):void;
                /**
                 * 获取指定属性缓存状态  （内部使用）
                 * @param key
                 * @return
                 */
                getCacheState(key:string):boolean;
                /**
                 * 获取分录总行数,可能返回null
                 * @param entryName 分录标识
                 * @return
                 */
                getEntryRowCount(entryName:string):number;
                /**
                 * 返回此实体携带的快照对象，可能返回null
                 * @return
                 */
                getPkSnapshotSet():PkSnapshotSet;
                /**
                 * 返回指定实体中所有变更的属性列表
                 * @param includehasDefualt 是否包含默认值
                 * @return
                 */
                GetDirtyProperties(includehasDefualt:boolean):$.java.util.List;
                /**
                 * 是否为下推生成的数据包标记
                 * @return
                 */
                isPushChanged():boolean;
                /**
                 * 设置数据内存实例Id
                 *
                 * @param instanceId 实例Id名
                 */
                setInstanceId(instanceId:long):void;
                /**
                 * 设置此实体携带的快照对象
                 * @param value 实体携带的快照对象
                 */
                setPkSnapshotSet(value:PkSnapshotSet):void;
                /**
                 * 设置是否移除对象标记
                 * @param removedItems
                 */
                setRemovedItems(removedItems:boolean):void;
                /**
                 * 设置实体有没有改动过字段值
                 * @param value 是否改动过值，true:改动过，false:未改动过
                 */
                setBizChanged(value:boolean):void;
                /**
                 * 返回整个实体是否已发生变更
                 */
                getDataEntityDirty():boolean;
                /**
                 * 设置分录行状态信息Map
                 * @param entryInfos 分录行状态信息Map
                 */
                setEntryInfos(entryInfos:$.java.util.Map):void;
                /**
                 * 设置实体的所有脏标志位
                 *
                 * @param newValue 要设置脏标志位
                 */
                setDirty(newValue:boolean):void;
                /**
                 * 获取分录行状态信息Map
                 */
                getEntryInfos():$.java.util.Map;
                /**
                 * 获取内存实例Id
                 */
                getInstanceId():long;
                /**
                 * 设置哪些实体属性动过字段值
                 * @param values
                 */
                setBizChangeFlags(values:long[]):void;
                /**
                 * 设置实体属性的脏标志
                 * @param prop 实体属性
                 * @param newValue 要设置脏标志位
                 */
                setDirty(prop:kd.bos.dataentity.metadata.ISimpleProperty,newValue:boolean):void;
                /**
                 * 获取分录每页条数
                 * @param entryName 分录标识
                 * @return
                 */
                getEntryStartRowIndex(entryName:string):number;
                /**
                 * 获取是否移除对象标记
                 * @return
                 */
                getRemovedItems():boolean;
                /**
                 * 判断实体是否改动过
                 *
                 * 同方法{@link #isBizChanged}
                 * 如果有任何一个字段属性在填写默认值之后被修改过，则表示该实体被改动过
                 * 如果实体未改动过，可判断该实体为空行，需要在保存时被自动清除
                 *
                 * @return
                 */
                isChanged():boolean;
                /**
                 * 设置指定属性缓存状态标记 （内部使用）
                 * @param key
                 * @param state
                 */
                setCacheState(key:string,state:boolean):void;
                /**
                 * 设置实体属性有没有改动过字段值
                 *
                 * @param propOrdinal 此属性在引用的实体类型中所在的位置
                 * @param value 是否改动过值，true:改动过，false:未改动过
                 */
                setBizChanged(propOrdinal:number,value:boolean):void;
                /**
                 * 设置分录总行数
                 * @param entryName 分录标识
                 * @param rowCount 分录总行数
                 */
                setEntryRowCount(entryName:string,rowCount:number):void;
                /**
                 * 实体在填写完默认值之后，改动过的业务字段
                 * @return
                 */
                getBizChangedProperties():$.java.lang.Iterable;
                /**
                 * 否是分页取数，分析当前单据的单据体数据行是否是分页取数，即只读取了一部分分录行
                 * @return
                 */
                isSplitPage():boolean;
                /**
                 * 获取分录行状态信息，可能返回null
                 * @param entryName 分录标识
                 * @return
                 */
                getEntryInfo(entryName:string):EntryInfo;
                /**
                 * 设置某个属性已经发生改变
                 *
                 * @param e 属性改变事件参数
                 */
                setPropertyChanged(e:$.java.beans.PropertyChangeEvent):void;
                /**
                 * 设置分录每页条数
                 * @param entryName 分录标识
                 * @param pageSize 每页条数
                 */
                setEntryPageSize(entryName:string,pageSize:number):void;
                /**
                 * 获取实体的脏标志位值
                 * @return
                 */
                getDirtyFlags():long[];
                /**
                 * 设置缓存状态 （内部使用）
                 * @param cacheState
                 */
                setCacheState(cacheState:$.java.util.Map):void;
                /**
                 * 设置分录页起始行索引
                 * @param entryName 分录标识
                 * @param startRowIndex 起始行索引
                 */
                setEntryStartRowIndex(entryName:string,startRowIndex:number):void;
                /**
                 * 设置此实体是否是从数据库中加载过来。内部初始化时调用，外部程序勿调用
                 * @param value 是否是从数据库中加载过来
                 */
                setFromDatabase(value:boolean):void;
                /**
                 * 设置是否为下推生成的数据包标记
                 * @param value
                 */
                setPushChanged(value:boolean):void;
                /**
                 * 返回指定实体中所有变更的属性列表
                 *
                 * 这里判断的是实体自创建或从数据库读取后，发生更改的属性列表。
                 *
                 * @return 变更的属性列表
                 */
                GetDirtyProperties():$.java.util.List;
            }
            type DataEntityState_T = $.java.io.Serializable & DataEntityState$;
            interface DataEntityState extends DataEntityState_T {
            }
            interface LocaleString_S {
                /**
                 * 根据map对象转换成多语言文本字段值对象
                 * @param values map对象
                 * @return
                 */
                fromMap(values:$.java.util.Map):LocaleString;
            }
            type LocaleString_ST = $.java.io.Serializable & ILocaleString_S & LocaleString_S & LocaleValue_S;
            interface LocaleString_C extends LocaleString_ST {
                /**
                 * 构造函数
                 */
                new():LocaleString;
                /**
                 * 构造函数
                 * @param value 值
                 */
                new(value:string):LocaleString;
                /**
                 * 构造函数
                 * @param localeId 语言代码
                 * @param value
                 */
                new(localeId:string,value:any):LocaleString;
                /**
                 * 构造函数
                 * @param localeId 语言代码
                 * @param value 值
                 */
                new(localeId:string,value:string):LocaleString;
            }
            interface LocaleString$ {
            }
            type LocaleString_T = $.java.io.Serializable & ILocaleString & LocaleString$ & LocaleValue;
            interface LocaleString extends LocaleString_T {
            }
            interface DefaultValueAttribute_S {
            }
            type DefaultValueAttribute_ST = $.java.lang.annotation.Annotation & DefaultValueAttribute_S;
            interface DefaultValueAttribute_C extends DefaultValueAttribute_ST {
            }
            interface DefaultValueAttribute$ {
                value():string;
            }
            type DefaultValueAttribute_T = $.java.lang.annotation.Annotation & DefaultValueAttribute$;
            interface DefaultValueAttribute extends DefaultValueAttribute_T {
            }
            interface DataEntityBase_S {
            }
            type DataEntityBase_ST = $.java.io.Serializable & DataEntityBase_S & IDataEntityBase_S & INotifyPropertyChanged_S & IObjectWithParent_S & ISupportInitialize_S;
            interface DataEntityBase_C extends DataEntityBase_ST {
                new():DataEntityBase;
            }
            interface DataEntityBase$ {
                /**
                 * 触发属性改变事件
                 *
                 * @param e 属性改变的事件参数
                 */
                OnPropertyChanged(e:$.java.beans.PropertyChangeEvent):void;
                /**
                 * 允许在初始化后再增加属性： 增加属性后调用此方法刷新实体状态。
                 */
                refreshDataEntityState():void;
                /**
                 * 开始重置脏标记
                 */
                beginResetDirtyFlag():void;
                /**
                 * 返回是否正在初始化过程中。
                 */
                isInitializing():boolean;
                /**
                 * 是否重置脏标记
                 * @return
                 */
                isResetDirtyFlag():boolean;
                /**
                 * 结束重置脏标记
                 */
                endResetDirtyFlag():void;
                /**
                 * 返回当前数据行的状态管理
                 */
                getDataEntityState():DataEntityState;
            }
            type DataEntityBase_T = $.java.io.Serializable & DataEntityBase$ & IDataEntityBase & INotifyPropertyChanged & IObjectWithParent & ISupportInitialize;
            interface DataEntityBase extends DataEntityBase_T {
            }
            interface DataEntityWalkerListner_S {
            }
            interface DataEntityWalkerListner_C extends DataEntityWalkerListner_S {
            }
            interface DataEntityWalkerListner$ {
                callback(e:DataEntityWalkerEventArgs):void;
                /**
                 * 获取扫描参数：在扫描实体时，把当前实体上下文传给监听器，监听器返回扫描参数：控制后续的扫描行为
                 * @return 默认返回null，不做特别控制
                 */
                getOption?(e:DataEntityWalkerEventArgs):DataEntityWalkerOption;
            }
            type DataEntityWalkerListner_T = DataEntityWalkerListner$;
            interface DataEntityWalkerListner extends DataEntityWalkerListner_T {
            }
            interface DataEntityWalkerOption_S {
            }
            interface DataEntityWalkerOption_C extends DataEntityWalkerOption_S {
                new():DataEntityWalkerOption;
            }
            interface DataEntityWalkerOption$ {
                /**
                 * 设置参数：遍历时不扫描引用数据包内的下级引用属性
                 * <p></p>
                 * 适用场景：加载单据引用数据包，需逐层加载下级引用数据包。在扫描单据数据时，只扫描并填充单据本身引用的数据，不需要递归往下扫描：加载引用数据时会自行处理下级数据。
                 * @param igoreComplexProperty 传入true：忽略复杂属性关联的引用数据包
                 */
                setIgoreComplexProperty(igoreComplexProperty:boolean):void;
                /**
                 * 是否忽略复杂属性：不递归到下层引用数据包
                 * @return
                 */
                isIgoreComplexProperty():boolean;
            }
            type DataEntityWalkerOption_T = DataEntityWalkerOption$;
            interface DataEntityWalkerOption extends DataEntityWalkerOption_T {
            }
            interface DataEntityTypeAttribute_S {
            }
            type DataEntityTypeAttribute_ST = $.java.lang.annotation.Annotation & DataEntityTypeAttribute_S;
            interface DataEntityTypeAttribute_C extends DataEntityTypeAttribute_ST {
            }
            interface DataEntityTypeAttribute$ {
                tableName():string;
                dbRouteKey():string;
                name():string;
                isDbIgnore():boolean;
                displayName():string;
            }
            type DataEntityTypeAttribute_T = $.java.lang.annotation.Annotation & DataEntityTypeAttribute$;
            interface DataEntityTypeAttribute extends DataEntityTypeAttribute_T {
            }
            interface IDataEntityBase_S {
            }
            interface IDataEntityBase_C extends IDataEntityBase_S {
            }
            interface IDataEntityBase$ {
                /**
                 * 返回当前实体的数据类型
                 *     @return 当前实体的数据类型
                 */
                getDataEntityType():kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 返回当前实体的主键值
                 * @return
                 */
                getPkValue():any;
            }
            type IDataEntityBase_T = IDataEntityBase$;
            interface IDataEntityBase extends IDataEntityBase_T {
            }
            interface IObjectWithParent_S {
            }
            interface IObjectWithParent_C extends IObjectWithParent_S {
            }
            interface IObjectWithParent$ {
                /**
                 * 设置当前对象的父对象
                 * @param value
                 */
                setParent(value:any):void;
                /**
                 * 返回当前对象的父对象
                 * @return
                 */
                getParent():any;
            }
            type IObjectWithParent_T = IObjectWithParent$;
            interface IObjectWithParent extends IObjectWithParent_T {
            }
            interface LocaleDynamicObjectCollection_S {
                /**
                 * 创建Orm专用多语言文本字段值对象
                 * @param col 多语言分录特定的数据行集合
                 * @param inLocaleProperty 属性对象
                 * @return
                 */
                createLocaleValue(col:LocaleDynamicObjectCollection,inLocaleProperty:kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty):any;
            }
            type LocaleDynamicObjectCollection_ST = DynamicObjectCollection_S & LocaleDynamicObjectCollection_S;
            interface LocaleDynamicObjectCollection_C extends LocaleDynamicObjectCollection_ST {
                /**
                 * 空构造函数：用于反序列化
                 */
                new():LocaleDynamicObjectCollection;
                /**
                 * 构造函数
                 * @param itemDt 集合关联的明细类型
                 * @param parent 指定此集合的父对象
                 */
                new(itemDt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,parent:any):LocaleDynamicObjectCollection;
            }
            interface LocaleDynamicObjectCollection$ {
                /**
                 * 获取或创建指定国家语言的行
                 * @param localeId 语言代码
                 * @return
                 */
                getOrCreateItemByLocaleId(localeId:string):DynamicObject;
                /**
                 * 获取多语言的属性对象
                 * @return
                 */
                getLocaleIdProperty():kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 返回等于当前国家语言编号的明细
                 * @param localeId 语言代码
                 * @param obj 动态实体对象
                 * @return
                 */
                findByLocaleId(localeId:string,obj:RefObject):boolean;
                /**
                 * 清除某个字段的所有语言的值
                 * @param inLocalProperty 要处理的属性对象
                 */
                clearValue(inLocalProperty:kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 返回指定国家语言的值
                 * @param inLocalProperty 属性对象
                 * @param localeId 语言代码
                 * @return
                 */
                getValue(inLocalProperty:kd.bos.dataentity.metadata.IDataEntityProperty,localeId:string):any;
                /**
                 * 返回当前语言的文本
                 * @param inLocalProperty 属性对象
                 * @return
                 */
                getCurrentLocaleValue(inLocalProperty:kd.bos.dataentity.metadata.IDataEntityProperty):any;
                /**
                 * 设置某个国家语言的值，当这个国家语言的行不存在时，会自动创建行
                 * @param inLocalProperty
                 * @param localeId 语言代码
                 * @param newValue 新值
                 */
                setValue(inLocalProperty:kd.bos.dataentity.metadata.IDataEntityProperty,localeId:string,newValue:any):void;
                /**
                 * 删除所有空的行
                 */
                removeEmpty():void;
                /**
                 * 检测某个区域的所有字段是否都是空，如果是，删除此行
                 * @param obj 动态实体对象
                 * @return
                 */
                removeIfEmpty(obj:DynamicObject):boolean;
                /**
                 * 将新值填充到当前语言下
                 * @param inLocalProperty 属性对象
                 * @param newValue 新值
                 */
                setCurrentLocaleValue(inLocalProperty:kd.bos.dataentity.metadata.IDataEntityProperty,newValue:any):void;
                /**
                 * 一次性对某个属性设置所有语言的值
                 * @param inLocalProperty 要处理的属性对象
                 * @param values 枚举列表，罗列了所有的时区及对应的数据
                 */
                setValue(inLocalProperty:kd.bos.dataentity.metadata.dynamicobject.DynamicProperty,values:ILocaleString):void;
            }
            type LocaleDynamicObjectCollection_T = DynamicObjectCollection & LocaleDynamicObjectCollection$;
            interface LocaleDynamicObjectCollection extends LocaleDynamicObjectCollection_T {
            }
            interface PkSnapshotSet_S {
            }
            type PkSnapshotSet_ST = $.java.io.Serializable & PkSnapshotSet_S;
            interface PkSnapshotSet_C extends PkSnapshotSet_ST {
                /**
                 * 构造函数：创建实例
                 */
                new():PkSnapshotSet;
                /**
                 * 构造函数：创建实例并指定快照表的期望大小
                 * @param capacity 期望大小
                 */
                new(capacity:number):PkSnapshotSet;
            }
            interface PkSnapshotSet$ {
                Snapshots:$.java.util.List;
            }
            type PkSnapshotSet_T = $.java.io.Serializable & PkSnapshotSet$;
            interface PkSnapshotSet extends PkSnapshotSet_T {
            }
            interface ComplexPropertyAttribute_S {
            }
            type ComplexPropertyAttribute_ST = $.java.lang.annotation.Annotation & ComplexPropertyAttribute_S;
            interface ComplexPropertyAttribute_C extends ComplexPropertyAttribute_ST {
            }
            interface ComplexPropertyAttribute$ {
                name():string;
                displayName():string;
                refIdPropertyName():string;
            }
            type ComplexPropertyAttribute_T = $.java.lang.annotation.Annotation & ComplexPropertyAttribute$;
            interface ComplexPropertyAttribute extends ComplexPropertyAttribute_T {
            }
            interface MulBasedataDynamicObjectCollection_S {
            }
            type MulBasedataDynamicObjectCollection_ST = DynamicObjectCollection_S & MulBasedataDynamicObjectCollection_S;
            interface MulBasedataDynamicObjectCollection_C extends MulBasedataDynamicObjectCollection_ST {
                /**
                 * 构造函数
                 */
                new():MulBasedataDynamicObjectCollection;
                /**
                 * 构造函数
                 * @param dt 动态实体类型
                 * @param parent 指定此集合的父对象
                 */
                new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,parent:any):MulBasedataDynamicObjectCollection;
                /**
                 * 构造函数
                 * @param dynamicItemPropertyType 动态实体类型
                 * @param parent 指定此集合的父对象
                 * @param list 默认的内部集合实例
                 */
                new(dynamicItemPropertyType:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,parent:any,list:$.java.util.List):MulBasedataDynamicObjectCollection;
            }
            interface MulBasedataDynamicObjectCollection$ {
                /**
                 * 新增实体对象
                 * @param item 动态实体对象
                 * @return
                 */
                add(item:DynamicObject):boolean;
            }
            type MulBasedataDynamicObjectCollection_T = DynamicObjectCollection & MulBasedataDynamicObjectCollection$;
            interface MulBasedataDynamicObjectCollection extends MulBasedataDynamicObjectCollection_T {
            }
            interface DataEntityCollection_S {
            }
            type DataEntityCollection_ST = $.java.io.Serializable & $.java.util.ArrayList & DataEntityCollection_S & ISupportInitialize_S;
            interface DataEntityCollection_C extends DataEntityCollection_ST {
                /**
                 * 构造函数：创建数据包集合实例
                 */
                new():DataEntityCollection;
                /**
                 * 构造函数：创建数据包集合实例
                 * @param parent 实体对应的父对象
                 */
                new(parent:any):DataEntityCollection;
                /**
                 * 构造函数：创建数据包集合实例并提供底层的集合
                 * @param parent 实体对应的父对象
                 * @param list 对象集合
                 */
                new(parent:any,list:$.java.util.List):DataEntityCollection;
            }
            interface DataEntityCollection$ {
                /**
                 * 返回此集合所在的实体，即父对象
                 * @return
                 */
                getParent():any;
            }
            type DataEntityCollection_T = $.java.io.Serializable & $.java.util.ArrayList & DataEntityCollection$ & ISupportInitialize;
            interface DataEntityCollection extends DataEntityCollection_T {
            }
            interface DynamicObject_S {
            }
            type DynamicObject_ST = $.java.io.Serializable & DataEntityBase_S & DynamicObject_S;
            interface DynamicObject_C extends DynamicObject_ST {
                /**
                 * 构造函数
                 */
                new():DynamicObject;
                /**
                 * 构造函数
                 * @param dt 当前动态实体的类型，不可为空
                 */
                new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):DynamicObject;
                /**
                 * 构造函数
                 * @param dt 当前动态实体的类型，不可为空
                 * @param isQueryObj 是否查询对象
                 */
                new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,isQueryObj:boolean):DynamicObject;
                /**
                 * 构造函数
                 * @param dt 当前动态实体的类型，不可为空。
                 * @param id 主键值对象
                 */
                new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,id:any):DynamicObject;
            }
            interface DynamicObject$ {
                /**
                 * 获取下级属性值，把值转为Integer类型返回
                 * @param dp 实体属性对象
                 * @return Integer对象
                 */
                getInt(dp:kd.bos.dataentity.metadata.IDataEntityProperty):number;
                /**
                 * 获取下级属性值，把值转为Integer类型返回
                 * @param propertyName 属性名称
                 * @return Integer对象
                 */
                getInt(propertyName:string):number;
                /**
                 * 是否缓存共享的对象
                 * @return
                 */
                isShared():boolean;
                /**
                 * 获取下级属性值，把值转为BigDecimal类型返回
                 * @param index 序号
                 * @return BigDecimal对象
                 */
                getBigDecimal(index:number):$.java.math.BigDecimal;
                /**
                 * 获取下级属性值，把值转为动态实体对象类型返回
                 * @param dp 实体属性对象
                 * @return 动态实体对象
                 */
                getDynamicObject(dp:kd.bos.dataentity.metadata.IDataEntityProperty):this;
                /**
                 * 返回此实体中指定属性对象的数据
                 * @param dp 实体属性对象
                 * @return 返回此字段的值
                 */
                get(dp:kd.bos.dataentity.metadata.IDataEntityProperty):any;
                /**
                 * 获取下级属性值，把值转为Boolean类型返回
                 * @param index 序号
                 * @return Boolean对象
                 */
                getBoolean(index:number):boolean;
                /**
                 * 获取下级属性值，把值转为Date类型返回
                 * @param dp 实体属性对象
                 * @return Date对象
                 */
                getDate(dp:kd.bos.dataentity.metadata.IDataEntityProperty):Date;
                /**
                 * 设置实体中指定属性名称的值
                 * @param propertyName 属性名称
                 * @param value 值对象
                 */
                set(propertyName:string,value:any):void;
                /**
                 * 获取下级属性值，把值转为Date类型返回
                 * @param index 序号
                 * @return Date对象
                 */
                getDate(index:number):Date;
                /**
                 * 设置实体中指定位置的值
                 * @param index 序号
                 * @param value 值对象
                 */
                set(index:number,value:any):void;
                /**
                 * 设置实体中指定实体属性对象的值
                 * @param dp 实体属性对象
                 * @param value 值对象
                 */
                set(dp:kd.bos.dataentity.metadata.IDataEntityProperty,value:any):void;
                /**
                 * 获取下级属性值，把值转为字符串类型返回
                 * @param dp 实体属性对象
                 * @return 字符串
                 */
                getString(dp:kd.bos.dataentity.metadata.IDataEntityProperty):string;
                /**
                 * 获取下级属性值，把值转为Long类型返回
                 * @param dp 实体属性对象
                 * @return Long对象
                 */
                getLong(dp:kd.bos.dataentity.metadata.IDataEntityProperty):long;
                /**
                 * 获取下级属性值，把值转为Boolean类型返回
                 * @param propertyName 属性名称
                 * @return Boolean对象
                 */
                getBoolean(propertyName:string):boolean;
                /**
                 * 获取下级属性值，把值转为BigDecimal类型返回
                 * @param propertyName 属性名称
                 * @param enableNull 是否允许为空
                 * @return BigDecimal对象
                 */
                getBigDecimal(propertyName:string,enableNull:boolean):$.java.math.BigDecimal;
                /**
                 * 获取下级属性值，把值转为Boolean类型返回
                 * @param dp 实体属性对象
                 * @return Boolean对象
                 */
                getBoolean(dp:kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
                /**
                 * 获取下级属性值，把值转为Date类型返回
                 * @param propertyName 属性名称
                 * @return Date对象
                 */
                getDate(propertyName:string):Date;
                /**
                 * 获取下级属性值，把值转为字符串类型返回
                 * @param propertyName 属性名称
                 * @return 字符串
                 */
                getString(propertyName:string):string;
                /**
                 * 获取下级属性值，把值转为Integer类型返回
                 * @param index 序号
                 * @return Integer对象
                 */
                getInt(index:number):number;
                /**
                 * 根据实体属性对象获取动态实体集合对象
                 * @param dp 实体属性对象
                 * @return 动态实体集合对象
                 */
                getDynamicObjectCollection(dp:kd.bos.dataentity.metadata.IDataEntityProperty):DynamicObjectCollection;
                /**
                 * 获取下级属性值，把值转为Long类型返回
                 * @param index 序号
                 * @return Long对象
                 */
                getLong(index:number):long;
                /**
                 * 获取下级属性值，把值转为BigDecimal类型返回
                 * @param dp 实体属性对象
                 * @return BigDecimal对象
                 */
                getBigDecimal(dp:kd.bos.dataentity.metadata.IDataEntityProperty):$.java.math.BigDecimal;
                /**
                 * 是否查询对象
                 * @return
                 */
                isQueryObj():boolean;
                /**
                 * 获取下级属性值，把值转为字符串类型返回
                 * @param index 序号
                 * @return 字符串
                 */
                getString(index:number):string;
                /**
                 * 获取下级属性值，把值转为Long类型返回
                 * @param propertyName 属性名称
                 * @return Long对象
                 */
                getLong(propertyName:string):long;
                /**
                 * 返回此实体中指定属性名称的值
                 *
                 * @param propertyName 属性名称
                 * @return 返回此属性名称的值
                 */
                get(propertyName:string):any;
                /**
                 * 根据序号获取动态实体集合对象
                 * @param index 序号
                 * @return 动态实体集合对象
                 */
                getDynamicObjectCollection(index:number):DynamicObjectCollection;
                /**
                 * 设置为共享型实体缓存
                 * @param value 是否共享
                 */
                setShared(value:boolean):void;
                /**
                 * 根据属性名称获取动态实体集合对象
                 * @param propertyName 属性名称
                 * @return 动态实体集合对象
                 */
                getDynamicObjectCollection(propertyName:string):DynamicObjectCollection;
                /**
                 * 获取下级属性值，把值转为动态实体对象类型返回
                 * @param index 序号
                 * @return 动态实体对象
                 */
                getDynamicObject(index:number):this;
                /**
                 * 返回属性是否存在
                 * @param propertyName 属性名称
                 * @return 属性是否存在
                 */
                containsProperty(propertyName:string):boolean;
                /**
                 * 获取下级属性值，把值转为BigDecimal类型返回
                 * @param propertyName 属性名称
                 * @return BigDecimal对象
                 */
                getBigDecimal(propertyName:string):$.java.math.BigDecimal;
                /**
                 * 获取下级属性值，把值转为多语言字符串类型返回
                 * @param index 序号
                 * @return 多语言字符串
                 */
                getLocaleString(index:number):ILocaleString;
                /**
                 * 获取下级属性值，把值转为多语言字符串类型返回
                 * @param propertyName 属性名称
                 * @return 多语言字符串
                 */
                getLocaleString(propertyName:string):ILocaleString;
                /**
                 * 获取下级属性值，把值转为动态实体对象类型返回
                 * @param propertyName 属性名称
                 * @return 动态实体对象
                 */
                getDynamicObject(propertyName:string):this;
                /**
                 * 获取最后一次修改脏标志，缓存反序列化回来为空，属性修改后变化，用于缓存同步比较
                 */
                getLastDirty():$.java.util.BitSet;
                /**
                 * 获取下级属性值，把值转为多语言字符串类型返回
                 * @param dp 实体属性对象
                 * @return 多语言字符串
                 */
                getLocaleString(dp:kd.bos.dataentity.metadata.IDataEntityProperty):ILocaleString;
                /**
                 * 返回此实体中指定位置的数据
                 * @param index 属性所在的位置
                 * @return 返回此位置的值
                 */
                get(index:number):any;
                /**
                 * 返回当前实体的动态实体类型
                 * @return 当前实体的动态实体类型
                 */
                getDynamicObjectType():kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
            }
            type DynamicObject_T = $.java.io.Serializable & DataEntityBase & DynamicObject$;
            interface DynamicObject extends DynamicObject_T {
            }
            interface ReadonlyDynamicObject_S {
            }
            type ReadonlyDynamicObject_ST = $.java.io.Serializable & ReadonlyDynamicObject_S;
            interface ReadonlyDynamicObject_C extends ReadonlyDynamicObject_ST {
                /**
                 * 构造函数
                 */
                new():ReadonlyDynamicObject;
                /**
                 * 构造函数：传入实际数据包
                 * @param dynamicObject 实际数据包
                 */
                new(dynamicObject:DynamicObject):ReadonlyDynamicObject;
            }
            interface ReadonlyDynamicObject$ {
                /**
                 * 获取父级数据包
                 * @return 返回父级数据包，也包装为只读数据包
                 */
                getParent():any;
                /**
                 * 返回此实体中指定属性名称的值
                 *
                 * @param propertyName 属性名称
                 * @return 返回此属性名称的值
                 */
                get(propertyName:string):any;
                /**
                 * 获取实体模型
                 * @return 返回实际数据包的实体模型
                 */
                getDataEntityType():kd.bos.dataentity.metadata.IDataEntityType;
            }
            type ReadonlyDynamicObject_T = $.java.io.Serializable & ReadonlyDynamicObject$;
            interface ReadonlyDynamicObject extends ReadonlyDynamicObject_T {
            }
            interface IDataCacheControl_S {
            }
            interface IDataCacheControl_C extends IDataCacheControl_S {
            }
            interface IDataCacheControl$ {
                /**
                 * 用于确定在加载数据时是否缓存，来提升性能
                 * 如果需要修改这一行为，可以在具体实现类中重写此方法，目前只有基础资料实体有重写此方法
                 *
                 * @return boolean true：缓存数据，false：不缓存数据
                 */
                isCache():boolean;
            }
            type IDataCacheControl_T = IDataCacheControl$;
            interface IDataCacheControl extends IDataCacheControl_T {
            }
            interface EntryInfo_S {
            }
            type EntryInfo_ST = $.java.io.Serializable & EntryInfo_S;
            interface EntryInfo_C extends EntryInfo_ST {
                new():EntryInfo;
            }
            interface EntryInfo$ {
                /**
                 * 获取分录页起始行索引
                 * @return 起始行索引
                 */
                getStartRowIndex():number;
                /**
                 * 获取分录总行数。如果未设置，返回空(null)
                 * @return 分录总行数
                 */
                getRowCount():number;
                /**
                 * 获取分录的每页条数
                 * @return 每页条数
                 */
                getPageSize():number;
                /**
                 * 判断当前索引是否在当前分录页
                 * @param index 当前索引
                 * @return 当前序号是否在当前分录页
                 */
                inCurrentPage(index:number):boolean;
                /**
                 * 设置分录页起始行索引
                 * @param startRowIndex 起始行索引
                 */
                setStartRowIndex(startRowIndex:number):void;
                /**
                 * 设置分录总行数
                 * @param rowCount 分录总行数
                 */
                setRowCount(rowCount:number):void;
                /**
                 * 设置分录的每页条数
                 * @param pageSize 每页条数
                 */
                setPageSize(pageSize:number):void;
            }
            type EntryInfo_T = $.java.io.Serializable & EntryInfo$;
            interface EntryInfo extends EntryInfo_T {
            }
            interface ILocaleValue_S {
            }
            type ILocaleValue_ST = $.java.util.Map & ILocaleValue_S;
            interface ILocaleValue_C extends ILocaleValue_ST {
            }
            interface ILocaleValue$ {
                setItem(arg0:string,arg1:any):void;
                /**
                 * 获取指定国家语言对应的字符信息
                 * @param lcid 各国语言代码LocaleID（LCID）
                 * @return 字符值
                 */
                getItem(lcid:string):any;
                /**
                 * 获取当前默认国家语言的对应值
                 * @return
                 */
                getDefaultItem():any;
            }
            type ILocaleValue_T = $.java.util.Map & ILocaleValue$;
            interface ILocaleValue extends ILocaleValue_T {
            }
            interface LocaleValue_S {
            }
            type LocaleValue_ST = $.java.io.Serializable & $.java.util.Map & ILocaleValue_S & LocaleValue_S;
            interface LocaleValue_C extends LocaleValue_ST {
                /**
                 * 构造函数
                 */
                new():LocaleValue;
                new(arg0:any):LocaleValue;
                new(arg0:string,arg1:any):LocaleValue;
            }
            interface LocaleValue$ {
                put(arg0:string,arg1:any):any;
            }
            type LocaleValue_T = $.java.io.Serializable & $.java.util.Map & ILocaleValue & LocaleValue$;
            interface LocaleValue extends LocaleValue_T {
            }
            interface CollectionPropertyAttribute_S {
            }
            type CollectionPropertyAttribute_ST = $.java.lang.annotation.Annotation & CollectionPropertyAttribute_S;
            interface CollectionPropertyAttribute_C extends CollectionPropertyAttribute_ST {
            }
            interface CollectionPropertyAttribute$ {
                name():string;
                collectionItemPropertyType():$.java.lang.Class;
                displayName():string;
            }
            type CollectionPropertyAttribute_T = $.java.lang.annotation.Annotation & CollectionPropertyAttribute$;
            interface CollectionPropertyAttribute extends CollectionPropertyAttribute_T {
            }
            interface ClrDataEntity_S {
            }
            type ClrDataEntity_ST = $.java.io.Serializable & ClrDataEntity_S & DataEntityBase_S;
            interface ClrDataEntity_C extends ClrDataEntity_ST {
                new():ClrDataEntity;
            }
            interface ClrDataEntity$ {
            }
            type ClrDataEntity_T = $.java.io.Serializable & ClrDataEntity$ & DataEntityBase;
            interface ClrDataEntity extends ClrDataEntity_T {
            }
        }
        namespace kd.bos.dataentity.exception{
            interface ORMArgInvalidException_S {
            }
            type ORMArgInvalidException_ST = $.java.io.Serializable & ORMArgInvalidException_S & OrmException_S;
            interface ORMArgInvalidException_C extends ORMArgInvalidException_ST {
                /**
                 * ORM参数不合法异常类
                 *
                 * @param code    异常编号
                 * @param message 异常信息
                 */
                new(code:string,message:string):ORMArgInvalidException;
                /**
                 * 通过传入异常消息和原始异常 实例化 异常对象
                 *
                 * @param code    异常编号
                 * @param message 异常消息
                 * @param inner   原始异常
                 */
                new(code:string,message:string,inner:$.java.lang.RuntimeException):ORMArgInvalidException;
            }
            interface ORMArgInvalidException$ {
            }
            type ORMArgInvalidException_T = $.java.io.Serializable & ORMArgInvalidException$ & OrmException;
            interface ORMArgInvalidException extends ORMArgInvalidException_T {
            }
            interface SerializationException_S {
            }
            type SerializationException_ST = $.java.io.Serializable & OrmException_S & SerializationException_S;
            interface SerializationException_C extends SerializationException_ST {
                /**
                 * 构造函数
                 */
                new():SerializationException;
                /**
                 * ORM运行时异常类
                 *
                 * @param code    异常编号
                 * @param message 异常信息
                 * @param data    序列化出错时的异常数据
                 */
                new(code:string,message:string,data:SerializationException$SerializationExceptionData):SerializationException;
                /**
                 * 通过传入异常消息和原始异常 实例化 异常对象
                 *
                 * @param code    异常编号
                 * @param message 异常消息
                 * @param data    序列化出错时的异常数据
                 * @param inner   原始异常
                 */
                new(code:string,message:string,data:SerializationException$SerializationExceptionData,inner:$.java.lang.RuntimeException):SerializationException;
            }
            interface SerializationException$ {
                /**
                 * 返回异常的相关信息
                 *
                 * @return {@link SerializationExceptionData}
                 */
                getExceptionData():SerializationException$SerializationExceptionData;
            }
            type SerializationException_T = $.java.io.Serializable & OrmException & SerializationException$;
            interface SerializationException extends SerializationException_T {
            }
            interface ORMDesignException_S {
            }
            type ORMDesignException_ST = $.java.io.Serializable & ORMDesignException_S & OrmException_S;
            interface ORMDesignException_C extends ORMDesignException_ST {
                /**
                 * ORM运行时异常类
                 *
                 * @param code    异常编号
                 * @param message 异常信息
                 */
                new(code:string,message:string):ORMDesignException;
                /**
                 * 通过传入异常消息和原始异常 实例化 异常对象
                 *
                 * @param code    异常编号
                 * @param message 异常消息
                 * @param inner   原始异常
                 */
                new(code:string,message:string,inner:$.java.lang.RuntimeException):ORMDesignException;
            }
            interface ORMDesignException$ {
            }
            type ORMDesignException_T = $.java.io.Serializable & ORMDesignException$ & OrmException;
            interface ORMDesignException extends ORMDesignException_T {
            }
            interface OrmException_S {
            }
            type OrmException_ST = $.java.io.Serializable & $.java.lang.RuntimeException & OrmException_S;
            interface OrmException_C extends OrmException_ST {
                /**
                 * 构造函数
                 */
                new():OrmException;
                /**
                 * 构造函数
                 * 通过传入异常消息和原始异常 实例化 异常对象
                 *
                 * @param code    异常编号
                 * @param message 异常消息
                 */
                new(code:string,message:string):OrmException;
                /**
                 * 构造函数
                 * 通过传入异常消息和原始异常 实例化 异常对象
                 *
                 * @param code    异常编号
                 * @param message 异常消息
                 * @param cause   原始异常
                 */
                new(code:string,message:string,cause:$.java.lang.Throwable):OrmException;
            }
            interface OrmException$ {
                /**
                 * 获取异常编号
                 *
                 * @return
                 */
                getCode():string;
            }
            type OrmException_T = $.java.io.Serializable & $.java.lang.RuntimeException & OrmException$;
            interface OrmException extends OrmException_T {
            }
            interface ORMBusinessException_S {
            }
            type ORMBusinessException_ST = $.java.io.Serializable & ORMBusinessException_S & OrmException_S;
            interface ORMBusinessException_C extends ORMBusinessException_ST {
                /**
                 * 构造函数
                 *
                 * @param code    异常编号
                 * @param message 异常消息
                 */
                new(code:string,message:string):ORMBusinessException;
            }
            interface ORMBusinessException$ {
            }
            type ORMBusinessException_T = $.java.io.Serializable & ORMBusinessException$ & OrmException;
            interface ORMBusinessException extends ORMBusinessException_T {
            }
            interface SerializationException$SerializationExceptionData_S {
            }
            type SerializationException$SerializationExceptionData_ST = $.java.io.Serializable & SerializationException$SerializationExceptionData_S;
            interface SerializationException$SerializationExceptionData_C extends SerializationException$SerializationExceptionData_ST {
                new():SerializationException$SerializationExceptionData;
            }
            interface SerializationException$SerializationExceptionData$ {
                setElementName(arg0:string):void;
                getOnReading():boolean;
                setCanIgnore(arg0:boolean):void;
                getCanIgnore():boolean;
                SetIsReadonly():void;
                getElementName():string;
                setOnReading(arg0:boolean):void;
            }
            type SerializationException$SerializationExceptionData_T = $.java.io.Serializable & SerializationException$SerializationExceptionData$;
            interface SerializationException$SerializationExceptionData extends SerializationException$SerializationExceptionData_T {
            }
        }
        namespace kd.bos.dataentity.limiter{
            interface KDRateLimiterException_S {
            }
            type KDRateLimiterException_ST = $.kd.bos.exception.KDException & KDRateLimiterException_S;
            interface KDRateLimiterException_C extends KDRateLimiterException_ST {
                /**
                 * 构造函数
                 * @param message 警告信息
                 */
                new(message:string):KDRateLimiterException;
                /**
                 * 构造函数
                 * @param errorCode 错误异常对象
                 * @param args 参数列表
                 */
                new(errorCode:$.kd.bos.exception.ErrorCode,args:any[]):KDRateLimiterException;
                /**
                 * 构造函数
                 * @param cause
                 * @param errorCode 错误异常对象
                 * @param args 参数列表
                 */
                new(cause:$.java.lang.Throwable,errorCode:$.kd.bos.exception.ErrorCode,args:any[]):KDRateLimiterException;
            }
            interface KDRateLimiterException$ {
            }
            type KDRateLimiterException_T = $.kd.bos.exception.KDException & KDRateLimiterException$;
            interface KDRateLimiterException extends KDRateLimiterException_T {
            }
            interface LimiterIntConfigRegistry_S {
                /**
                 * 获取限流值
                 * @param key 配置键
                 * @return 限流值
                 */
                getLimiterIntConfigValue(key:string):number;
            }
            interface LimiterIntConfigRegistry_C extends LimiterIntConfigRegistry_S {
                new():LimiterIntConfigRegistry;
            }
            interface LimiterIntConfigRegistry$ {
            }
            type LimiterIntConfigRegistry_T = LimiterIntConfigRegistry$;
            interface LimiterIntConfigRegistry extends LimiterIntConfigRegistry_T {
            }
        }
        namespace kd.bos.dataentity.message{
            class PushMessageType {
                static readonly UpdateTag:kd.bos.dataentity.message.PushMessageType;
                static readonly FormCommand:kd.bos.dataentity.message.PushMessageType;
                static valueOf(arg0:string):kd.bos.dataentity.message.PushMessageType;
                static values():kd.bos.dataentity.message.PushMessageType[];
            }
            interface PushMessage_S {
            }
            type PushMessage_ST = $.java.io.Serializable & PushMessage_S;
            interface PushMessage_C extends PushMessage_ST {
                /**
                 * 构造向前端推送的消息
                 *
                 * @param range 推送消息的范围（页面，会话，租户，全局）
                 *              {@link PushMessageRange}
                 * @param to    消息去向（页面ID，会话ID，租户ID）
                 * @param body  推送消息体
                 */
                new(range:PushMessageRange,to:string,body:any):PushMessage;
                /**
                 * 构造向前端推送的消息
                 *
                 * @param id         对应推送消息的id
                 * @param range      推送消息的范围（页面，会话，租户，全局）
                 *                   {@link PushMessage}
                 * @param type       推送消息类型（表单指令，更新指令*）
                 *                   {@link PushMessageType}
                 * @param from       消息来源
                 * @param to         消息去向（页面ID，会话ID，租户ID）
                 * @param createTime 推送消息生成时间
                 * @param properties 推送消息属性
                 * @param body       推送消息体
                 */
                new(id:string,range:PushMessageRange,type_arg:PushMessageType,from_arg:string,to:string,createTime:$.java.time.ZonedDateTime,properties:$.java.util.Map,body:any):PushMessage;
            }
            interface PushMessage$ {
                /**
                 * 获取对应推送消息的id
                 *
                 * @return 对应推送消息的id值
                 */
                getId():string;
                /**
                 * 设置推送消息的范围（页面，会话，租户，全局）
                 *
                 * @param range {@link PushMessageRange}推送消息的范围
                 */
                setRange(range:PushMessageRange):void;
                /**
                 * 获取消息去向（页面ID，会话ID，租户ID）
                 *
                 * @return 消息去向
                 */
                getTo():string;
                /**
                 * 获取推送消息生成时间
                 *
                 * @return 推送消息生成时间
                 */
                getCreateTime():$.java.time.ZonedDateTime;
                /**
                 * 获取推送消息的范围（页面，会话，租户，全局）
                 *
                 * @return {@link PushMessageRange}推送消息的范围
                 */
                getRange():PushMessageRange;
                /**
                 * 获取推送消息属性
                 *
                 * @return 推送消息属性
                 */
                getProperties():$.java.util.Map;
                /**
                 * 获取推送消息类型（表单指令，更新指令*）
                 *
                 * @return {@link PushMessageType}推送消息类型
                 */
                getType():PushMessageType;
                /**
                 * 设置推送消息属性
                 *
                 * @param properties 推送消息属性
                 */
                setProperties(properties:$.java.util.Map):void;
                /**
                 * 设置推送消息类型（表单指令，更新指令*）
                 *
                 * @param type {@link PushMessageType}推送消息类型
                 */
                setType(type_arg:PushMessageType):void;
                /**
                 * 设置推送消息生成时间
                 *
                 * @param createTime 推送消息生成时间
                 */
                setCreateTime(createTime:$.java.time.ZonedDateTime):void;
                /**
                 * 获取消息来源
                 *
                 * @return 消息来源
                 */
                getFrom():string;
                /**
                 * 设置对应推送消息的id
                 *
                 * @param id 对应推送消息的id
                 */
                setId(id:string):void;
                /**
                 * 设置推送消息体
                 *
                 * @param body 推送消息体
                 */
                setBody(body:any):void;
                /**
                 * 设置消息来源
                 *
                 * @param from 消息来源
                 */
                setFrom(from_arg:string):void;
                /**
                 * 设置消息去向（页面ID，会话ID，租户ID）
                 *
                 * @param to 消息去向
                 */
                setTo(to:string):void;
                /**
                 * 获取推送消息体
                 *
                 * @return 推送消息体
                 */
                getBody():any;
            }
            type PushMessage_T = $.java.io.Serializable & PushMessage$;
            interface PushMessage extends PushMessage_T {
            }
            class PushMessageRange {
                static readonly Session:kd.bos.dataentity.message.PushMessageRange;
                static readonly Account:kd.bos.dataentity.message.PushMessageRange;
                static readonly Tenant:kd.bos.dataentity.message.PushMessageRange;
                static readonly RootPage:kd.bos.dataentity.message.PushMessageRange;
                static valueOf(arg0:string):kd.bos.dataentity.message.PushMessageRange;
                static values():kd.bos.dataentity.message.PushMessageRange[];
            }
            interface PushMessageBuilder_S {
                /**
                 * 创建一个新的推送消息构造帮助类
                 * @return
                 */
                create():PushMessageBuilder;
            }
            interface PushMessageBuilder_C extends PushMessageBuilder_S {
                /**
                 * 构造函数
                 */
                new():PushMessageBuilder;
            }
            interface PushMessageBuilder$ {
                /**
                 * 设置推送消息生成时间
                 *
                 * @param createTime 推送消息生成时间
                 * @return 推送消息构造帮助类
                 */
                createTime(createTime:$.java.time.ZonedDateTime):this;
                /**
                 * 设置消息来源
                 *
                 * @param from 消息来源
                 * @return 推送消息构造帮助类
                 */
                from(from_arg:string):this;
                /**
                 * 设置推送消息的范围（页面，会话，租户，全局）
                 *
                 * @param range {@link PushMessageRange}推送消息的范围
                 * @return 推送消息构造帮助类
                 */
                range(range:PushMessageRange):this;
                /**
                 * 构建前端推送的消息类
                 *
                 * @return {@link PushMessage}
                 */
                build():PushMessage;
                /**
                 * 设置推送消息体
                 *
                 * @param body 推送消息体
                 * @return 推送消息构造帮助类
                 */
                body(body:any):this;
                /**
                 * 设置消息去向（页面ID，会话ID，租户ID）
                 *
                 * @param to 消息去向
                 * @return 推送消息构造帮助类
                 */
                to(to:string):this;
                /**
                 * 添加推送消息属性
                 *
                 * @param key   推送消息标识
                 * @param value 推送消息值
                 * @return 推送消息构造帮助类
                 */
                addProperty(key:string,value:string):this;
                /**
                 * 设置对应推送消息的id
                 *
                 * @param id 对应推送消息的id
                 * @return 推送消息构造帮助类
                 */
                id(id:string):this;
                /**
                 * 设置推送消息类型（表单指令，更新指令*）
                 *
                 * @param type {@link PushMessageType}推送消息类型
                 * @return 推送消息构造帮助类
                 */
                type(type_arg:PushMessageType):this;
                /**
                 * 设置推送消息属性
                 *
                 * @param properties 推送消息属性
                 * @return 推送消息构造帮助类
                 */
                setProperties(properties:$.java.util.Map):this;
            }
            type PushMessageBuilder_T = PushMessageBuilder$;
            interface PushMessageBuilder extends PushMessageBuilder_T {
            }
        }
        namespace kd.bos.dataentity.metadata{
            interface IGeoPointProperty_S {
            }
            type IGeoPointProperty_ST = IGeoPointProperty_S & ISimpleProperty_S;
            interface IGeoPointProperty_C extends IGeoPointProperty_ST {
            }
            interface IGeoPointProperty$ {
                /**
                 * 经度属性
                 * @return
                 */
                getLongitudeProperty():IDataEntityProperty;
                /**
                 * 纬度属性
                 * @return
                 */
                getLatitudeProperty():IDataEntityProperty;
                /**
                 * 地址属性
                 * @return
                 */
                getAddressProperty?():IDataEntityProperty;
            }
            type IGeoPointProperty_T = IGeoPointProperty$ & ISimpleProperty;
            interface IGeoPointProperty extends IGeoPointProperty_T {
            }
            interface IDataEntityType_S {
            }
            type IDataEntityType_ST = IDataEntityType_S & IMetadata_S;
            interface IDataEntityType_C extends IDataEntityType_ST {
            }
            interface IDataEntityType$ {
                /**
                 * 返回当前实体的最后修改时间属性。
                 */
                getModifyTimeProperty?():IModifyTimeProperty;
                /**
                 * 分库后实体对应得数据库路由Key
                 */
                getDBRouteKey():string;
                /**
                 * 返回实体名称带引用属性
                 *
                 * @return
                 */
                getExtendName?():string;
                /**
                 * 创建此实体类型的实例
                 *
                 * @return
                 */
                createInstance():any;
                /**
                 * 设置一个实体是从数据库加载而来，并且清除脏标志，当读取或保存完毕后，调用此方法
                 *
                 * @param dataEntity
                 *            要设置的实体
                 */
                setFromDatabase(dataEntity:any):void;
                /**
                 * 返回此实体类型特征，可选值包括：Class(缺省)、Abstract、Sealed、Interface
                 */
                getFlag():DataEntityTypeFlag;
                /**
                 * 获取该实体对应的父实体
                 *
                 * @param currentObject
                 * @return
                 */
                getParent(currentObject:any):any;
                /**
                 * 返回当前实体的主键属性。
                 *
                 * 注意复杂属性可能没有主键
                 */
                getPrimaryKey():ISimpleProperty;
                /**
                 * 返回当前实体的排序属性集合
                 *
                 * @return 当前实体的排序属性集合
                 */
                getSortProperties():$.java.util.List;
                /**
                 * 返回所有的属性集合
                 */
                getProperties():kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection;
                /**
                 * 是否强制更新单据头的修改人
                 *
                 * @return
                 */
                isForceUpdateModifier?():boolean;
                /**
                 * 返回当前实体的最后修改人属性。
                 */
                getCreatedByProperty?():ICreatedByProperty;
                /**
                 * 输出关键信息，结果仅适用于日志记录
                 * @return
                 */
                toPlainString?():string;
                /**
                 * 返回某个实体数据是否已经发生了变更
                 *
                 * @param dataEntity
                 *            要检查的实体对象
                 * @return 如果当前实体发生了变更将返回ture，否则返回false。注意这里不判断复杂属性和集合属性的变更
                 */
                isDirty(dataEntity:any):boolean;
                /**
                 * @return 获取该实体类型对应的父实体类型
                 */
                getParent():this;
                /**
                 * 设置一个实体是从数据库加载而来，但是不清除脏标志
                 *
                 * @param dataEntity
                 * @param clearDirty
                 */
                setFromDatabase(dataEntity:any,clearDirty:boolean):void;
                /**
                 * 返回当前实体的最后修改时间属性。
                 */
                getCreateTimeProperty?():ICreateTimeProperty;
                /**
                 * 根据实体数据返回是否为空
                 *
                 * @param dataEntity
                 *            实体数据
                 * @return
                 */
                isEmpty(dataEntity:any):boolean;
                /**
                 * 返回当前实体的最后修改人属性。
                 */
                getModifierProperty?():IModifierProperty;
            }
            type IDataEntityType_T = IDataEntityType$ & IMetadata;
            interface IDataEntityType extends IDataEntityType_T {
            }
            interface IJoinProperty_S {
            }
            interface IJoinProperty_C extends IJoinProperty_S {
            }
            interface IJoinProperty$ {
                /**
                 * 获取子对象关联属性
                 * @return
                 */
                getJoinProperty():IDataEntityProperty;
                /**
                 * 获取父对象关联属性（主键）
                 * @return
                 */
                getFKProperty():IDataEntityProperty;
            }
            type IJoinProperty_T = IJoinProperty$;
            interface IJoinProperty extends IJoinProperty_T {
            }
            interface ICreateTimeProperty_S {
            }
            type ICreateTimeProperty_ST = ICreateTimeProperty_S & ISimpleProperty_S;
            interface ICreateTimeProperty_C extends ICreateTimeProperty_ST {
            }
            interface ICreateTimeProperty$ {
            }
            type ICreateTimeProperty_T = ICreateTimeProperty$ & ISimpleProperty;
            interface ICreateTimeProperty extends ICreateTimeProperty_T {
            }
            class RowOperateType {
                static readonly Unknow:kd.bos.dataentity.metadata.RowOperateType;
                static readonly Insert:kd.bos.dataentity.metadata.RowOperateType;
                static readonly None:kd.bos.dataentity.metadata.RowOperateType;
                static readonly Update:kd.bos.dataentity.metadata.RowOperateType;
                static readonly Delete:kd.bos.dataentity.metadata.RowOperateType;
                static valueOf(arg0:string):kd.bos.dataentity.metadata.RowOperateType;
                /**
                 * 转换为行操作类型
                 * @param value 类型枚举值
                 * @return
                 */
                static forValue(value:number):kd.bos.dataentity.metadata.RowOperateType;
                static values():kd.bos.dataentity.metadata.RowOperateType[];
                /**
                 * 获取行操作类型枚举值
                 * @return
                 */
                getValue():number;
            }
            interface IColumnValuePair_S {
            }
            interface IColumnValuePair_C extends IColumnValuePair_S {
            }
            interface IColumnValuePair$ {
                /**
                 *     返回值对象
                 */
                getValue():any;
                /**
                 * 设置值对象
                 */
                setValue(value:any):void;
                /**
                 *     返回列对象
                 */
                getColumn():kd.bos.dataentity.metadata.database.DbMetadataColumn;
            }
            type IColumnValuePair_T = IColumnValuePair$;
            interface IColumnValuePair extends IColumnValuePair_T {
            }
            interface IDataEntityTypeCollection_S {
            }
            type IDataEntityTypeCollection_ST = $.java.util.List & IDataEntityTypeCollection_S & kd.bos.dataentity.collections.IKeyedCollectionBase_S;
            interface IDataEntityTypeCollection_C extends IDataEntityTypeCollection_ST {
            }
            interface IDataEntityTypeCollection$ {
            }
            type IDataEntityTypeCollection_T = $.java.util.List & IDataEntityTypeCollection$ & kd.bos.dataentity.collections.IKeyedCollectionBase;
            interface IDataEntityTypeCollection extends IDataEntityTypeCollection_T {
            }
            interface ILocaleProperty_S {
            }
            interface ILocaleProperty_C extends ILocaleProperty_S {
            }
            interface ILocaleProperty$ {
                /**
                 *  通用语言文本模式，多语言字段降级为文本字段效果，使用通用语言过滤/查询
                 * @return
                 */
                useGlangText?():boolean;
                /**
                 * 用于通用语言反序列化填值
                 *
                 * @param dataEntity
                 *            数据包
                 * @param newValue
                 *            字段值
                 */
                setGlangValue?(dataEntity:any,value:any):void;
            }
            type ILocaleProperty_T = ILocaleProperty$;
            interface ILocaleProperty extends ILocaleProperty_T {
            }
            interface ICreatedByProperty_S {
            }
            type ICreatedByProperty_ST = ICreatedByProperty_S & ISimpleProperty_S;
            interface ICreatedByProperty_C extends ICreatedByProperty_ST {
            }
            interface ICreatedByProperty$ {
            }
            type ICreatedByProperty_T = ICreatedByProperty$ & ISimpleProperty;
            interface ICreatedByProperty extends ICreatedByProperty_T {
            }
            interface IEntryType_S {
            }
            interface IEntryType_C extends IEntryType_S {
            }
            interface IEntryType$ {
                /**
                 * 获取分录序号属性
                 * @return 分录序号属性对象
                 */
                getSeqProperty():IDataEntityProperty;
            }
            type IEntryType_T = IEntryType$;
            interface IEntryType extends IEntryType_T {
            }
            interface IMetadata_S {
            }
            type IMetadata_ST = $.java.lang.Cloneable & IMetadata_S;
            interface IMetadata_C extends IMetadata_ST {
            }
            interface IMetadata$ {
                /**
                 * 获取别名
                 * @return
                 */
                getAlias():string;
                /**
                 * 克隆
                 * @return
                 * @throws CloneNotSupportedException
                 */
                clone():any;
                /**
                 * 获取对象描述
                 * @return
                 */
                getDisplayName?():kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否db存储
                 * @return
                 */
                isDbIgnore():boolean;
                /**
                 * 元数据对象的唯一名称
                 */
                getName():string;
            }
            type IMetadata_T = $.java.lang.Cloneable & IMetadata$;
            interface IMetadata extends IMetadata_T {
            }
            interface ISaveDataSet_S {
            }
            interface ISaveDataSet_C extends ISaveDataSet_S {
            }
            interface ISaveDataSet$ {
                /**
                 *     需要保存的所有表格信息
                 */
                getTables():kd.bos.dataentity.collections.KeyedCollectionBase;
            }
            type ISaveDataSet_T = ISaveDataSet$;
            interface ISaveDataSet extends ISaveDataSet_T {
            }
            interface IBillNoProperty_S {
            }
            interface IBillNoProperty_C extends IBillNoProperty_S {
            }
            interface IBillNoProperty$ {
            }
            type IBillNoProperty_T = IBillNoProperty$;
            interface IBillNoProperty extends IBillNoProperty_T {
            }
            interface ICollectionProperty_S {
            }
            type ICollectionProperty_ST = ICollectionProperty_S & IDataEntityProperty_S;
            interface ICollectionProperty_C extends ICollectionProperty_ST {
            }
            interface ICollectionProperty$ {
                /**
                 * 获取分录行分页相关信息
                 *
                 * @param dataEntity
                 * @return
                 */
                getEntryInfo?(dataEntity:any):kd.bos.dataentity.entity.EntryInfo;
                /**
                 * 返回此集合属性中项目的实体类型
                 *
                 * 例如订单的订单明细属性是个集合属性，那么他的CollectionItemPropertyType将是订单明细对象类型
                 */
                getItemType():IDataEntityType;
                /**
                 * 分录行是否必录
                 *
                 * @return
                 */
                isEntryMustInput?():boolean;
                /**
                 * 获取PK字段名
                 *
                 * @return
                 */
                getFkFieldName?():string;
            }
            type ICollectionProperty_T = ICollectionProperty$ & IDataEntityProperty;
            interface ICollectionProperty extends ICollectionProperty_T {
            }
            interface IDataEntityProperty_S {
            }
            type IDataEntityProperty_ST = IDataEntityProperty_S & IMetadata_S;
            interface IDataEntityProperty_C extends IDataEntityProperty_ST {
            }
            interface IDataEntityProperty$ {
                /**
                 * 为给定实体的属性填充指定的值
                 *
                 * @param dataEntity
                 *            要设置值得实体对象
                 * @param value
                 *            新的值
                 */
                setValue(dataEntity:any,value:any):void;
                /**
                 * 输出关键信息，结果仅适用于日志记录
                 * @return
                 */
                toPlainString?():string;
                /**
                 * 构建关键信息数据Map，结果仅适用于日志记录
                 * @return
                 */
                buildPlainStrMap?():$.java.util.Map;
                /**
                 * 此属性是否有缺省值
                 */
                hasDefaultValue():boolean;
                /**
                 * 返回此属性的返回类型
                 *
                 * 例如简单属性Age返回int类型，这里指的是调用GetValue返回的类型。所以集合属性返回的是集合的类型，而不是集合中某个项的类型
                 */
                getPropertyType():$.java.lang.Class;
                /**
                 * 给定一个实体，读取此属性描述符在此实体的值
                 *
                 * @param dataEntity
                 *            要读取属性值的实体实例，不能为空
                 * @return 最后取得的值
                 */
                getValue(dataEntity:any):any;
                /**
                 * 给定一个实体，为给定实体的属性填充指定的值，在确定dataEntity实体类型和此属性对应实体类型一致时采用此方法
                 *
                 * @param dataEntity
                 *            要设置值得实体对象
                 * @param value
                 *            新的值
                 */
                setValueFast(dataEntity:any,value:any):void;
                /**
                 * 返回此属性是否是只读属性
                 */
                getReadOnly():boolean;
                /**
                 * 属性是否支持Json序列化
                 *
                 * @return
                 */
                isJsonSerialize?():boolean;
                /**
                 * 获取父实体类型
                 *
                 * @return
                 */
                getParent():IDataEntityType;
                /**
                 * 是否允许存储空值
                 *
                 * @return
                 */
                isEnableNull?():boolean;
                /**
                 * 获取拆分表名
                 *
                 * @return
                 */
                getTableGroup?():string;
                /**
                 * 给定一个实体，快速读取此属性描述符在此实体的值，在确定dataEntity实体类型和此属性对应实体类型一致时采用此方法
                 *
                 * @param dataEntity
                 *            要读取属性值的实体实例，不能为空
                 * @return 最后取得的值
                 */
                getValueFast(dataEntity:any):any;
                /**
                 * 返回此属性在引用的实体类型中所在的位置
                 */
                getOrdinal():number;
                /**
                 * 实体属性是否为空值
                 *
                 * @param dataEntity
                 * @return
                 */
                isEmpty(dataEntity:any):boolean;
            }
            type IDataEntityProperty_T = IDataEntityProperty$ & IMetadata;
            interface IDataEntityProperty extends IDataEntityProperty_T {
            }
            interface ISimpleProperty_S {
            }
            type ISimpleProperty_ST = IDataEntityProperty_S & ISimpleProperty_S;
            interface ISimpleProperty_C extends ISimpleProperty_ST {
            }
            interface ISimpleProperty$ {
                /**
                 * 是否为加密属性
                 *
                 * @return
                 */
                isEncrypt():boolean;
                /**
                 * 属性对应的数据库类型
                 *
                 * @return
                 */
                getDbType():number;
                /**
                 * 是否为主键
                 *
                 * @return
                 */
                isPrimaryKey():boolean;
            }
            type ISimpleProperty_T = IDataEntityProperty & ISimpleProperty$;
            interface ISimpleProperty extends ISimpleProperty_T {
            }
            interface IDataEntityPropertyCollection_S {
            }
            interface IDataEntityPropertyCollection_C extends IDataEntityPropertyCollection_S {
            }
            interface IDataEntityPropertyCollection$ {
            }
            type IDataEntityPropertyCollection_T = IDataEntityPropertyCollection$;
            interface IDataEntityPropertyCollection extends IDataEntityPropertyCollection_T {
            }
            interface ISaveMetaRow_S {
            }
            interface ISaveMetaRow_C extends ISaveMetaRow_S {
            }
            interface ISaveMetaRow$ {
                /**
                 * 获取待保存的列信息 （变化的列 + 插入时默认值列）
                 */
                getOutputValues():$.java.util.List;
                /**
                 * 设置语言列
                 * @param value
                 */
                setLocale(value:IColumnValuePair):void;
                /**
                 * 获取主键列信息
                 */
                getOid():IColumnValuePair;
                /**
                 * 获取版本列信息
                 */
                getVersion():IColumnValuePair;
                /**
                 * 设置待保存的列
                 * @param value
                 */
                setOutputValues(value:$.java.util.List):void;
                /**
                 * 获取行操作类型
                 */
                getOperate():RowOperateType;
                /**
                 * 设置父实体外键列
                 * @param value
                 */
                setParentOid(value:IColumnValuePair):void;
                /**
                 * 获取父实体主键列信息 （父实体主键通常作为当前实体外键 或者 外键的一部分）
                 */
                getParentOid():IColumnValuePair;
                /**
                 * 获取语言列 （多语言表存在语言列）
                 * @return
                 */
                getLocale():IColumnValuePair;
                /**
                 * 设置版本列
                 * @param value
                 */
                setVersion(value:IColumnValuePair):void;
                /**
                 * 获取有值变化的列信息
                 */
                getDirtyValues():$.java.util.List;
            }
            type ISaveMetaRow_T = ISaveMetaRow$;
            interface ISaveMetaRow extends ISaveMetaRow_T {
            }
            interface ISaveDataTable_S {
            }
            interface ISaveDataTable_C extends ISaveDataTable_S {
            }
            interface ISaveDataTable$ {
                /**
                 * 获取待保存行
                 */
                getSaveRows():ISaveMetaRow[];
                /**
                 * 分页编辑情况下，获取当前页变动行数，以便于更新后续页面的行号 item1 parentId，item2 seq item3 changeRows
                 */
                getChangeRows():$.java.util.List;
                /**
                 * 获取待删除行
                 */
                getDeleteRows():IDeleteMetaRow[];
                /**
                 * 获取表格的元数据描述
                 */
                getSchema():kd.bos.dataentity.metadata.database.DbMetadataTable;
            }
            type ISaveDataTable_T = ISaveDataTable$;
            interface ISaveDataTable extends ISaveDataTable_T {
            }
            interface IModifyTimeProperty_S {
            }
            type IModifyTimeProperty_ST = IModifyTimeProperty_S & ISimpleProperty_S;
            interface IModifyTimeProperty_C extends IModifyTimeProperty_ST {
            }
            interface IModifyTimeProperty$ {
            }
            type IModifyTimeProperty_T = IModifyTimeProperty$ & ISimpleProperty;
            interface IModifyTimeProperty extends IModifyTimeProperty_T {
            }
            interface ISubEntryType_S {
            }
            interface ISubEntryType_C extends ISubEntryType_S {
            }
            interface ISubEntryType$ {
            }
            type ISubEntryType_T = ISubEntryType$;
            interface ISubEntryType extends ISubEntryType_T {
            }
            class DataEntityTypeFlag {
                static readonly Primitive:kd.bos.dataentity.metadata.DataEntityTypeFlag;
                static readonly Abstract:kd.bos.dataentity.metadata.DataEntityTypeFlag;
                static readonly Class:kd.bos.dataentity.metadata.DataEntityTypeFlag;
                static readonly Final:kd.bos.dataentity.metadata.DataEntityTypeFlag;
                static readonly Interface:kd.bos.dataentity.metadata.DataEntityTypeFlag;
                /**
                 * 根据整数值获取实体类型的特征
                 *
                 * @param value
                 *            实体类型的特征整数值
                 * @return
                 */
                static forValue(value:number):kd.bos.dataentity.metadata.DataEntityTypeFlag;
                static values():kd.bos.dataentity.metadata.DataEntityTypeFlag[];
                static valueOf(arg0:string):kd.bos.dataentity.metadata.DataEntityTypeFlag;
                /**
                 * 实体类型的特征整数值
                 *
                 * @return
                 */
                getValue():number;
            }
            interface IModifierProperty_S {
            }
            type IModifierProperty_ST = IModifierProperty_S & ISimpleProperty_S;
            interface IModifierProperty_C extends IModifierProperty_ST {
            }
            interface IModifierProperty$ {
            }
            type IModifierProperty_T = IModifierProperty$ & ISimpleProperty;
            interface IModifierProperty extends IModifierProperty_T {
            }
            class DataEntityCacheType {
                static readonly Share:kd.bos.dataentity.metadata.DataEntityCacheType;
                static readonly Multi:kd.bos.dataentity.metadata.DataEntityCacheType;
                static values():kd.bos.dataentity.metadata.DataEntityCacheType[];
                /**
                 * 通过整数值获取缓存类型
                 *
                 * @param value
                 * @return
                 */
                static forValue(value:number):kd.bos.dataentity.metadata.DataEntityCacheType;
                static valueOf(arg0:string):kd.bos.dataentity.metadata.DataEntityCacheType;
                /**
                 * 获取缓存类型整数值
                 *
                 * @return
                 */
                getValue():number;
            }
            interface IDirtyProperty_S {
            }
            interface IDirtyProperty_C extends IDirtyProperty_S {
            }
            interface IDirtyProperty$ {
                /**
                 *  是否存在脏标志
                 * @return true: 存在数据变动
                 */
                isDirty():boolean;
            }
            type IDirtyProperty_T = IDirtyProperty$;
            interface IDirtyProperty extends IDirtyProperty_T {
            }
            interface IDeleteMetaRow_S {
            }
            interface IDeleteMetaRow_C extends IDeleteMetaRow_S {
            }
            interface IDeleteMetaRow$ {
                /**
                 *     行主键信息
                 */
                getOid():any;
            }
            type IDeleteMetaRow_T = IDeleteMetaRow$;
            interface IDeleteMetaRow extends IDeleteMetaRow_T {
            }
            interface IComplexProperty_S {
            }
            type IComplexProperty_ST = IComplexProperty_S & IDataEntityProperty_S;
            interface IComplexProperty_C extends IComplexProperty_ST {
            }
            interface IComplexProperty$ {
                /**
                 * 获取字段类型与值的映射
                 *
                 * @param dataEntities
                 * @return
                 */
                getDataEntityWalkerItems?(dataEntities:$.java.util.List):$.java.util.Map;
                /**
                 * 多类别基础资料按数据行获取类型,使子类可以按所在行基础资料类型数据返回相关数据
                 *
                 * @param dataEntity
                 * @return
                 */
                getComplexType(dataEntity:any):IDataEntityType;
                /**
                 * 引用属性字段名
                 *
                 * @return
                 */
                getRefIdPropName():string;
                /**
                 * 专用于LoadRefence赋值
                 *
                 * @param dataEntity
                 * @param value
                 */
                loadValue?(dataEntity:any,value:any):void;
                /**
                 * 返回此属性的实体类型，此属性指向一个实体类型
                 */
                getComplexType():IDataEntityType;
            }
            type IComplexProperty_T = IComplexProperty$ & IDataEntityProperty;
            interface IComplexProperty extends IComplexProperty_T {
            }
            interface ILongDataProperty_S {
            }
            interface ILongDataProperty_C extends ILongDataProperty_S {
            }
            interface ILongDataProperty$ {
                /**
                 * 获取父实体类型定义
                 */
                getParent():IDataEntityType;
                /**
                 * 属性的返回类型
                 */
                getPropertyType():$.java.lang.Class;
                /**
                 * 设置null存储位置
                 * @param nullBit
                 */
                setNullBit(nullBit:number):void;
                /**
                 * 获取null存储位置
                 * @return
                 */
                getNullBit():number;
                /**
                 * 设置值存储位置
                 * @param bitPos
                 */
                setBitPos(bitPos:number):void;
                /**
                 * 获取值存储位置
                 * @return
                 */
                getBitPos():number;
            }
            type ILongDataProperty_T = ILongDataProperty$;
            interface ILongDataProperty extends ILongDataProperty_T {
            }
        }
        namespace kd.bos.dataentity.metadata.clr{
            interface CollectionProperty_S {
            }
            type CollectionProperty_ST = CollectionProperty_S & DataEntityProperty_S & ICollectionProperty_S;
            interface CollectionProperty_C extends CollectionProperty_ST {
                /**
                 * 构造函数
                 *
                 * @param propertyInfo
                 *            属性描述信息
                 * @param ordinal
                 *            属性所在的索引
                 */
                new(propertyInfo:$.java.beans.PropertyDescriptor,ordinal:number):CollectionProperty;
            }
            interface CollectionProperty$ {
            }
            type CollectionProperty_T = CollectionProperty$ & DataEntityProperty & ICollectionProperty;
            interface CollectionProperty extends CollectionProperty_T {
            }
            interface DataEntityProperty_S {
            }
            type DataEntityProperty_ST = DataEntityProperty_S & DefinedDbIgnoreAttribute_S & IDataEntityProperty_S & IMetadata_S;
            interface DataEntityProperty_C extends DataEntityProperty_ST {
                /**
                 * 构造函数
                 *
                 * @param propertyInfo 实体属性描述
                 * @param ordinal 实体属性所在索引
                 */
                new(propertyInfo:$.java.beans.PropertyDescriptor,ordinal:number):DataEntityProperty;
            }
            interface DataEntityProperty$ {
                /**
                 * 设置显示名称
                 *
                 * @param name
                 *            显示名称
                 */
                setDisplayName(name:kd.bos.dataentity.entity.LocaleString):void;
            }
            type DataEntityProperty_T = DataEntityProperty$ & DefinedDbIgnoreAttribute & IDataEntityProperty & IMetadata;
            interface DataEntityProperty extends DataEntityProperty_T {
            }
            interface DataEntityPropertyCollection_S {
            }
            type DataEntityPropertyCollection_ST = $.java.io.Serializable & DataEntityPropertyCollection_S & kd.bos.dataentity.collections.KeyedCollectionBase_S;
            interface DataEntityPropertyCollection_C extends DataEntityPropertyCollection_ST {
            }
            interface DataEntityPropertyCollection$ {
                /**
                 * 获取整型压缩存放位置
                 * @return
                 */
                getBitSize():number;
                /**
                 * 获取对象型存放位置
                 * @return
                 */
                getOtherSize():number;
                /**
                 * 获取实体集合对象的父对象，比如单据体的父对象就是基础资料或者单据等
                 *
                 * @return
                 */
                getParent():IDataEntityType;
                /**
                 * 返回属性集合中所有的简单属性
                 *
                 * @param properties
                 *            实体的属性集合
                 * @param onlyDbProperty
                 *            是否仅仅包含数据库中定义的属性
                 * @return 被检测的属性列表
                 */
                getSimpleProperties(onlyDbProperty:boolean):$.java.util.List;
                /**
                 * 返回属性集合中所有的复杂属性
                 *
                 * @param properties
                 *            实体的属性集合
                 * @param onlyDbProperty
                 *            是否仅仅包含数据库中定义的属性
                 * @return 被检测的属性列表
                 */
                getComplexProperties(onlyDbProperty:boolean):$.java.util.List;
                /**
                 * 返回属性集合中所有的集合属性
                 *
                 * @param properties
                 *            实体的属性集合
                 * @param onlyDbProperty
                 *            是否仅仅包含数据库中定义的属性
                 * @return 被检测的属性列表
                 */
                getCollectionProperties(onlyDbProperty:boolean):$.java.util.List;
                /**
                 * 设置整型压缩存放位置
                 * @param bitSize 存放位置下标
                 */
                setBitSize(bitSize:number):void;
                /**
                 * 设置对象型存放位置
                 * @param otherSize 存放位置下标
                 */
                setOtherSize(otherSize:number):void;
            }
            type DataEntityPropertyCollection_T = $.java.io.Serializable & DataEntityPropertyCollection$ & kd.bos.dataentity.collections.KeyedCollectionBase;
            interface DataEntityPropertyCollection extends DataEntityPropertyCollection_T {
            }
            interface DataEntityType_S {
                /**
                 * 根据Type类型获取实体类型DataEntityType，用于将强类型的实体类转为DataEntityType
                 *
                 * @param type 传入的实体类型
                 * @return
                 */
                getDataEntityType(type_arg:$.java.lang.Class):IDataEntityType;
            }
            type DataEntityType_ST = DataEntityType_S & IDataEntityType_S;
            interface DataEntityType_C extends DataEntityType_ST {
                /**
                 * 构造函数
                 *
                 * @param type 实体对象的强类型
                 */
                new(type_arg:$.java.lang.Class):DataEntityType;
            }
            interface DataEntityType$ {
                /**
                 * 获取实体对象的强类型
                 *
                 * @return
                 */
                getDataEntityClass():$.java.lang.Class;
                /**
                 * 设置显示名称
                 *
                 * @param name
                 *            显示名称
                 */
                setDisplayName(name:kd.bos.dataentity.entity.LocaleString):void;
            }
            type DataEntityType_T = DataEntityType$ & IDataEntityType;
            interface DataEntityType extends DataEntityType_T {
            }
            interface SimpleProperty_S {
            }
            type SimpleProperty_ST = DataEntityProperty_S & ISimpleProperty_S & SimpleProperty_S;
            interface SimpleProperty_C extends SimpleProperty_ST {
                /**
                 * 构建函数
                 *
                 * @param propertyInfo
                 *            属性描述
                 * @param ordinal
                 *            属性所在索引
                 */
                new(propertyInfo:$.java.beans.PropertyDescriptor,ordinal:number):SimpleProperty;
            }
            interface SimpleProperty$ {
                /**
                 * 设置拆分表
                 *
                 * @param value
                 *            拆分表名
                 */
                setTableGroup(value:string):void;
                /**
                 * 设置是否允许为空
                 *
                 * @param value
                 */
                setEnableNull(value:boolean):void;
            }
            type SimpleProperty_T = DataEntityProperty & ISimpleProperty & SimpleProperty$;
            interface SimpleProperty extends SimpleProperty_T {
            }
            interface ComplexProperty_S {
            }
            type ComplexProperty_ST = ComplexProperty_S & DataEntityProperty_S & IComplexProperty_S;
            interface ComplexProperty_C extends ComplexProperty_ST {
                /**
                 * 构造函数
                 *
                 * @param propertyInfo
                 *            属性描述
                 * @param ordinal
                 *            属性所在索引
                 */
                new(propertyInfo:$.java.beans.PropertyDescriptor,ordinal:number):ComplexProperty;
            }
            interface ComplexProperty$ {
            }
            type ComplexProperty_T = ComplexProperty$ & DataEntityProperty & IComplexProperty;
            interface ComplexProperty extends ComplexProperty_T {
            }
        }
        namespace kd.bos.dataentity.metadata.database{
            interface CollectionPropertyMap_S {
            }
            type CollectionPropertyMap_ST = CollectionPropertyMap_S & PropertyMap_S;
            interface CollectionPropertyMap_C extends CollectionPropertyMap_ST {
                new():CollectionPropertyMap;
            }
            interface CollectionPropertyMap$ {
            }
            type CollectionPropertyMap_T = CollectionPropertyMap$ & PropertyMap;
            interface CollectionPropertyMap extends CollectionPropertyMap_T {
            }
            interface DbMetadataCollection_S {
            }
            type DbMetadataCollection_ST = $.java.util.ArrayList & DbMetadataCollection_S;
            interface DbMetadataCollection_C extends DbMetadataCollection_ST {
                new():DbMetadataCollection;
            }
            interface DbMetadataCollection$ {
            }
            type DbMetadataCollection_T = $.java.util.ArrayList & DbMetadataCollection$;
            interface DbMetadataCollection extends DbMetadataCollection_T {
            }
            interface DbMetadataRelation_S {
            }
            type DbMetadataRelation_ST = DbMetadataBase_S & DbMetadataRelation_S;
            interface DbMetadataRelation_C extends DbMetadataRelation_ST {
                new():DbMetadataRelation;
            }
            interface DbMetadataRelation$ {
            }
            type DbMetadataRelation_T = DbMetadataBase & DbMetadataRelation$;
            interface DbMetadataRelation extends DbMetadataRelation_T {
            }
            interface DbMetadataDatabase_S {
            }
            type DbMetadataDatabase_ST = DbMetadataBase_S & DbMetadataDatabase_S;
            interface DbMetadataDatabase_C extends DbMetadataDatabase_ST {
                /**
                 *     创建 DbMetadataDatabase 实例
                 */
                new():DbMetadataDatabase;
            }
            interface DbMetadataDatabase$ {
            }
            type DbMetadataDatabase_T = DbMetadataBase & DbMetadataDatabase$;
            interface DbMetadataDatabase extends DbMetadataDatabase_T {
            }
            interface DbMetadataGeoColumn_S {
            }
            type DbMetadataGeoColumn_ST = DbMetadataColumn_S & DbMetadataGeoColumn_S;
            interface DbMetadataGeoColumn_C extends DbMetadataGeoColumn_ST {
                new():DbMetadataGeoColumn;
            }
            interface DbMetadataGeoColumn$ {
            }
            type DbMetadataGeoColumn_T = DbMetadataColumn & DbMetadataGeoColumn$;
            interface DbMetadataGeoColumn extends DbMetadataGeoColumn_T {
            }
            interface DbMetadataRelationCollection_S {
            }
            type DbMetadataRelationCollection_ST = DbMetadataCollection_S & DbMetadataRelationCollection_S;
            interface DbMetadataRelationCollection_C extends DbMetadataRelationCollection_ST {
                new():DbMetadataRelationCollection;
            }
            interface DbMetadataRelationCollection$ {
            }
            type DbMetadataRelationCollection_T = DbMetadataCollection & DbMetadataRelationCollection$;
            interface DbMetadataRelationCollection extends DbMetadataRelationCollection_T {
            }
            interface DbMetadataTableCollection_S {
            }
            type DbMetadataTableCollection_ST = DbMetadataCollection_S & DbMetadataTableCollection_S;
            interface DbMetadataTableCollection_C extends DbMetadataTableCollection_ST {
                new():DbMetadataTableCollection;
            }
            interface DbMetadataTableCollection$ {
            }
            type DbMetadataTableCollection_T = DbMetadataCollection & DbMetadataTableCollection$;
            interface DbMetadataTableCollection extends DbMetadataTableCollection_T {
            }
            interface DbMetadataColumn_S {
            }
            type DbMetadataColumn_ST = DbMetadataBase_S & DbMetadataColumn_S;
            interface DbMetadataColumn_C extends DbMetadataColumn_ST {
                /**
                 * 构造函数
                 */
                new():DbMetadataColumn;
                /**
                 * 创建DbMetadataColumn实例
                 *
                 * @param name
                 *            列的名称
                 */
                new(name:string):DbMetadataColumn;
            }
            interface DbMetadataColumn$ {
            }
            type DbMetadataColumn_T = DbMetadataBase & DbMetadataColumn$;
            interface DbMetadataColumn extends DbMetadataColumn_T {
            }
            interface PropertyMap_S {
            }
            type PropertyMap_ST = DataEntityMetadataMapBase_S & PropertyMap_S;
            interface PropertyMap_C extends PropertyMap_ST {
                new():PropertyMap;
            }
            interface PropertyMap$ {
            }
            type PropertyMap_T = DataEntityMetadataMapBase & PropertyMap$;
            interface PropertyMap extends PropertyMap_T {
            }
            interface DataEntityMetadataMapBase_S {
            }
            interface DataEntityMetadataMapBase_C extends DataEntityMetadataMapBase_S {
                new():DataEntityMetadataMapBase;
            }
            interface DataEntityMetadataMapBase$ {
            }
            type DataEntityMetadataMapBase_T = DataEntityMetadataMapBase$;
            interface DataEntityMetadataMapBase extends DataEntityMetadataMapBase_T {
            }
            interface DbMetadataBase_S {
            }
            interface DbMetadataBase_C extends DbMetadataBase_S {
                /**
                 * 构造函数
                 */
                new():DbMetadataBase;
                /**
                 *     传递元数据的名称构建对象
                 *
                 *     @param name 元数据的名称
                 */
                new(name:string):DbMetadataBase;
            }
            interface DbMetadataBase$ {
            }
            type DbMetadataBase_T = DbMetadataBase$;
            interface DbMetadataBase extends DbMetadataBase_T {
            }
            interface DbMetadataTable_S {
            }
            type DbMetadataTable_ST = DbMetadataBase_S & DbMetadataTable_S;
            interface DbMetadataTable_C extends DbMetadataTable_ST {
                /**
                 *     创建 DbMetadataTable 实例
                 */
                new():DbMetadataTable;
            }
            interface DbMetadataTable$ {
            }
            type DbMetadataTable_T = DbMetadataBase & DbMetadataTable$;
            interface DbMetadataTable extends DbMetadataTable_T {
            }
            interface SimplePropertyMap_S {
            }
            type SimplePropertyMap_ST = PropertyMap_S & SimplePropertyMap_S;
            interface SimplePropertyMap_C extends SimplePropertyMap_ST {
                new():SimplePropertyMap;
            }
            interface SimplePropertyMap$ {
            }
            type SimplePropertyMap_T = PropertyMap & SimplePropertyMap$;
            interface SimplePropertyMap extends SimplePropertyMap_T {
            }
            interface DataEntityTypeMap_S {
            }
            type DataEntityTypeMap_ST = DataEntityMetadataMapBase_S & DataEntityTypeMap_S;
            interface DataEntityTypeMap_C extends DataEntityTypeMap_ST {
                new():DataEntityTypeMap;
            }
            interface DataEntityTypeMap$ {
            }
            type DataEntityTypeMap_T = DataEntityMetadataMapBase & DataEntityTypeMap$;
            interface DataEntityTypeMap extends DataEntityTypeMap_T {
            }
            interface ComplexPropertyMap_S {
            }
            type ComplexPropertyMap_ST = ComplexPropertyMap_S & PropertyMap_S;
            interface ComplexPropertyMap_C extends ComplexPropertyMap_ST {
                new():ComplexPropertyMap;
            }
            interface ComplexPropertyMap$ {
            }
            type ComplexPropertyMap_T = ComplexPropertyMap$ & PropertyMap;
            interface ComplexPropertyMap extends ComplexPropertyMap_T {
            }
            interface DbMetadataColumnCollection_S {
            }
            type DbMetadataColumnCollection_ST = DbMetadataCollection_S & DbMetadataColumnCollection_S;
            interface DbMetadataColumnCollection_C extends DbMetadataColumnCollection_ST {
                /**
                 * 创建 DbMetadataColumnCollection 实例并传入所在表
                 *
                 * @param tableSchema
                 *            所在的表
                 */
                new(tableSchema:DbMetadataTable):DbMetadataColumnCollection;
            }
            interface DbMetadataColumnCollection$ {
            }
            type DbMetadataColumnCollection_T = DbMetadataCollection & DbMetadataColumnCollection$;
            interface DbMetadataColumnCollection extends DbMetadataColumnCollection_T {
            }
        }
        namespace kd.bos.dataentity.metadata.dynamicobject{
            interface DynamicComplexProperty_S {
            }
            type DynamicComplexProperty_ST = $.java.io.Serializable & DynamicComplexProperty_S & DynamicProperty_S & IComplexProperty_S;
            interface DynamicComplexProperty_C extends DynamicComplexProperty_ST {
                /**
                 * 无参构造函数，用于反序列化
                 */
                new():DynamicComplexProperty;
                /**
                 * @param name
                 * @param dynamicPropertyType
                 *            动态实体属性类型
                 * @param attributes
                 *            扩展属性
                 * @param isReadonly
                 *            是否只读
                 */
                new(name:string,refIdPropertyName:string,dynamicPropertyType:DynamicObjectType,isReadonly:boolean):DynamicComplexProperty;
            }
            interface DynamicComplexProperty$ {
                /**
                 * 设置复杂属性隐藏Id属性名
                 *
                 * @param name
                 */
                setRefIdPropName(name:string):void;
                /**
                 * 设置复杂属性的元数据类型
                 *
                 * @param dynamicObjectType
                 */
                setComplexType(dynamicObjectType:IDataEntityType):void;
                /**
                 * 设置拆分表名
                 *
                 * @param tableGroup
                 */
                setTableGroup(tableGroup:string):void;
                /**
                 * 返回复杂属性的属性返回类型
                 */
                getDynamicComplexPropertyType():DynamicObjectType;
            }
            type DynamicComplexProperty_T = $.java.io.Serializable & DynamicComplexProperty$ & DynamicProperty & IComplexProperty;
            interface DynamicComplexProperty extends DynamicComplexProperty_T {
            }
            interface DynamicPropertyCollection_S {
            }
            type DynamicPropertyCollection_ST = $.java.io.Serializable & DynamicPropertyCollection_S & kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection_S;
            interface DynamicPropertyCollection_C extends DynamicPropertyCollection_ST {
                /**
                 * 构造函数，用于序列化
                 */
                new():DynamicPropertyCollection;
                /**
                 * 构造函数
                 *
                 * @param list
                 *            需要注册的属性集合
                 * @param owner
                 */
                new(list:$.java.util.List,owner:IDataEntityType):DynamicPropertyCollection;
            }
            interface DynamicPropertyCollection$ {
                add(index:number,element:IDataEntityProperty):void;
                add(property:IDataEntityProperty):boolean;
            }
            type DynamicPropertyCollection_T = $.java.io.Serializable & DynamicPropertyCollection$ & kd.bos.dataentity.metadata.clr.DataEntityPropertyCollection;
            interface DynamicPropertyCollection extends DynamicPropertyCollection_T {
            }
            interface DynamicCollectionProperty_S {
            }
            type DynamicCollectionProperty_ST = $.java.io.Serializable & DynamicCollectionProperty_S & DynamicProperty_S & ICollectionProperty_S;
            interface DynamicCollectionProperty_C extends DynamicCollectionProperty_ST {
                /**
                 * 用于反序列化的构造函数
                 */
                new():DynamicCollectionProperty;
                /**
                 * 动态集合属性构造函数
                 *
                 * @param name
                 *            属性名称
                 * @param propertyType
                 *            属性类型
                 * @param dynamicItemPropertyType
                 *            属性动态实体属性类型
                 * @param attributes
                 *            扩展属性
                 */
                new(name:string,dynamicItemPropertyType:DynamicObjectType):DynamicCollectionProperty;
                /**
                 * 动态集合属性构造函数,用于将强类型对象转为DynamicCollectionProperty对象
                 *
                 * @param name
                 *            属性名称
                 * @param dynamicItemPropertyType
                 *            属性动态实体属性类型
                 * @param collectionType
                 *            强类型
                 */
                new(name:string,dynamicItemPropertyType:DynamicObjectType,collectionType:$.java.lang.Class):DynamicCollectionProperty;
            }
            interface DynamicCollectionProperty$ {
                /**
                 * 返回集合属性的元素数据类型
                 */
                getDynamicCollectionItemPropertyType():DynamicObjectType;
                /**
                 * 设置单据体标识
                 *
                 * @param fkFieldName
                 */
                setFkFieldName(fkFieldName:string):void;
            }
            type DynamicCollectionProperty_T = $.java.io.Serializable & DynamicCollectionProperty$ & DynamicProperty & ICollectionProperty;
            interface DynamicCollectionProperty extends DynamicCollectionProperty_T {
            }
            interface DynamicProperty_S {
                readonly DEFAULTORDINAL:number;
            }
            type DynamicProperty_ST = $.java.io.Serializable & $.java.lang.Cloneable & DynamicMetadata_S & DynamicProperty_S & IDataEntityProperty_S & ILongDataProperty_S;
            interface DynamicProperty_C extends DynamicProperty_ST {
                /**
                 * 构造函数
                 */
                new():DynamicProperty;
            }
            interface DynamicProperty$ {
                /**
                 * 重置动态实体的值
                 *
                 * @param dataEntity
                 *            要重置的实体
                 */
                resetDTValue(dataEntity:kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 从实体中快速检索当前属性的值,在确定dataEntity实体类型和此属性对应实体类型一致时采用此方法
                 *
                 * @param dataEntity
                 *            要检索的实体对象
                 * @return 此实体中此属性的值
                 */
                getDTValueFast(dataEntity:kd.bos.dataentity.entity.DynamicObject):any;
                /**
                 * 返回此属性的缺省值
                 */
                getDefaultValue():any;
                /**
                 * 设置字段在实体上的序号
                 *
                 * @param value
                 */
                setOrdinal(value:number):void;
                /**
                 * 获取自定义属性
                 *
                 * @param key
                 * @return
                 */
                getCustomProperty(key:string):any;
                /**
                 * 返回是否只读
                 */
                getIsReadOnly():boolean;
                /**
                 * 设置数据库字段名
                 *
                 * @param alias
                 *            数据库字段名
                 */
                setAlias(alias:string):void;
                /**
                 * 设置属性的初始值
                 *
                 * @param value
                 *            初始值
                 */
                setDefaultValue(value:any):void;
                /**
                 * 自定义属性Key，用于遍历
                 *
                 * @return
                 */
                getCustomPropertyKeys():$.java.util.Set;
                /**
                 * 设置动态实体的值
                 *
                 * @param dataEntity
                 *            要设置的动态实体实例
                 * @param newValue
                 *            此属性新的值
                 */
                setDTValue(dataEntity:kd.bos.dataentity.entity.DynamicObject,newValue:any):void;
                /**
                 * 设置字段显示名称
                 *
                 * @param name
                 *            显示名称
                 */
                setDisplayName(name:kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 从实体中检索当前属性的值并直接返回指定类型
                 *
                 * <typeparam name="T">返回值的类型</typeparam>
                 *
                 * @param dataEntity
                 *            要检索的实体对象
                 * @return 此实体中此属性的值
                 */
                getDTValue(dataEntity:kd.bos.dataentity.entity.DynamicObject):any;
                /**
                 * 设置属性名
                 *
                 * @param name
                 *            属性名
                 */
                setName(name:string):void;
                /**
                 * 设置自定义属性，初始化结束后，不允许修改
                 *
                 * @param key
                 * @param value
                 */
                setCustomProperty(key:string,value:any):void;
                /**
                 * 设置动态实体的值,在确定dataEntity实体类型和此属性对应实体类型一致时采用此方法
                 *
                 * @param dataEntity
                 *            要设置的动态实体实例
                 * @param newValue
                 *            此属性新的值
                 */
                setDTValueFast(dataEntity:kd.bos.dataentity.entity.DynamicObject,newValue:any):void;
                findTrueProperty(dataEntity:kd.bos.dataentity.entity.DynamicObject):this;
            }
            type DynamicProperty_T = $.java.io.Serializable & $.java.lang.Cloneable & DynamicMetadata & DynamicProperty$ & IDataEntityProperty & ILongDataProperty;
            interface DynamicProperty extends DynamicProperty_T {
            }
            interface ExtractOption_S {
            }
            interface ExtractOption_C extends ExtractOption_S {
                new():ExtractOption;
            }
            interface ExtractOption$ {
                /**
                 * 返回指定类型应提取的属性列表
                 *
                 * @param dtName
                 *            要提取的类型名称
                 * @return 最终决定提取的属性列表。如果是null，表示全部提取，不变更。
                 */
                GetExtractedProperties(dtName:string):$.java.util.Set;
                /**
                 * 设置是否提取引用属性Id
                 *
                 * @param includeRefId
                 *            是否提取引用属性Id
                 */
                setIncludeRefId(includeRefId:boolean):void;
                /**
                 * 注册提取的属性信息。包括实体类型名称及你需要提取的属性列表
                 *
                 * @param dtName
                 *            要提取的实体类型名称，比如你可以定义明细名称
                 * @param properties
                 *            要提取的属性列表，要提取明细的数据也需要包括在内
                 */
                register(dtName:string,...properties:string[]):void;
                /**
                 * 是否提取引用属性Id
                 *
                 * @return
                 */
                isIncludeRefId():boolean;
            }
            type ExtractOption_T = ExtractOption$;
            interface ExtractOption extends ExtractOption_T {
            }
            interface DynamicMetadata_S {
            }
            type DynamicMetadata_ST = $.java.io.Serializable & DynamicMetadata_S & IMetadata_S;
            interface DynamicMetadata_C extends DynamicMetadata_ST {
            }
            interface DynamicMetadata$ {
            }
            type DynamicMetadata_T = $.java.io.Serializable & DynamicMetadata$ & IMetadata;
            interface DynamicMetadata extends DynamicMetadata_T {
            }
            interface DynamicObjectType_S {
                readonly LOCALEID:string;
                readonly LocalePropertyName:string;
            }
            type DynamicObjectType_ST = $.java.io.Serializable & $.java.lang.Cloneable & DynamicMetadata_S & DynamicObjectType_S & IDataEntityType_S;
            interface DynamicObjectType_C extends DynamicObjectType_ST {
                /**
                 * 为克隆及反序列化需要构建的无参数
                 */
                new():DynamicObjectType;
                /**
                 * 动态实体类型定义类,ORM所有的实体类型最终都会转化为动态类型,所不同的只是各个实体的字段属性不一样
                 * 通过统一的动态类型,可以实现多个元数据模型统一基类,是平台动态编程、客户自定义开发可扩展的基础.
                 *
                 * <pre>
                 *     {@code
                 *      // 构建一个订单
                 *      DynamicObjectType saleOrderType = new DynamicObjectType("SaleOrder");
                 *      // 定义SaleOrderID属性，并设置为主键
                 *      saleOrderType.registerSimpleProperty("SaleOrderID", typeof(int), 0, false, new SimplePropertyAttribute(true));
                 *      // 单据日期
                 *      saleOrderType.registerSimpleProperty("SheetDate", typeof(DateTime));
                 *      //创建实例
                 *      DynamicObject obj = new DynamicObject(saleOrderType);
                 *      //访问值
                 *      SaleOrderIDProperty.getValue(obj);
                 *      //设置值
                 *      SaleOrderIDProperty.setValue(obj, 99);
                 *      //继承,动态类型可以通过参数baseType实现继承
                 *      DynamicObjectType myOrderType = new DynamicObjectType("SaleOrder",saleOrderType);
                 *     }
                 * </pre>
                 *
                 * @param name
                 *            动态实体类型名称
                 */
                new(name:string):DynamicObjectType;
            }
            interface DynamicObjectType$ {
                /**
                 * 注册一个集合属性 集合属性和复杂属性一样也是指向另外一个实体类型的引用，所不同的是集合属性表达主表与明细表的关系时候使用。
                 * 在数据库中，集合属性会保存在明细表中，为一对多的关系。主实体与集合属性的关联主键使用主实体的主键，即要求明细表的外键名字和主表主键名字相同。
                 * 如系统中的订单主表及明细表分录即使用集合属性来表示
                 *
                 * <pre>
                 * {@code
                 *      //构建一个订单
                 *      DynamicObjectType saleOrderType = new DynamicObjectType("SaleOrder");
                 *      //定义SaleOrderID属性，并设置为主键
                 *      saleOrderType.RegisterSimpleProperty("SaleOrderID", typeof(int), 0, false, new SimplePropertyAttribute(true));
                 *      //定义单据明细
                 *      DynamicObjectType saleOrderItemType = new DynamicObjectType("SaleOrderItem");
                 *      saleOrderItemType.RegisterSimpleProperty("SaleOrderItemID", typeof(int), 0, false, new SimplePropertyAttribute(true));
                 *      //产品
                 *      saleOrderItemType.RegisterSimpleProperty("ProductID", typeof(int));
                 *      //注册集合属性
                 *      DynamicProperty ItemsProperty = saleOrderType.RegisterCollectionProperty("Items", saleOrderItemType);
                 *      //集合属性的读取和设置
                 *      DynamicObject obj = new DynamicObject(saleOrderType);
                 *      //添加数据
                 *      IList list = (IList)ItemsProperty.GetValue(people);  //取得分录集合
                 *      list.Add(ItemsProperty.CollectionItemPropertyType.CreateInstance()); //集合操作，添加数据
                 *      object aItem = list[0];
                 *      IDataEntityType aItemType = aItem.CollectionItemPropertyType;  //取到第一个分录
                 *      ((ISimpleProperty)aItemType.Properties["ProductID"]).SetValue(items[0], 2);  //赋值
                 *      }
                 * </pre>
                 *
                 * @param name
                 *            属性的名称
                 * @param itemDataEntityType
                 *            集合中元素的类型
                 * @param collectionType
                 *            集合本省的属性类型，默认是typeof(DynamicObjectCollection)
                 * @param attributes
                 *            自定义标记集合
                 * @return 新定义的属性
                 */
                registerCollectionProperty(property:DynamicCollectionProperty):DynamicCollectionProperty;
                /**
                 * 缓存隔离标志
                 * @return
                 */
                getCacheFlag():string;
                /**
                 * 判断是否继承某个实体
                 *
                 * @param entityNumber
                 *            输入实体标识
                 * @return
                 */
                isInheritFrom(entityNumber:string):boolean;
                /**
                 * 注册一个简单属性，此属性参与ORM的处理 简单属性对应数据库中最基本的类型,包括(整型、字符、浮点型、日期等)
                 *
                 * <pre>
                 *
                 * {@code
                 *     //构建一个订单
                 *     DynamicObjectType saleOrderType = new DynamicObjectType("SaleOrder");
                 *     //定义SaleOrderID属性，并设置为主键
                 *     SaleOrderIDProperty = saleOrderType.registerSimpleProperty("SaleOrderID", typeof(int), 0, false, new SimplePropertyAttribute(true));
                 *     //单据日期
                 *     DynamicProperty SheetDateProperty = saleOrderType.registerProperty("SheetDate", typeof(DateTime),new DateTime(2009,9,1));
                 *     //简单属性的读取和设置
                 *     DynamicObject obj = new DynamicObject(saleOrderType);
                 *     SaleOrderIDProperty.getValue(obj); //缺省值0
                 *     SheetDateProperty.getValue(obj); //缺省值
                 *     SaleOrderIDProperty.setValue(obj, 99);
                 *     )
                 * </pre>
                 *
                 * @param name
                 *            属性的名称，不能为空
                 * @param propertyType
                 *            属性的返回类型
                 * @param defaultValue
                 *            缺省值，如果未设置，其为返回数据类型的默认值
                 * @param isReadonly
                 *            此属性是否只读
                 * @param attributes
                 *            自定义的标记
                 * @return 新定义的属性对象
                 */
                registerSimpleProperty(property:DynamicSimpleProperty):DynamicProperty;
                /**
                 * 根据字段名获取字段名属性
                 *
                 * @param propertyName
                 * @return
                 */
                getProperty(propertyName:string):DynamicProperty;
                /**
                 * 获取多语言字段属性集合
                 *
                 * @return
                 */
                getLocaleProperty():DynamicCollectionProperty;
                /**
                 * 获取实体缓存的类型
                 *
                 * @return
                 */
                getCacheTypeId():number;
                /**
                 * 设置实体显示名称
                 *
                 * @param name
                 */
                setDisplayName(name:kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置实体对应路由
                 *
                 * @param dbRouteKey
                 *            路由信息
                 */
                setDBRouteKey(dbRouteKey:string):void;
                /**
                 * 注册一个普通属性，此属性不参与ORM的分析过程 仅供内部使用，外部请使用RegisterSimpleProperty
                 *
                 * @param name
                 *            属性的名称，不能为空
                 * @param propertyType
                 *            属性的返回类型
                 * @param defaultValue
                 *            缺省值，如果未设置，其为返回数据类型的默认值
                 * @param isReadonly
                 *            此属性是否只读
                 * @param attributes
                 *            自定义的标记
                 * @return 新定义的属性对象
                 */
                registerProperty(name:string,propertyType:$.java.lang.Class,defaultValue:any,isReadonly:boolean):DynamicProperty;
                /**
                 * 从当前实体定义中提取一个精简版本
                 *
                 * @param option
                 *            提取选项
                 * @return 新提取出来的实体定义
                 */
                Extract(option:ExtractOption):this;
                /**
                 * 注册一个复杂属性 复杂属性指向另外一个实体类型的引用，以一个属性保存一个整体段信息。
                 * 如系统中常用的中繁英文三个字段则可整体定义为复杂属性，整个系统可共用这个类型。
                 * 注意的是数据库中复杂属性字段与主字段在同一个表中，对于保存到另一表中的情况，使用引用属性ReferenceAttribute.
                 *
                 * <pre>
                 * {@code
                 *     //构建一个订单
                 *     DynamicObjectType saleOrderType = new DynamicObjectType("SaleOrder");
                 *     // 定义SaleOrderID属性，并设置为主键
                 *     saleOrderType.registerSimpleProperty("SaleOrderID", typeof(int), 0, false, new SimplePropertyAttribute(true));
                 *     //注册复杂属性
                 *     DynamicObjectType cpxType = new DynamicObjectType("CPX");
                 *     DynamicProperty TelProperty = cpxType.registerSimpleProperty("Tel", typeof(string));
                 *     DynamicProperty cpxProperty = saleOrderType.registerComplexProperty("ComplexProperty", cpxType);
                 *     //复杂属性的读取和设置
                 *     DynamicObject obj = new DynamicObject(saleOrderType);
                 *     DynamicObject cpxValue = (DynamicObject)cpxProperty.getValue(obj);
                 *     TelProperty.setValue(cpxValue, "2008");
                 *     }
                 * </pre>
                 *
                 * @param name
                 *            属性的名称
                 * @param dataEntityType
                 *            注册的复杂属性返回类型
                 * @param isReadonly
                 *            此属性是否只读
                 * @param attributes
                 *            自定义标签集
                 * @return 新定义的属性定义
                 */
                registerComplexProperty(property:DynamicComplexProperty):DynamicComplexProperty;
                /**
                 * 设置缓存自定义标志
                 * 用于本地缓存隔离
                 * @param cacheFlag
                 */
                setCacheFlag(cacheFlag:string):void;
                /**
                 * 向集合添加属性
                 *
                 * @param property
                 */
                addProperty(property:DynamicProperty):void;
                /**
                 * 返回此动态实体最终创建后实体对应的CLR类型，默认情况下是DynamicObject
                 */
                getClrType():$.java.lang.Class;
                /**
                 * 设置实体名
                 *
                 * @param value
                 *            实体名
                 */
                setName(value:string):void;
            }
            type DynamicObjectType_T = $.java.io.Serializable & $.java.lang.Cloneable & DynamicMetadata & DynamicObjectType$ & IDataEntityType;
            interface DynamicObjectType extends DynamicObjectType_T {
            }
            interface DynamicLocaleProperty_S {
            }
            type DynamicLocaleProperty_ST = DynamicCollectionProperty_S & DynamicLocaleProperty_S;
            interface DynamicLocaleProperty_C extends DynamicLocaleProperty_ST {
                /**
                 * 用于反序列化
                 */
                new():DynamicLocaleProperty;
                /**
                 * 构造函数
                 *
                 * @param localepropertyname
                 *            属性名称
                 * @param localeDt
                 *            多语言实体对象类型
                 */
                new(localepropertyname:string,localeDt:DynamicObjectType):DynamicLocaleProperty;
            }
            interface DynamicLocaleProperty$ {
            }
            type DynamicLocaleProperty_T = DynamicCollectionProperty & DynamicLocaleProperty$;
            interface DynamicLocaleProperty extends DynamicLocaleProperty_T {
            }
            interface DynamicSimpleProperty_S {
            }
            type DynamicSimpleProperty_ST = $.java.io.Serializable & DynamicProperty_S & DynamicSimpleProperty_S & ISimpleProperty_S;
            interface DynamicSimpleProperty_C extends DynamicSimpleProperty_ST {
                /**
                 * 构造函数，用于序列化
                 */
                new():DynamicSimpleProperty;
                /**
                 * 创建实例
                 */
                new(name:string,propertyType:$.java.lang.Class,defaultValue:any):DynamicSimpleProperty;
            }
            interface DynamicSimpleProperty$ {
                /**
                 * 设置是否加密
                 *
                 * @param value
                 *            是否加密
                 */
                setEncrypt(value:boolean):void;
                /**
                 * 设置是否为主键
                 *
                 * @param value
                 *            是否为主键
                 */
                setPrimaryKey(value:boolean):void;
                /**
                 * 设置拆分表名
                 *
                 * @param tableGroup
                 *            拆分表名
                 */
                setTableGroup(tableGroup:string):void;
                /**
                 * 设置数据类型
                 *
                 * @param dbType
                 *            数据类型
                 */
                setDbType(dbType:number):void;
                /**
                 * 设置是否允许存储null
                 */
                setEnableNull(enableNull:boolean):void;
            }
            type DynamicSimpleProperty_T = $.java.io.Serializable & DynamicProperty & DynamicSimpleProperty$ & ISimpleProperty;
            interface DynamicSimpleProperty extends DynamicSimpleProperty_T {
            }
        }
        namespace kd.bos.dataentity.privacy{
            interface IPrivacyDataService_S {
            }
            interface IPrivacyDataService_C extends IPrivacyDataService_S {
            }
            interface IPrivacyDataService$ {
                loadPrivacyData(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:IPrivacyProperty,arg2:any[]):void;
                savePrivacyData(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:IPrivacyProperty,arg2:any[]):void;
                decode?(arg0:any):any;
                encode?(arg0:any):any;
                loadPrivacyData(arg0:$.java.util.List):void;
                savePrivacyData(arg0:$.java.util.List):void;
            }
            type IPrivacyDataService_T = IPrivacyDataService$;
            interface IPrivacyDataService extends IPrivacyDataService_T {
            }
            interface IPrivacyProperty_S {
            }
            type IPrivacyProperty_ST = $.kd.bos.dataentity.metadata.IDataEntityProperty & IPrivacyProperty_S;
            interface IPrivacyProperty_C extends IPrivacyProperty_ST {
            }
            interface IPrivacyProperty$ {
                getPrivacyDataService():IPrivacyDataService;
                setPrivacyValue(arg0:any,arg1:any):void;
                getOriginalPropKey():string;
            }
            type IPrivacyProperty_T = $.kd.bos.dataentity.metadata.IDataEntityProperty & IPrivacyProperty$;
            interface IPrivacyProperty extends IPrivacyProperty_T {
            }
            interface IPrivacyCenterService_S {
            }
            interface IPrivacyCenterService_C extends IPrivacyCenterService_S {
            }
            interface IPrivacyCenterService$ {
                getDesenValueByRule(arg0:string,arg1:any):any;
                getDesensitizeValue(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:string,arg3:$.kd.bos.dataentity.entity.DynamicObject,arg4:any):any;
                checkDecryptPermission?(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:string,arg3:$.kd.bos.dataentity.entity.DynamicObject):void;
                getDesensitizeValueWithoutPerm(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:string,arg3:$.kd.bos.dataentity.entity.DynamicObject,arg4:any):any;
                getEncryptFields(arg0:string):$.java.util.Set;
                isDesensitizeFieldWithoutPerm(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:string,arg3:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                getDesensitizeStrategy(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:$.kd.bos.dataentity.entity.DynamicObject):string;
                getDesensitizeStrategy(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string):string;
                isDesensitizeField(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:string):boolean;
                isEncryptField(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
                isDesensitizeField(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:string,arg2:string,arg3:$.kd.bos.dataentity.entity.DynamicObject):boolean;
            }
            type IPrivacyCenterService_T = IPrivacyCenterService$;
            interface IPrivacyCenterService extends IPrivacyCenterService_T {
            }
        }
        namespace kd.bos.dataentity.resource{
            interface ResManager_S {
                /**
                 * 加载多语言字符
                 *
                 * @param description 描述字符串
                 * @param resourceID  资源ID
                 * @param systemType  资源文件
                 * @param args        参数列表
                 * @return
                 */
                loadKDString(description:string,resourceID:string,systemType:string,...args:any[]):string;
                /**
                 * 加载多语言字符
                 * @param resourceID  资源ID
                 * @param systemType  资源文件
                 * @param args        参数列表
                 * @return
                 */
                getKDString(resourceID:string,systemType:string,...args:any[]):string;
                /**
                 * 根据资源ID获取LocaleString信息对象。
                 *
                 * @param description 描述字符串
                 * @param resourceID  资源ID
                 * @param systemType  资源文件
                 * @return {@link LocaleString}LocaleString
                 */
                getLocaleString(description:string,resourceID:string,systemType:string):kd.bos.dataentity.entity.LocaleString;
                /**
                 * 加载多语言字符
                 *
                 * @param lang 语种
                 * @param description 描述字符串
                 * @param resourceID  资源ID
                 * @param systemType  资源文件
                 * @param args        参数列表
                 * @return
                 */
                loadKDString(lang:$.kd.bos.lang.Lang,description:string,resourceID:string,systemType:string,...args:any[]):string;
            }
            interface ResManager_C extends ResManager_S {
                new():ResManager;
            }
            interface ResManager$ {
            }
            type ResManager_T = ResManager$;
            interface ResManager extends ResManager_T {
            }
            class ImageDirectory {
                static readonly Gui:kd.bos.dataentity.resource.ImageDirectory;
                static readonly Web:kd.bos.dataentity.resource.ImageDirectory;
                /**
                 * 获取图形目录枚举值
                 *
                 * @param value 来源值
                 * @return ImageDirectory 图形目录枚举值
                 */
                static forValue(value:number):kd.bos.dataentity.resource.ImageDirectory;
                static valueOf(arg0:string):kd.bos.dataentity.resource.ImageDirectory;
                static values():kd.bos.dataentity.resource.ImageDirectory[];
                /**
                 * 获取图形目录来源值
                 *
                 * @return
                 */
                getValue():number;
            }
        }
        namespace kd.bos.dataentity.resource.cache{
            interface CacheKeyUtil_S {
                /**
                 * 获取账套隔离的缓存Key
                 *
                 * @return
                 */
                getAcctId():string;
                /**
                 * 获取表单页面数据缓存 过期时间
                 *
                 * @return
                 */
                getPageCacheKeyTimeout():number;
            }
            interface CacheKeyUtil_C extends CacheKeyUtil_S {
                new():CacheKeyUtil;
            }
            interface CacheKeyUtil$ {
            }
            type CacheKeyUtil_T = CacheKeyUtil$;
            interface CacheKeyUtil extends CacheKeyUtil_T {
            }
        }
        namespace kd.bos.dataentity.resource.promptenum{
            interface MultiLangEnumBridge_S {
            }
            interface MultiLangEnumBridge_C extends MultiLangEnumBridge_S {
                new():MultiLangEnumBridge;
                new(arg0:string,arg1:string,arg2:string):MultiLangEnumBridge;
            }
            interface MultiLangEnumBridge$ {
                getDescription():string;
                setSystemType(arg0:string):void;
                setDescription(arg0:string):void;
                getResourceID():string;
                loadKDString():string;
                getSystemType():string;
                setResourceID(arg0:string):void;
            }
            type MultiLangEnumBridge_T = MultiLangEnumBridge$;
            interface MultiLangEnumBridge extends MultiLangEnumBridge_T {
            }
        }
        namespace kd.bos.dataentity.serialization{
            interface DataEntitySerializer_S {
                /**
                 * 根据序列化参数将数据包序列化成Map
                 *
                 * @param dataEntity 数据包
                 * @param option     {@link DataEntitySerializerOption} 序列化参数
                 * @return
                 */
                convertDataEntityToMap(dataEntity:any,option:DataEntitySerializerOption):$.java.util.Map;
                /**
                 * 根据反序列化参数将数据反序列成数据包集合
                 *
                 * @param dt      实体类型
                 * @param strList 需要反序列的值
                 * @param option  {@link DataEntityDeserializerOption} 反序列化参数
                 * @return
                 */
                deserializerFromListString(dt:kd.bos.dataentity.metadata.IDataEntityType,strList:string,option:DataEntityDeserializerOption):kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 将Map反序列化转换成数据包
                 *
                 * @param dt     实体类型
                 * @param mapObj 数据
                 * @return
                 */
                convertMapToDataEntity(dt:kd.bos.dataentity.metadata.IDataEntityType,mapObj:$.java.util.Map):any;
                /**
                 * 根据反序列化参数将Map反序列化转换成数据包
                 *
                 * @param dt     实体类型
                 * @param mapObj 数据
                 * @param option {@link DataEntityDeserializerOption} 反序列化参数
                 * @return
                 */
                convertMapToDataEntity(dt:kd.bos.dataentity.metadata.IDataEntityType,mapObj:$.java.util.Map,option:DataEntityDeserializerOption):any;
                /**
                 * 将数据包序列化成Map
                 *
                 * @param dataEntity 数据包
                 * @return Map<String, Object>
                 */
                convertDataEntityToMap(dataEntity:any):$.java.util.Map;
                /**
                 * 将String反序列化成数据包
                 *
                 * @param strOrder       值
                 * @param dataEntityType 实体类型
                 * @return
                 */
                deSerializerFromString(strOrder:string,dataEntityType:kd.bos.dataentity.metadata.IDataEntityType):any;
                /**
                 * 数据包反序列
                 * @param map  数据包json
                 * @param cols 动态对象list
                 * @param dt 动态对象实体属性
                 * @param option 反序列化选项
                 * @return
                 */
                deserializerFromMap(map:$.java.util.Map,cols:$.java.util.List,dt:kd.bos.dataentity.metadata.IDataEntityType,option:DataEntityDeserializerOption):$.java.util.List;
                /**
                 * 根据反序列化参数将数据反序列成数据包集合
                 *
                 * @param cols    数据包集合
                 * @param dt      实体类型
                 * @param strList 需要反序列的值
                 * @param option  {@link DataEntityDeserializerOption} 反序列化参数
                 * @return
                 */
                deserializerFromListString(cols:$.java.util.List,dt:kd.bos.dataentity.metadata.IDataEntityType,strList:string[],option:DataEntityDeserializerOption):$.java.util.List;
                /**
                 * 根据序列化参数将数据包序列化成String
                 *
                 * @param dataEntity 数据包
                 * @param option     {@link DataEntitySerializerOption} 序列化参数
                 * @return
                 */
                serializerToString(dataEntity:any,option:DataEntitySerializerOption):string;
                /**
                 * 将数据包序列化成数组
                 *
                 * @param dt     实体类型
                 * @param cols   数据集合
                 * @param option {@link DataEntitySerializerOption} 序列化参数
                 * @return
                 */
                serializerToMap(dt:kd.bos.dataentity.metadata.IDataEntityType,cols:$.java.util.List,option:DataEntitySerializerOption):$.java.util.Map;
                /**
                 * 将数据反序列化成数据包
                 *
                 * @param dt      实体类型
                 * @param strList 需要反序列的值
                 * @return
                 */
                deserializerFromListString(dt:kd.bos.dataentity.metadata.IDataEntityType,strList:string):kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 将数据包序列化成String
                 *
                 * @param dataEntity 数据包
                 * @return
                 */
                serializerToString(dataEntity:any):string;
                /**
                 * 根据反序列化参数将String反序列化成数据包
                 *
                 * @param strOrder       值
                 * @param dataEntityType 实体类型
                 * @param option         {@link DataEntityDeserializerOption} 反序列化参数
                 * @return
                 */
                deSerializerFromString(strOrder:string,dataEntityType:kd.bos.dataentity.metadata.IDataEntityType,option:DataEntityDeserializerOption):any;
                /**
                 * 将数组反序列化成数据包集合
                 *
                 * @param cols    数据集合
                 * @param dt      实体类型
                 * @param strList 需要反序列的值
                 * @return
                 */
                deserializerFromListString(cols:$.java.util.List,dt:kd.bos.dataentity.metadata.IDataEntityType,strList:string[]):$.java.util.List;
                /**
                 * 将数据包序列化成String
                 *
                 * @param dataEntity             数据包
                 * @param includeType            是否包含实体类型
                 * @param includeComplexProperty 是否包含复合属性
                 * @return
                 */
                serializerToString(dataEntity:any,includeType:boolean,includeComplexProperty:boolean):string;
                /**
                 * 将数据包序列化成数组
                 *
                 * @param dt     实体类型
                 * @param cols   数据集合
                 * @param option {@link DataEntitySerializerOption} 序列化参数
                 * @return
                 */
                serializerToListString(dt:kd.bos.dataentity.metadata.IDataEntityType,cols:$.java.util.List,option:DataEntitySerializerOption):string[];
            }
            interface DataEntitySerializer_C extends DataEntitySerializer_S {
                new():DataEntitySerializer;
            }
            interface DataEntitySerializer$ {
            }
            type DataEntitySerializer_T = DataEntitySerializer$;
            interface DataEntitySerializer extends DataEntitySerializer_T {
            }
            interface IBindEqualsFunc_S {
            }
            interface IBindEqualsFunc_C extends IBindEqualsFunc_S {
            }
            interface IBindEqualsFunc$ {
                equals(o1:any,o2:any):boolean;
            }
            type IBindEqualsFunc_T = IBindEqualsFunc$;
            interface IBindEqualsFunc extends IBindEqualsFunc_T {
            }
            interface ListDcxmlBinder_S {
            }
            type ListDcxmlBinder_ST = DcBinder_S & ListDcxmlBinder_S;
            interface ListDcxmlBinder_C extends ListDcxmlBinder_ST {
                /**
                 * 创建 ListDcxmlBinder 实例并指定默认的实体类型集合
                 *
                 * @param dts
                 *            要初始化的实体类型列表
                 */
                new(ignoreCase:boolean,dts:$.java.lang.Iterable):ListDcxmlBinder;
            }
            interface ListDcxmlBinder$ {
            }
            type ListDcxmlBinder_T = DcBinder & ListDcxmlBinder$;
            interface ListDcxmlBinder extends ListDcxmlBinder_T {
            }
            interface ISetJsonValueAction_S {
            }
            interface ISetJsonValueAction_C extends ISetJsonValueAction_S {
            }
            interface ISetJsonValueAction$ {
                apply(sp:kd.bos.dataentity.metadata.ISimpleProperty,jValue:any,obj:any):void;
            }
            type ISetJsonValueAction_T = ISetJsonValueAction$;
            interface ISetJsonValueAction extends ISetJsonValueAction_T {
            }
            interface IDataEntityBinder_S {
            }
            interface IDataEntityBinder_C extends IDataEntityBinder_S {
            }
            interface IDataEntityBinder$ {
                /**
                 * 是否序列化目标属性
                 * @param prop 目标属性
                 * @param option 序列化选项
                 * @return
                 */
                isSerializProperty?(prop:kd.bos.dataentity.metadata.IDataEntityProperty,option:DataEntitySerializerOption):boolean;
            }
            type IDataEntityBinder_T = IDataEntityBinder$;
            interface IDataEntityBinder extends IDataEntityBinder_T {
            }
            interface DataEntitySerializerOption_S {
            }
            interface DataEntitySerializerOption_C extends DataEntitySerializerOption_S {
                new():DataEntitySerializerOption;
            }
            interface DataEntitySerializerOption$ {
                /**
                 * 获取数据包中是否包含state标志
                 *
                 * @return true：包含，false：不包含
                 */
                isIncludeDataEntityState():boolean;
                /**
                 * 设置数据包中是否包含集合属性
                 *
                 * @param includeCollectionProperty 集合属性
                 */
                setIncludeCollectionProperty(includeCollectionProperty:boolean):void;
                /**
                 * 获取数据包中是否包含集合属性
                 *
                 * @return
                 */
                isIncludeCollectionProperty():boolean;
                /**
                 * 获取是否包含实体类型
                 *
                 * @return
                 */
                isIncludeType():boolean;
                /**
                 * 获取实体序列化类型绑定接口
                 *
                 * @return
                 */
                getDataEntityBinder():IDataEntityBinder;
                /**
                 * 设置是否包含复合属性
                 *
                 * @param includeComplexProperty 复合属性
                 */
                setIncludeComplexProperty(includeComplexProperty:boolean):void;
                /**
                 * 设置实体序列化类型绑定接口
                 *
                 * @param dataEntityBinder 实体序列化类型绑定接口
                 */
                setDataEntityBinder(dataEntityBinder:IDataEntityBinder):void;
                /**
                 * 是否包含属性数组
                 * @param includeIndex
                 */
                setIncludeIndex(includeIndex:boolean):void;
                /**
                 * 设置数据包中是否包含state标志
                 *
                 * @param includeDataEntityState 数据包中是否包含state标志
                 */
                setIncludeDataEntityState(includeDataEntityState:boolean):void;
                /**
                 * 设置是否包含实体类型
                 *
                 * @param includeType 是否包含实体类型
                 */
                setIncludeType(includeType:boolean):void;
                /**
                 * 是否包含属性数组
                 * @return
                 */
                isIncludeIndex():boolean;
                /**
                 * 获取是否包含复合属性
                 *
                 * @return
                 */
                isIncludeComplexProperty():boolean;
            }
            type DataEntitySerializerOption_T = DataEntitySerializerOption$;
            interface DataEntitySerializerOption extends DataEntitySerializerOption_T {
            }
            interface SerializationUtils_S {
                /**
                 * 将字节反序列成数据
                 *
                 * @param bytes 当前字节值
                 * @return
                 */
                fromByte(bytes:number[]):any;
                /**
                 * 将字符串到转换成整数
                 *
                 * @param arrayString 当前值
                 * @return
                 */
                stringToIntArray(arrayString:string):number[];
                /**
                 * KingScript脚本使用接口：把对象转换为JSON字符串
                 *
                 * @param obj 转换对象
                 * @return
                 */
                toJSONStringForTS(obj:any):string;
                /**
                 * 将数据反序列化成List
                 *
                 * @param content  待反序列化内容
                 * @param itemType 反序列化类型
                 * @return
                 */
                fromJsonStringToList(content:string,itemType:$.java.lang.Class):$.java.util.List;
                /**
                 * 将数据序列化输出
                 *
                 * @param o                 待序列化数据
                 * @param inclusionNON_NULL 是否包含不允许为null
                 * @param option            {@link OperateOption} 数据的操作提供额外的选项
                 * @return
                 */
                toJsonString(o:any,inclusionNON_NULL:boolean,option:OperateOption):string;
                /**
                 * 将加密值反序列化
                 *
                 * @param base64String 加密值
                 * @param <T>
                 * @return
                 */
                deSerializeFromBase64(base64String:string):any;
                /**
                 * 将数据反序列化成指定格式
                 *
                 * @param content   待反序列化内容
                 * @param valueType 反序列化类型
                 * @param <T>       反序列化后数据
                 * @return
                 */
                fromJsonString(content:string,valueType:$.java.lang.Class):any;
                /**
                 * 将数据序列化输出
                 *
                 * @param o 待序列化数据
                 * @return
                 */
                toJsonString(o:any):string;
                /**
                 * 获取对象序列化器 （null值不输出键值对）
                 * @return
                 */
                getObjectMapper2():any;
                /**
                 * KingScript脚本使用接口：把对象序列化
                 *
                 * @param obj 序列化对象
                 * @return
                 */
                serializeToBase64ForTS(obj:any):string;
                /**
                 * 将整形数组转换成字符串
                 *
                 * @param array 整形数组
                 * @return
                 */
                intArrayToString(array:number[]):string;
                /**
                 * 将当前数据序列化成字节
                 *
                 * @param o 当前值
                 * @return
                 */
                toByte(o:any):number[];
                /**
                 * 将数据序列化输出
                 *
                 * @param o                 待序列化数据
                 * @param inclusionNON_NULL 是否包含不允许为null的值
                 * @return
                 */
                toJsonString(o:any,inclusionNON_NULL:boolean):string;
                /**
                 * 将当前值序列化成加密值
                 *
                 * @param o 当前值
                 * @return
                 */
                serializeToBase64(o:any):string;
            }
            interface SerializationUtils_C extends SerializationUtils_S {
                new():SerializationUtils;
            }
            interface SerializationUtils$ {
            }
            type SerializationUtils_T = SerializationUtils$;
            interface SerializationUtils extends SerializationUtils_T {
            }
            interface DcxmlSerializer_S {
            }
            type DcxmlSerializer_ST = DcSerializer_S & DcxmlSerializer_S;
            interface DcxmlSerializer_C extends DcxmlSerializer_ST {
                /**
                 * 创建 Dcxml的序列化和反序列化工具。
                 *
                 * @param binder 绑定器
                 */
                new(binder:DcBinder):DcxmlSerializer;
                /**
                 * 创建 Dcxml的序列化和反序列化工具。
                 *
                 * @param dts 传递默认的类型列表，默认创建ListDcxmlBinder
                 */
                new(dts:$.java.lang.Iterable):DcxmlSerializer;
            }
            interface DcxmlSerializer$ {
                /**
                 * 获取2052多语言发生变化，是否重置其他语言
                 *
                 * @return
                 */
                getResetLoacaleValueBy2052():boolean;
                /**
                 * 设置2052多语言发生变化，是否重置其他语言
                 *
                 * @param value 是否重置其他语言
                 */
                setResetLoacaleValueBy2052(value:boolean):void;
                /**
                 * 设置是否只包含LocaleValue
                 *
                 * @param value 是否只包含LocaleValue
                 */
                setOnlyLocaleVale(value:boolean):void;
                /**
                 * 获取反序列化是否忽略主键冲突
                 *
                 * @return
                 */
                getColloctionIgnorePKValue():boolean;
                /**
                 * 设置是否换行
                 *
                 * @param newlines 换行
                 */
                setNewlines(newlines:boolean):void;
                /**
                 * 设置是否需要忽略不支持数据库操作的元素序列化
                 *
                 * @param value 是否忽略不支持数据库操作的元素序列化
                 */
                setNeedDBIgnore(value:boolean):void;
                /**
                 * 对指定的文本执行反序列化操作
                 *
                 * @param xml    数据来源
                 * @param entity 如果已经存在一个实体，可以提供给他
                 * @return 反序列化后的实体
                 */
                deserializeFromString(xml:string,entity:any):any;
                /**
                 * xml输出内容时，是否忽略 去重空格处理
                 * 去重空格效果(OutputFormat.trimtext)
                 * @return
                 */
                isIgnoreTrimText():boolean;
                /**
                 * 对指定的位置执行反序列化操作
                 *
                 * @param doc  xml文档
                 * @param entity 如果已经存在一个实体，可以提供给他
                 * @return 反序列化后的实体
                 */
                deserialize(doc:any,entity:any):any;
                /**
                 * 获取是否换行
                 *
                 * @return
                 */
                isNewlines():boolean;
                /**
                 * 对指定的位置执行反序列化操作
                 *
                 * @param file   文件
                 * @param entity 如果已经存在一个实体，可以提供给他
                 * @return 反序列化后的实体
                 */
                deserialize(file:$.java.io.File,entity:any):any;
                /**
                 * 设置是否缩进
                 *
                 * @param indent 缩进
                 */
                setIndent(indent:boolean):void;
                /**
                 * 根据文件添加模板
                 *
                 * @param loacleId    当前语言
                 * @param xmlTemplate 当前文件
                 */
                addTemplate(loacleId:string,xmlTemplate:$.java.io.File):void;
                /**
                 * 获取是否缩进
                 *
                 * @return
                 */
                isIndent():boolean;
                /**
                 * 获取是否需要忽略不支持数据库操作的元素序列化
                 *
                 * @return
                 */
                getNeedDBIgnore():boolean;
                /**
                 * 比对当前实体和基础实体的信息，并返回差量化的XML数据。
                 *
                 * @param currentEntity 当前实体
                 * @param baseEntity    基础比对实体。
                 * @return 差量化的XML数据。
                 */
                serializeToString(currentEntity:any,baseEntity:any):string;
                /**
                 * 获取是否只包含LocaleValue
                 *
                 * @return
                 */
                getOnlyLocaleVale():boolean;
                /**
                 * 根据内容添加模板
                 *
                 * @param loacleId    当前语言
                 * @param xmlTemplate 当前内容
                 */
                addTemplateFromString(loacleId:string,xmlTemplate:string):void;
                /**
                 * 对指定的文本执行反序列化操作
                 *
                 * @param diffxml    数据来源
                 * @param baseentity 如果已经存在一个实体，可以提供给他
                 * @param plugin     插件
                 * @return 反序列化后的实体
                 */
                getDiffDesc(diffxml:string,baseentity:any,plugin:IDcDescReadPlugin):string;
                /**
                 * 对指定的位置执行反序列化操作
                 *
                 * @param url    数据来源
                 * @param entity 如果已经存在一个实体，可以提供给他
                 * @return 反序列化后的实体
                 */
                deserialize(url:$.java.net.URL,entity:any):any;
                /**
                 * 根据url地址添加模板
                 *
                 * @param loacleId    当前语言
                 * @param xmlTemplate url地址
                 */
                addTemplate(loacleId:string,xmlTemplate:$.java.net.URL):void;
                /**
                 * 设置xml输出时，是否忽略去重空格
                 * true: 强制忽略
                 * false: 按原有效果输出（ json忽略，xml进行去重）
                 * @param ignoreTrimText
                 */
                setIgnoreTrimText(ignoreTrimText:boolean):void;
                /**
                 * 设置反序列化是否忽略主键冲突
                 *
                 * @param value 反序列化是否忽略主键冲突
                 */
                setColloctionIgnorePKValue(value:boolean):void;
            }
            type DcxmlSerializer_T = DcSerializer & DcxmlSerializer$;
            interface DcxmlSerializer extends DcxmlSerializer_T {
            }
            interface DynamicObjectSerializationBinder_S {
            }
            type DynamicObjectSerializationBinder_ST = DcBinder_S & DynamicObjectSerializationBinder_S;
            interface DynamicObjectSerializationBinder_C extends DynamicObjectSerializationBinder_ST {
                /**
                 * 构造函数
                 * @param dt 属性类型
                 */
                new(dt:kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):DynamicObjectSerializationBinder;
            }
            interface DynamicObjectSerializationBinder$ {
            }
            type DynamicObjectSerializationBinder_T = DcBinder & DynamicObjectSerializationBinder$;
            interface DynamicObjectSerializationBinder extends DynamicObjectSerializationBinder_T {
            }
            interface DcJsonSerializer_S {
                readonly ExtAttributes:string;
                readonly ElementName:string;
            }
            type DcJsonSerializer_ST = DcJsonSerializer_S & DcSerializer_S;
            interface DcJsonSerializer_C extends DcJsonSerializer_ST {
                /**
                 * 创建 Dcxml的序列化和反序列化工具。
                 *
                 * @param dts 传递默认的类型列表，默认创建ListDcxmlBinder
                 */
                new(dts:$.java.lang.Iterable):DcJsonSerializer;
                /**
                 * 创建 Dcxml的序列化和反序列化工具。
                 *
                 * @param binder 绑定器
                 */
                new(binder:DcBinder):DcJsonSerializer;
            }
            interface DcJsonSerializer$ {
                /**
                 * 对指定的文本执行反序列化操作
                 *
                 * @param jsonString 数据来源
                 * @param entity     如果已经存在一个实体，可以提供给他
                 * @return 反序列化后的实体
                 */
                deserializeFromString(jsonString:string,entity:any):any;
                /**
                 * 序列化实体数据
                 *
                 * @param currentEntity 当前实体
                 * @param baseEntity    基础实体
                 * @return
                 */
                serializeToMap(currentEntity:any,baseEntity:any):$.java.util.Map;
                /**
                 * 对指定数据执行反序列化操作
                 *
                 * @param jsonMap 数据
                 * @param entity  如果已经存在一个实体，可以提供给他
                 * @return 反序列化后的实体
                 */
                deserializeFromMap(jsonMap:$.java.util.Map,entity:any):any;
                /**
                 * 序列化实体数据，产生差量信息
                 *
                 * @param currentEntity 当前实体
                 * @param baseEntity    基础实体
                 * @return
                 */
                serializeToString(currentEntity:any,baseEntity:any):string;
            }
            type DcJsonSerializer_T = DcJsonSerializer$ & DcSerializer;
            interface DcJsonSerializer extends DcJsonSerializer_T {
            }
            interface IDcDescReadPlugin_S {
            }
            interface IDcDescReadPlugin_C extends IDcDescReadPlugin_S {
            }
            interface IDcDescReadPlugin$ {
                clear?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
                editProperty?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
                add?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
                resetProperty?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
                beginEditElement?(e:kd.bos.dataentity.serialization.args.EditElementArgs):void;
                remove?(re:kd.bos.dataentity.serialization.args.RemoveElementArgs):void;
                setNullProperty?(e:kd.bos.dataentity.serialization.args.EditPropertyArgs):void;
                endEditElement?(e:kd.bos.dataentity.serialization.args.EditElementArgs):void;
            }
            type IDcDescReadPlugin_T = IDcDescReadPlugin$;
            interface IDcDescReadPlugin extends IDcDescReadPlugin_T {
            }
            interface DataEntityDeserializerOption_S {
            }
            interface DataEntityDeserializerOption_C extends DataEntityDeserializerOption_S {
                new():DataEntityDeserializerOption;
            }
            interface DataEntityDeserializerOption$ {
                /**
                 * 设置数据包中是否包含state标志
                 *
                 * @param includeDataEntityState 数据包中是否包含state标志
                 */
                setIncludeDataEntityState(includeDataEntityState:boolean):void;
                /**
                 * 获取数据包中是否包含state标志
                 *
                 * @return true：包含，false：不包含
                 */
                isIncludeDataEntityState():boolean;
            }
            type DataEntityDeserializerOption_T = DataEntityDeserializerOption$;
            interface DataEntityDeserializerOption extends DataEntityDeserializerOption_T {
            }
            interface IBindToStringFunc_S {
            }
            interface IBindToStringFunc_C extends IBindToStringFunc_S {
            }
            interface IBindToStringFunc$ {
                apply(sp:kd.bos.dataentity.metadata.ISimpleProperty,o1:any,o2:any):string;
            }
            type IBindToStringFunc_T = IBindToStringFunc$;
            interface IBindToStringFunc extends IBindToStringFunc_T {
            }
            interface DcBinder_S {
                readonly ELEMENT:string;
                /**
                 * @param elementName
                 * @return
                 */
                getPrimitiveType(elementName:string):$.java.lang.Class;
            }
            interface DcBinder_C extends DcBinder_S {
                new():DcBinder;
            }
            interface DcBinder$ {
                /**
                 * 由Binder创建实例，默认实现是直接调用dt的CreateInstance方法
                 *
                 * @param dt
                 *            要创建实例的类型
                 * @return 新的实例
                 *
                 *         派生类可以重载此方法，例如标记实例创建的时机，或返回他的代理。
                 */
                createInstance(dt:kd.bos.dataentity.metadata.IDataEntityType):any;
                /**
                 * 允许定义个性化的相等判断机制，如果不重载此方法，将使用默认的判断机制。
                 *
                 * @param dataType
                 *            要进行相等判断的数据类型。
                 * @param defaultFunc
                 *            缺省的实现。
                 * @return 最终的实现
                 */
                bindEqualsFunc(dataType:$.java.lang.Class,defaultFunc:IBindEqualsFunc):IBindEqualsFunc;
                /**
                 * 返回用于比较实体类型的字符串比较策略，默认是忽略大小写
                 */
                isIgnoreCase():boolean;
                /**
                 * json数据写入自定义属性到对象
                 * @param kv
                 * @param entity
                 */
                readCustomJsonProperty(kv:$.java.util.Map$Entry,entity:any):void;
                /**
                 * 设置反序列化语种
                 * @param value
                 */
                setLCId(value:string):void;
                /**
                 * 在序列化或反序列化时发生异常，决定是否抛出异常
                 *
                 * @param serializationException
                 *            异常对象
                 */
                ThrowException(serializationException:kd.bos.dataentity.exception.SerializationException):void;
                /**
                 * 设置仅处理 db存储的属性
                 * @param value
                 */
                setOnlyDbProperty(value:boolean):void;
                /**
                 * 允许自定义数据类型转换为字符串的机制，如果不重载，将使用默认的行为。
                 *
                 * @param dataType
                 *            要转换的数据类型
                 * @param defaultFunc
                 *            缺省的数据转换函数
                 * @param isCData
                 *            是否是CData结构。
                 * @return 最终的实现。
                 */
                bindToStringFunc(dataType:$.java.lang.Class,defaultFunc:IBindToStringFunc,isCData:RefObject):IBindToStringFunc;
                /**
                 * 返回/设置是否仅处理数据库有关的属性，默认为true.
                 */
                getOnlyDbProperty():boolean;
                /**
                 * 简单属性对象序列化
                 * @param serObj xml元素
                 * @param property 属性
                 * @param entity 对象
                 * @return
                 */
                writeSimpleProperty(serObj:any,property:kd.bos.dataentity.metadata.ISimpleProperty,entity:any):boolean;
                /**
                 * 自定义属性数据写入xml
                 * @param serObj:xml对象
                 * @param current:当前对象
                 * @param base:基对象
                 */
                writeCustomXmlProperties(serObj:any,current:any,base:any):void;
                /**
                 * 返回指定实体的类型信息
                 *
                 * @param dataEntity
                 *            要检测的实体
                 * @return 此实体的类型信息
                 */
                getDataEntityType(dataEntity:any):kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 根据节点的名称确定数据类型
                 *
                 * @param elementName
                 *            节点的名称
                 * @param attributes
                 *            额外的附属Attribute信息
                 * @param result
                 *            返回数据类型
                 * @return 如果找到返回true，否则返回false
                 */
                tryBindToType(elementName:string,attributes:$.java.util.Map):kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 设置忽略大小写
                 * @param value
                 */
                setIgnoreCase(value:boolean):void;
                /**
                 * 返回指定实体的附属信息
                 *
                 * @param dataEntity
                 *            要检测的实体
                 * @return 此实体的附属的信息
                 */
                getDataEntityAttributes(dataEntity:any):$.java.util.Map;
                /**
                 * 根据节点的名称确定数据类型
                 *
                 * @param elementName
                 *            节点的名称
                 * @param attributes
                 *            额外的附属Attribute信息
                 * @return 返回数据类型
                 */
                bindToType(elementName:string,attributes:$.java.util.Map):kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 反序列化简单属性
                 * @param property  属性描述
                 * @param propElement  xml数据
                 * @param entity 目标对象
                 * @return
                 */
                readSimpleProperty(property:kd.bos.dataentity.metadata.ISimpleProperty,propElement:any,entity:any):boolean;
                /**
                 * 对象json序列化后事件
                 * @param currentEntity 当前实体
                 * @param baseEntity 基准实体
                 * @param serObj 序列化json
                 */
                afterWriteJsonObject(currentEntity:any,baseEntity:any,serObj:$.java.util.Map):void;
                /**
                 * @param serializeByDefValue the serializeByDefValue to set
                 */
                setSerializeDefaultValue(serializeDefaultValue:boolean):void;
                /**
                 * 根据当前的实体类型，返回对应的XML节点名称
                 *
                 * @param dt
                 *            实体类型
                 * @return 对应的XML节点名称
                 */
                bindToName(dt:kd.bos.dataentity.metadata.IDataEntityType):string;
                /**
                 * @return the serializeByDefValue
                 */
                isSerializeDefaultValue():boolean;
                /**
                 * 允许定义某个数据类型的读取XML的机制，如果不重载，可以使用默认的读取方式。
                 *
                 * @param dataType
                 *            数据类型，每个数据类型可以定义不同的读取行为。
                 * @param defaultAction
                 *            缺省的实现
                 * @return 最终的实现。
                 */
                bindJSONReadAction(dataType:$.java.lang.Class,defaultAction:ISetJsonValueAction):ISetJsonValueAction;
                /**
                 * 返回/设置在执行序列化和反序列化时，对应的时区信息，默认是当前时区。
                 */
                getLCId():string;
                /**
                 * 自定义属性数据写入Json
                 * @param serObj：Json对象
                 * @param current：当前对象
                 * @param base：基对象
                 */
                writeCustomJsonProperties(serObj:$.java.util.Map,current:any,base:any):void;
                /**
                 * xml数据写入自定义属性到对象
                 * @param element:xml元素
                 * @param entity：当前对象
                 */
                readCustomXmlProperty(element:any,entity:any):void;
            }
            type DcBinder_T = DcBinder$;
            interface DcBinder extends DcBinder_T {
            }
            interface DcSerializer_S {
            }
            interface DcSerializer_C extends DcSerializer_S {
                /**
                 * 创建 Dcxml的序列化和反序列化工具。
                 *
                 * @param dts 传递默认的类型列表
                 */
                new(dts:$.java.lang.Iterable):DcSerializer;
                /**
                 * 创建 Dcxml的序列化和反序列化工具。
                 *
                 * @param binder 绑定器
                 */
                new(binder:DcBinder):DcSerializer;
            }
            interface DcSerializer$ {
                /**
                 * 设置是否完整序列化LocaleValue，缺省为false
                 *
                 * @param value 完整序列化LocaleValue
                 */
                setIsLocaleValueFull(value:boolean):void;
                /**
                 * 获取当新建对象后是否再调用更新方法标记
                 *
                 * @return
                 */
                isCallUpdateFuncWhenCreated():boolean;
                /**
                 * 设置节点名称和实体类型的映射工具
                 *
                 * @param value {@link DcBinder} 类型的映射工具
                 */
                setBinder(value:DcBinder):void;
                /**
                 * 设置当新建对象后是否再调用更新方法标记
                 *
                 * @param callUpdateFuncWhenCreated
                 */
                setCallUpdateFuncWhenCreated(callUpdateFuncWhenCreated:boolean):void;
                /**
                 * 获取否完整序列化LocaleValue开关,缺省为false
                 *
                 * @return
                 */
                isLocaleValueFull():boolean;
                /**
                 * 设置是否序列化复合属性
                 *
                 * @param value 序列化复合属性
                 */
                setSerializeComplexProperty(value:boolean):void;
                /**
                 * 获取节点名称和实体类型的映射工具
                 *
                 * @return {@link DcBinder} 类型的映射工具
                 */
                getBinder():DcBinder;
                /**
                 * 获取是否序列化复合属性
                 *
                 * @return
                 */
                getSerializeComplexProperty():boolean;
            }
            type DcSerializer_T = DcSerializer$;
            interface DcSerializer extends DcSerializer_T {
            }
        }
        namespace kd.bos.dataentity.serialization.args{
            interface EditElementArgs_S {
            }
            interface EditElementArgs_C extends EditElementArgs_S {
                new(sbDesc:$.java.lang.StringBuilder,element:any,dt:kd.bos.dataentity.metadata.IDataEntityType,entity:any):EditElementArgs;
            }
            interface EditElementArgs$ {
                setDataEntityType(dataEntityType:kd.bos.dataentity.metadata.IDataEntityType):void;
                getDesc():$.java.lang.StringBuilder;
                getBaseEntity():any;
                getDataEntityType():kd.bos.dataentity.metadata.IDataEntityType;
                setBaseEntity(baseEntity:any):void;
                getElement():any;
            }
            type EditElementArgs_T = EditElementArgs$;
            interface EditElementArgs extends EditElementArgs_T {
            }
            interface EditPropertyArgs_S {
            }
            interface EditPropertyArgs_C extends EditPropertyArgs_S {
                new(sbDesc:$.java.lang.StringBuilder,property:kd.bos.dataentity.metadata.IDataEntityProperty,propElement:any,entity:any):EditPropertyArgs;
            }
            interface EditPropertyArgs$ {
                getProperty():kd.bos.dataentity.metadata.IDataEntityProperty;
                setBaseEntity(baseEntity:any):void;
                getDesc():$.java.lang.StringBuilder;
                getBaseEntity():any;
                getElement():any;
            }
            type EditPropertyArgs_T = EditPropertyArgs$;
            interface EditPropertyArgs extends EditPropertyArgs_T {
            }
            interface RemoveElementArgs_S {
            }
            interface RemoveElementArgs_C extends RemoveElementArgs_S {
                new(sbDesc:$.java.lang.StringBuilder,property:kd.bos.dataentity.metadata.ICollectionProperty,entity:any,removeEntity:any):RemoveElementArgs;
            }
            interface RemoveElementArgs$ {
                getRemoveEntity():any;
                getDesc():$.java.lang.StringBuilder;
                getProperty():kd.bos.dataentity.metadata.ICollectionProperty;
                getBaseEntity():any;
            }
            type RemoveElementArgs_T = RemoveElementArgs$;
            interface RemoveElementArgs extends RemoveElementArgs_T {
            }
        }
        namespace kd.bos.dataentity.trace{
            interface EntityTraceHint_S {
                /**
                 * 返回不链接到APM平台的参数配置
                 *
                 * 使用共享的静态变量，避免调用者重复实例化参数对象
                 *
                 * @return
                 */
                getHintDisLinkAPM():EntityTraceHint;
                /**
                 * 获取连接到APM平台的参数配置
                 *
                 * 使用共享的静态变量，避免重复实例化
                 *
                 * @return Trace参数配置
                 */
                getHintLinkAPM():EntityTraceHint;
            }
            interface EntityTraceHint_C extends EntityTraceHint_S {
                /**
                 * 无参构造函数
                 */
                new():EntityTraceHint;
                /**
                 * 带参构造函数：传入是否对接apm选项值
                 *
                 * @param linkToApm 传入true，和apm进行对接
                 */
                new(linkToApm:boolean):EntityTraceHint;
            }
            interface EntityTraceHint$ {
                /**
                 * 设置参数：是否和apm对接
                 *
                 * @param linkToApm 设置为true：对接apm平台，即同时生成apm调用链节点
                 */
                setLinkToApm(linkToApm:boolean):void;
                /**
                 * 返回：是否对接apm平台，即同时生成apm的调用链节点
                 *
                 * 部分方法调用非常频繁，会对apm产生很大性能压力，没有必要对接
                 *
                 * @return 返回false：不对接apm平台
                 */
                isLinkToApm():boolean;
            }
            type EntityTraceHint_T = EntityTraceHint$;
            interface EntityTraceHint extends EntityTraceHint_T {
            }
            interface EntityTracer_S {
                /**
                 * 捕获到异常，通知监听器进行处理
                 *
                 * 监听器在收到异常后，实时把当前调用堆栈各个方法执行参数打印出来，以便更好的在线分析问题
                 *
                 * @param msg 异常提示
                 */
                error(msg:string):void;
                /**
                 * 创建调用链节点实例
                 *
                 * @param type 调用类
                 * @param name 调用方法
                 * @param hint 配置是否和apm对接的参数
                 *
                 * @return 调用链节点实例
                 */
                create(type_arg:string,name:string,hint:EntityTraceHint):EntityTraceSpan;
                /**
                 * 捕获到异常，通知监听器进行处理
                 *
                 * 监听器在收到异常后，实时把当前调用堆栈各个方法执行参数打印出来，以便更好的在线分析问题
                 *
                 * @param e 异常对象
                 */
                error(e:$.java.lang.Throwable):void;
                /**
                 * 触发事件，通知监听器分析输出的数据
                 *
                 * @param event 事件名：由调用代码随意设置，供监听器定位当前事件
                 */
                logEvent(event:string):void;
                /**
                 * 添加标签，只存在本地，不和云架构调用链对接
                 *
                 * @param key 标签名
                 * @param value 标签值
                 */
                addLocaleTag(key:string,value:string):void;
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param type 触发异常的类名
                 * @param name 触发异常的方法名
                 * @param msg 异常提示
                 * @param e 异常对象
                 * @param tags 附加信息数组，每个元素为一条附加信息，包括标识+信息对象
                 */
                throwException(type_arg:string,name:string,msg:string,e:$.java.lang.Throwable,tags:$.java.util.Map):void;
                /**
                 * 添加标签，和云架构调用链对接
                 *
                 * @param key 标签名
                 * @param value 标签值
                 */
                addTag(key:string,value:string):void;
                /**
                 * 添加标签，只存在本地，不和云架构调用链对接
                 *
                 * @param key 标签名
                 * @param value 标签值
                 */
                addLocaleTag(key:string,value:any):void;
                /**
                 * 关闭当前的调用链节点，切换到父节点
                 */
                close():void;
                /**
                 * 获取当前正执行的调用链节点
                 *
                 * @return 调用链节点实例
                 */
                getCurrent():EntityTraceSpan;
                /**
                 * 是否为实时监听模式：
                 *
                 * 部分场景，只有在实时监听模式才需要创建调用链节点，上传数据。
                 * 不是实时监听模式则直接跳过，减少性能开销
                 *
                 * @return
                 */
                isRealtime():boolean;
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param msg 异常提示
                 * @param e 异常对象
                 */
                throwException(msg:string,e:$.java.lang.Throwable):void;
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param msg 异常提示
                 */
                throwException(msg:string):void;
                /**
                 * 忽略已捕捉的异常，不向外输出信息
                 *
                 * 适用于业务代码在try catch捕获异常后，吃掉异常不外抛，也不需要后台输出异常信息
                 */
                ignoreException():void;
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param e 异常对象
                 */
                throwException(e:$.java.lang.Throwable):void;
                /**
                 * 创建调用链节点实例
                 *
                 * @param type 调用类
                 * @param name 调用方法
                 * @return 调用链节点实例
                 */
                create(type_arg:string,name:string):EntityTraceSpan;
            }
            interface EntityTracer_C extends EntityTracer_S {
                new():EntityTracer;
            }
            interface EntityTracer$ {
                /**
                 * 捕获到异常，通知监听器进行处理
                 *
                 * 监听器在收到异常后，实时把当前调用堆栈各个方法执行参数打印出来，以便更好的在线分析问题
                 *
                 * @param msg 异常提示
                 * @param e 异常对象
                 */
                error(msg:string,e:$.java.lang.Throwable):void;
            }
            type EntityTracer_T = EntityTracer$;
            interface EntityTracer extends EntityTracer_T {
            }
            interface EntityTraceSpan_S {
            }
            type EntityTraceSpan_ST = $.java.lang.AutoCloseable & EntityTraceSpan_S;
            interface EntityTraceSpan_C extends EntityTraceSpan_ST {
            }
            interface EntityTraceSpan$ {
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param msg 异常提示
                 */
                throwException(msg:string):void;
                /**
                 * 触发事件，通知监听器进行分析
                 *
                 * 调用者上传完所有数据之后，调用此方法通知监听器对数据进行分析
                 *
                 * @param event 调用者自定义的事件名
                 */
                fireEvent(event:string):void;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#methodInstrumentForThreaddump()}
                 */
                methodInstrumentForThreaddump():void;
                /**
                 * 捕获到异常，通知监听器进行处理
                 *
                 * 监听器在收到异常后，实时把当前调用堆栈各个方法执行参数打印出来，以便更好的在线分析问题
                 *
                 * @param e 异常对象
                 */
                error(e:$.java.lang.Throwable):void;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getStartTime()}
                 */
                getStartTime():long;
                /**
                 * 忽略已捕捉的异常，不向外输出信息
                 *
                 * 适用于业务代码在try catch捕获异常后，吃掉异常不外抛，也不需要后台输出异常信息
                 */
                ignoreException?():void;
                /**
                 * 捕获到异常，通知监听器进行处理
                 *
                 * 监听器在收到异常后，实时把当前调用堆栈各个方法执行参数打印出来，以便更好的在线分析问题
                 *
                 * @param msg 异常提示
                 */
                error(msg:string):void;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#addTag(String, String)}
                 */
                addTag(key:string,value:string):this;
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param e 异常对象
                 */
                throwException(e:$.java.lang.Throwable):void;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#addTag(String, String, boolean)}
                 */
                addTag(key:string,value:string,force:boolean):this;
                /**
                 * 捕获到异常，通知监听器进行处理
                 *
                 * 监听器在收到异常后，实时把当前调用堆栈各个方法执行参数打印出来，以便更好的在线分析问题
                 *
                 * @param msg 异常提示
                 * @param e 异常对象
                 */
                error(msg:string,e:$.java.lang.Throwable):void;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#logEvent()}
                 */
                logEvent(event:string):this;
                /**
                 * 抛出异常，通知监听器开始收集调用链上下文数据，保护异常现场
                 *
                 * @param msg 异常提示
                 * @param e 异常对象
                 */
                throwException(msg:string,e:$.java.lang.Throwable):void;
                /**
                 * 输出本地变量，仅供监听器监听取用
                 *
                 * 使用addTag方法会向底层apm平台输出信息，会增加apm存储负担；
                 * 使用本方法则仅保留在本地，如果没有注册监听器则略过，不输出到apm平台
                 *
                 * @param key 键
                 * @param value 值
                 * @return 返回本对象，以便连续调用addLocaleTag
                 */
                addLocaleTag(key:string,value:any):this;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getCost()}
                 */
                getCost():number;
                /**
                 * 是否实时监听
                 *
                 * 客户代码在进行数据采集前，可以先判断当前线程是否在实时监听：
                 * 有些数据只有在实时监听时才需要格式化和上传，非实时监听不需处理，可以节省数据格式化的时间
                 * @return 是否实时监听
                 */
                isRealtime():boolean;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getType()}
                 */
                getType():string;
                /**
                 * 对接apm的TraceSpan接口{@link kd.bos.trace.TraceSpan#getName()}
                 */
                getName():string;
            }
            type EntityTraceSpan_T = $.java.lang.AutoCloseable & EntityTraceSpan$;
            interface EntityTraceSpan extends EntityTraceSpan_T {
            }
        }
        namespace kd.bos.dataentity.utils{
            interface CharSequenceUtils_S {
                /**
                 * <p>Returns a new {@code CharSequence} that is a subsequence of this
                 * sequence starting with the {@code char} value at the specified index.</p>
                 *
                 * <p>This provides the {@code CharSequence} equivalent to {@link String#substring(int)}.
                 * The length (in {@code char}) of the returned sequence is {@code length() - start},
                 * so if {@code start == end} then an empty sequence is returned.</p>
                 *
                 * @param cs  the specified subsequence, null returns null
                 * @param start  the start index, inclusive, valid
                 * @return a new subsequence, may be null
                 * @throws IndexOutOfBoundsException if {@code start} is negative or if
                 *  {@code start} is greater than {@code length()}
                 */
                subSequence(cs:$.java.lang.CharSequence,start:number):$.java.lang.CharSequence;
            }
            interface CharSequenceUtils_C extends CharSequenceUtils_S {
                /**
                 * <p>{@code CharSequenceUtils} instances should NOT be constructed in
                 * standard programming. </p>
                 *
                 * <p>This constructor is public to permit tools that require a JavaBean
                 * instance to operate.</p>
                 */
                new():CharSequenceUtils;
            }
            interface CharSequenceUtils$ {
            }
            type CharSequenceUtils_T = CharSequenceUtils$;
            interface CharSequenceUtils extends CharSequenceUtils_T {
            }
            interface OrmUtils_S {
                /**
                 * 返回类型的数据描述
                 * @param type 类类型
                 * @return 实体类型的描述
                 */
                getDataEntityType(type_arg:$.java.lang.Class):kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 克隆当前实体的数据成为一个新的数据。注意他不会复制实体上的脏标识信息和快照信息。
                 * @param dataEntity 要克隆的实体
                 * @param onlyDbProperty 是否仅赋值数据库映射的字段。默认为false
                 * @param clearPrimaryKeyValue 是否清除主键的值，默认为false
                 * @return 新的实体对象，将当前的数据复制到了新的实体。
                 */
                clone(dataEntity:kd.bos.dataentity.entity.IDataEntityBase,onlyDbProperty:boolean,clearPrimaryKeyValue:boolean):any;
                /**
                 * 列表同步操作方法
                 * 源的元素如果在目标列表中存在，将更新目标的数据，否则新增； 如果目标列表的元素在源列表中不存在，将从目标列表中删除。
                 * @param sourceList 源列表
                 * @param targetList 目标列表
                 * @param syncFunction 同步处理方法
                 * @param callUpdateFuncWhenCreated 默认为true
                 */
                sync(sourceList:$.java.util.List,targetList:$.java.util.List,syncFunction:IListSyncFunction,callUpdateFuncWhenCreated:boolean):void;
                /**
                 * 搜索实体中各个层级的所有数据
                 * @param dataEntities 要搜索的实体
                 * @param dt 根实体结构
                 * @param callback 当搜索到某个级别时发生的回调
                 * @param onlyDbProperty 是否仅搜索数据库使用的属性
                 */
                DataEntityWalker(dataEntities:$.java.util.Collection,dt:kd.bos.dataentity.metadata.IDataEntityType,callback:kd.bos.dataentity.entity.DataEntityWalkerListner,onlyDbProperty:boolean):void;
                /**
                 * 判断两个集合是否相等
                 * @param x 集合1
                 * @param y 集合2
                 * @return 是否相等
                 */
                getListEquals(x:$.java.lang.Iterable,y:$.java.lang.Iterable):boolean;
                /**
                 * 获取一个实体类的主键值。
                 * @param dataEntity 要获取主键值的实体
                 * @param throwOnError 如果实体为空或没有定义主键时是否抛出异常
                 * @return 主键值
                 */
                getPrimaryKeyValue(dataEntity:kd.bos.dataentity.entity.IDataEntityBase,throwOnError:boolean):any;
                /**
                 * 克隆当前实体的数据成为一个新的数据。注意他不会复制实体上的脏标识信息和快照信息。
                 *
                 * @param dataEntity 要克隆的实体
                 * @param dt 当前实体的类型，不能为空。
                 * @param onlyDbProperty 是否仅赋值数据库映射的字段。默认为false
                 * @param clearPrimaryKeyValue 是否清除主键的值，默认为false
                 * @return 新的实体对象，将当前的数据复制到了新的实体。
                 */
                clone(dataEntity:any,dt:kd.bos.dataentity.metadata.IDataEntityType,onlyDbProperty:boolean,clearPrimaryKeyValue:boolean):any;
            }
            interface OrmUtils_C extends OrmUtils_S {
                new():OrmUtils;
            }
            interface OrmUtils$ {
            }
            type OrmUtils_T = OrmUtils$;
            interface OrmUtils extends OrmUtils_T {
            }
            interface Validate_S {
                notEmpty(arg0:$.java.util.Map):$.java.util.Map;
                /**
                 * <p>Validate that the specified argument character sequence matches the specified regular
                 * expression pattern; otherwise throwing an exception.</p>
                 *
                 * <pre>Validate.matchesPattern("hi", "[a-z]*");</pre>
                 *
                 * <p>The syntax of the pattern is the one used in the {@link Pattern} class.</p>
                 *
                 * @param input  the character sequence to validate, not null
                 * @param pattern  the regular expression pattern, not null
                 * @throws IllegalArgumentException if the character sequence does not match the pattern
                 * @see #matchesPattern(CharSequence, String, String, Object...)
                 *
                 * @since 3.0
                 */
                matchesPattern(input:$.java.lang.CharSequence,pattern:string):void;
                /**
                 * Validate that the specified primitive value falls between the two
                 * inclusive values specified; otherwise, throws an exception.
                 *
                 * <pre>Validate.inclusiveBetween(0.1, 2.1, 1.1);</pre>
                 *
                 * @param start the inclusive start value
                 * @param end   the inclusive end value
                 * @param value the value to validate
                 * @throws IllegalArgumentException if the value falls outside the boundaries (inclusive)
                 *
                 * @since 3.3
                 */
                inclusiveBetween(start:number,end:number,value:number):void;
                inclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number,arg3:string,...arg4:any[]):void;
                notNull(arg0:any):any;
                /**
                 * <p>Validate that the argument condition is {@code true}; otherwise
                 * throwing an exception with the specified message. This method is useful when
                 * validating according to an arbitrary boolean expression, such as validating a
                 * primitive number or using your own custom validation expression.</p>
                 *
                 * <pre>Validate.isTrue(d &gt; 0.0, "The value must be greater than zero: &#37;s", d);</pre>
                 *
                 * <p>For performance reasons, the double value is passed as a separate parameter and
                 * appended to the exception message only in the case of an error.</p>
                 *
                 * @param expression  the boolean expression to check
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param value  the value to append to the message when invalid
                 * @throws IllegalArgumentException if expression is {@code false}
                 * @see #isTrue(boolean)
                 * @see #isTrue(boolean, String, long)
                 * @see #isTrue(boolean, String, Object...)
                 */
                isTrue(expression:boolean,message:string,value:number):void;
                /**
                 * <p>Validate that the stateful condition is {@code true}; otherwise
                 * throwing an exception. This method is useful when validating according
                 * to an arbitrary boolean expression, such as validating a
                 * primitive number or using your own custom validation expression.</p>
                 *
                 * <pre>
                 * Validate.validState(field &gt; 0);
                 * Validate.validState(this.isOk());</pre>
                 *
                 * <p>The message of the exception is &quot;The validated state is
                 * false&quot;.</p>
                 *
                 * @param expression  the boolean expression to check
                 * @throws IllegalStateException if expression is {@code false}
                 * @see #validState(boolean, String, Object...)
                 *
                 * @since 3.0
                 */
                validState(expression:boolean):void;
                /**
                 * Validate that the specified primitive value falls between the two
                 * exclusive values specified; otherwise, throws an exception.
                 *
                 * <pre>Validate.exclusiveBetween(0, 2, 1);</pre>
                 *
                 * @param start the exclusive start value
                 * @param end   the exclusive end value
                 * @param value the value to validate
                 * @throws IllegalArgumentException if the value falls out of the boundaries
                 *
                 * @since 3.3
                 */
                exclusiveBetween(start:long,end:long,value:long):void;
                /**
                 * <p>Validate that the stateful condition is {@code true}; otherwise
                 * throwing an exception with the specified message. This method is useful when
                 * validating according to an arbitrary boolean expression, such as validating a
                 * primitive number or using your own custom validation expression.</p>
                 *
                 * <pre>Validate.validState(this.isOk(), "The state is not OK: %s", myObject);</pre>
                 *
                 * @param expression  the boolean expression to check
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param values  the optional values for the formatted exception message, null array not recommended
                 * @throws IllegalStateException if expression is {@code false}
                 * @see #validState(boolean)
                 *
                 * @since 3.0
                 */
                validState(expression:boolean,message:string,...values:any[]):void;
                /**
                 * <p>Validate that the argument condition is {@code true}; otherwise
                 * throwing an exception with the specified message. This method is useful when
                 * validating according to an arbitrary boolean expression, such as validating a
                 * primitive number or using your own custom validation expression.</p>
                 *
                 * <pre>Validate.isTrue(i &gt; 0.0, "The value must be greater than zero: &#37;d", i);</pre>
                 *
                 * <p>For performance reasons, the long value is passed as a separate parameter and
                 * appended to the exception message only in the case of an error.</p>
                 *
                 * @param expression  the boolean expression to check
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param value  the value to append to the message when invalid
                 * @throws IllegalArgumentException if expression is {@code false}
                 * @see #isTrue(boolean)
                 * @see #isTrue(boolean, String, double)
                 * @see #isTrue(boolean, String, Object...)
                 */
                isTrue(expression:boolean,message:string,value:long):void;
                /**
                 * <p>Validate that the argument condition is {@code true}; otherwise
                 * throwing an exception with the specified message. This method is useful when
                 * validating according to an arbitrary boolean expression, such as validating a
                 * primitive number or using your own custom validation expression.</p>
                 *
                 * <pre>
                 * Validate.isTrue(i &gt;= min &amp;&amp; i &lt;= max, "The value must be between &#37;d and &#37;d", min, max);
                 * Validate.isTrue(myObject.isOk(), "The object is not okay");</pre>
                 *
                 * @param expression  the boolean expression to check
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param values  the optional values for the formatted exception message, null array not recommended
                 * @throws IllegalArgumentException if expression is {@code false}
                 * @see #isTrue(boolean)
                 * @see #isTrue(boolean, String, long)
                 * @see #isTrue(boolean, String, double)
                 */
                isTrue(expression:boolean,message:string,...values:any[]):void;
                /**
                 * Validates that the argument can be converted to the specified class, if not throws an exception.
                 *
                 * <p>This method is useful when validating if there will be no casting errors.</p>
                 *
                 * <pre>Validate.isAssignableFrom(SuperClass.class, object.getClass());</pre>
                 *
                 * <p>The message of the exception is &quot;The validated object can not be converted to the&quot;
                 * followed by the name of the class and &quot;class&quot;</p>
                 *
                 * @param superType  the class the class must be validated against, not null
                 * @param type  the class to check, not null
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param values  the optional values for the formatted exception message, null array not recommended
                 * @throws IllegalArgumentException if argument can not be converted to the specified class
                 * @see #isAssignableFrom(Class, Class)
                 */
                isAssignableFrom(superType:$.java.lang.Class,type_arg:$.java.lang.Class,message:string,...values:any[]):void;
                notEmpty(arg0:$.java.lang.CharSequence,arg1:string,...arg2:any[]):$.java.lang.CharSequence;
                notEmpty(arg0:$.java.lang.CharSequence):$.java.lang.CharSequence;
                /**
                 * Validate that the specified primitive value falls between the two
                 * exclusive values specified; otherwise, throws an exception.
                 *
                 * <pre>Validate.exclusiveBetween(0.1, 2.1, 1.1);</pre>
                 *
                 * @param start the exclusive start value
                 * @param end   the exclusive end value
                 * @param value the value to validate
                 * @throws IllegalArgumentException if the value falls out of the boundaries
                 *
                 * @since 3.3
                 */
                exclusiveBetween(start:number,end:number,value:number):void;
                /**
                 * Validate that the specified primitive value falls between the two
                 * exclusive values specified; otherwise, throws an exception with the
                 * specified message.
                 *
                 * <pre>Validate.exclusiveBetween(0, 2, 1, "Not in range");</pre>
                 *
                 * @param start the exclusive start value
                 * @param end   the exclusive end value
                 * @param value the value to validate
                 * @param message the exception message if invalid, not null
                 *
                 * @throws IllegalArgumentException if the value falls outside the boundaries
                 *
                 * @since 3.3
                 */
                exclusiveBetween(start:long,end:long,value:long,message:string):void;
                validIndex(arg0:$.java.lang.CharSequence,arg1:number,arg2:string,...arg3:any[]):$.java.lang.CharSequence;
                noNullElements(arg0:$.java.lang.Iterable):$.java.lang.Iterable;
                /**
                 * <p>Validate that the argument is an instance of the specified class; otherwise
                 * throwing an exception with the specified message. This method is useful when
                 * validating according to an arbitrary class</p>
                 *
                 * <pre>Validate.isInstanceOf(OkClass.classs, object, "Wrong class, object is of class %s",
                 *   object.getClass().getName());</pre>
                 *
                 * @param type  the class the object must be validated against, not null
                 * @param obj  the object to check, null throws an exception
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param values  the optional values for the formatted exception message, null array not recommended
                 * @throws IllegalArgumentException if argument is not of specified class
                 * @see #isInstanceOf(Class, Object)
                 *
                 * @since 3.0
                 */
                isInstanceOf(type_arg:$.java.lang.Class,obj:any,message:string,...values:any[]):void;
                notNull(arg0:any,arg1:string,...arg2:any[]):any;
                /**
                 * Validates that the argument is an instance of the specified class, if not throws an exception.
                 *
                 * <p>This method is useful when validating according to an arbitrary class</p>
                 *
                 * <pre>Validate.isInstanceOf(OkClass.class, object);</pre>
                 *
                 * <p>The message of the exception is &quot;Expected type: {type}, actual: {obj_type}&quot;</p>
                 *
                 * @param type  the class the object must be validated against, not null
                 * @param obj  the object to check, null throws an exception
                 * @throws IllegalArgumentException if argument is not of specified class
                 * @see #isInstanceOf(Class, Object, String, Object...)
                 *
                 * @since 3.0
                 */
                isInstanceOf(type_arg:$.java.lang.Class,obj:any):void;
                notEmpty(arg0:any[],arg1:string,...arg2:any[]):any[];
                /**
                 * Validate that the specified primitive value falls between the two
                 * inclusive values specified; otherwise, throws an exception with the
                 * specified message.
                 *
                 * <pre>Validate.inclusiveBetween(0.1, 2.1, 1.1, "Not in range");</pre>
                 *
                 * @param start the inclusive start value
                 * @param end   the inclusive end value
                 * @param value the value to validate
                 * @param message the exception message if invalid, not null
                 *
                 * @throws IllegalArgumentException if the value falls outside the boundaries
                 *
                 * @since 3.3
                 */
                inclusiveBetween(start:number,end:number,value:number,message:string):void;
                notEmpty(arg0:$.java.util.Collection):$.java.util.Collection;
                validIndex(arg0:$.java.util.Collection,arg1:number):$.java.util.Collection;
                notBlank(arg0:$.java.lang.CharSequence,arg1:string,...arg2:any[]):$.java.lang.CharSequence;
                inclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number):void;
                /**
                 * Validates that the argument can be converted to the specified class, if not, throws an exception.
                 *
                 * <p>This method is useful when validating that there will be no casting errors.</p>
                 *
                 * <pre>Validate.isAssignableFrom(SuperClass.class, object.getClass());</pre>
                 *
                 * <p>The message format of the exception is &quot;Cannot assign {type} to {superType}&quot;</p>
                 *
                 * @param superType  the class the class must be validated against, not null
                 * @param type  the class to check, not null
                 * @throws IllegalArgumentException if type argument is not assignable to the specified superType
                 * @see #isAssignableFrom(Class, Class, String, Object...)
                 *
                 * @since 3.0
                 */
                isAssignableFrom(superType:$.java.lang.Class,type_arg:$.java.lang.Class):void;
                notBlank(arg0:$.java.lang.CharSequence):$.java.lang.CharSequence;
                /**
                 * Validate that the specified primitive value falls between the two
                 * inclusive values specified; otherwise, throws an exception with the
                 * specified message.
                 *
                 * <pre>Validate.inclusiveBetween(0, 2, 1, "Not in range");</pre>
                 *
                 * @param start the inclusive start value
                 * @param end   the inclusive end value
                 * @param value the value to validate
                 * @param message the exception message if invalid, not null
                 *
                 * @throws IllegalArgumentException if the value falls outside the boundaries
                 *
                 * @since 3.3
                 */
                inclusiveBetween(start:long,end:long,value:long,message:string):void;
                noNullElements(arg0:any[],arg1:string,...arg2:any[]):any[];
                noNullElements(arg0:any[]):any[];
                notEmpty(arg0:$.java.util.Collection,arg1:string,...arg2:any[]):$.java.util.Collection;
                exclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number):void;
                validIndex(arg0:$.java.util.Collection,arg1:number,arg2:string,...arg3:any[]):$.java.util.Collection;
                validIndex(arg0:any[],arg1:number):any[];
                notEmpty(arg0:any[]):any[];
                noNullElements(arg0:$.java.lang.Iterable,arg1:string,...arg2:any[]):$.java.lang.Iterable;
                /**
                 * Validate that the specified primitive value falls between the two
                 * exclusive values specified; otherwise, throws an exception with the
                 * specified message.
                 *
                 * <pre>Validate.exclusiveBetween(0.1, 2.1, 1.1, "Not in range");</pre>
                 *
                 * @param start the exclusive start value
                 * @param end   the exclusive end value
                 * @param value the value to validate
                 * @param message the exception message if invalid, not null
                 *
                 * @throws IllegalArgumentException if the value falls outside the boundaries
                 *
                 * @since 3.3
                 */
                exclusiveBetween(start:number,end:number,value:number,message:string):void;
                notEmpty(arg0:$.java.util.Map,arg1:string,...arg2:any[]):$.java.util.Map;
                /**
                 * Validate that the specified primitive value falls between the two
                 * inclusive values specified; otherwise, throws an exception.
                 *
                 * <pre>Validate.inclusiveBetween(0, 2, 1);</pre>
                 *
                 * @param start the inclusive start value
                 * @param end   the inclusive end value
                 * @param value the value to validate
                 * @throws IllegalArgumentException if the value falls outside the boundaries (inclusive)
                 *
                 * @since 3.3
                 */
                inclusiveBetween(start:long,end:long,value:long):void;
                exclusiveBetween(arg0:any,arg1:any,comparable2:(o:any)=>number,arg3:string,...arg4:any[]):void;
                validIndex(arg0:$.java.lang.CharSequence,arg1:number):$.java.lang.CharSequence;
                /**
                 * <p>Validate that the specified argument character sequence matches the specified regular
                 * expression pattern; otherwise throwing an exception with the specified message.</p>
                 *
                 * <pre>Validate.matchesPattern("hi", "[a-z]*", "%s does not match %s", "hi" "[a-z]*");</pre>
                 *
                 * <p>The syntax of the pattern is the one used in the {@link Pattern} class.</p>
                 *
                 * @param input  the character sequence to validate, not null
                 * @param pattern  the regular expression pattern, not null
                 * @param message  the {@link String#format(String, Object...)} exception message if invalid, not null
                 * @param values  the optional values for the formatted exception message, null array not recommended
                 * @throws IllegalArgumentException if the character sequence does not match the pattern
                 * @see #matchesPattern(CharSequence, String)
                 *
                 * @since 3.0
                 */
                matchesPattern(input:$.java.lang.CharSequence,pattern:string,message:string,...values:any[]):void;
                validIndex(arg0:any[],arg1:number,arg2:string,...arg3:any[]):any[];
                /**
                 * <p>Validate that the argument condition is {@code true}; otherwise
                 * throwing an exception. This method is useful when validating according
                 * to an arbitrary boolean expression, such as validating a
                 * primitive number or using your own custom validation expression.</p>
                 *
                 * <pre>
                 * Validate.isTrue(i &gt; 0);
                 * Validate.isTrue(myObject.isOk());</pre>
                 *
                 * <p>The message of the exception is &quot;The validated expression is
                 * false&quot;.</p>
                 *
                 * @param expression  the boolean expression to check
                 * @throws IllegalArgumentException if expression is {@code false}
                 * @see #isTrue(boolean, String, long)
                 * @see #isTrue(boolean, String, double)
                 * @see #isTrue(boolean, String, Object...)
                 */
                isTrue(expression:boolean):void;
            }
            interface Validate_C extends Validate_S {
                /**
                 * Constructor. This class should not normally be instantiated.
                 */
                new():Validate;
            }
            interface Validate$ {
            }
            type Validate_T = Validate$;
            interface Validate extends Validate_T {
            }
            interface StringUtils_S {
                readonly CR:string;
                readonly INDEX_NOT_FOUND:number;
                readonly SPACE:string;
                readonly EMPTY:string;
                readonly LF:string;
                /**
                 * <p>Removes control characters (char &lt;= 32) from both
                 * ends of this String returning an empty String ("") if the String
                 * is empty ("") after the trim or if it is {@code null}.
                 *
                 * <p>The String is trimmed using {@link String#trim()}.
                 * Trim removes start and end characters &lt;= 32.
                 * To strip whitespace use {@link #stripToEmpty(String)}.</p>
                 *
                 * <pre>
                 * StringUtils.trimToEmpty(null)          = ""
                 * StringUtils.trimToEmpty("")            = ""
                 * StringUtils.trimToEmpty("     ")       = ""
                 * StringUtils.trimToEmpty("abc")         = "abc"
                 * StringUtils.trimToEmpty("    abc    ") = "abc"
                 * </pre>
                 *
                 * @param str  the String to be trimmed, may be null
                 * @return the trimmed String, or an empty String if {@code null} input
                 * @since 2.0
                 */
                trimToEmpty(str:string):string;
                /**
                 * <p>Centers a String in a larger String of size {@code size}
                 * using the space character (' ').</p>
                 *
                 * <p>If the size is less than the String length, the String is returned.
                 * A {@code null} String returns {@code null}.
                 * A negative size is treated as zero.</p>
                 *
                 * <p>Equivalent to {@code center(str, size, " ")}.</p>
                 *
                 * <pre>
                 * StringUtils.center(null, *)   = null
                 * StringUtils.center("", 4)     = "    "
                 * StringUtils.center("ab", -1)  = "ab"
                 * StringUtils.center("ab", 4)   = " ab "
                 * StringUtils.center("abcd", 2) = "abcd"
                 * StringUtils.center("a", 4)    = " a  "
                 * </pre>
                 *
                 * @param str  the String to center, may be null
                 * @param size  the int size of new String, negative treated as zero
                 * @return centered String, {@code null} if null String input
                 */
                center(str:string,size:number):string;
                /**
                 * <p>Gets {@code len} characters from the middle of a String.</p>
                 *
                 * <p>If {@code len} characters are not available, the remainder
                 * of the String will be returned without an exception. If the
                 * String is {@code null}, {@code null} will be returned.
                 * An empty String is returned if len is negative or exceeds the
                 * length of {@code str}.</p>
                 *
                 * <pre>
                 * StringUtils.mid(null, *, *)    = null
                 * StringUtils.mid(*, *, -ve)     = ""
                 * StringUtils.mid("", 0, *)      = ""
                 * StringUtils.mid("abc", 0, 2)   = "ab"
                 * StringUtils.mid("abc", 0, 4)   = "abc"
                 * StringUtils.mid("abc", 2, 4)   = "c"
                 * StringUtils.mid("abc", 4, 2)   = ""
                 * StringUtils.mid("abc", -2, 2)  = "ab"
                 * </pre>
                 *
                 * @param str  the String to get the characters from, may be null
                 * @param pos  the position to start from, negative treated as zero
                 * @param len  the length of the required String
                 * @return the middle characters, {@code null} if null String input
                 */
                mid(str:string,pos:number,len:number):string;
                /**
                 * <p>Checks if the CharSequence contains only Unicode digits or space
                 * ({@code ' '}).
                 * A decimal point is not a Unicode digit and returns false.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code true}.</p>
                 *
                 * <pre>
                 * StringUtils.isNumericSpace(null)   = false
                 * StringUtils.isNumericSpace("")     = true
                 * StringUtils.isNumericSpace("  ")   = true
                 * StringUtils.isNumericSpace("123")  = true
                 * StringUtils.isNumericSpace("12 3") = true
                 * StringUtils.isNumeric("\u0967\u0968\u0969")  = true
                 * StringUtils.isNumeric("\u0967\u0968 \u0969")  = true
                 * StringUtils.isNumericSpace("ab2c") = false
                 * StringUtils.isNumericSpace("12-3") = false
                 * StringUtils.isNumericSpace("12.3") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains digits or space,
                 *  and is non-null
                 * @since 3.0 Changed signature from isNumericSpace(String) to isNumericSpace(CharSequence)
                 */
                isNumericSpace(cs:$.java.lang.CharSequence):boolean;
                /**
                 * Converts a <code>byte[]</code> to a String using the specified character encoding.
                 *
                 * @param bytes
                 *            the byte array to read from
                 * @param charset
                 *            the encoding to use, if null then use the platform default
                 * @return a new String
                 * @throws NullPointerException
                 *             if {@code bytes} is null
                 * @since 3.2
                 * @since 3.3 No longer throws {@link UnsupportedEncodingException}.
                 */
                toEncodedString(bytes:number[],charset:$.java.nio.charset.Charset):string;
                /**
                 * <p>Gets the substring before the first occurrence of a separator.
                 * The separator is not returned.</p>
                 *
                 * <p>A {@code null} string input will return {@code null}.
                 * An empty ("") string input will return the empty string.
                 * A {@code null} separator will return the input string.</p>
                 *
                 * <p>If nothing is found, the string input is returned.</p>
                 *
                 * <pre>
                 * StringUtils.substringBefore(null, *)      = null
                 * StringUtils.substringBefore("", *)        = ""
                 * StringUtils.substringBefore("abc", "a")   = ""
                 * StringUtils.substringBefore("abcba", "b") = "a"
                 * StringUtils.substringBefore("abc", "c")   = "ab"
                 * StringUtils.substringBefore("abc", "d")   = "abc"
                 * StringUtils.substringBefore("abc", "")    = ""
                 * StringUtils.substringBefore("abc", null)  = "abc"
                 * </pre>
                 *
                 * @param str  the String to get a substring from, may be null
                 * @param separator  the String to search for, may be null
                 * @return the substring before the first occurrence of the separator,
                 *  {@code null} if null String input
                 * @since 2.0
                 */
                substringBefore(str:string,separator:string):string;
                /**
                 * 对输入文件路劲参数进行过滤
                 *
                 * @param str
                 * @return cleanString
                 */
                cleanString(str:string):string;
                /**
                 * <p>Splits the provided text into an array, using whitespace as the
                 * separator, preserving all tokens, including empty tokens created by
                 * adjacent separators. This is an alternative to using StringTokenizer.
                 * Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <p>The separator is not included in the returned String array.
                 * Adjacent separators are treated as separators for empty tokens.
                 * For more control over the split use the StrTokenizer class.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.splitPreserveAllTokens(null)       = null
                 * StringUtils.splitPreserveAllTokens("")         = []
                 * StringUtils.splitPreserveAllTokens("abc def")  = ["abc", "def"]
                 * StringUtils.splitPreserveAllTokens("abc  def") = ["abc", "", "def"]
                 * StringUtils.splitPreserveAllTokens(" abc ")    = ["", "abc", ""]
                 * </pre>
                 *
                 * @param str  the String to parse, may be {@code null}
                 * @return an array of parsed Strings, {@code null} if null String input
                 * @since 2.1
                 */
                splitPreserveAllTokens(str:string):string[];
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:long[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Checks if a CharSequence is not empty ("") and not null.</p>
                 *
                 * <pre>
                 * StringUtils.isNotEmpty(null)      = false
                 * StringUtils.isNotEmpty("")        = false
                 * StringUtils.isNotEmpty(" ")       = true
                 * StringUtils.isNotEmpty("bob")     = true
                 * StringUtils.isNotEmpty("  bob  ") = true
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if the CharSequence is not empty and not null
                 * @since 3.0 Changed signature from isNotEmpty(String) to isNotEmpty(CharSequence)
                 */
                isNotEmpty(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Gets the substring before the last occurrence of a separator.
                 * The separator is not returned.</p>
                 *
                 * <p>A {@code null} string input will return {@code null}.
                 * An empty ("") string input will return the empty string.
                 * An empty or {@code null} separator will return the input string.</p>
                 *
                 * <p>If nothing is found, the string input is returned.</p>
                 *
                 * <pre>
                 * StringUtils.substringBeforeLast(null, *)      = null
                 * StringUtils.substringBeforeLast("", *)        = ""
                 * StringUtils.substringBeforeLast("abcba", "b") = "abc"
                 * StringUtils.substringBeforeLast("abc", "c")   = "ab"
                 * StringUtils.substringBeforeLast("a", "a")     = ""
                 * StringUtils.substringBeforeLast("a", "z")     = "a"
                 * StringUtils.substringBeforeLast("a", null)    = "a"
                 * StringUtils.substringBeforeLast("a", "")      = "a"
                 * </pre>
                 *
                 * @param str  the String to get a substring from, may be null
                 * @param separator  the String to search for, may be null
                 * @return the substring before the last occurrence of the separator,
                 *  {@code null} if null String input
                 * @since 2.0
                 */
                substringBeforeLast(str:string,separator:string):string;
                /**
                 * <p>
                 * Wraps a String with another String.
                 * </p>
                 *
                 * <p>
                 * A {@code null} input String returns {@code null}.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.wrap(null, *)         = null
                 * StringUtils.wrap("", *)           = ""
                 * StringUtils.wrap("ab", null)      = "ab"
                 * StringUtils.wrap("ab", "x")       = "xabx"
                 * StringUtils.wrap("ab", "\"")      = "\"ab\""
                 * StringUtils.wrap("\"ab\"", "\"")  = "\"\"ab\"\""
                 * StringUtils.wrap("ab", "'")       = "'ab'"
                 * StringUtils.wrap("'abcd'", "'")   = "''abcd''"
                 * StringUtils.wrap("\"abcd\"", "'") = "'\"abcd\"'"
                 * StringUtils.wrap("'abcd'", "\"")  = "\"'abcd'\""
                 * </pre>
                 *
                 * @param str
                 *            the String to be wrapper, may be null
                 * @param wrapWith
                 *            the String that will wrap str
                 * @return wrapped String, {@code null} if null String input
                 * @since 3.4
                 */
                wrap(str:string,wrapWith:string):string;
                /**
                 * <p>Checks if the CharSequence contains only Unicode letters.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.isAlpha(null)   = false
                 * StringUtils.isAlpha("")     = false
                 * StringUtils.isAlpha("  ")   = false
                 * StringUtils.isAlpha("abc")  = true
                 * StringUtils.isAlpha("ab2c") = false
                 * StringUtils.isAlpha("ab-c") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains letters, and is non-null
                 * @since 3.0 Changed signature from isAlpha(String) to isAlpha(CharSequence)
                 * @since 3.0 Changed "" to return false and not true
                 */
                isAlpha(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Centers a String in a larger String of size {@code size}.
                 * Uses a supplied character as the value to pad the String with.</p>
                 *
                 * <p>If the size is less than the String length, the String is returned.
                 * A {@code null} String returns {@code null}.
                 * A negative size is treated as zero.</p>
                 *
                 * <pre>
                 * StringUtils.center(null, *, *)     = null
                 * StringUtils.center("", 4, ' ')     = "    "
                 * StringUtils.center("ab", -1, ' ')  = "ab"
                 * StringUtils.center("ab", 4, ' ')   = " ab "
                 * StringUtils.center("abcd", 2, ' ') = "abcd"
                 * StringUtils.center("a", 4, ' ')    = " a  "
                 * StringUtils.center("a", 4, 'y')    = "yayy"
                 * </pre>
                 *
                 * @param str  the String to center, may be null
                 * @param size  the int size of new String, negative treated as zero
                 * @param padChar  the character to pad the new String with
                 * @return centered String, {@code null} if null String input
                 * @since 2.0
                 */
                center(str:string,size:number,padChar:string):string;
                /**
                 * <p>Removes a substring only if it is at the beginning of a source string,
                 * otherwise returns the source string.</p>
                 *
                 * <p>A {@code null} source string will return {@code null}.
                 * An empty ("") source string will return the empty string.
                 * A {@code null} search string will return the source string.</p>
                 *
                 * <pre>
                 * StringUtils.removeStart(null, *)      = null
                 * StringUtils.removeStart("", *)        = ""
                 * StringUtils.removeStart(*, null)      = *
                 * StringUtils.removeStart("www.domain.com", "www.")   = "domain.com"
                 * StringUtils.removeStart("domain.com", "www.")       = "domain.com"
                 * StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com"
                 * StringUtils.removeStart("abc", "")    = "abc"
                 * </pre>
                 *
                 * @param str  the source String to search, may be null
                 * @param remove  the String to search for and remove, may be null
                 * @return the substring with the string removed if found,
                 *  {@code null} if null String input
                 * @since 2.1
                 */
                removeStart(str:string,remove:string):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:string[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Compares all Strings in an array and returns the initial sequence of
                 * characters that is common to all of them.</p>
                 *
                 * <p>For example,
                 * <code>getCommonPrefix(new String[] {"i am a machine", "i am a robot"}) -&gt; "i am a "</code></p>
                 *
                 * <pre>
                 * StringUtils.getCommonPrefix(null) = ""
                 * StringUtils.getCommonPrefix(new String[] {}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"abc"}) = "abc"
                 * StringUtils.getCommonPrefix(new String[] {null, null}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"", ""}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"", null}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"abc", null, null}) = ""
                 * StringUtils.getCommonPrefix(new String[] {null, null, "abc"}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"", "abc"}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"abc", ""}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"abc", "abc"}) = "abc"
                 * StringUtils.getCommonPrefix(new String[] {"abc", "a"}) = "a"
                 * StringUtils.getCommonPrefix(new String[] {"ab", "abxyz"}) = "ab"
                 * StringUtils.getCommonPrefix(new String[] {"abcde", "abxyz"}) = "ab"
                 * StringUtils.getCommonPrefix(new String[] {"abcde", "xyz"}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"xyz", "abcde"}) = ""
                 * StringUtils.getCommonPrefix(new String[] {"i am a machine", "i am a robot"}) = "i am a "
                 * </pre>
                 *
                 * @param strs  array of String objects, entries may be null
                 * @return the initial sequence of characters that are common to all Strings
                 * in the array; empty String if the array is null, the elements are all null
                 * or if there is no common prefix.
                 * @since 2.4
                 */
                getCommonPrefix(...strs:string[]):string;
                /**
                 * <p>Returns padding using the specified delimiter repeated
                 * to a given length.</p>
                 *
                 * <pre>
                 * StringUtils.repeat('e', 0)  = ""
                 * StringUtils.repeat('e', 3)  = "eee"
                 * StringUtils.repeat('e', -2) = ""
                 * </pre>
                 *
                 * <p>Note: this method doesn't not support padding with
                 * <a href="http://www.unicode.org/glossary/#supplementary_character">Unicode Supplementary Characters</a>
                 * as they require a pair of {@code char}s to be represented.
                 * If you are needing to support full I18N of your applications
                 * consider using {@link #repeat(String, int)} instead.
                 * </p>
                 *
                 * @param ch  character to repeat
                 * @param repeat  number of times to repeat char, negative treated as zero
                 * @return String with repeated character
                 * @see #repeat(String, int)
                 */
                repeat(ch:string,repeat:number):string;
                /**
                 * <p>Checks if CharSequence contains a search CharSequence, handling {@code null}.
                 * This method uses {@link String#indexOf(String)} if possible.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.contains(null, *)     = false
                 * StringUtils.contains(*, null)     = false
                 * StringUtils.contains("", "")      = true
                 * StringUtils.contains("abc", "")   = true
                 * StringUtils.contains("abc", "a")  = true
                 * StringUtils.contains("abc", "z")  = false
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchSeq  the CharSequence to find, may be null
                 * @return true if the CharSequence contains the search CharSequence,
                 *  false if not or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from contains(String, String) to contains(CharSequence, CharSequence)
                 */
                contains(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Joins the elements of the provided {@code Iterable} into
                 * a single String containing the provided elements.</p>
                 *
                 * <p>No delimiter is added before or after the list. Null objects or empty
                 * strings within the iteration are represented by empty strings.</p>
                 *
                 * <p>See the examples here: {@link #join(Object[],char)}. </p>
                 *
                 * @param iterable  the {@code Iterable} providing the values to join together, may be null
                 * @param separator  the separator character to use
                 * @return the joined String, {@code null} if null iterator input
                 * @since 2.3
                 */
                join(iterable:$.java.lang.Iterable,separator:string):string;
                /**
                 * <p>Repeat a String {@code repeat} times to form a
                 * new String.</p>
                 *
                 * <pre>
                 * StringUtils.repeat(null, 2) = null
                 * StringUtils.repeat("", 0)   = ""
                 * StringUtils.repeat("", 2)   = ""
                 * StringUtils.repeat("a", 3)  = "aaa"
                 * StringUtils.repeat("ab", 2) = "abab"
                 * StringUtils.repeat("a", -2) = ""
                 * </pre>
                 *
                 * @param str  the String to repeat, may be null
                 * @param repeat  number of times to repeat str, negative treated as zero
                 * @return a new String consisting of the original String repeated,
                 *  {@code null} if null String input
                 */
                repeat(str:string,repeat:number):string;
                /**
                 * <p>Case in-sensitive find of the last index within a CharSequence.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A negative start position returns {@code -1}.
                 * An empty ("") search CharSequence always matches unless the start position is negative.
                 * A start position greater than the string length searches the whole string.</p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOfIgnoreCase(null, *)          = -1
                 * StringUtils.lastIndexOfIgnoreCase(*, null)          = -1
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A")  = 7
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B")  = 5
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB") = 4
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @return the first index of the search CharSequence,
                 *  -1 if no match or {@code null} string input
                 * @since 2.5
                 * @since 3.0 Changed signature from lastIndexOfIgnoreCase(String, String) to lastIndexOfIgnoreCase(CharSequence, CharSequence)
                 */
                lastIndexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence):number;
                /**
                 * 过滤不合法字符
                 * @param c 原字符
                 * @return
                 */
                cleanChar(c:string):string;
                /**
                 * <p>Check if a CharSequence ends with a specified suffix.</p>
                 *
                 * <p>{@code null}s are handled without exceptions. Two {@code null}
                 * references are considered to be equal. The comparison is case sensitive.</p>
                 *
                 * <pre>
                 * StringUtils.endsWith(null, null)      = true
                 * StringUtils.endsWith(null, "def")     = false
                 * StringUtils.endsWith("abcdef", null)  = false
                 * StringUtils.endsWith("abcdef", "def") = true
                 * StringUtils.endsWith("ABCDEF", "def") = false
                 * StringUtils.endsWith("ABCDEF", "cde") = false
                 * </pre>
                 *
                 * @see java.lang.String#endsWith(String)
                 * @param str  the CharSequence to check, may be null
                 * @param suffix the suffix to find, may be null
                 * @return {@code true} if the CharSequence ends with the suffix, case sensitive, or
                 *  both {@code null}
                 * @since 2.4
                 * @since 3.0 Changed signature from endsWith(String, String) to endsWith(CharSequence, CharSequence)
                 */
                endsWith(str:$.java.lang.CharSequence,suffix:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Converts a String to lower case as per {@link String#toLowerCase(Locale)}.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.lowerCase(null, Locale.ENGLISH)  = null
                 * StringUtils.lowerCase("", Locale.ENGLISH)    = ""
                 * StringUtils.lowerCase("aBc", Locale.ENGLISH) = "abc"
                 * </pre>
                 *
                 * @param str  the String to lower case, may be null
                 * @param locale  the locale that defines the case transformation rules, must not be null
                 * @return the lower cased String, {@code null} if null String input
                 * @since 2.5
                 */
                lowerCase(str:string,locale:$.java.util.Locale):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:string[],separator:string):string;
                /**
                 * Appends the suffix to the end of the string if the string does not
                 * already end, case insensitive, with any of the suffixes.
                 *
                 * <pre>
                 * StringUtils.appendIfMissingIgnoreCase(null, null) = null
                 * StringUtils.appendIfMissingIgnoreCase("abc", null) = "abc"
                 * StringUtils.appendIfMissingIgnoreCase("", "xyz") = "xyz"
                 * StringUtils.appendIfMissingIgnoreCase("abc", "xyz") = "abcxyz"
                 * StringUtils.appendIfMissingIgnoreCase("abcxyz", "xyz") = "abcxyz"
                 * StringUtils.appendIfMissingIgnoreCase("abcXYZ", "xyz") = "abcXYZ"
                 * </pre>
                 * <p>With additional suffixes,</p>
                 * <pre>
                 * StringUtils.appendIfMissingIgnoreCase(null, null, null) = null
                 * StringUtils.appendIfMissingIgnoreCase("abc", null, null) = "abc"
                 * StringUtils.appendIfMissingIgnoreCase("", "xyz", null) = "xyz"
                 * StringUtils.appendIfMissingIgnoreCase("abc", "xyz", new CharSequence[]{null}) = "abcxyz"
                 * StringUtils.appendIfMissingIgnoreCase("abc", "xyz", "") = "abc"
                 * StringUtils.appendIfMissingIgnoreCase("abc", "xyz", "mno") = "axyz"
                 * StringUtils.appendIfMissingIgnoreCase("abcxyz", "xyz", "mno") = "abcxyz"
                 * StringUtils.appendIfMissingIgnoreCase("abcmno", "xyz", "mno") = "abcmno"
                 * StringUtils.appendIfMissingIgnoreCase("abcXYZ", "xyz", "mno") = "abcXYZ"
                 * StringUtils.appendIfMissingIgnoreCase("abcMNO", "xyz", "mno") = "abcMNO"
                 * </pre>
                 *
                 * @param str The string.
                 * @param suffix The suffix to append to the end of the string.
                 * @param suffixes Additional suffixes that are valid terminators.
                 *
                 * @return A new String if suffix was appened, the same string otherwise.
                 *
                 * @since 3.2
                 */
                appendIfMissingIgnoreCase(str:string,suffix:$.java.lang.CharSequence,...suffixes:$.java.lang.CharSequence[]):string;
                /**
                 * <p>Strips any of a set of characters from the start and end of a String.
                 * This is similar to {@link String#trim()} but allows the characters
                 * to be stripped to be controlled.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * An empty string ("") input returns the empty string.</p>
                 *
                 * <p>If the stripChars String is {@code null}, whitespace is
                 * stripped as defined by {@link Character#isWhitespace(char)}.
                 * Alternatively use {@link #strip(String)}.</p>
                 *
                 * <pre>
                 * StringUtils.strip(null, *)          = null
                 * StringUtils.strip("", *)            = ""
                 * StringUtils.strip("abc", null)      = "abc"
                 * StringUtils.strip("  abc", null)    = "abc"
                 * StringUtils.strip("abc  ", null)    = "abc"
                 * StringUtils.strip(" abc ", null)    = "abc"
                 * StringUtils.strip("  abcyx", "xyz") = "  abc"
                 * </pre>
                 *
                 * @param str  the String to remove characters from, may be null
                 * @param stripChars  the characters to remove, null treated as whitespace
                 * @return the stripped String, {@code null} if null String input
                 */
                strip(str:string,stripChars:string):string;
                /**
                 * <p>Case insensitive check if a CharSequence ends with a specified suffix.</p>
                 *
                 * <p>{@code null}s are handled without exceptions. Two {@code null}
                 * references are considered to be equal. The comparison is case insensitive.</p>
                 *
                 * <pre>
                 * StringUtils.endsWithIgnoreCase(null, null)      = true
                 * StringUtils.endsWithIgnoreCase(null, "def")     = false
                 * StringUtils.endsWithIgnoreCase("abcdef", null)  = false
                 * StringUtils.endsWithIgnoreCase("abcdef", "def") = true
                 * StringUtils.endsWithIgnoreCase("ABCDEF", "def") = true
                 * StringUtils.endsWithIgnoreCase("ABCDEF", "cde") = false
                 * </pre>
                 *
                 * @see java.lang.String#endsWith(String)
                 * @param str  the CharSequence to check, may be null
                 * @param suffix the suffix to find, may be null
                 * @return {@code true} if the CharSequence ends with the suffix, case insensitive, or
                 *  both {@code null}
                 * @since 2.4
                 * @since 3.0 Changed signature from endsWithIgnoreCase(String, String) to endsWithIgnoreCase(CharSequence, CharSequence)
                 */
                endsWithIgnoreCase(str:$.java.lang.CharSequence,suffix:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Joins the elements of the provided array into a single String
                 * containing the provided list of elements.</p>
                 *
                 * <p>No delimiter is added before or after the list.
                 * A {@code null} separator is the same as an empty String ("").
                 * Null objects or empty strings within the array are represented by
                 * empty strings.</p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)                = null
                 * StringUtils.join([], *)                  = ""
                 * StringUtils.join([null], *)              = ""
                 * StringUtils.join(["a", "b", "c"], "--")  = "a--b--c"
                 * StringUtils.join(["a", "b", "c"], null)  = "abc"
                 * StringUtils.join(["a", "b", "c"], "")    = "abc"
                 * StringUtils.join([null, "", "a"], ',')   = ",,a"
                 * </pre>
                 *
                 * @param array  the array of values to join together, may be null
                 * @param separator  the separator character to use, null treated as ""
                 * @return the joined String, {@code null} if null array input
                 */
                join(array:any[],separator:string):string;
                /**
                 * <p>Replaces all occurrences of a character in a String with another.
                 * This is a null-safe version of {@link String#replace(char, char)}.</p>
                 *
                 * <p>A {@code null} string input returns {@code null}.
                 * An empty ("") string input returns an empty string.</p>
                 *
                 * <pre>
                 * StringUtils.replaceChars(null, *, *)        = null
                 * StringUtils.replaceChars("", *, *)          = ""
                 * StringUtils.replaceChars("abcba", 'b', 'y') = "aycya"
                 * StringUtils.replaceChars("abcba", 'z', 'y') = "abcba"
                 * </pre>
                 *
                 * @param str  String to replace characters in, may be null
                 * @param searchChar  the character to search for, may be null
                 * @param replaceChar  the character to replace, may be null
                 * @return modified String, {@code null} if null string input
                 * @since 2.0
                 */
                replaceChars(str:string,searchChar:string,replaceChar:string):string;
                /**
                 * <p>Finds the n-th index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#indexOf(String)} if possible.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.ordinalIndexOf(null, *, *)          = -1
                 * StringUtils.ordinalIndexOf(*, null, *)          = -1
                 * StringUtils.ordinalIndexOf("", "", *)           = 0
                 * StringUtils.ordinalIndexOf("aabaabaa", "a", 1)  = 0
                 * StringUtils.ordinalIndexOf("aabaabaa", "a", 2)  = 1
                 * StringUtils.ordinalIndexOf("aabaabaa", "b", 1)  = 2
                 * StringUtils.ordinalIndexOf("aabaabaa", "b", 2)  = 5
                 * StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
                 * StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
                 * StringUtils.ordinalIndexOf("aabaabaa", "", 1)   = 0
                 * StringUtils.ordinalIndexOf("aabaabaa", "", 2)   = 0
                 * </pre>
                 *
                 * <p>Note that 'head(CharSequence str, int n)' may be implemented as: </p>
                 *
                 * <pre>
                 *   str.substring(0, lastOrdinalIndexOf(str, "\n", n))
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @param ordinal  the n-th {@code searchStr} to find
                 * @return the n-th index of the search CharSequence,
                 *  {@code -1} ({@code INDEX_NOT_FOUND}) if no match or {@code null} string input
                 * @since 2.1
                 * @since 3.0 Changed signature from ordinalIndexOf(String, String, int) to ordinalIndexOf(CharSequence, CharSequence, int)
                 */
                ordinalIndexOf(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,ordinal:number):number;
                /**
                 * <p>Checks if CharSequence contains a search CharSequence irrespective of case,
                 * handling {@code null}. Case-insensitivity is defined as by
                 * {@link String#equalsIgnoreCase(String)}.
                 *
                 * <p>A {@code null} CharSequence will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.contains(null, *) = false
                 * StringUtils.contains(*, null) = false
                 * StringUtils.contains("", "") = true
                 * StringUtils.contains("abc", "") = true
                 * StringUtils.contains("abc", "a") = true
                 * StringUtils.contains("abc", "z") = false
                 * StringUtils.contains("abc", "A") = true
                 * StringUtils.contains("abc", "Z") = false
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @return true if the CharSequence contains the search CharSequence irrespective of
                 * case or false if not or {@code null} string input
                 * @since 3.0 Changed signature from containsIgnoreCase(String, String) to containsIgnoreCase(CharSequence, CharSequence)
                 */
                containsIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Case in-sensitive find of the first index within a CharSequence
                 * from the specified position.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A negative start position is treated as zero.
                 * An empty ("") search CharSequence always matches.
                 * A start position greater than the string length only matches
                 * an empty search CharSequence.</p>
                 *
                 * <pre>
                 * StringUtils.indexOfIgnoreCase(null, *, *)          = -1
                 * StringUtils.indexOfIgnoreCase(*, null, *)          = -1
                 * StringUtils.indexOfIgnoreCase("", "", 0)           = 0
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "A", 0)  = 0
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "B", 0)  = 2
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "AB", 0) = 1
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "B", 3)  = 5
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "B", 9)  = -1
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "B", -1) = 2
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "", 2)   = 2
                 * StringUtils.indexOfIgnoreCase("abc", "", 9)        = 3
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @param startPos  the start position, negative treated as zero
                 * @return the first index of the search CharSequence (always &ge; startPos),
                 *  -1 if no match or {@code null} string input
                 * @since 2.5
                 * @since 3.0 Changed signature from indexOfIgnoreCase(String, String, int) to indexOfIgnoreCase(CharSequence, CharSequence, int)
                 */
                indexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,startPos:number):number;
                /**
                 * <p>Splits the provided text into an array with a maximum length,
                 * separators specified, preserving all tokens, including empty tokens
                 * created by adjacent separators.</p>
                 *
                 * <p>The separator is not included in the returned String array.
                 * Adjacent separators are treated as separators for empty tokens.
                 * Adjacent separators are treated as one separator.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * A {@code null} separatorChars splits on whitespace.</p>
                 *
                 * <p>If more than {@code max} delimited substrings are found, the last
                 * returned string includes all characters after the first {@code max - 1}
                 * returned strings (including separator characters).</p>
                 *
                 * <pre>
                 * StringUtils.splitPreserveAllTokens(null, *, *)            = null
                 * StringUtils.splitPreserveAllTokens("", *, *)              = []
                 * StringUtils.splitPreserveAllTokens("ab de fg", null, 0)   = ["ab", "cd", "ef"]
                 * StringUtils.splitPreserveAllTokens("ab   de fg", null, 0) = ["ab", "cd", "ef"]
                 * StringUtils.splitPreserveAllTokens("ab:cd:ef", ":", 0)    = ["ab", "cd", "ef"]
                 * StringUtils.splitPreserveAllTokens("ab:cd:ef", ":", 2)    = ["ab", "cd:ef"]
                 * StringUtils.splitPreserveAllTokens("ab   de fg", null, 2) = ["ab", "  de fg"]
                 * StringUtils.splitPreserveAllTokens("ab   de fg", null, 3) = ["ab", "", " de fg"]
                 * StringUtils.splitPreserveAllTokens("ab   de fg", null, 4) = ["ab", "", "", "de fg"]
                 * </pre>
                 *
                 * @param str  the String to parse, may be {@code null}
                 * @param separatorChars  the characters used as the delimiters,
                 *  {@code null} splits on whitespace
                 * @param max  the maximum number of elements to include in the
                 *  array. A zero or negative value implies no limit
                 * @return an array of parsed Strings, {@code null} if null String input
                 * @since 2.1
                 */
                splitPreserveAllTokens(str:string,separatorChars:string,max:number):string[];
                /**
                 * <p>Find the Levenshtein distance between two Strings.</p>
                 *
                 * <p>This is the number of changes needed to change one String into
                 * another, where each change is a single character modification (deletion,
                 * insertion or substitution).</p>
                 *
                 * <p>The previous implementation of the Levenshtein distance algorithm
                 * was from <a href="http://www.merriampark.com/ld.htm">http://www.merriampark.com/ld.htm</a></p>
                 *
                 * <p>Chas Emerick has written an implementation in Java, which avoids an OutOfMemoryError
                 * which can occur when my Java implementation is used with very large strings.<br>
                 * This implementation of the Levenshtein distance algorithm
                 * is from <a href="http://www.merriampark.com/ldjava.htm">http://www.merriampark.com/ldjava.htm</a></p>
                 *
                 * <pre>
                 * StringUtils.getLevenshteinDistance(null, *)             = IllegalArgumentException
                 * StringUtils.getLevenshteinDistance(*, null)             = IllegalArgumentException
                 * StringUtils.getLevenshteinDistance("","")               = 0
                 * StringUtils.getLevenshteinDistance("","a")              = 1
                 * StringUtils.getLevenshteinDistance("aaapppp", "")       = 7
                 * StringUtils.getLevenshteinDistance("frog", "fog")       = 1
                 * StringUtils.getLevenshteinDistance("fly", "ant")        = 3
                 * StringUtils.getLevenshteinDistance("elephant", "hippo") = 7
                 * StringUtils.getLevenshteinDistance("hippo", "elephant") = 7
                 * StringUtils.getLevenshteinDistance("hippo", "zzzzzzzz") = 8
                 * StringUtils.getLevenshteinDistance("hello", "hallo")    = 1
                 * </pre>
                 *
                 * @param s  the first String, must not be null
                 * @param t  the second String, must not be null
                 * @return result distance
                 * @throws IllegalArgumentException if either String input {@code null}
                 * @since 3.0 Changed signature from getLevenshteinDistance(String, String) to
                 * getLevenshteinDistance(CharSequence, CharSequence)
                 */
                getLevenshteinDistance(s:$.java.lang.CharSequence,t:$.java.lang.CharSequence):number;
                /**
                 * <p>Check if a CharSequence starts with a specified prefix.</p>
                 *
                 * <p>{@code null}s are handled without exceptions. Two {@code null}
                 * references are considered to be equal. The comparison is case sensitive.</p>
                 *
                 * <pre>
                 * StringUtils.startsWith(null, null)      = true
                 * StringUtils.startsWith(null, "abc")     = false
                 * StringUtils.startsWith("abcdef", null)  = false
                 * StringUtils.startsWith("abcdef", "abc") = true
                 * StringUtils.startsWith("ABCDEF", "abc") = false
                 * </pre>
                 *
                 * @see java.lang.String#startsWith(String)
                 * @param str  the CharSequence to check, may be null
                 * @param prefix the prefix to find, may be null
                 * @return {@code true} if the CharSequence starts with the prefix, case sensitive, or
                 *  both {@code null}
                 * @since 2.4
                 * @since 3.0 Changed signature from startsWith(String, String) to startsWith(CharSequence, CharSequence)
                 */
                startsWith(str:$.java.lang.CharSequence,prefix:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Find the Jaro Winkler Distance which indicates the similarity score between two Strings.</p>
                 *
                 * <p>The Jaro measure is the weighted sum of percentage of matched characters from each file and transposed characters.
                 * Winkler increased this measure for matching initial characters.</p>
                 *
                 * <p>This implementation is based on the Jaro Winkler similarity algorithm
                 * from <a href="http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance">http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance</a>.</p>
                 *
                 * <pre>
                 * StringUtils.getJaroWinklerDistance(null, null)          = IllegalArgumentException
                 * StringUtils.getJaroWinklerDistance("","")               = 0.0
                 * StringUtils.getJaroWinklerDistance("","a")              = 0.0
                 * StringUtils.getJaroWinklerDistance("aaapppp", "")       = 0.0
                 * StringUtils.getJaroWinklerDistance("frog", "fog")       = 0.93
                 * StringUtils.getJaroWinklerDistance("fly", "ant")        = 0.0
                 * StringUtils.getJaroWinklerDistance("elephant", "hippo") = 0.44
                 * StringUtils.getJaroWinklerDistance("hippo", "elephant") = 0.44
                 * StringUtils.getJaroWinklerDistance("hippo", "zzzzzzzz") = 0.0
                 * StringUtils.getJaroWinklerDistance("hello", "hallo")    = 0.88
                 * StringUtils.getJaroWinklerDistance("ABC Corporation", "ABC Corp") = 0.91
                 * StringUtils.getJaroWinklerDistance("D N H Enterprises Inc", "D &amp; H Enterprises, Inc.") = 0.93
                 * StringUtils.getJaroWinklerDistance("My Gym Children's Fitness Center", "My Gym. Childrens Fitness") = 0.94
                 * StringUtils.getJaroWinklerDistance("PENNSYLVANIA", "PENNCISYLVNIA")    = 0.9
                 * </pre>
                 *
                 * @param first the first String, must not be null
                 * @param second the second String, must not be null
                 * @return result distance
                 * @throws IllegalArgumentException if either String input {@code null}
                 * @since 3.3
                 */
                getJaroWinklerDistance(first:$.java.lang.CharSequence,second:$.java.lang.CharSequence):number;
                /**
                 * <p>Reverses a String as per {@link StringBuilder#reverse()}.</p>
                 *
                 * <p>A {@code null} String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.reverse(null)  = null
                 * StringUtils.reverse("")    = ""
                 * StringUtils.reverse("bat") = "tab"
                 * </pre>
                 *
                 * @param str  the String to reverse, may be null
                 * @return the reversed String, {@code null} if null String input
                 */
                reverse(str:string):string;
                /**
                 * <p>Abbreviates a String using ellipses. This will turn
                 * "Now is the time for all good men" into "Now is the time for..."</p>
                 *
                 * <p>Specifically:</p>
                 * <ul>
                 *   <li>If the number of characters in {@code str} is less than or equal to
                 *       {@code maxWidth}, return {@code str}.</li>
                 *   <li>Else abbreviate it to {@code (substring(str, 0, max-3) + "...")}.</li>
                 *   <li>If {@code maxWidth} is less than {@code 4}, throw an
                 *       {@code IllegalArgumentException}.</li>
                 *   <li>In no case will it return a String of length greater than
                 *       {@code maxWidth}.</li>
                 * </ul>
                 *
                 * <pre>
                 * StringUtils.abbreviate(null, *)      = null
                 * StringUtils.abbreviate("", 4)        = ""
                 * StringUtils.abbreviate("abcdefg", 6) = "abc..."
                 * StringUtils.abbreviate("abcdefg", 7) = "abcdefg"
                 * StringUtils.abbreviate("abcdefg", 8) = "abcdefg"
                 * StringUtils.abbreviate("abcdefg", 4) = "a..."
                 * StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException
                 * </pre>
                 *
                 * @param str  the String to check, may be null
                 * @param maxWidth  maximum length of result String, must be at least 4
                 * @return abbreviated String, {@code null} if null String input
                 * @throws IllegalArgumentException if the width is too small
                 * @since 2.0
                 */
                abbreviate(str:string,maxWidth:number):string;
                /**
                 * <p>Case in-sensitive find of the last index within a CharSequence
                 * from the specified position.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A negative start position returns {@code -1}.
                 * An empty ("") search CharSequence always matches unless the start position is negative.
                 * A start position greater than the string length searches the whole string.
                 * The search starts at the startPos and works backwards; matches starting after the start
                 * position are ignored.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOfIgnoreCase(null, *, *)          = -1
                 * StringUtils.lastIndexOfIgnoreCase(*, null, *)          = -1
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 8)  = 7
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 8)  = 5
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB", 8) = 4
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 9)  = 5
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", -1) = -1
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 0)  = 0
                 * StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 0)  = -1
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @param startPos  the start position
                 * @return the last index of the search CharSequence (always &le; startPos),
                 *  -1 if no match or {@code null} input
                 * @since 2.5
                 * @since 3.0 Changed signature from lastIndexOfIgnoreCase(String, String, int) to lastIndexOfIgnoreCase(CharSequence, CharSequence, int)
                 */
                lastIndexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,startPos:number):number;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string):string;
                /**
                 * <p>Finds the first index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#indexOf(String, int)} if possible.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A negative start position is treated as zero.
                 * An empty ("") search CharSequence always matches.
                 * A start position greater than the string length only matches
                 * an empty search CharSequence.</p>
                 *
                 * <pre>
                 * StringUtils.indexOf(null, *, *)          = -1
                 * StringUtils.indexOf(*, null, *)          = -1
                 * StringUtils.indexOf("", "", 0)           = 0
                 * StringUtils.indexOf("", *, 0)            = -1 (except when * = "")
                 * StringUtils.indexOf("aabaabaa", "a", 0)  = 0
                 * StringUtils.indexOf("aabaabaa", "b", 0)  = 2
                 * StringUtils.indexOf("aabaabaa", "ab", 0) = 1
                 * StringUtils.indexOf("aabaabaa", "b", 3)  = 5
                 * StringUtils.indexOf("aabaabaa", "b", 9)  = -1
                 * StringUtils.indexOf("aabaabaa", "b", -1) = 2
                 * StringUtils.indexOf("aabaabaa", "", 2)   = 2
                 * StringUtils.indexOf("abc", "", 9)        = 3
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchSeq  the CharSequence to find, may be null
                 * @param startPos  the start position, negative treated as zero
                 * @return the first index of the search CharSequence (always &ge; startPos),
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from indexOf(String, String, int) to indexOf(CharSequence, CharSequence, int)
                 */
                indexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence,startPos:number):number;
                /**
                 * <p>Checks if the CharSequence contains only Unicode letters and
                 * space (' ').</p>
                 *
                 * <p>{@code null} will return {@code false}
                 * An empty CharSequence (length()=0) will return {@code true}.</p>
                 *
                 * <pre>
                 * StringUtils.isAlphaSpace(null)   = false
                 * StringUtils.isAlphaSpace("")     = true
                 * StringUtils.isAlphaSpace("  ")   = true
                 * StringUtils.isAlphaSpace("abc")  = true
                 * StringUtils.isAlphaSpace("ab c") = true
                 * StringUtils.isAlphaSpace("ab2c") = false
                 * StringUtils.isAlphaSpace("ab-c") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains letters and space,
                 *  and is non-null
                 * @since 3.0 Changed signature from isAlphaSpace(String) to isAlphaSpace(CharSequence)
                 */
                isAlphaSpace(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Right pad a String with a specified String.</p>
                 *
                 * <p>The String is padded to the size of {@code size}.</p>
                 *
                 * <pre>
                 * StringUtils.rightPad(null, *, *)      = null
                 * StringUtils.rightPad("", 3, "z")      = "zzz"
                 * StringUtils.rightPad("bat", 3, "yz")  = "bat"
                 * StringUtils.rightPad("bat", 5, "yz")  = "batyz"
                 * StringUtils.rightPad("bat", 8, "yz")  = "batyzyzy"
                 * StringUtils.rightPad("bat", 1, "yz")  = "bat"
                 * StringUtils.rightPad("bat", -1, "yz") = "bat"
                 * StringUtils.rightPad("bat", 5, null)  = "bat  "
                 * StringUtils.rightPad("bat", 5, "")    = "bat  "
                 * </pre>
                 *
                 * @param str  the String to pad out, may be null
                 * @param size  the size to pad to
                 * @param padStr  the String to pad with, null or empty treated as single space
                 * @return right padded String or original String if no padding is necessary,
                 *  {@code null} if null String input
                 */
                rightPad(str:string,size:number,padStr:string):string;
                /**
                 * <p>Check if a CharSequence ends with any of an array of specified strings.</p>
                 *
                 * <pre>
                 * StringUtils.endsWithAny(null, null)      = false
                 * StringUtils.endsWithAny(null, new String[] {"abc"})  = false
                 * StringUtils.endsWithAny("abcxyz", null)     = false
                 * StringUtils.endsWithAny("abcxyz", new String[] {""}) = true
                 * StringUtils.endsWithAny("abcxyz", new String[] {"xyz"}) = true
                 * StringUtils.endsWithAny("abcxyz", new String[] {null, "xyz", "abc"}) = true
                 * </pre>
                 *
                 * @param string  the CharSequence to check, may be null
                 * @param searchStrings the CharSequences to find, may be null or empty
                 * @return {@code true} if the CharSequence ends with any of the the prefixes, case insensitive, or
                 *  both {@code null}
                 * @since 3.0
                 */
                endsWithAny(string_arg:$.java.lang.CharSequence,...searchStrings:$.java.lang.CharSequence[]):boolean;
                /**
                 * <p>Finds the first index within a CharSequence from a start position,
                 * handling {@code null}.
                 * This method uses {@link String#indexOf(int, int)} if possible.</p>
                 *
                 * <p>A {@code null} or empty ("") CharSequence will return {@code (INDEX_NOT_FOUND) -1}.
                 * A negative start position is treated as zero.
                 * A start position greater than the string length returns {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.indexOf(null, *, *)          = -1
                 * StringUtils.indexOf("", *, *)            = -1
                 * StringUtils.indexOf("aabaabaa", 'b', 0)  = 2
                 * StringUtils.indexOf("aabaabaa", 'b', 3)  = 5
                 * StringUtils.indexOf("aabaabaa", 'b', 9)  = -1
                 * StringUtils.indexOf("aabaabaa", 'b', -1) = 2
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchChar  the character to find
                 * @param startPos  the start position, negative treated as zero
                 * @return the first index of the search character (always &ge; startPos),
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from indexOf(String, int, int) to indexOf(CharSequence, int, int)
                 */
                indexOf(seq:$.java.lang.CharSequence,searchChar:number,startPos:number):number;
                /**
                 * <p>Finds the last index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#lastIndexOf(int)} if possible.</p>
                 *
                 * <p>A {@code null} or empty ("") CharSequence will return {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOf(null, *)         = -1
                 * StringUtils.lastIndexOf("", *)           = -1
                 * StringUtils.lastIndexOf("aabaabaa", 'a') = 7
                 * StringUtils.lastIndexOf("aabaabaa", 'b') = 5
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchChar  the character to find
                 * @return the last index of the search character,
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from lastIndexOf(String, int) to lastIndexOf(CharSequence, int)
                 */
                lastIndexOf(seq:$.java.lang.CharSequence,searchChar:number):number;
                /**
                 * <p>Right pad a String with a specified character.</p>
                 *
                 * <p>The String is padded to the size of {@code size}.</p>
                 *
                 * <pre>
                 * StringUtils.rightPad(null, *, *)     = null
                 * StringUtils.rightPad("", 3, 'z')     = "zzz"
                 * StringUtils.rightPad("bat", 3, 'z')  = "bat"
                 * StringUtils.rightPad("bat", 5, 'z')  = "batzz"
                 * StringUtils.rightPad("bat", 1, 'z')  = "bat"
                 * StringUtils.rightPad("bat", -1, 'z') = "bat"
                 * </pre>
                 *
                 * @param str  the String to pad out, may be null
                 * @param size  the size to pad to
                 * @param padChar  the character to pad with
                 * @return right padded String or original String if no padding is necessary,
                 *  {@code null} if null String input
                 * @since 2.0
                 */
                rightPad(str:string,size:number,padChar:string):string;
                /**
                 * <p>Find the first index of any of a set of potential substrings.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A {@code null} or zero length search array will return {@code -1}.
                 * A {@code null} search array entry will be ignored, but a search
                 * array containing "" will return {@code 0} if {@code str} is not
                 * null. This method uses {@link String#indexOf(String)} if possible.</p>
                 *
                 * <pre>
                 * StringUtils.indexOfAny(null, *)                     = -1
                 * StringUtils.indexOfAny(*, null)                     = -1
                 * StringUtils.indexOfAny(*, [])                       = -1
                 * StringUtils.indexOfAny("zzabyycdxx", ["ab","cd"])   = 2
                 * StringUtils.indexOfAny("zzabyycdxx", ["cd","ab"])   = 2
                 * StringUtils.indexOfAny("zzabyycdxx", ["mn","op"])   = -1
                 * StringUtils.indexOfAny("zzabyycdxx", ["zab","aby"]) = 1
                 * StringUtils.indexOfAny("zzabyycdxx", [""])          = 0
                 * StringUtils.indexOfAny("", [""])                    = 0
                 * StringUtils.indexOfAny("", ["a"])                   = -1
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStrs  the CharSequences to search for, may be null
                 * @return the first index of any of the searchStrs in str, -1 if no match
                 * @since 3.0 Changed signature from indexOfAny(String, String[]) to indexOfAny(CharSequence, CharSequence...)
                 */
                indexOfAny(str:$.java.lang.CharSequence,...searchStrs:$.java.lang.CharSequence[]):number;
                /**
                 * <p>Joins the elements of the provided array into a single String
                 * containing the provided list of elements.</p>
                 *
                 * <p>No delimiter is added before or after the list.
                 * Null objects or empty strings within the array are represented by
                 * empty strings.</p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join(["a", "b", "c"], ';')  = "a;b;c"
                 * StringUtils.join(["a", "b", "c"], null) = "abc"
                 * StringUtils.join([null, "", "a"], ';')  = ";;a"
                 * </pre>
                 *
                 * @param array  the array of values to join together, may be null
                 * @param separator  the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 2.0
                 */
                join(array:any[],separator:string):string;
                /**
                 * <p>Finds the first index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#indexOf(int, int)} if possible.</p>
                 *
                 * <p>A {@code null} or empty ("") CharSequence will return {@code INDEX_NOT_FOUND (-1)}.</p>
                 *
                 * <pre>
                 * StringUtils.indexOf(null, *)         = -1
                 * StringUtils.indexOf("", *)           = -1
                 * StringUtils.indexOf("aabaabaa", 'a') = 0
                 * StringUtils.indexOf("aabaabaa", 'b') = 2
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchChar  the character to find
                 * @return the first index of the search character,
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from indexOf(String, int) to indexOf(CharSequence, int)
                 */
                indexOf(seq:$.java.lang.CharSequence,searchChar:number):number;
                /**
                 * Replaces each substring of the source String that matches the given regular expression with the given
                 * replacement using the {@link Pattern#DOTALL} option. DOTALL is also know as single-line mode in Perl. This call
                 * is also equivalent to:
                 * <ul>
                 * <li>{@code source.replaceAll(&quot;(?s)&quot; + regex, replacement)}</li>
                 * <li>{@code Pattern.compile(regex, Pattern.DOTALL).matcher(source).replaceAll(replacement)}</li>
                 * </ul>
                 *
                 * @param source
                 *            the source string
                 * @param regex
                 *            the regular expression to which this string is to be matched
                 * @param replacement
                 *            the string to be substituted for each match
                 * @return The resulting {@code String}
                 * @see String#replaceAll(String, String)
                 * @see Pattern#DOTALL
                 * @since 3.2
                 */
                replacePattern(source:string,regex:string,replacement:string):string;
                /**
                 * <p>Finds the first index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#indexOf(String, int)} if possible.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.indexOf(null, *)          = -1
                 * StringUtils.indexOf(*, null)          = -1
                 * StringUtils.indexOf("", "")           = 0
                 * StringUtils.indexOf("", *)            = -1 (except when * = "")
                 * StringUtils.indexOf("aabaabaa", "a")  = 0
                 * StringUtils.indexOf("aabaabaa", "b")  = 2
                 * StringUtils.indexOf("aabaabaa", "ab") = 1
                 * StringUtils.indexOf("aabaabaa", "")   = 0
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchSeq  the CharSequence to find, may be null
                 * @return the first index of the search CharSequence,
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from indexOf(String, String) to indexOf(CharSequence, CharSequence)
                 */
                indexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence):number;
                /**
                 * <p>Abbreviates a String to the length passed, replacing the middle characters with the supplied
                 * replacement String.</p>
                 *
                 * <p>This abbreviation only occurs if the following criteria is met:</p>
                 * <ul>
                 * <li>Neither the String for abbreviation nor the replacement String are null or empty </li>
                 * <li>The length to truncate to is less than the length of the supplied String</li>
                 * <li>The length to truncate to is greater than 0</li>
                 * <li>The abbreviated String will have enough room for the length supplied replacement String
                 * and the first and last characters of the supplied String for abbreviation</li>
                 * </ul>
                 * <p>Otherwise, the returned String will be the same as the supplied String for abbreviation.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.abbreviateMiddle(null, null, 0)      = null
                 * StringUtils.abbreviateMiddle("abc", null, 0)      = "abc"
                 * StringUtils.abbreviateMiddle("abc", ".", 0)      = "abc"
                 * StringUtils.abbreviateMiddle("abc", ".", 3)      = "abc"
                 * StringUtils.abbreviateMiddle("abcdef", ".", 4)     = "ab.f"
                 * </pre>
                 *
                 * @param str  the String to abbreviate, may be null
                 * @param middle the String to replace the middle characters with, may be null
                 * @param length the length to abbreviate {@code str} to.
                 * @return the abbreviated String if the above criteria is met, or the original String supplied for abbreviation.
                 * @since 2.5
                 */
                abbreviateMiddle(str:string,middle:string,length:number):string;
                /**
                 * <p>
                 * Replaces all occurrences of Strings within another String.
                 * </p>
                 *
                 * <p>
                 * A {@code null} reference passed to this method is a no-op, or if
                 * any "search string" or "string to replace" is null, that replace will be
                 * ignored.
                 * </p>
                 *
                 * <pre>
                 *  StringUtils.replaceEachRepeatedly(null, *, *) = null
                 *  StringUtils.replaceEachRepeatedly("", *, *) = ""
                 *  StringUtils.replaceEachRepeatedly("aba", null, null) = "aba"
                 *  StringUtils.replaceEachRepeatedly("aba", new String[0], null) = "aba"
                 *  StringUtils.replaceEachRepeatedly("aba", null, new String[0]) = "aba"
                 *  StringUtils.replaceEachRepeatedly("aba", new String[]{"a"}, null) = "aba"
                 *  StringUtils.replaceEachRepeatedly("aba", new String[]{"a"}, new String[]{""}) = "b"
                 *  StringUtils.replaceEachRepeatedly("aba", new String[]{null}, new String[]{"a"}) = "aba"
                 *  StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
                 *  (example of how it repeats)
                 *  StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "tcte"
                 *  StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "ab"}) = IllegalStateException
                 * </pre>
                 *
                 * @param text
                 *            text to search and replace in, no-op if null
                 * @param searchList
                 *            the Strings to search for, no-op if null
                 * @param replacementList
                 *            the Strings to replace them with, no-op if null
                 * @return the text with any replacements processed, {@code null} if
                 *         null String input
                 * @throws IllegalStateException
                 *             if the search is repeating and there is an endless loop due
                 *             to outputs of one being inputs to another
                 * @throws IllegalArgumentException
                 *             if the lengths of the arrays are not the same (null is ok,
                 *             and/or size 0)
                 * @since 2.4
                 */
                replaceEachRepeatedly(text:string,searchList:string[],replacementList:string[]):string;
                /**
                 * <p>Gets the String that is nested in between two instances of the
                 * same String.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * A {@code null} tag returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.substringBetween(null, *)            = null
                 * StringUtils.substringBetween("", "")             = ""
                 * StringUtils.substringBetween("", "tag")          = null
                 * StringUtils.substringBetween("tagabctag", null)  = null
                 * StringUtils.substringBetween("tagabctag", "")    = ""
                 * StringUtils.substringBetween("tagabctag", "tag") = "abc"
                 * </pre>
                 *
                 * @param str  the String containing the substring, may be null
                 * @param tag  the String before and after the substring, may be null
                 * @return the substring, {@code null} if no match
                 * @since 2.0
                 */
                substringBetween(str:string,tag:string):string;
                /**
                 * <p>Removes all occurrences of a character from within the source string.</p>
                 *
                 * <p>A {@code null} source string will return {@code null}.
                 * An empty ("") source string will return the empty string.</p>
                 *
                 * <pre>
                 * StringUtils.remove(null, *)       = null
                 * StringUtils.remove("", *)         = ""
                 * StringUtils.remove("queued", 'u') = "qeed"
                 * StringUtils.remove("queued", 'z') = "queued"
                 * </pre>
                 *
                 * @param str  the source String to search, may be null
                 * @param remove  the char to search for and remove, may be null
                 * @return the substring with the char removed if found,
                 *  {@code null} if null String input
                 * @since 2.1
                 */
                remove(str:string,remove:string):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string):string;
                /**
                 * <p>Compares all CharSequences in an array and returns the index at which the
                 * CharSequences begin to differ.</p>
                 *
                 * <p>For example,
                 * <code>indexOfDifference(new String[] {"i am a machine", "i am a robot"}) -&gt; 7</code></p>
                 *
                 * <pre>
                 * StringUtils.indexOfDifference(null) = -1
                 * StringUtils.indexOfDifference(new String[] {}) = -1
                 * StringUtils.indexOfDifference(new String[] {"abc"}) = -1
                 * StringUtils.indexOfDifference(new String[] {null, null}) = -1
                 * StringUtils.indexOfDifference(new String[] {"", ""}) = -1
                 * StringUtils.indexOfDifference(new String[] {"", null}) = 0
                 * StringUtils.indexOfDifference(new String[] {"abc", null, null}) = 0
                 * StringUtils.indexOfDifference(new String[] {null, null, "abc"}) = 0
                 * StringUtils.indexOfDifference(new String[] {"", "abc"}) = 0
                 * StringUtils.indexOfDifference(new String[] {"abc", ""}) = 0
                 * StringUtils.indexOfDifference(new String[] {"abc", "abc"}) = -1
                 * StringUtils.indexOfDifference(new String[] {"abc", "a"}) = 1
                 * StringUtils.indexOfDifference(new String[] {"ab", "abxyz"}) = 2
                 * StringUtils.indexOfDifference(new String[] {"abcde", "abxyz"}) = 2
                 * StringUtils.indexOfDifference(new String[] {"abcde", "xyz"}) = 0
                 * StringUtils.indexOfDifference(new String[] {"xyz", "abcde"}) = 0
                 * StringUtils.indexOfDifference(new String[] {"i am a machine", "i am a robot"}) = 7
                 * </pre>
                 *
                 * @param css  array of CharSequences, entries may be null
                 * @return the index where the strings begin to differ; -1 if they are all equal
                 * @since 2.4
                 * @since 3.0 Changed signature from indexOfDifference(String...) to indexOfDifference(CharSequence...)
                 */
                indexOfDifference(...css:$.java.lang.CharSequence[]):number;
                /**
                 * <p>Gets the substring after the last occurrence of a separator.
                 * The separator is not returned.</p>
                 *
                 * <p>A {@code null} string input will return {@code null}.
                 * An empty ("") string input will return the empty string.
                 * An empty or {@code null} separator will return the empty string if
                 * the input string is not {@code null}.</p>
                 *
                 * <p>If nothing is found, the empty string is returned.</p>
                 *
                 * <pre>
                 * StringUtils.substringAfterLast(null, *)      = null
                 * StringUtils.substringAfterLast("", *)        = ""
                 * StringUtils.substringAfterLast(*, "")        = ""
                 * StringUtils.substringAfterLast(*, null)      = ""
                 * StringUtils.substringAfterLast("abc", "a")   = "bc"
                 * StringUtils.substringAfterLast("abcba", "b") = "a"
                 * StringUtils.substringAfterLast("abc", "c")   = ""
                 * StringUtils.substringAfterLast("a", "a")     = ""
                 * StringUtils.substringAfterLast("a", "z")     = ""
                 * </pre>
                 *
                 * @param str  the String to get a substring from, may be null
                 * @param separator  the String to search for, may be null
                 * @return the substring after the last occurrence of the separator,
                 *  {@code null} if null String input
                 * @since 2.0
                 */
                substringAfterLast(str:string,separator:string):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Check if a CharSequence starts with any of an array of specified strings.</p>
                 *
                 * <pre>
                 * StringUtils.startsWithAny(null, null)      = false
                 * StringUtils.startsWithAny(null, new String[] {"abc"})  = false
                 * StringUtils.startsWithAny("abcxyz", null)     = false
                 * StringUtils.startsWithAny("abcxyz", new String[] {""}) = false
                 * StringUtils.startsWithAny("abcxyz", new String[] {"abc"}) = true
                 * StringUtils.startsWithAny("abcxyz", new String[] {null, "xyz", "abc"}) = true
                 * </pre>
                 *
                 * @param string  the CharSequence to check, may be null
                 * @param searchStrings the CharSequences to find, may be null or empty
                 * @return {@code true} if the CharSequence starts with any of the the prefixes, case insensitive, or
                 *  both {@code null}
                 * @since 2.5
                 * @since 3.0 Changed signature from startsWithAny(String, String[]) to startsWithAny(CharSequence, CharSequence...)
                 */
                startsWithAny(string_arg:$.java.lang.CharSequence,...searchStrings:$.java.lang.CharSequence[]):boolean;
                /**
                 * 判断字符串是否作为java标识符（字符串中每一个字符都必须是java标识符的一部分）
                 * 空值返回false
                 * @param s
                 * @return
                 */
                isJavaIdentifier(s:string):boolean;
                /**
                 * 判断邮箱格式是否正确
                 *
                 * @param email
                 *            :email
                 * @return
                 */
                isEmail(email:string):boolean;
                /**
                 * <p>Joins the elements of the provided array into a single String
                 * containing the provided list of elements.</p>
                 *
                 * <p>No delimiter is added before or after the list.
                 * A {@code null} separator is the same as an empty String ("").
                 * Null objects or empty strings within the array are represented by
                 * empty strings.</p>
                 *
                 * <pre>
                 * StringUtils.join(null, *, *, *)                = null
                 * StringUtils.join([], *, *, *)                  = ""
                 * StringUtils.join([null], *, *, *)              = ""
                 * StringUtils.join(["a", "b", "c"], "--", 0, 3)  = "a--b--c"
                 * StringUtils.join(["a", "b", "c"], "--", 1, 3)  = "b--c"
                 * StringUtils.join(["a", "b", "c"], "--", 2, 3)  = "c"
                 * StringUtils.join(["a", "b", "c"], "--", 2, 2)  = ""
                 * StringUtils.join(["a", "b", "c"], null, 0, 3)  = "abc"
                 * StringUtils.join(["a", "b", "c"], "", 0, 3)    = "abc"
                 * StringUtils.join([null, "", "a"], ',', 0, 3)   = ",,a"
                 * </pre>
                 *
                 * @param array  the array of values to join together, may be null
                 * @param separator  the separator character to use, null treated as ""
                 * @param startIndex the first index to start joining from.
                 * @param endIndex the index to stop joining from (exclusive).
                 * @return the joined String, {@code null} if null array input; or the empty string
                 * if {@code endIndex - startIndex <= 0}. The number of joined entries is given by
                 * {@code endIndex - startIndex}
                 * @throws ArrayIndexOutOfBoundsException ife<br>
                 * {@code startIndex < 0} or <br>
                 * {@code startIndex >= array.length()} or <br>
                 * {@code endIndex < 0} or <br>
                 * {@code endIndex > array.length()}
                 */
                join(array:any[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Capitalizes a String changing the first letter to title case as
                 * per {@link Character#toTitleCase(char)}. No other letters are changed.</p>
                 *
                 * <p>For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#capitalize(String)}.
                 * A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.capitalize(null)  = null
                 * StringUtils.capitalize("")    = ""
                 * StringUtils.capitalize("cat") = "Cat"
                 * StringUtils.capitalize("cAt") = "CAt"
                 * </pre>
                 *
                 * @param str the String to capitalize, may be null
                 * @return the capitalized String, {@code null} if null String input
                 * @see org.apache.commons.lang3.text.WordUtils#capitalize(String)
                 * @see #uncapitalize(String)
                 * @since 2.0
                 */
                capitalize(str:string):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Removes a substring only if it is at the end of a source string,
                 * otherwise returns the source string.</p>
                 *
                 * <p>A {@code null} source string will return {@code null}.
                 * An empty ("") source string will return the empty string.
                 * A {@code null} search string will return the source string.</p>
                 *
                 * <pre>
                 * StringUtils.removeEnd(null, *)      = null
                 * StringUtils.removeEnd("", *)        = ""
                 * StringUtils.removeEnd(*, null)      = *
                 * StringUtils.removeEnd("www.domain.com", ".com.")  = "www.domain.com"
                 * StringUtils.removeEnd("www.domain.com", ".com")   = "www.domain"
                 * StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
                 * StringUtils.removeEnd("abc", "")    = "abc"
                 * </pre>
                 *
                 * @param str  the source String to search, may be null
                 * @param remove  the String to search for and remove, may be null
                 * @return the substring with the string removed if found,
                 *  {@code null} if null String input
                 * @since 2.1
                 */
                removeEnd(str:string,remove:string):string;
                /**
                 * <p>Splits the provided text into an array, separators specified.
                 * This is an alternative to using StringTokenizer.</p>
                 *
                 * <p>The separator is not included in the returned String array.
                 * Adjacent separators are treated as one separator.
                 * For more control over the split use the StrTokenizer class.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * A {@code null} separatorChars splits on whitespace.</p>
                 *
                 * <pre>
                 * StringUtils.split(null, *)         = null
                 * StringUtils.split("", *)           = []
                 * StringUtils.split("abc def", null) = ["abc", "def"]
                 * StringUtils.split("abc def", " ")  = ["abc", "def"]
                 * StringUtils.split("abc  def", " ") = ["abc", "def"]
                 * StringUtils.split("ab:cd:ef", ":") = ["ab", "cd", "ef"]
                 * </pre>
                 *
                 * @param str  the String to parse, may be null
                 * @param separatorChars  the characters used as the delimiters,
                 *  {@code null} splits on whitespace
                 * @return an array of parsed Strings, {@code null} if null String input
                 */
                split(str:string,separatorChars:string):string[];
                /**
                 * <p>Checks if the CharSequence contains only Unicode digits.
                 * A decimal point is not a Unicode digit and returns false.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code false}.</p>
                 *
                 * <p>Note that the method does not allow for a leading sign, either positive or negative.
                 * Also, if a String passes the numeric test, it may still generate a NumberFormatException
                 * when parsed by Integer.parseInt or Long.parseLong, e.g. if the value is outside the range
                 * for int or long respectively.</p>
                 *
                 * <pre>
                 * StringUtils.isNumeric(null)   = false
                 * StringUtils.isNumeric("")     = false
                 * StringUtils.isNumeric("  ")   = false
                 * StringUtils.isNumeric("123")  = true
                 * StringUtils.isNumeric("\u0967\u0968\u0969")  = true
                 * StringUtils.isNumeric("12 3") = false
                 * StringUtils.isNumeric("ab2c") = false
                 * StringUtils.isNumeric("12-3") = false
                 * StringUtils.isNumeric("12.3") = false
                 * StringUtils.isNumeric("-123") = false
                 * StringUtils.isNumeric("+123") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains digits, and is non-null
                 * @since 3.0 Changed signature from isNumeric(String) to isNumeric(CharSequence)
                 * @since 3.0 Changed "" to return false and not true
                 */
                isNumeric(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Strips whitespace from the start and end of every String in an array.
                 * Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <p>A new array is returned each time, except for length zero.
                 * A {@code null} array will return {@code null}.
                 * An empty array will return itself.
                 * A {@code null} array entry will be ignored.</p>
                 *
                 * <pre>
                 * StringUtils.stripAll(null)             = null
                 * StringUtils.stripAll([])               = []
                 * StringUtils.stripAll(["abc", "  abc"]) = ["abc", "abc"]
                 * StringUtils.stripAll(["abc  ", null])  = ["abc", null]
                 * </pre>
                 *
                 * @param strs  the array to remove whitespace from, may be null
                 * @return the stripped Strings, {@code null} if null array input
                 */
                stripAll(...strs:string[]):string[];
                /**
                 * <p>Deletes all whitespaces from a String as defined by
                 * {@link Character#isWhitespace(char)}.</p>
                 *
                 * <pre>
                 * StringUtils.deleteWhitespace(null)         = null
                 * StringUtils.deleteWhitespace("")           = ""
                 * StringUtils.deleteWhitespace("abc")        = "abc"
                 * StringUtils.deleteWhitespace("   ab  c  ") = "abc"
                 * </pre>
                 *
                 * @param str  the String to delete whitespace from, may be null
                 * @return the String without whitespaces, {@code null} if null String input
                 */
                deleteWhitespace(str:string):string;
                /**
                 * <p>Checks if the CharSequence contains only uppercase characters.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty String (length()=0) will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.isAllUpperCase(null)   = false
                 * StringUtils.isAllUpperCase("")     = false
                 * StringUtils.isAllUpperCase("  ")   = false
                 * StringUtils.isAllUpperCase("ABC")  = true
                 * StringUtils.isAllUpperCase("aBC")  = false
                 * StringUtils.isAllUpperCase("A C")  = false
                 * StringUtils.isAllUpperCase("A1C")  = false
                 * StringUtils.isAllUpperCase("A/C")  = false
                 * </pre>
                 *
                 * @param cs the CharSequence to check, may be null
                 * @return {@code true} if only contains uppercase characters, and is non-null
                 * @since 2.5
                 * @since 3.0 Changed signature from isAllUpperCase(String) to isAllUpperCase(CharSequence)
                 */
                isAllUpperCase(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string):string;
                /**
                 * <p>Find the latest index of any of a set of potential substrings.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A {@code null} search array will return {@code -1}.
                 * A {@code null} or zero length search array entry will be ignored,
                 * but a search array containing "" will return the length of {@code str}
                 * if {@code str} is not null. This method uses {@link String#indexOf(String)} if possible</p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOfAny(null, *)                   = -1
                 * StringUtils.lastIndexOfAny(*, null)                   = -1
                 * StringUtils.lastIndexOfAny(*, [])                     = -1
                 * StringUtils.lastIndexOfAny(*, [null])                 = -1
                 * StringUtils.lastIndexOfAny("zzabyycdxx", ["ab","cd"]) = 6
                 * StringUtils.lastIndexOfAny("zzabyycdxx", ["cd","ab"]) = 6
                 * StringUtils.lastIndexOfAny("zzabyycdxx", ["mn","op"]) = -1
                 * StringUtils.lastIndexOfAny("zzabyycdxx", ["mn","op"]) = -1
                 * StringUtils.lastIndexOfAny("zzabyycdxx", ["mn",""])   = 10
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStrs  the CharSequences to search for, may be null
                 * @return the last index of any of the CharSequences, -1 if no match
                 * @since 3.0 Changed signature from lastIndexOfAny(String, String[]) to lastIndexOfAny(CharSequence, CharSequence)
                 */
                lastIndexOfAny(str:$.java.lang.CharSequence,...searchStrs:$.java.lang.CharSequence[]):number;
                /**
                 * <p>Checks that the CharSequence does not contain certain characters.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code true}.
                 * A {@code null} invalid character array will return {@code true}.
                 * An empty CharSequence (length()=0) always returns true.</p>
                 *
                 * <pre>
                 * StringUtils.containsNone(null, *)       = true
                 * StringUtils.containsNone(*, null)       = true
                 * StringUtils.containsNone("", *)         = true
                 * StringUtils.containsNone("ab", '')      = true
                 * StringUtils.containsNone("abab", 'xyz') = true
                 * StringUtils.containsNone("ab1", 'xyz')  = true
                 * StringUtils.containsNone("abz", 'xyz')  = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @param searchChars  an array of invalid chars, may be null
                 * @return true if it contains none of the invalid chars, or is null
                 * @since 2.0
                 * @since 3.0 Changed signature from containsNone(String, char[]) to containsNone(CharSequence, char...)
                 */
                containsNone(cs:$.java.lang.CharSequence,...searchChars:string[]):boolean;
                /**
                 * <p>Compares two CharSequences, and returns the index at which the
                 * CharSequences begin to differ.</p>
                 *
                 * <p>For example,
                 * {@code indexOfDifference("i am a machine", "i am a robot") -> 7}</p>
                 *
                 * <pre>
                 * StringUtils.indexOfDifference(null, null) = -1
                 * StringUtils.indexOfDifference("", "") = -1
                 * StringUtils.indexOfDifference("", "abc") = 0
                 * StringUtils.indexOfDifference("abc", "") = 0
                 * StringUtils.indexOfDifference("abc", "abc") = -1
                 * StringUtils.indexOfDifference("ab", "abxyz") = 2
                 * StringUtils.indexOfDifference("abcde", "abxyz") = 2
                 * StringUtils.indexOfDifference("abcde", "xyz") = 0
                 * </pre>
                 *
                 * @param cs1  the first CharSequence, may be null
                 * @param cs2  the second CharSequence, may be null
                 * @return the index where cs1 and cs2 begin to differ; -1 if they are equal
                 * @since 2.0
                 * @since 3.0 Changed signature from indexOfDifference(String, String) to
                 * indexOfDifference(CharSequence, CharSequence)
                 */
                indexOfDifference(cs1:$.java.lang.CharSequence,cs2:$.java.lang.CharSequence):number;
                /**
                 * <p>Swaps the case of a String changing upper and title case to
                 * lower case, and lower case to upper case.</p>
                 *
                 * <ul>
                 *  <li>Upper case character converts to Lower case</li>
                 *  <li>Title case character converts to Lower case</li>
                 *  <li>Lower case character converts to Upper case</li>
                 * </ul>
                 *
                 * <p>For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#swapCase(String)}.
                 * A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.swapCase(null)                 = null
                 * StringUtils.swapCase("")                   = ""
                 * StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
                 * </pre>
                 *
                 * <p>NOTE: This method changed in Lang version 2.0.
                 * It no longer performs a word based algorithm.
                 * If you only use ASCII, you will notice no change.
                 * That functionality is available in org.apache.commons.lang3.text.WordUtils.</p>
                 *
                 * @param str  the String to swap case, may be null
                 * @return the changed String, {@code null} if null String input
                 */
                swapCase(str:string):string;
                /**
                 * <p>Left pad a String with spaces (' ').</p>
                 *
                 * <p>The String is padded to the size of {@code size}.</p>
                 *
                 * <pre>
                 * StringUtils.leftPad(null, *)   = null
                 * StringUtils.leftPad("", 3)     = "   "
                 * StringUtils.leftPad("bat", 3)  = "bat"
                 * StringUtils.leftPad("bat", 5)  = "  bat"
                 * StringUtils.leftPad("bat", 1)  = "bat"
                 * StringUtils.leftPad("bat", -1) = "bat"
                 * </pre>
                 *
                 * @param str  the String to pad out, may be null
                 * @param size  the size to pad to
                 * @return left padded String or original String if no padding is necessary,
                 *  {@code null} if null String input
                 */
                leftPad(str:string,size:number):string;
                /**
                 * <p>Strips whitespace from the start and end of a String  returning
                 * an empty String if {@code null} input.</p>
                 *
                 * <p>This is similar to {@link #trimToEmpty(String)} but removes whitespace.
                 * Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <pre>
                 * StringUtils.stripToEmpty(null)     = ""
                 * StringUtils.stripToEmpty("")       = ""
                 * StringUtils.stripToEmpty("   ")    = ""
                 * StringUtils.stripToEmpty("abc")    = "abc"
                 * StringUtils.stripToEmpty("  abc")  = "abc"
                 * StringUtils.stripToEmpty("abc  ")  = "abc"
                 * StringUtils.stripToEmpty(" abc ")  = "abc"
                 * StringUtils.stripToEmpty(" ab c ") = "ab c"
                 * </pre>
                 *
                 * @param str  the String to be stripped, may be null
                 * @return the trimmed String, or an empty String if {@code null} input
                 * @since 2.0
                 */
                stripToEmpty(str:string):string;
                /**
                 * <p>Returns either the passed in String, or if the String is
                 * {@code null}, the value of {@code defaultStr}.</p>
                 *
                 * <pre>
                 * StringUtils.defaultString(null, "NULL")  = "NULL"
                 * StringUtils.defaultString("", "NULL")    = ""
                 * StringUtils.defaultString("bat", "NULL") = "bat"
                 * </pre>
                 *
                 * @see ObjectUtils#toString(Object,String)
                 * @see String#valueOf(Object)
                 * @param str  the String to check, may be null
                 * @param defaultStr  the default String to return
                 *  if the input is {@code null}, may be null
                 * @return the passed in String, or the default if it was {@code null}
                 */
                defaultString(str:string,defaultStr:string):string;
                /**
                 * 检查目标对象是否为空字符串或null
                 * Iterable/Map 对象返回false
                 * check object==null or isBlack(object.toString())
                 * @param cs
                 * @return
                 */
                isBlank(cs:any):boolean;
                /**
                 * <p>Case insensitive removal of a substring if it is at the beginning of a source string,
                 * otherwise returns the source string.</p>
                 *
                 * <p>A {@code null} source string will return {@code null}.
                 * An empty ("") source string will return the empty string.
                 * A {@code null} search string will return the source string.</p>
                 *
                 * <pre>
                 * StringUtils.removeStartIgnoreCase(null, *)      = null
                 * StringUtils.removeStartIgnoreCase("", *)        = ""
                 * StringUtils.removeStartIgnoreCase(*, null)      = *
                 * StringUtils.removeStartIgnoreCase("www.domain.com", "www.")   = "domain.com"
                 * StringUtils.removeStartIgnoreCase("www.domain.com", "WWW.")   = "domain.com"
                 * StringUtils.removeStartIgnoreCase("domain.com", "www.")       = "domain.com"
                 * StringUtils.removeStartIgnoreCase("www.domain.com", "domain") = "www.domain.com"
                 * StringUtils.removeStartIgnoreCase("abc", "")    = "abc"
                 * </pre>
                 *
                 * @param str  the source String to search, may be null
                 * @param remove  the String to search for (case insensitive) and remove, may be null
                 * @return the substring with the string removed if found,
                 *  {@code null} if null String input
                 * @since 2.4
                 */
                removeStartIgnoreCase(str:string,remove:string):string;
                /**
                 * Gets a CharSequence length or {@code 0} if the CharSequence is
                 * {@code null}.
                 *
                 * @param cs
                 *            a CharSequence or {@code null}
                 * @return CharSequence length or {@code 0} if the CharSequence is
                 *         {@code null}.
                 * @since 2.4
                 * @since 3.0 Changed signature from length(String) to length(CharSequence)
                 */
                length(cs:$.java.lang.CharSequence):number;
                /**
                 * <p>Replaces a String with another String inside a larger String,
                 * for the first {@code max} values of the search String.</p>
                 *
                 * <p>A {@code null} reference passed to this method is a no-op.</p>
                 *
                 * <pre>
                 * StringUtils.replace(null, *, *, *)         = null
                 * StringUtils.replace("", *, *, *)           = ""
                 * StringUtils.replace("any", null, *, *)     = "any"
                 * StringUtils.replace("any", *, null, *)     = "any"
                 * StringUtils.replace("any", "", *, *)       = "any"
                 * StringUtils.replace("any", *, *, 0)        = "any"
                 * StringUtils.replace("abaa", "a", null, -1) = "abaa"
                 * StringUtils.replace("abaa", "a", "", -1)   = "b"
                 * StringUtils.replace("abaa", "a", "z", 0)   = "abaa"
                 * StringUtils.replace("abaa", "a", "z", 1)   = "zbaa"
                 * StringUtils.replace("abaa", "a", "z", 2)   = "zbza"
                 * StringUtils.replace("abaa", "a", "z", -1)  = "zbzz"
                 * </pre>
                 *
                 * @param text  text to search and replace in, may be null
                 * @param searchString  the String to search for, may be null
                 * @param replacement  the String to replace it with, may be null
                 * @param max  maximum number of values to replace, or {@code -1} if no maximum
                 * @return the text with any replacements processed,
                 *  {@code null} if null String input
                 */
                replace(text:string,searchString:string,replacement:string,max:number):string;
                /**
                 * <p>Compares two CharSequences, returning {@code true} if they represent
                 * equal sequences of characters.</p>
                 *
                 * <p>{@code null}s are handled without exceptions. Two {@code null}
                 * references are considered to be equal. The comparison is case sensitive.</p>
                 *
                 * <pre>
                 * StringUtils.equals(null, null)   = true
                 * StringUtils.equals(null, "abc")  = false
                 * StringUtils.equals("abc", null)  = false
                 * StringUtils.equals("abc", "abc") = true
                 * StringUtils.equals("abc", "ABC") = false
                 * </pre>
                 *
                 * @see Object#equals(Object)
                 * @param cs1  the first CharSequence, may be {@code null}
                 * @param cs2  the second CharSequence, may be {@code null}
                 * @return {@code true} if the CharSequences are equal (case-sensitive), or both {@code null}
                 * @since 3.0 Changed signature from equals(String, String) to equals(CharSequence, CharSequence)
                 */
                equals(cs1:$.java.lang.CharSequence,cs2:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Uncapitalizes a String changing the first letter to title case as
                 * per {@link Character#toLowerCase(char)}. No other letters are changed.</p>
                 *
                 * <p>For a word based algorithm, see {@link org.apache.commons.lang3.text.WordUtils#uncapitalize(String)}.
                 * A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.uncapitalize(null)  = null
                 * StringUtils.uncapitalize("")    = ""
                 * StringUtils.uncapitalize("Cat") = "cat"
                 * StringUtils.uncapitalize("CAT") = "cAT"
                 * </pre>
                 *
                 * @param str the String to uncapitalize, may be null
                 * @return the uncapitalized String, {@code null} if null String input
                 * @see org.apache.commons.lang3.text.WordUtils#uncapitalize(String)
                 * @see #capitalize(String)
                 * @since 2.0
                 */
                uncapitalize(str:string):string;
                /**
                 * <p>Splits a String by Character type as returned by
                 * {@code java.lang.Character.getType(char)}. Groups of contiguous
                 * characters of the same type are returned as complete tokens.
                 * <pre>
                 * StringUtils.splitByCharacterType(null)         = null
                 * StringUtils.splitByCharacterType("")           = []
                 * StringUtils.splitByCharacterType("ab de fg")   = ["ab", " ", "de", " ", "fg"]
                 * StringUtils.splitByCharacterType("ab   de fg") = ["ab", "   ", "de", " ", "fg"]
                 * StringUtils.splitByCharacterType("ab:cd:ef")   = ["ab", ":", "cd", ":", "ef"]
                 * StringUtils.splitByCharacterType("number5")    = ["number", "5"]
                 * StringUtils.splitByCharacterType("fooBar")     = ["foo", "B", "ar"]
                 * StringUtils.splitByCharacterType("foo200Bar")  = ["foo", "200", "B", "ar"]
                 * StringUtils.splitByCharacterType("ASFRules")   = ["ASFR", "ules"]
                 * </pre>
                 * @param str the String to split, may be {@code null}
                 * @return an array of parsed Strings, {@code null} if null String input
                 * @since 2.4
                 */
                splitByCharacterType(str:string):string[];
                /**
                 * <p>Splits the provided text into an array, using whitespace as the
                 * separator.
                 * Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <p>The separator is not included in the returned String array.
                 * Adjacent separators are treated as one separator.
                 * For more control over the split use the StrTokenizer class.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.split(null)       = null
                 * StringUtils.split("")         = []
                 * StringUtils.split("abc def")  = ["abc", "def"]
                 * StringUtils.split("abc  def") = ["abc", "def"]
                 * StringUtils.split(" abc ")    = ["abc"]
                 * </pre>
                 *
                 * @param str  the String to parse, may be null
                 * @return an array of parsed Strings, {@code null} if null String input
                 */
                split(str:string):string[];
                /**
                 * <p>Replaces a String with another String inside a larger String, once.</p>
                 *
                 * <p>A {@code null} reference passed to this method is a no-op.</p>
                 *
                 * <pre>
                 * StringUtils.replaceOnce(null, *, *)        = null
                 * StringUtils.replaceOnce("", *, *)          = ""
                 * StringUtils.replaceOnce("any", null, *)    = "any"
                 * StringUtils.replaceOnce("any", *, null)    = "any"
                 * StringUtils.replaceOnce("any", "", *)      = "any"
                 * StringUtils.replaceOnce("aba", "a", null)  = "aba"
                 * StringUtils.replaceOnce("aba", "a", "")    = "ba"
                 * StringUtils.replaceOnce("aba", "a", "z")   = "zba"
                 * </pre>
                 *
                 * @see #replace(String text, String searchString, String replacement, int max)
                 * @param text  text to search and replace in, may be null
                 * @param searchString  the String to search for, may be null
                 * @param replacement  the String to replace with, may be null
                 * @return the text with any replacements processed,
                 *  {@code null} if null String input
                 */
                replaceOnce(text:string,searchString:string,replacement:string):string;
                /**
                 * <p>Abbreviates a String using ellipses. This will turn
                 * "Now is the time for all good men" into "...is the time for..."</p>
                 *
                 * <p>Works like {@code abbreviate(String, int)}, but allows you to specify
                 * a "left edge" offset.  Note that this left edge is not necessarily going to
                 * be the leftmost character in the result, or the first character following the
                 * ellipses, but it will appear somewhere in the result.
                 *
                 * <p>In no case will it return a String of length greater than
                 * {@code maxWidth}.</p>
                 *
                 * <pre>
                 * StringUtils.abbreviate(null, *, *)                = null
                 * StringUtils.abbreviate("", 0, 4)                  = ""
                 * StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..."
                 * StringUtils.abbreviate("abcdefghijklmno", 0, 10)  = "abcdefg..."
                 * StringUtils.abbreviate("abcdefghijklmno", 1, 10)  = "abcdefg..."
                 * StringUtils.abbreviate("abcdefghijklmno", 4, 10)  = "abcdefg..."
                 * StringUtils.abbreviate("abcdefghijklmno", 5, 10)  = "...fghi..."
                 * StringUtils.abbreviate("abcdefghijklmno", 6, 10)  = "...ghij..."
                 * StringUtils.abbreviate("abcdefghijklmno", 8, 10)  = "...ijklmno"
                 * StringUtils.abbreviate("abcdefghijklmno", 10, 10) = "...ijklmno"
                 * StringUtils.abbreviate("abcdefghijklmno", 12, 10) = "...ijklmno"
                 * StringUtils.abbreviate("abcdefghij", 0, 3)        = IllegalArgumentException
                 * StringUtils.abbreviate("abcdefghij", 5, 6)        = IllegalArgumentException
                 * </pre>
                 *
                 * @param str  the String to check, may be null
                 * @param offset  left edge of source String
                 * @param maxWidth  maximum length of result String, must be at least 4
                 * @return abbreviated String, {@code null} if null String input
                 * @throws IllegalArgumentException if the width is too small
                 * @since 2.0
                 */
                abbreviate(str:string,offset:number,maxWidth:number):string;
                /**
                 * Prepends the prefix to the start of the string if the string does not
                 * already start, case insensitive, with any of the prefixes.
                 *
                 * <pre>
                 * StringUtils.prependIfMissingIgnoreCase(null, null) = null
                 * StringUtils.prependIfMissingIgnoreCase("abc", null) = "abc"
                 * StringUtils.prependIfMissingIgnoreCase("", "xyz") = "xyz"
                 * StringUtils.prependIfMissingIgnoreCase("abc", "xyz") = "xyzabc"
                 * StringUtils.prependIfMissingIgnoreCase("xyzabc", "xyz") = "xyzabc"
                 * StringUtils.prependIfMissingIgnoreCase("XYZabc", "xyz") = "XYZabc"
                 * </pre>
                 * <p>With additional prefixes,</p>
                 * <pre>
                 * StringUtils.prependIfMissingIgnoreCase(null, null, null) = null
                 * StringUtils.prependIfMissingIgnoreCase("abc", null, null) = "abc"
                 * StringUtils.prependIfMissingIgnoreCase("", "xyz", null) = "xyz"
                 * StringUtils.prependIfMissingIgnoreCase("abc", "xyz", new CharSequence[]{null}) = "xyzabc"
                 * StringUtils.prependIfMissingIgnoreCase("abc", "xyz", "") = "abc"
                 * StringUtils.prependIfMissingIgnoreCase("abc", "xyz", "mno") = "xyzabc"
                 * StringUtils.prependIfMissingIgnoreCase("xyzabc", "xyz", "mno") = "xyzabc"
                 * StringUtils.prependIfMissingIgnoreCase("mnoabc", "xyz", "mno") = "mnoabc"
                 * StringUtils.prependIfMissingIgnoreCase("XYZabc", "xyz", "mno") = "XYZabc"
                 * StringUtils.prependIfMissingIgnoreCase("MNOabc", "xyz", "mno") = "MNOabc"
                 * </pre>
                 *
                 * @param str The string.
                 * @param prefix The prefix to prepend to the start of the string.
                 * @param prefixes Additional prefixes that are valid (optional).
                 *
                 * @return A new String if prefix was prepended, the same string otherwise.
                 *
                 * @since 3.2
                 */
                prependIfMissingIgnoreCase(str:string,prefix:$.java.lang.CharSequence,...prefixes:$.java.lang.CharSequence[]):string;
                /**
                 * <p>Overlays part of a String with another String.</p>
                 *
                 * <p>A {@code null} string input returns {@code null}.
                 * A negative index is treated as zero.
                 * An index greater than the string length is treated as the string length.
                 * The start index is always the smaller of the two indices.</p>
                 *
                 * <pre>
                 * StringUtils.overlay(null, *, *, *)            = null
                 * StringUtils.overlay("", "abc", 0, 0)          = "abc"
                 * StringUtils.overlay("abcdef", null, 2, 4)     = "abef"
                 * StringUtils.overlay("abcdef", "", 2, 4)       = "abef"
                 * StringUtils.overlay("abcdef", "", 4, 2)       = "abef"
                 * StringUtils.overlay("abcdef", "zzzz", 2, 4)   = "abzzzzef"
                 * StringUtils.overlay("abcdef", "zzzz", 4, 2)   = "abzzzzef"
                 * StringUtils.overlay("abcdef", "zzzz", -1, 4)  = "zzzzef"
                 * StringUtils.overlay("abcdef", "zzzz", 2, 8)   = "abzzzz"
                 * StringUtils.overlay("abcdef", "zzzz", -2, -3) = "zzzzabcdef"
                 * StringUtils.overlay("abcdef", "zzzz", 8, 10)  = "abcdefzzzz"
                 * </pre>
                 *
                 * @param str  the String to do overlaying in, may be null
                 * @param overlay  the String to overlay, may be null
                 * @param start  the position to start overlaying at
                 * @param end  the position to stop overlaying before
                 * @return overlayed String, {@code null} if null String input
                 * @since 2.0
                 */
                overlay(str:string,overlay:string,start:number,end:number):string;
                /**
                 * <p>Checks if the CharSequence contains only Unicode letters, digits
                 * or space ({@code ' '}).</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code true}.</p>
                 *
                 * <pre>
                 * StringUtils.isAlphanumericSpace(null)   = false
                 * StringUtils.isAlphanumericSpace("")     = true
                 * StringUtils.isAlphanumericSpace("  ")   = true
                 * StringUtils.isAlphanumericSpace("abc")  = true
                 * StringUtils.isAlphanumericSpace("ab c") = true
                 * StringUtils.isAlphanumericSpace("ab2c") = true
                 * StringUtils.isAlphanumericSpace("ab-c") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains letters, digits or space,
                 *  and is non-null
                 * @since 3.0 Changed signature from isAlphanumericSpace(String) to isAlphanumericSpace(CharSequence)
                 */
                isAlphanumericSpace(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Repeat a String {@code repeat} times to form a
                 * new String, with a String separator injected each time. </p>
                 *
                 * <pre>
                 * StringUtils.repeat(null, null, 2) = null
                 * StringUtils.repeat(null, "x", 2)  = null
                 * StringUtils.repeat("", null, 0)   = ""
                 * StringUtils.repeat("", "", 2)     = ""
                 * StringUtils.repeat("", "x", 3)    = "xxx"
                 * StringUtils.repeat("?", ", ", 3)  = "?, ?, ?"
                 * </pre>
                 *
                 * @param str        the String to repeat, may be null
                 * @param separator  the String to inject, may be null
                 * @param repeat     number of times to repeat str, negative treated as zero
                 * @return a new String consisting of the original String repeated,
                 *  {@code null} if null String input
                 * @since 2.5
                 */
                repeat(str:string,separator:string,repeat:number):string;
                /**
                 * Appends the suffix to the end of the string if the string does not
                 * already end with any the suffixes.
                 *
                 * <pre>
                 * StringUtils.appendIfMissing(null, null) = null
                 * StringUtils.appendIfMissing("abc", null) = "abc"
                 * StringUtils.appendIfMissing("", "xyz") = "xyz"
                 * StringUtils.appendIfMissing("abc", "xyz") = "abcxyz"
                 * StringUtils.appendIfMissing("abcxyz", "xyz") = "abcxyz"
                 * StringUtils.appendIfMissing("abcXYZ", "xyz") = "abcXYZxyz"
                 * </pre>
                 * <p>With additional suffixes,</p>
                 * <pre>
                 * StringUtils.appendIfMissing(null, null, null) = null
                 * StringUtils.appendIfMissing("abc", null, null) = "abc"
                 * StringUtils.appendIfMissing("", "xyz", null) = "xyz"
                 * StringUtils.appendIfMissing("abc", "xyz", new CharSequence[]{null}) = "abcxyz"
                 * StringUtils.appendIfMissing("abc", "xyz", "") = "abc"
                 * StringUtils.appendIfMissing("abc", "xyz", "mno") = "abcxyz"
                 * StringUtils.appendIfMissing("abcxyz", "xyz", "mno") = "abcxyz"
                 * StringUtils.appendIfMissing("abcmno", "xyz", "mno") = "abcmno"
                 * StringUtils.appendIfMissing("abcXYZ", "xyz", "mno") = "abcXYZxyz"
                 * StringUtils.appendIfMissing("abcMNO", "xyz", "mno") = "abcMNOxyz"
                 * </pre>
                 *
                 * @param str The string.
                 * @param suffix The suffix to append to the end of the string.
                 * @param suffixes Additional suffixes that are valid terminators.
                 *
                 * @return A new String if suffix was appened, the same string otherwise.
                 *
                 * @since 3.2
                 */
                appendIfMissing(str:string,suffix:$.java.lang.CharSequence,...suffixes:$.java.lang.CharSequence[]):string;
                /**
                 * <p>
                 * Wraps a string with a char.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.wrap(null, *)        = null
                 * StringUtils.wrap("", *)          = ""
                 * StringUtils.wrap("ab", '\0')     = "ab"
                 * StringUtils.wrap("ab", 'x')      = "xabx"
                 * StringUtils.wrap("ab", '\'')     = "'ab'"
                 * StringUtils.wrap("\"ab\"", '\"') = "\"\"ab\"\""
                 * </pre>
                 *
                 * @param str
                 *            the string to be wrapped, may be {@code null}
                 * @param wrapWith
                 *            the char that will wrap {@code str}
                 * @return the wrapped string, or {@code null} if {@code str==null}
                 * @since 3.4
                 */
                wrap(str:string,wrapWith:string):string;
                /**
                 * <p>Find the Fuzzy Distance which indicates the similarity score between two Strings.</p>
                 *
                 * <p>This string matching algorithm is similar to the algorithms of editors such as Sublime Text,
                 * TextMate, Atom and others. One point is given for every matched character. Subsequent
                 * matches yield two bonus points. A higher score indicates a higher similarity.</p>
                 *
                 * <pre>
                 * StringUtils.getFuzzyDistance(null, null, null)                                    = IllegalArgumentException
                 * StringUtils.getFuzzyDistance("", "", Locale.ENGLISH)                              = 0
                 * StringUtils.getFuzzyDistance("Workshop", "b", Locale.ENGLISH)                     = 0
                 * StringUtils.getFuzzyDistance("Room", "o", Locale.ENGLISH)                         = 1
                 * StringUtils.getFuzzyDistance("Workshop", "w", Locale.ENGLISH)                     = 1
                 * StringUtils.getFuzzyDistance("Workshop", "ws", Locale.ENGLISH)                    = 2
                 * StringUtils.getFuzzyDistance("Workshop", "wo", Locale.ENGLISH)                    = 4
                 * StringUtils.getFuzzyDistance("Apache Software Foundation", "asf", Locale.ENGLISH) = 3
                 * </pre>
                 *
                 * @param term a full term that should be matched against, must not be null
                 * @param query the query that will be matched against a term, must not be null
                 * @param locale This string matching logic is case insensitive. A locale is necessary to normalize
                 *  both Strings to lower case.
                 * @return result score
                 * @throws IllegalArgumentException if either String input {@code null} or Locale input {@code null}
                 * @since 3.4
                 */
                getFuzzyDistance(term:$.java.lang.CharSequence,query:$.java.lang.CharSequence,locale:$.java.util.Locale):number;
                /**
                 * <p>Gets the String that is nested in between two Strings.
                 * Only the first match is returned.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * A {@code null} open/close returns {@code null} (no match).
                 * An empty ("") open and close returns an empty string.</p>
                 *
                 * <pre>
                 * StringUtils.substringBetween("wx[b]yz", "[", "]") = "b"
                 * StringUtils.substringBetween(null, *, *)          = null
                 * StringUtils.substringBetween(*, null, *)          = null
                 * StringUtils.substringBetween(*, *, null)          = null
                 * StringUtils.substringBetween("", "", "")          = ""
                 * StringUtils.substringBetween("", "", "]")         = null
                 * StringUtils.substringBetween("", "[", "]")        = null
                 * StringUtils.substringBetween("yabcz", "", "")     = ""
                 * StringUtils.substringBetween("yabcz", "y", "z")   = "abc"
                 * StringUtils.substringBetween("yabczyabcz", "y", "z")   = "abc"
                 * </pre>
                 *
                 * @param str  the String containing the substring, may be null
                 * @param open  the String before the substring, may be null
                 * @param close  the String after the substring, may be null
                 * @return the substring, {@code null} if no match
                 * @since 2.0
                 */
                substringBetween(str:string,open:string,close:string):string;
                /**
                 * Removes each substring of the source String that matches the given regular expression using the DOTALL option.
                 *
                 * @param source
                 *            the source string
                 * @param regex
                 *            the regular expression to which this string is to be matched
                 * @return The resulting {@code String}
                 * @see String#replaceAll(String, String)
                 * @see Pattern#DOTALL
                 * @since 3.2
                 */
                removePattern(source:string,regex:string):string;
                /**
                 * <p>Removes control characters (char &lt;= 32) from both
                 * ends of this String returning {@code null} if the String is
                 * empty ("") after the trim or if it is {@code null}.
                 *
                 * <p>The String is trimmed using {@link String#trim()}.
                 * Trim removes start and end characters &lt;= 32.
                 * To strip whitespace use {@link #stripToNull(String)}.</p>
                 *
                 * <pre>
                 * StringUtils.trimToNull(null)          = null
                 * StringUtils.trimToNull("")            = null
                 * StringUtils.trimToNull("     ")       = null
                 * StringUtils.trimToNull("abc")         = "abc"
                 * StringUtils.trimToNull("    abc    ") = "abc"
                 * </pre>
                 *
                 * @param str  the String to be trimmed, may be null
                 * @return the trimmed String,
                 *  {@code null} if only chars &lt;= 32, empty or null String input
                 * @since 2.0
                 */
                trimToNull(str:string):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Gets a substring from the specified String avoiding exceptions.</p>
                 *
                 * <p>A negative start position can be used to start {@code n}
                 * characters from the end of the String.</p>
                 *
                 * <p>A {@code null} String will return {@code null}.
                 * An empty ("") String will return "".</p>
                 *
                 * <pre>
                 * StringUtils.substring(null, *)   = null
                 * StringUtils.substring("", *)     = ""
                 * StringUtils.substring("abc", 0)  = "abc"
                 * StringUtils.substring("abc", 2)  = "c"
                 * StringUtils.substring("abc", 4)  = ""
                 * StringUtils.substring("abc", -2) = "bc"
                 * StringUtils.substring("abc", -4) = "abc"
                 * </pre>
                 *
                 * @param str  the String to get the substring from, may be null
                 * @param start  the position to start from, negative means
                 *  count back from the end of the String by this many characters
                 * @return substring from start position, {@code null} if null String input
                 */
                substring(str:string,start:number):string;
                /**
                 * <p>Compares two CharSequences, returning {@code true} if they represent
                 * equal sequences of characters, ignoring case.</p>
                 *
                 * <p>{@code null}s are handled without exceptions. Two {@code null}
                 * references are considered equal. Comparison is case insensitive.</p>
                 *
                 * <pre>
                 * StringUtils.equalsIgnoreCase(null, null)   = true
                 * StringUtils.equalsIgnoreCase(null, "abc")  = false
                 * StringUtils.equalsIgnoreCase("abc", null)  = false
                 * StringUtils.equalsIgnoreCase("abc", "abc") = true
                 * StringUtils.equalsIgnoreCase("abc", "ABC") = true
                 * </pre>
                 *
                 * @param str1  the first CharSequence, may be null
                 * @param str2  the second CharSequence, may be null
                 * @return {@code true} if the CharSequence are equal, case insensitive, or
                 *  both {@code null}
                 * @since 3.0 Changed signature from equalsIgnoreCase(String, String) to equalsIgnoreCase(CharSequence, CharSequence)
                 */
                equalsIgnoreCase(str1:$.java.lang.CharSequence,str2:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Find the Levenshtein distance between two Strings if it's less than or equal to a given
                 * threshold.</p>
                 *
                 * <p>This is the number of changes needed to change one String into
                 * another, where each change is a single character modification (deletion,
                 * insertion or substitution).</p>
                 *
                 * <p>This implementation follows from Algorithms on Strings, Trees and Sequences by Dan Gusfield
                 * and Chas Emerick's implementation of the Levenshtein distance algorithm from
                 * <a href="http://www.merriampark.com/ld.htm">http://www.merriampark.com/ld.htm</a></p>
                 *
                 * <pre>
                 * StringUtils.getLevenshteinDistance(null, *, *)             = IllegalArgumentException
                 * StringUtils.getLevenshteinDistance(*, null, *)             = IllegalArgumentException
                 * StringUtils.getLevenshteinDistance(*, *, -1)               = IllegalArgumentException
                 * StringUtils.getLevenshteinDistance("","", 0)               = 0
                 * StringUtils.getLevenshteinDistance("aaapppp", "", 8)       = 7
                 * StringUtils.getLevenshteinDistance("aaapppp", "", 7)       = 7
                 * StringUtils.getLevenshteinDistance("aaapppp", "", 6))      = -1
                 * StringUtils.getLevenshteinDistance("elephant", "hippo", 7) = 7
                 * StringUtils.getLevenshteinDistance("elephant", "hippo", 6) = -1
                 * StringUtils.getLevenshteinDistance("hippo", "elephant", 7) = 7
                 * StringUtils.getLevenshteinDistance("hippo", "elephant", 6) = -1
                 * </pre>
                 *
                 * @param s  the first String, must not be null
                 * @param t  the second String, must not be null
                 * @param threshold the target threshold, must not be negative
                 * @return result distance, or {@code -1} if the distance would be greater than the threshold
                 * @throws IllegalArgumentException if either String input {@code null} or negative threshold
                 */
                getLevenshteinDistance(s:$.java.lang.CharSequence,t:$.java.lang.CharSequence,threshold:number):number;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:long[],separator:string):string;
                /**
                 * <p>Case insensitive check if a CharSequence starts with a specified prefix.</p>
                 *
                 * <p>{@code null}s are handled without exceptions. Two {@code null}
                 * references are considered to be equal. The comparison is case insensitive.</p>
                 *
                 * <pre>
                 * StringUtils.startsWithIgnoreCase(null, null)      = true
                 * StringUtils.startsWithIgnoreCase(null, "abc")     = false
                 * StringUtils.startsWithIgnoreCase("abcdef", null)  = false
                 * StringUtils.startsWithIgnoreCase("abcdef", "abc") = true
                 * StringUtils.startsWithIgnoreCase("ABCDEF", "abc") = true
                 * </pre>
                 *
                 * @see java.lang.String#startsWith(String)
                 * @param str  the CharSequence to check, may be null
                 * @param prefix the prefix to find, may be null
                 * @return {@code true} if the CharSequence starts with the prefix, case insensitive, or
                 *  both {@code null}
                 * @since 2.4
                 * @since 3.0 Changed signature from startsWithIgnoreCase(String, String) to startsWithIgnoreCase(CharSequence, CharSequence)
                 */
                startsWithIgnoreCase(str:$.java.lang.CharSequence,prefix:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Joins the elements of the provided {@code Iterable} into
                 * a single String containing the provided elements.</p>
                 *
                 * <p>No delimiter is added before or after the list.
                 * A {@code null} separator is the same as an empty String ("").</p>
                 *
                 * <p>See the examples here: {@link #join(Object[],String)}. </p>
                 *
                 * @param iterable  the {@code Iterable} providing the values to join together, may be null
                 * @param separator  the separator character to use, null treated as ""
                 * @return the joined String, {@code null} if null iterator input
                 * @since 2.3
                 */
                join(iterable:$.java.lang.Iterable,separator:string):string;
                /**
                 * <p>Strips any of a set of characters from the start and end of every
                 * String in an array.</p>
                 * <p>Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <p>A new array is returned each time, except for length zero.
                 * A {@code null} array will return {@code null}.
                 * An empty array will return itself.
                 * A {@code null} array entry will be ignored.
                 * A {@code null} stripChars will strip whitespace as defined by
                 * {@link Character#isWhitespace(char)}.</p>
                 *
                 * <pre>
                 * StringUtils.stripAll(null, *)                = null
                 * StringUtils.stripAll([], *)                  = []
                 * StringUtils.stripAll(["abc", "  abc"], null) = ["abc", "abc"]
                 * StringUtils.stripAll(["abc  ", null], null)  = ["abc", null]
                 * StringUtils.stripAll(["abc  ", null], "yz")  = ["abc  ", null]
                 * StringUtils.stripAll(["yabcz", null], "yz")  = ["abc", null]
                 * </pre>
                 *
                 * @param strs  the array to remove characters from, may be null
                 * @param stripChars  the characters to remove, null treated as whitespace
                 * @return the stripped Strings, {@code null} if null array input
                 */
                stripAll(strs:string[],stripChars:string):string[];
                /**
                 * <p>Gets the leftmost {@code len} characters of a String.</p>
                 *
                 * <p>If {@code len} characters are not available, or the
                 * String is {@code null}, the String will be returned without
                 * an exception. An empty String is returned if len is negative.</p>
                 *
                 * <pre>
                 * StringUtils.left(null, *)    = null
                 * StringUtils.left(*, -ve)     = ""
                 * StringUtils.left("", *)      = ""
                 * StringUtils.left("abc", 0)   = ""
                 * StringUtils.left("abc", 2)   = "ab"
                 * StringUtils.left("abc", 4)   = "abc"
                 * </pre>
                 *
                 * @param str  the String to get the leftmost characters from, may be null
                 * @param len  the length of the required String
                 * @return the leftmost characters, {@code null} if null String input
                 */
                left(str:string,len:number):string;
                /**
                 * <p>Left pad a String with a specified character.</p>
                 *
                 * <p>Pad to a size of {@code size}.</p>
                 *
                 * <pre>
                 * StringUtils.leftPad(null, *, *)     = null
                 * StringUtils.leftPad("", 3, 'z')     = "zzz"
                 * StringUtils.leftPad("bat", 3, 'z')  = "bat"
                 * StringUtils.leftPad("bat", 5, 'z')  = "zzbat"
                 * StringUtils.leftPad("bat", 1, 'z')  = "bat"
                 * StringUtils.leftPad("bat", -1, 'z') = "bat"
                 * </pre>
                 *
                 * @param str  the String to pad out, may be null
                 * @param size  the size to pad to
                 * @param padChar  the character to pad with
                 * @return left padded String or original String if no padding is necessary,
                 *  {@code null} if null String input
                 * @since 2.0
                 */
                leftPad(str:string,size:number,padChar:string):string;
                /**
                 * <p>Case insensitive removal of a substring if it is at the end of a source string,
                 * otherwise returns the source string.</p>
                 *
                 * <p>A {@code null} source string will return {@code null}.
                 * An empty ("") source string will return the empty string.
                 * A {@code null} search string will return the source string.</p>
                 *
                 * <pre>
                 * StringUtils.removeEndIgnoreCase(null, *)      = null
                 * StringUtils.removeEndIgnoreCase("", *)        = ""
                 * StringUtils.removeEndIgnoreCase(*, null)      = *
                 * StringUtils.removeEndIgnoreCase("www.domain.com", ".com.")  = "www.domain.com"
                 * StringUtils.removeEndIgnoreCase("www.domain.com", ".com")   = "www.domain"
                 * StringUtils.removeEndIgnoreCase("www.domain.com", "domain") = "www.domain.com"
                 * StringUtils.removeEndIgnoreCase("abc", "")    = "abc"
                 * StringUtils.removeEndIgnoreCase("www.domain.com", ".COM") = "www.domain")
                 * StringUtils.removeEndIgnoreCase("www.domain.COM", ".com") = "www.domain")
                 * </pre>
                 *
                 * @param str  the source String to search, may be null
                 * @param remove  the String to search for (case insensitive) and remove, may be null
                 * @return the substring with the string removed if found,
                 *  {@code null} if null String input
                 * @since 2.4
                 */
                removeEndIgnoreCase(str:string,remove:string):string;
                /**
                 * <p>Strips any of a set of characters from the start of a String.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * An empty string ("") input returns the empty string.</p>
                 *
                 * <p>If the stripChars String is {@code null}, whitespace is
                 * stripped as defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <pre>
                 * StringUtils.stripStart(null, *)          = null
                 * StringUtils.stripStart("", *)            = ""
                 * StringUtils.stripStart("abc", "")        = "abc"
                 * StringUtils.stripStart("abc", null)      = "abc"
                 * StringUtils.stripStart("  abc", null)    = "abc"
                 * StringUtils.stripStart("abc  ", null)    = "abc  "
                 * StringUtils.stripStart(" abc ", null)    = "abc "
                 * StringUtils.stripStart("yxabc  ", "xyz") = "abc  "
                 * </pre>
                 *
                 * @param str  the String to remove characters from, may be null
                 * @param stripChars  the characters to remove, null treated as whitespace
                 * @return the stripped String, {@code null} if null String input
                 */
                stripStart(str:string,stripChars:string):string;
                join(...arg0:any[]):string;
                /**
                 * <p>Splits the provided text into an array with a maximum length,
                 * separators specified.</p>
                 *
                 * <p>The separator is not included in the returned String array.
                 * Adjacent separators are treated as one separator.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * A {@code null} separatorChars splits on whitespace.</p>
                 *
                 * <p>If more than {@code max} delimited substrings are found, the last
                 * returned string includes all characters after the first {@code max - 1}
                 * returned strings (including separator characters).</p>
                 *
                 * <pre>
                 * StringUtils.split(null, *, *)            = null
                 * StringUtils.split("", *, *)              = []
                 * StringUtils.split("ab cd ef", null, 0)   = ["ab", "cd", "ef"]
                 * StringUtils.split("ab   cd ef", null, 0) = ["ab", "cd", "ef"]
                 * StringUtils.split("ab:cd:ef", ":", 0)    = ["ab", "cd", "ef"]
                 * StringUtils.split("ab:cd:ef", ":", 2)    = ["ab", "cd:ef"]
                 * </pre>
                 *
                 * @param str  the String to parse, may be null
                 * @param separatorChars  the characters used as the delimiters,
                 *  {@code null} splits on whitespace
                 * @param max  the maximum number of elements to include in the
                 *  array. A zero or negative value implies no limit
                 * @return an array of parsed Strings, {@code null} if null String input
                 */
                split(str:string,separatorChars:string,max:number):string[];
                /**
                 * <p>Checks if the CharSequence contains only ASCII printable characters.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code true}.</p>
                 *
                 * <pre>
                 * StringUtils.isAsciiPrintable(null)     = false
                 * StringUtils.isAsciiPrintable("")       = true
                 * StringUtils.isAsciiPrintable(" ")      = true
                 * StringUtils.isAsciiPrintable("Ceki")   = true
                 * StringUtils.isAsciiPrintable("ab2c")   = true
                 * StringUtils.isAsciiPrintable("!ab-c~") = true
                 * StringUtils.isAsciiPrintable("\u0020") = true
                 * StringUtils.isAsciiPrintable("\u0021") = true
                 * StringUtils.isAsciiPrintable("\u007e") = true
                 * StringUtils.isAsciiPrintable("\u007f") = false
                 * StringUtils.isAsciiPrintable("Ceki G\u00fclc\u00fc") = false
                 * </pre>
                 *
                 * @param cs the CharSequence to check, may be null
                 * @return {@code true} if every character is in the range
                 *  32 thru 126
                 * @since 2.1
                 * @since 3.0 Changed signature from isAsciiPrintable(String) to isAsciiPrintable(CharSequence)
                 */
                isAsciiPrintable(cs:$.java.lang.CharSequence):boolean;
                /**
                 * 判断电话号码格式是否正确
                 *
                 * @param String
                 *            phoneNumber:电话号码
                 * @return
                 */
                isPhoneNumberValid(phoneNumber:string):boolean;
                /**
                 * <p>Gets a substring from the specified String avoiding exceptions.</p>
                 *
                 * <p>A negative start position can be used to start/end {@code n}
                 * characters from the end of the String.</p>
                 *
                 * <p>The returned substring starts with the character in the {@code start}
                 * position and ends before the {@code end} position. All position counting is
                 * zero-based -- i.e., to start at the beginning of the string use
                 * {@code start = 0}. Negative start and end positions can be used to
                 * specify offsets relative to the end of the String.</p>
                 *
                 * <p>If {@code start} is not strictly to the left of {@code end}, ""
                 * is returned.</p>
                 *
                 * <pre>
                 * StringUtils.substring(null, *, *)    = null
                 * StringUtils.substring("", * ,  *)    = "";
                 * StringUtils.substring("abc", 0, 2)   = "ab"
                 * StringUtils.substring("abc", 2, 0)   = ""
                 * StringUtils.substring("abc", 2, 4)   = "c"
                 * StringUtils.substring("abc", 4, 6)   = ""
                 * StringUtils.substring("abc", 2, 2)   = ""
                 * StringUtils.substring("abc", -2, -1) = "b"
                 * StringUtils.substring("abc", -4, 2)  = "ab"
                 * </pre>
                 *
                 * @param str  the String to get the substring from, may be null
                 * @param start  the position to start from, negative means
                 *  count back from the end of the String by this many characters
                 * @param end  the position to end at (exclusive), negative means
                 *  count back from the end of the String by this many characters
                 * @return substring from start position to end position,
                 *  {@code null} if null String input
                 */
                substring(str:string,start:number,end:number):string;
                /**
                 * <p>Replaces all occurrences of a String within another String.</p>
                 *
                 * <p>A {@code null} reference passed to this method is a no-op.</p>
                 *
                 * <pre>
                 * StringUtils.replace(null, *, *)        = null
                 * StringUtils.replace("", *, *)          = ""
                 * StringUtils.replace("any", null, *)    = "any"
                 * StringUtils.replace("any", *, null)    = "any"
                 * StringUtils.replace("any", "", *)      = "any"
                 * StringUtils.replace("aba", "a", null)  = "aba"
                 * StringUtils.replace("aba", "a", "")    = "b"
                 * StringUtils.replace("aba", "a", "z")   = "zbz"
                 * </pre>
                 *
                 * @see #replace(String text, String searchString, String replacement, int max)
                 * @param text  text to search and replace in, may be null
                 * @param searchString  the String to search for, may be null
                 * @param replacement  the String to replace it with, may be null
                 * @return the text with any replacements processed,
                 *  {@code null} if null String input
                 */
                replace(text:string,searchString:string,replacement:string):string;
                /**
                 * <p>Strips whitespace from the start and end of a String  returning
                 * {@code null} if the String is empty ("") after the strip.</p>
                 *
                 * <p>This is similar to {@link #trimToNull(String)} but removes whitespace.
                 * Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <pre>
                 * StringUtils.stripToNull(null)     = null
                 * StringUtils.stripToNull("")       = null
                 * StringUtils.stripToNull("   ")    = null
                 * StringUtils.stripToNull("abc")    = "abc"
                 * StringUtils.stripToNull("  abc")  = "abc"
                 * StringUtils.stripToNull("abc  ")  = "abc"
                 * StringUtils.stripToNull(" abc ")  = "abc"
                 * StringUtils.stripToNull(" ab c ") = "ab c"
                 * </pre>
                 *
                 * @param str  the String to be stripped, may be null
                 * @return the stripped String,
                 *  {@code null} if whitespace, empty or null String input
                 * @since 2.0
                 */
                stripToNull(str:string):string;
                /**
                 * <p>Left pad a String with a specified String.</p>
                 *
                 * <p>Pad to a size of {@code size}.</p>
                 *
                 * <pre>
                 * StringUtils.leftPad(null, *, *)      = null
                 * StringUtils.leftPad("", 3, "z")      = "zzz"
                 * StringUtils.leftPad("bat", 3, "yz")  = "bat"
                 * StringUtils.leftPad("bat", 5, "yz")  = "yzbat"
                 * StringUtils.leftPad("bat", 8, "yz")  = "yzyzybat"
                 * StringUtils.leftPad("bat", 1, "yz")  = "bat"
                 * StringUtils.leftPad("bat", -1, "yz") = "bat"
                 * StringUtils.leftPad("bat", 5, null)  = "  bat"
                 * StringUtils.leftPad("bat", 5, "")    = "  bat"
                 * </pre>
                 *
                 * @param str  the String to pad out, may be null
                 * @param size  the size to pad to
                 * @param padStr  the String to pad with, null or empty treated as single space
                 * @return left padded String or original String if no padding is necessary,
                 *  {@code null} if null String input
                 */
                leftPad(str:string,size:number,padStr:string):string;
                /**
                 * <p>Gets the substring after the first occurrence of a separator.
                 * The separator is not returned.</p>
                 *
                 * <p>A {@code null} string input will return {@code null}.
                 * An empty ("") string input will return the empty string.
                 * A {@code null} separator will return the empty string if the
                 * input string is not {@code null}.</p>
                 *
                 * <p>If nothing is found, the empty string is returned.</p>
                 *
                 * <pre>
                 * StringUtils.substringAfter(null, *)      = null
                 * StringUtils.substringAfter("", *)        = ""
                 * StringUtils.substringAfter(*, null)      = ""
                 * StringUtils.substringAfter("abc", "a")   = "bc"
                 * StringUtils.substringAfter("abcba", "b") = "cba"
                 * StringUtils.substringAfter("abc", "c")   = ""
                 * StringUtils.substringAfter("abc", "d")   = ""
                 * StringUtils.substringAfter("abc", "")    = "abc"
                 * </pre>
                 *
                 * @param str  the String to get a substring from, may be null
                 * @param separator  the String to search for, may be null
                 * @return the substring after the first occurrence of the separator,
                 *  {@code null} if null String input
                 * @since 2.0
                 */
                substringAfter(str:string,separator:string):string;
                /**
                 * <p>Joins the elements of the provided array into a single String
                 * containing the provided list of elements.</p>
                 *
                 * <p>No delimiter is added before or after the list.
                 * Null objects or empty strings within the array are represented by
                 * empty strings.</p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join(["a", "b", "c"], ';')  = "a;b;c"
                 * StringUtils.join(["a", "b", "c"], null) = "abc"
                 * StringUtils.join([null, "", "a"], ';')  = ";;a"
                 * </pre>
                 *
                 * @param array  the array of values to join together, may be null
                 * @param separator  the separator character to use
                 * @param startIndex the first index to start joining from.  It is
                 * an error to pass in an end index past the end of the array
                 * @param endIndex the index to stop joining from (exclusive). It is
                 * an error to pass in an end index past the end of the array
                 * @return the joined String, {@code null} if null array input
                 * @since 2.0
                 */
                join(array:any[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * Prepends the prefix to the start of the string if the string does not
                 * already start with any of the prefixes.
                 *
                 * <pre>
                 * StringUtils.prependIfMissing(null, null) = null
                 * StringUtils.prependIfMissing("abc", null) = "abc"
                 * StringUtils.prependIfMissing("", "xyz") = "xyz"
                 * StringUtils.prependIfMissing("abc", "xyz") = "xyzabc"
                 * StringUtils.prependIfMissing("xyzabc", "xyz") = "xyzabc"
                 * StringUtils.prependIfMissing("XYZabc", "xyz") = "xyzXYZabc"
                 * </pre>
                 * <p>With additional prefixes,</p>
                 * <pre>
                 * StringUtils.prependIfMissing(null, null, null) = null
                 * StringUtils.prependIfMissing("abc", null, null) = "abc"
                 * StringUtils.prependIfMissing("", "xyz", null) = "xyz"
                 * StringUtils.prependIfMissing("abc", "xyz", new CharSequence[]{null}) = "xyzabc"
                 * StringUtils.prependIfMissing("abc", "xyz", "") = "abc"
                 * StringUtils.prependIfMissing("abc", "xyz", "mno") = "xyzabc"
                 * StringUtils.prependIfMissing("xyzabc", "xyz", "mno") = "xyzabc"
                 * StringUtils.prependIfMissing("mnoabc", "xyz", "mno") = "mnoabc"
                 * StringUtils.prependIfMissing("XYZabc", "xyz", "mno") = "xyzXYZabc"
                 * StringUtils.prependIfMissing("MNOabc", "xyz", "mno") = "xyzMNOabc"
                 * </pre>
                 *
                 * @param str The string.
                 * @param prefix The prefix to prepend to the start of the string.
                 * @param prefixes Additional prefixes that are valid.
                 *
                 * @return A new String if prefix was prepended, the same string otherwise.
                 *
                 * @since 3.2
                 */
                prependIfMissing(str:string,prefix:$.java.lang.CharSequence,...prefixes:$.java.lang.CharSequence[]):string;
                /**
                 * 检查目标对象不为空 （等效 !isBlank(Object cs)）
                 * Iterable/Map 对象返回 true
                 * @param cs
                 * @return
                 */
                isNotBlank(cs:any):boolean;
                defaultIfEmpty(arg0:$.java.lang.CharSequence,arg1:$.java.lang.CharSequence):$.java.lang.CharSequence;
                /**
                 * <p>Splits a String by Character type as returned by
                 * {@code java.lang.Character.getType(char)}. Groups of contiguous
                 * characters of the same type are returned as complete tokens, with the
                 * following exception: the character of type
                 * {@code Character.UPPERCASE_LETTER}, if any, immediately
                 * preceding a token of type {@code Character.LOWERCASE_LETTER}
                 * will belong to the following token rather than to the preceding, if any,
                 * {@code Character.UPPERCASE_LETTER} token.
                 * <pre>
                 * StringUtils.splitByCharacterTypeCamelCase(null)         = null
                 * StringUtils.splitByCharacterTypeCamelCase("")           = []
                 * StringUtils.splitByCharacterTypeCamelCase("ab de fg")   = ["ab", " ", "de", " ", "fg"]
                 * StringUtils.splitByCharacterTypeCamelCase("ab   de fg") = ["ab", "   ", "de", " ", "fg"]
                 * StringUtils.splitByCharacterTypeCamelCase("ab:cd:ef")   = ["ab", ":", "cd", ":", "ef"]
                 * StringUtils.splitByCharacterTypeCamelCase("number5")    = ["number", "5"]
                 * StringUtils.splitByCharacterTypeCamelCase("fooBar")     = ["foo", "Bar"]
                 * StringUtils.splitByCharacterTypeCamelCase("foo200Bar")  = ["foo", "200", "Bar"]
                 * StringUtils.splitByCharacterTypeCamelCase("ASFRules")   = ["ASF", "Rules"]
                 * </pre>
                 * @param str the String to split, may be {@code null}
                 * @return an array of parsed Strings, {@code null} if null String input
                 * @since 2.4
                 */
                splitByCharacterTypeCamelCase(str:string):string[];
                /**
                 * <p>Checks if a CharSequence is not empty (""), not null and not whitespace only.</p>
                 *
                 * <pre>
                 * StringUtils.isNotBlank(null)      = false
                 * StringUtils.isNotBlank("")        = false
                 * StringUtils.isNotBlank(" ")       = false
                 * StringUtils.isNotBlank("bob")     = true
                 * StringUtils.isNotBlank("  bob  ") = true
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if the CharSequence is
                 *  not empty and not null and not whitespace
                 * @since 2.0
                 * @since 3.0 Changed signature from isNotBlank(String) to isNotBlank(CharSequence)
                 */
                isNotBlank(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Finds the last index within a CharSequence from a start position,
                 * handling {@code null}.
                 * This method uses {@link String#lastIndexOf(int, int)} if possible.</p>
                 *
                 * <p>A {@code null} or empty ("") CharSequence will return {@code -1}.
                 * A negative start position returns {@code -1}.
                 * A start position greater than the string length searches the whole string.
                 * The search starts at the startPos and works backwards; matches starting after the start
                 * position are ignored.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOf(null, *, *)          = -1
                 * StringUtils.lastIndexOf("", *,  *)           = -1
                 * StringUtils.lastIndexOf("aabaabaa", 'b', 8)  = 5
                 * StringUtils.lastIndexOf("aabaabaa", 'b', 4)  = 2
                 * StringUtils.lastIndexOf("aabaabaa", 'b', 0)  = -1
                 * StringUtils.lastIndexOf("aabaabaa", 'b', 9)  = 5
                 * StringUtils.lastIndexOf("aabaabaa", 'b', -1) = -1
                 * StringUtils.lastIndexOf("aabaabaa", 'a', 0)  = 0
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchChar  the character to find
                 * @param startPos  the start position
                 * @return the last index of the search character (always &le; startPos),
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from lastIndexOf(String, int, int) to lastIndexOf(CharSequence, int, int)
                 */
                lastIndexOf(seq:$.java.lang.CharSequence,searchChar:number,startPos:number):number;
                /**
                 * <p>Centers a String in a larger String of size {@code size}.
                 * Uses a supplied String as the value to pad the String with.</p>
                 *
                 * <p>If the size is less than the String length, the String is returned.
                 * A {@code null} String returns {@code null}.
                 * A negative size is treated as zero.</p>
                 *
                 * <pre>
                 * StringUtils.center(null, *, *)     = null
                 * StringUtils.center("", 4, " ")     = "    "
                 * StringUtils.center("ab", -1, " ")  = "ab"
                 * StringUtils.center("ab", 4, " ")   = " ab "
                 * StringUtils.center("abcd", 2, " ") = "abcd"
                 * StringUtils.center("a", 4, " ")    = " a  "
                 * StringUtils.center("a", 4, "yz")   = "yayz"
                 * StringUtils.center("abc", 7, null) = "  abc  "
                 * StringUtils.center("abc", 7, "")   = "  abc  "
                 * </pre>
                 *
                 * @param str  the String to center, may be null
                 * @param size  the int size of new String, negative treated as zero
                 * @param padStr  the String to pad the new String with, must not be null or empty
                 * @return centered String, {@code null} if null String input
                 * @throws IllegalArgumentException if padStr is {@code null} or empty
                 */
                center(str:string,size:number,padStr:string):string;
                /**
                 * <p>Search a CharSequence to find the first index of any
                 * character not in the given set of characters.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A {@code null} or empty search string will return {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.indexOfAnyBut(null, *)            = -1
                 * StringUtils.indexOfAnyBut("", *)              = -1
                 * StringUtils.indexOfAnyBut(*, null)            = -1
                 * StringUtils.indexOfAnyBut(*, "")              = -1
                 * StringUtils.indexOfAnyBut("zzabyycdxx", "za") = 3
                 * StringUtils.indexOfAnyBut("zzabyycdxx", "")   = -1
                 * StringUtils.indexOfAnyBut("aba","ab")         = -1
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchChars  the chars to search for, may be null
                 * @return the index of any of the chars, -1 if no match or null input
                 * @since 2.0
                 * @since 3.0 Changed signature from indexOfAnyBut(String, String) to indexOfAnyBut(CharSequence, CharSequence)
                 */
                indexOfAnyBut(seq:$.java.lang.CharSequence,searchChars:$.java.lang.CharSequence):number;
                /**
                 * <p>Checks if the CharSequence contains only lowercase characters.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.isAllLowerCase(null)   = false
                 * StringUtils.isAllLowerCase("")     = false
                 * StringUtils.isAllLowerCase("  ")   = false
                 * StringUtils.isAllLowerCase("abc")  = true
                 * StringUtils.isAllLowerCase("abC")  = false
                 * StringUtils.isAllLowerCase("ab c") = false
                 * StringUtils.isAllLowerCase("ab1c") = false
                 * StringUtils.isAllLowerCase("ab/c") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains lowercase characters, and is non-null
                 * @since 2.5
                 * @since 3.0 Changed signature from isAllLowerCase(String) to isAllLowerCase(CharSequence)
                 */
                isAllLowerCase(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string):string;
                stripAccents(input:string):string;
                /**
                 * <p>Strips whitespace from the start and end of a String.</p>
                 *
                 * <p>This is similar to {@link #trim(String)} but removes whitespace.
                 * Whitespace is defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.strip(null)     = null
                 * StringUtils.strip("")       = ""
                 * StringUtils.strip("   ")    = ""
                 * StringUtils.strip("abc")    = "abc"
                 * StringUtils.strip("  abc")  = "abc"
                 * StringUtils.strip("abc  ")  = "abc"
                 * StringUtils.strip(" abc ")  = "abc"
                 * StringUtils.strip(" ab c ") = "ab c"
                 * </pre>
                 *
                 * @param str  the String to remove whitespace from, may be null
                 * @return the stripped String, {@code null} if null String input
                 */
                strip(str:string):string;
                /**
                 * <p>Checks that the CharSequence does not contain certain characters.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code true}.
                 * A {@code null} invalid character array will return {@code true}.
                 * An empty String ("") always returns true.</p>
                 *
                 * <pre>
                 * StringUtils.containsNone(null, *)       = true
                 * StringUtils.containsNone(*, null)       = true
                 * StringUtils.containsNone("", *)         = true
                 * StringUtils.containsNone("ab", "")      = true
                 * StringUtils.containsNone("abab", "xyz") = true
                 * StringUtils.containsNone("ab1", "xyz")  = true
                 * StringUtils.containsNone("abz", "xyz")  = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @param invalidChars  a String of invalid chars, may be null
                 * @return true if it contains none of the invalid chars, or is null
                 * @since 2.0
                 * @since 3.0 Changed signature from containsNone(String, String) to containsNone(CharSequence, String)
                 */
                containsNone(cs:$.java.lang.CharSequence,invalidChars:string):boolean;
                /**
                 * <p>
                 * Replaces all occurrences of Strings within another String.
                 * </p>
                 *
                 * <p>
                 * A {@code null} reference passed to this method is a no-op, or if
                 * any "search string" or "string to replace" is null, that replace will be
                 * ignored. This will not repeat. For repeating replaces, call the
                 * overloaded method.
                 * </p>
                 *
                 * <pre>
                 *  StringUtils.replaceEach(null, *, *)        = null
                 *  StringUtils.replaceEach("", *, *)          = ""
                 *  StringUtils.replaceEach("aba", null, null) = "aba"
                 *  StringUtils.replaceEach("aba", new String[0], null) = "aba"
                 *  StringUtils.replaceEach("aba", null, new String[0]) = "aba"
                 *  StringUtils.replaceEach("aba", new String[]{"a"}, null)  = "aba"
                 *  StringUtils.replaceEach("aba", new String[]{"a"}, new String[]{""})  = "b"
                 *  StringUtils.replaceEach("aba", new String[]{null}, new String[]{"a"})  = "aba"
                 *  StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"})  = "wcte"
                 *  (example of how it does not repeat)
                 *  StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"})  = "dcte"
                 * </pre>
                 *
                 * @param text
                 *            text to search and replace in, no-op if null
                 * @param searchList
                 *            the Strings to search for, no-op if null
                 * @param replacementList
                 *            the Strings to replace them with, no-op if null
                 * @return the text with any replacements processed, {@code null} if
                 *         null String input
                 * @throws IllegalArgumentException
                 *             if the lengths of the arrays are not the same (null is ok,
                 *             and/or size 0)
                 * @since 2.4
                 */
                replaceEach(text:string,searchList:string[],replacementList:string[]):string;
                /**
                 * <p>Counts how many times the substring appears in the larger string.</p>
                 *
                 * <p>A {@code null} or empty ("") String input returns {@code 0}.</p>
                 *
                 * <pre>
                 * StringUtils.countMatches(null, *)       = 0
                 * StringUtils.countMatches("", *)         = 0
                 * StringUtils.countMatches("abba", null)  = 0
                 * StringUtils.countMatches("abba", "")    = 0
                 * StringUtils.countMatches("abba", "a")   = 2
                 * StringUtils.countMatches("abba", "ab")  = 1
                 * StringUtils.countMatches("abba", "xxx") = 0
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param sub  the substring to count, may be null
                 * @return the number of occurrences, 0 if either CharSequence is {@code null}
                 * @since 3.0 Changed signature from countMatches(String, String) to countMatches(CharSequence, CharSequence)
                 */
                countMatches(str:$.java.lang.CharSequence,sub:$.java.lang.CharSequence):number;
                containsWhitespace(seq:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Counts how many times the char appears in the given string.</p>
                 *
                 * <p>A {@code null} or empty ("") String input returns {@code 0}.</p>
                 *
                 * <pre>
                 * StringUtils.countMatches(null, *)       = 0
                 * StringUtils.countMatches("", *)         = 0
                 * StringUtils.countMatches("abba", 0)  = 0
                 * StringUtils.countMatches("abba", 'a')   = 2
                 * StringUtils.countMatches("abba", 'b')  = 2
                 * StringUtils.countMatches("abba", 'x') = 0
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param ch  the char to count
                 * @return the number of occurrences, 0 if the CharSequence is {@code null}
                 * @since 3.4
                 */
                countMatches(str:$.java.lang.CharSequence,ch:string):number;
                /**
                 * <p>Finds the n-th last index within a String, handling {@code null}.
                 * This method uses {@link String#lastIndexOf(String)}.</p>
                 *
                 * <p>A {@code null} String will return {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.lastOrdinalIndexOf(null, *, *)          = -1
                 * StringUtils.lastOrdinalIndexOf(*, null, *)          = -1
                 * StringUtils.lastOrdinalIndexOf("", "", *)           = 0
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 1)  = 7
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 2)  = 6
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 1)  = 5
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 2)  = 2
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 1) = 4
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 2) = 1
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "", 1)   = 8
                 * StringUtils.lastOrdinalIndexOf("aabaabaa", "", 2)   = 8
                 * </pre>
                 *
                 * <p>Note that 'tail(CharSequence str, int n)' may be implemented as: </p>
                 *
                 * <pre>
                 *   str.substring(lastOrdinalIndexOf(str, "\n", n) + 1)
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @param ordinal  the n-th last {@code searchStr} to find
                 * @return the n-th last index of the search CharSequence,
                 *  {@code -1} ({@code INDEX_NOT_FOUND}) if no match or {@code null} string input
                 * @since 2.5
                 * @since 3.0 Changed signature from lastOrdinalIndexOf(String, String, int) to lastOrdinalIndexOf(CharSequence, CharSequence, int)
                 */
                lastOrdinalIndexOf(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence,ordinal:number):number;
                /**
                 * <p>Checks if a CharSequence is empty ("") or null.</p>
                 *
                 * <pre>
                 * StringUtils.isEmpty(null)      = true
                 * StringUtils.isEmpty("")        = true
                 * StringUtils.isEmpty(" ")       = false
                 * StringUtils.isEmpty("bob")     = false
                 * StringUtils.isEmpty("  bob  ") = false
                 * </pre>
                 *
                 * <p>NOTE: This method changed in Lang version 2.0.
                 * It no longer trims the CharSequence.
                 * That functionality is available in isBlank().</p>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if the CharSequence is empty or null
                 * @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence)
                 */
                isEmpty(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Splits the provided text into an array, separators specified,
                 * preserving all tokens, including empty tokens created by adjacent
                 * separators. This is an alternative to using StringTokenizer.</p>
                 *
                 * <p>The separator is not included in the returned String array.
                 * Adjacent separators are treated as separators for empty tokens.
                 * For more control over the split use the StrTokenizer class.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * A {@code null} separatorChars splits on whitespace.</p>
                 *
                 * <pre>
                 * StringUtils.splitPreserveAllTokens(null, *)           = null
                 * StringUtils.splitPreserveAllTokens("", *)             = []
                 * StringUtils.splitPreserveAllTokens("abc def", null)   = ["abc", "def"]
                 * StringUtils.splitPreserveAllTokens("abc def", " ")    = ["abc", "def"]
                 * StringUtils.splitPreserveAllTokens("abc  def", " ")   = ["abc", "", def"]
                 * StringUtils.splitPreserveAllTokens("ab:cd:ef", ":")   = ["ab", "cd", "ef"]
                 * StringUtils.splitPreserveAllTokens("ab:cd:ef:", ":")  = ["ab", "cd", "ef", ""]
                 * StringUtils.splitPreserveAllTokens("ab:cd:ef::", ":") = ["ab", "cd", "ef", "", ""]
                 * StringUtils.splitPreserveAllTokens("ab::cd:ef", ":")  = ["ab", "", cd", "ef"]
                 * StringUtils.splitPreserveAllTokens(":cd:ef", ":")     = ["", cd", "ef"]
                 * StringUtils.splitPreserveAllTokens("::cd:ef", ":")    = ["", "", cd", "ef"]
                 * StringUtils.splitPreserveAllTokens(":cd:ef:", ":")    = ["", cd", "ef", ""]
                 * </pre>
                 *
                 * @param str  the String to parse, may be {@code null}
                 * @param separatorChars  the characters used as the delimiters,
                 *  {@code null} splits on whitespace
                 * @return an array of parsed Strings, {@code null} if null String input
                 * @since 2.1
                 */
                splitPreserveAllTokens(str:string,separatorChars:string):string[];
                /**
                 * <p>Removes all occurrences of a substring from within the source string.</p>
                 *
                 * <p>A {@code null} source string will return {@code null}.
                 * An empty ("") source string will return the empty string.
                 * A {@code null} remove string will return the source string.
                 * An empty ("") remove string will return the source string.</p>
                 *
                 * <pre>
                 * StringUtils.remove(null, *)        = null
                 * StringUtils.remove("", *)          = ""
                 * StringUtils.remove(*, null)        = *
                 * StringUtils.remove(*, "")          = *
                 * StringUtils.remove("queued", "ue") = "qd"
                 * StringUtils.remove("queued", "zz") = "queued"
                 * </pre>
                 *
                 * @param str  the source String to search, may be null
                 * @param remove  the String to search for and remove, may be null
                 * @return the substring with the string removed if found,
                 *  {@code null} if null String input
                 * @since 2.1
                 */
                remove(str:string,remove:string):string;
                /**
                 * <p>Converts a String to upper case as per {@link String#toUpperCase()}.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.upperCase(null)  = null
                 * StringUtils.upperCase("")    = ""
                 * StringUtils.upperCase("aBc") = "ABC"
                 * </pre>
                 *
                 * <p><strong>Note:</strong> As described in the documentation for {@link String#toUpperCase()},
                 * the result of this method is affected by the current locale.
                 * For platform-independent case transformations, the method {@link #lowerCase(String, Locale)}
                 * should be used with a specific locale (e.g. {@link Locale#ENGLISH}).</p>
                 *
                 * @param str  the String to upper case, may be null
                 * @return the upper cased String, {@code null} if null String input
                 */
                upperCase(str:string):string;
                /**
                 * <p>Checks if a CharSequence is whitespace, empty ("") or null.</p>
                 *
                 * <pre>
                 * StringUtils.isBlank(null)      = true
                 * StringUtils.isBlank("")        = true
                 * StringUtils.isBlank(" ")       = true
                 * StringUtils.isBlank("bob")     = false
                 * StringUtils.isBlank("  bob  ") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if the CharSequence is null, empty or whitespace
                 * @since 2.0
                 * @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence)
                 */
                isBlank(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>Gets the rightmost {@code len} characters of a String.</p>
                 *
                 * <p>If {@code len} characters are not available, or the String
                 * is {@code null}, the String will be returned without an
                 * an exception. An empty String is returned if len is negative.</p>
                 *
                 * <pre>
                 * StringUtils.right(null, *)    = null
                 * StringUtils.right(*, -ve)     = ""
                 * StringUtils.right("", *)      = ""
                 * StringUtils.right("abc", 0)   = ""
                 * StringUtils.right("abc", 2)   = "bc"
                 * StringUtils.right("abc", 4)   = "abc"
                 * </pre>
                 *
                 * @param str  the String to get the rightmost characters from, may be null
                 * @param len  the length of the required String
                 * @return the rightmost characters, {@code null} if null String input
                 */
                right(str:string,len:number):string;
                /**
                 * <p>Right pad a String with spaces (' ').</p>
                 *
                 * <p>The String is padded to the size of {@code size}.</p>
                 *
                 * <pre>
                 * StringUtils.rightPad(null, *)   = null
                 * StringUtils.rightPad("", 3)     = "   "
                 * StringUtils.rightPad("bat", 3)  = "bat"
                 * StringUtils.rightPad("bat", 5)  = "bat  "
                 * StringUtils.rightPad("bat", 1)  = "bat"
                 * StringUtils.rightPad("bat", -1) = "bat"
                 * </pre>
                 *
                 * @param str  the String to pad out, may be null
                 * @param size  the size to pad to
                 * @return right padded String or original String if no padding is necessary,
                 *  {@code null} if null String input
                 */
                rightPad(str:string,size:number):string;
                /**
                 * <p>Converts a String to upper case as per {@link String#toUpperCase(Locale)}.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.upperCase(null, Locale.ENGLISH)  = null
                 * StringUtils.upperCase("", Locale.ENGLISH)    = ""
                 * StringUtils.upperCase("aBc", Locale.ENGLISH) = "ABC"
                 * </pre>
                 *
                 * @param str  the String to upper case, may be null
                 * @param locale  the locale that defines the case transformation rules, must not be null
                 * @return the upper cased String, {@code null} if null String input
                 * @since 2.5
                 */
                upperCase(str:string,locale:$.java.util.Locale):string;
                /**
                 * <p>Strips any of a set of characters from the end of a String.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.
                 * An empty string ("") input returns the empty string.</p>
                 *
                 * <p>If the stripChars String is {@code null}, whitespace is
                 * stripped as defined by {@link Character#isWhitespace(char)}.</p>
                 *
                 * <pre>
                 * StringUtils.stripEnd(null, *)          = null
                 * StringUtils.stripEnd("", *)            = ""
                 * StringUtils.stripEnd("abc", "")        = "abc"
                 * StringUtils.stripEnd("abc", null)      = "abc"
                 * StringUtils.stripEnd("  abc", null)    = "  abc"
                 * StringUtils.stripEnd("abc  ", null)    = "abc"
                 * StringUtils.stripEnd(" abc ", null)    = " abc"
                 * StringUtils.stripEnd("  abcyx", "xyz") = "  abc"
                 * StringUtils.stripEnd("120.00", ".0")   = "12"
                 * </pre>
                 *
                 * @param str  the String to remove characters from, may be null
                 * @param stripChars  the set of characters to remove, null treated as whitespace
                 * @return the stripped String, {@code null} if null String input
                 */
                stripEnd(str:string,stripChars:string):string;
                /**
                 * <p>Compares two Strings, and returns the portion where they differ.
                 * More precisely, return the remainder of the second String,
                 * starting from where it's different from the first. This means that
                 * the difference between "abc" and "ab" is the empty String and not "c". </p>
                 *
                 * <p>For example,
                 * {@code difference("i am a machine", "i am a robot") -> "robot"}.</p>
                 *
                 * <pre>
                 * StringUtils.difference(null, null) = null
                 * StringUtils.difference("", "") = ""
                 * StringUtils.difference("", "abc") = "abc"
                 * StringUtils.difference("abc", "") = ""
                 * StringUtils.difference("abc", "abc") = ""
                 * StringUtils.difference("abc", "ab") = ""
                 * StringUtils.difference("ab", "abxyz") = "xyz"
                 * StringUtils.difference("abcde", "abxyz") = "xyz"
                 * StringUtils.difference("abcde", "xyz") = "xyz"
                 * </pre>
                 *
                 * @param str1  the first String, may be null
                 * @param str2  the second String, may be null
                 * @return the portion of str2 where it differs from str1; returns the
                 * empty String if they are equal
                 * @see #indexOfDifference(CharSequence,CharSequence)
                 * @since 2.0
                 */
                difference(str1:string,str2:string):string;
                /**
                 * <p>Checks if CharSequence contains a search character, handling {@code null}.
                 * This method uses {@link String#indexOf(int)} if possible.</p>
                 *
                 * <p>A {@code null} or empty ("") CharSequence will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.contains(null, *)    = false
                 * StringUtils.contains("", *)      = false
                 * StringUtils.contains("abc", 'a') = true
                 * StringUtils.contains("abc", 'z') = false
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchChar  the character to find
                 * @return true if the CharSequence contains the search character,
                 *  false if not or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from contains(String, int) to contains(CharSequence, int)
                 */
                contains(seq:$.java.lang.CharSequence,searchChar:number):boolean;
                /**
                 * <p>Checks if the CharSequence contains only whitespace.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code true}.</p>
                 *
                 * <pre>
                 * StringUtils.isWhitespace(null)   = false
                 * StringUtils.isWhitespace("")     = true
                 * StringUtils.isWhitespace("  ")   = true
                 * StringUtils.isWhitespace("abc")  = false
                 * StringUtils.isWhitespace("ab2c") = false
                 * StringUtils.isWhitespace("ab-c") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains whitespace, and is non-null
                 * @since 2.0
                 * @since 3.0 Changed signature from isWhitespace(String) to isWhitespace(CharSequence)
                 */
                isWhitespace(cs:$.java.lang.CharSequence):boolean;
                /**
                 * <p>
                 * Similar to <a
                 * href="http://www.w3.org/TR/xpath/#function-normalize-space">http://www.w3.org/TR/xpath/#function-normalize
                 * -space</a>
                 * </p>
                 * <p>
                 * The function returns the argument string with whitespace normalized by using
                 * <code>{@link #trim(String)}</code> to remove leading and trailing whitespace
                 * and then replacing sequences of whitespace characters by a single space.
                 * </p>
                 * In XML Whitespace characters are the same as those allowed by the <a
                 * href="http://www.w3.org/TR/REC-xml/#NT-S">S</a> production, which is S ::= (#x20 | #x9 | #xD | #xA)+
                 * <p>
                 * Java's regexp pattern \s defines whitespace as [ \t\n\x0B\f\r]
                 *
                 * <p>For reference:</p>
                 * <ul>
                 * <li>\x0B = vertical tab</li>
                 * <li>\f = #xC = form feed</li>
                 * <li>#x20 = space</li>
                 * <li>#x9 = \t</li>
                 * <li>#xA = \n</li>
                 * <li>#xD = \r</li>
                 * </ul>
                 *
                 * <p>
                 * The difference is that Java's whitespace includes vertical tab and form feed, which this functional will also
                 * normalize. Additionally <code>{@link #trim(String)}</code> removes control characters (char &lt;= 32) from both
                 * ends of this String.
                 * </p>
                 *
                 * @see Pattern
                 * @see #trim(String)
                 * @see <a
                 *      href="http://www.w3.org/TR/xpath/#function-normalize-space">http://www.w3.org/TR/xpath/#function-normalize-space</a>
                 * @param str the source String to normalize whitespaces from, may be null
                 * @return the modified string with whitespace normalized, {@code null} if null String input
                 *
                 * @since 3.0
                 */
                normalizeSpace(str:string):string;
                /**
                 * <p>Case in-sensitive find of the first index within a CharSequence.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A negative start position is treated as zero.
                 * An empty ("") search CharSequence always matches.
                 * A start position greater than the string length only matches
                 * an empty search CharSequence.</p>
                 *
                 * <pre>
                 * StringUtils.indexOfIgnoreCase(null, *)          = -1
                 * StringUtils.indexOfIgnoreCase(*, null)          = -1
                 * StringUtils.indexOfIgnoreCase("", "")           = 0
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "a")  = 0
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "b")  = 2
                 * StringUtils.indexOfIgnoreCase("aabaabaa", "ab") = 1
                 * </pre>
                 *
                 * @param str  the CharSequence to check, may be null
                 * @param searchStr  the CharSequence to find, may be null
                 * @return the first index of the search CharSequence,
                 *  -1 if no match or {@code null} string input
                 * @since 2.5
                 * @since 3.0 Changed signature from indexOfIgnoreCase(String, String) to indexOfIgnoreCase(CharSequence, CharSequence)
                 */
                indexOfIgnoreCase(str:$.java.lang.CharSequence,searchStr:$.java.lang.CharSequence):number;
                defaultIfBlank(arg0:$.java.lang.CharSequence,arg1:$.java.lang.CharSequence):$.java.lang.CharSequence;
                /**
                 * <p>
                 * Joins the elements of the provided array into a single String containing the provided list of elements.
                 * </p>
                 *
                 * <p>
                 * No delimiter is added before or after the list. Null objects or empty strings within the array are represented
                 * by empty strings.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.join(null, *)               = null
                 * StringUtils.join([], *)                 = ""
                 * StringUtils.join([null], *)             = ""
                 * StringUtils.join([1, 2, 3], ';')  = "1;2;3"
                 * StringUtils.join([1, 2, 3], null) = "123"
                 * </pre>
                 *
                 * @param array
                 *            the array of values to join together, may be null
                 * @param separator
                 *            the separator character to use
                 * @param startIndex
                 *            the first index to start joining from. It is an error to pass in an end index past the end of the
                 *            array
                 * @param endIndex
                 *            the index to stop joining from (exclusive). It is an error to pass in an end index past the end of
                 *            the array
                 * @return the joined String, {@code null} if null array input
                 * @since 3.2
                 */
                join(array:number[],separator:string,startIndex:number,endIndex:number):string;
                /**
                 * <p>Removes control characters (char &lt;= 32) from both
                 * ends of this String, handling {@code null} by returning
                 * {@code null}.</p>
                 *
                 * <p>The String is trimmed using {@link String#trim()}.
                 * Trim removes start and end characters &lt;= 32.
                 * To strip whitespace use {@link #strip(String)}.</p>
                 *
                 * <p>To trim your choice of characters, use the
                 * {@link #strip(String, String)} methods.</p>
                 *
                 * <pre>
                 * StringUtils.trim(null)          = null
                 * StringUtils.trim("")            = ""
                 * StringUtils.trim("     ")       = ""
                 * StringUtils.trim("abc")         = "abc"
                 * StringUtils.trim("    abc    ") = "abc"
                 * </pre>
                 *
                 * @param str  the String to be trimmed, may be null
                 * @return the trimmed string, {@code null} if null String input
                 */
                trim(str:string):string;
                /**
                 * <p>Finds the last index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#lastIndexOf(String)} if possible.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.</p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOf(null, *)          = -1
                 * StringUtils.lastIndexOf(*, null)          = -1
                 * StringUtils.lastIndexOf("", "")           = 0
                 * StringUtils.lastIndexOf("aabaabaa", "a")  = 7
                 * StringUtils.lastIndexOf("aabaabaa", "b")  = 5
                 * StringUtils.lastIndexOf("aabaabaa", "ab") = 4
                 * StringUtils.lastIndexOf("aabaabaa", "")   = 8
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchSeq  the CharSequence to find, may be null
                 * @return the last index of the search String,
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from lastIndexOf(String, String) to lastIndexOf(CharSequence, CharSequence)
                 */
                lastIndexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence):number;
                /**
                 * <p>Converts a String to lower case as per {@link String#toLowerCase()}.</p>
                 *
                 * <p>A {@code null} input String returns {@code null}.</p>
                 *
                 * <pre>
                 * StringUtils.lowerCase(null)  = null
                 * StringUtils.lowerCase("")    = ""
                 * StringUtils.lowerCase("aBc") = "abc"
                 * </pre>
                 *
                 * <p><strong>Note:</strong> As described in the documentation for {@link String#toLowerCase()},
                 * the result of this method is affected by the current locale.
                 * For platform-independent case transformations, the method {@link #lowerCase(String, Locale)}
                 * should be used with a specific locale (e.g. {@link Locale#ENGLISH}).</p>
                 *
                 * @param str  the String to lower case, may be null
                 * @return the lower cased String, {@code null} if null String input
                 */
                lowerCase(str:string):string;
                /**
                 * <p>Replaces multiple characters in a String in one go.
                 * This method can also be used to delete characters.</p>
                 *
                 * <p>For example:<br>
                 * <code>replaceChars(&quot;hello&quot;, &quot;ho&quot;, &quot;jy&quot;) = jelly</code>.</p>
                 *
                 * <p>A {@code null} string input returns {@code null}.
                 * An empty ("") string input returns an empty string.
                 * A null or empty set of search characters returns the input string.</p>
                 *
                 * <p>The length of the search characters should normally equal the length
                 * of the replace characters.
                 * If the search characters is longer, then the extra search characters
                 * are deleted.
                 * If the search characters is shorter, then the extra replace characters
                 * are ignored.</p>
                 *
                 * <pre>
                 * StringUtils.replaceChars(null, *, *)           = null
                 * StringUtils.replaceChars("", *, *)             = ""
                 * StringUtils.replaceChars("abc", null, *)       = "abc"
                 * StringUtils.replaceChars("abc", "", *)         = "abc"
                 * StringUtils.replaceChars("abc", "b", null)     = "ac"
                 * StringUtils.replaceChars("abc", "b", "")       = "ac"
                 * StringUtils.replaceChars("abcba", "bc", "yz")  = "ayzya"
                 * StringUtils.replaceChars("abcba", "bc", "y")   = "ayya"
                 * StringUtils.replaceChars("abcba", "bc", "yzx") = "ayzya"
                 * </pre>
                 *
                 * @param str  String to replace characters in, may be null
                 * @param searchChars  a set of characters to search for, may be null
                 * @param replaceChars  a set of characters to replace, may be null
                 * @return modified String, {@code null} if null string input
                 * @since 2.0
                 */
                replaceChars(str:string,searchChars:string,replaceChars:string):string;
                /**
                 * <p>Returns either the passed in String,
                 * or if the String is {@code null}, an empty String ("").</p>
                 *
                 * <pre>
                 * StringUtils.defaultString(null)  = ""
                 * StringUtils.defaultString("")    = ""
                 * StringUtils.defaultString("bat") = "bat"
                 * </pre>
                 *
                 * @see ObjectUtils#toString(Object)
                 * @see String#valueOf(Object)
                 * @param str  the String to check, may be null
                 * @return the passed in String, or the empty String if it
                 *  was {@code null}
                 */
                defaultString(str:string):string;
                /**
                 * <p>Finds the last index within a CharSequence, handling {@code null}.
                 * This method uses {@link String#lastIndexOf(String, int)} if possible.</p>
                 *
                 * <p>A {@code null} CharSequence will return {@code -1}.
                 * A negative start position returns {@code -1}.
                 * An empty ("") search CharSequence always matches unless the start position is negative.
                 * A start position greater than the string length searches the whole string.
                 * The search starts at the startPos and works backwards; matches starting after the start
                 * position are ignored.
                 * </p>
                 *
                 * <pre>
                 * StringUtils.lastIndexOf(null, *, *)          = -1
                 * StringUtils.lastIndexOf(*, null, *)          = -1
                 * StringUtils.lastIndexOf("aabaabaa", "a", 8)  = 7
                 * StringUtils.lastIndexOf("aabaabaa", "b", 8)  = 5
                 * StringUtils.lastIndexOf("aabaabaa", "ab", 8) = 4
                 * StringUtils.lastIndexOf("aabaabaa", "b", 9)  = 5
                 * StringUtils.lastIndexOf("aabaabaa", "b", -1) = -1
                 * StringUtils.lastIndexOf("aabaabaa", "a", 0)  = 0
                 * StringUtils.lastIndexOf("aabaabaa", "b", 0)  = -1
                 * StringUtils.lastIndexOf("aabaabaa", "b", 1)  = -1
                 * StringUtils.lastIndexOf("aabaabaa", "b", 2)  = 2
                 * StringUtils.lastIndexOf("aabaabaa", "ba", 2)  = -1
                 * StringUtils.lastIndexOf("aabaabaa", "ba", 2)  = 2
                 * </pre>
                 *
                 * @param seq  the CharSequence to check, may be null
                 * @param searchSeq  the CharSequence to find, may be null
                 * @param startPos  the start position, negative treated as zero
                 * @return the last index of the search CharSequence (always &le; startPos),
                 *  -1 if no match or {@code null} string input
                 * @since 2.0
                 * @since 3.0 Changed signature from lastIndexOf(String, String, int) to lastIndexOf(CharSequence, CharSequence, int)
                 */
                lastIndexOf(seq:$.java.lang.CharSequence,searchSeq:$.java.lang.CharSequence,startPos:number):number;
                /**
                 * <p>Checks if the CharSequence contains only Unicode letters or digits.</p>
                 *
                 * <p>{@code null} will return {@code false}.
                 * An empty CharSequence (length()=0) will return {@code false}.</p>
                 *
                 * <pre>
                 * StringUtils.isAlphanumeric(null)   = false
                 * StringUtils.isAlphanumeric("")     = false
                 * StringUtils.isAlphanumeric("  ")   = false
                 * StringUtils.isAlphanumeric("abc")  = true
                 * StringUtils.isAlphanumeric("ab c") = false
                 * StringUtils.isAlphanumeric("ab2c") = true
                 * StringUtils.isAlphanumeric("ab-c") = false
                 * </pre>
                 *
                 * @param cs  the CharSequence to check, may be null
                 * @return {@code true} if only contains letters or digits,
                 *  and is non-null
                 * @since 3.0 Changed signature from isAlphanumeric(String) to isAlphanumeric(CharSequence)
                 * @since 3.0 Changed "" to return false and not true
                 */
                isAlphanumeric(cs:$.java.lang.CharSequence):boolean;
            }
            interface StringUtils_C extends StringUtils_S {
                /**
                 * <p>{@code StringUtils} instances should NOT be constructed in
                 * standard programming. Instead, the class should be used as
                 * {@code StringUtils.trim(" foo ");}.</p>
                 *
                 * <p>This constructor is public to permit tools that require a JavaBean
                 * instance to operate.</p>
                 */
                new():StringUtils;
            }
            interface StringUtils$ {
            }
            type StringUtils_T = StringUtils$;
            interface StringUtils extends StringUtils_T {
            }
            interface CharUtils_S {
                readonly LF:string;
                readonly CR:string;
                /**
                 * <p>Checks whether the character is ASCII 7 bit alphabetic.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiAlpha('a')  = true
                 *   CharUtils.isAsciiAlpha('A')  = true
                 *   CharUtils.isAsciiAlpha('3')  = false
                 *   CharUtils.isAsciiAlpha('-')  = false
                 *   CharUtils.isAsciiAlpha('\n') = false
                 *   CharUtils.isAsciiAlpha('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if between 65 and 90 or 97 and 122 inclusive
                 */
                isAsciiAlpha(ch:string):boolean;
                /**
                 * <p>Converts the string to the Unicode format '\u0020'.</p>
                 *
                 * <p>This format is the Java source code format.</p>
                 *
                 * <pre>
                 *   CharUtils.unicodeEscaped(' ') = "\u0020"
                 *   CharUtils.unicodeEscaped('A') = "\u0041"
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @return the escaped Unicode string
                 */
                unicodeEscaped(ch:string):string;
                /**
                 * <p>Checks whether the character is ASCII 7 bit control.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiControl('a')  = false
                 *   CharUtils.isAsciiControl('A')  = false
                 *   CharUtils.isAsciiControl('3')  = false
                 *   CharUtils.isAsciiControl('-')  = false
                 *   CharUtils.isAsciiControl('\n') = true
                 *   CharUtils.isAsciiControl('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if less than 32 or equals 127
                 */
                isAsciiControl(ch:string):boolean;
                /**
                 * <p>Converts the String to a Character using the first character, returning
                 * null for empty Strings.</p>
                 *
                 * <p>For ASCII 7 bit characters, this uses a cache that will return the
                 * same Character object each time.</p>
                 *
                 * <pre>
                 *   CharUtils.toCharacterObject(null) = null
                 *   CharUtils.toCharacterObject("")   = null
                 *   CharUtils.toCharacterObject("A")  = 'A'
                 *   CharUtils.toCharacterObject("BA") = 'B'
                 * </pre>
                 *
                 * @param str  the character to convert
                 * @return the Character value of the first letter of the String
                 */
                toCharacterObject(str:string):string;
                /**
                 * <p>Checks whether the character is ASCII 7 bit numeric.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiAlphanumeric('a')  = true
                 *   CharUtils.isAsciiAlphanumeric('A')  = true
                 *   CharUtils.isAsciiAlphanumeric('3')  = true
                 *   CharUtils.isAsciiAlphanumeric('-')  = false
                 *   CharUtils.isAsciiAlphanumeric('\n') = false
                 *   CharUtils.isAsciiAlphanumeric('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if between 48 and 57 or 65 and 90 or 97 and 122 inclusive
                 */
                isAsciiAlphanumeric(ch:string):boolean;
                /**
                 * <p>Converts the character to the Integer it represents, throwing an
                 * exception if the character is not numeric.</p>
                 *
                 * <p>This method coverts the char '1' to the int 1 and so on.</p>
                 *
                 * <pre>
                 *   CharUtils.toIntValue(null, -1) = -1
                 *   CharUtils.toIntValue('3', -1)  = 3
                 *   CharUtils.toIntValue('A', -1)  = -1
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @param defaultValue  the default value to use if the character is not numeric
                 * @return the int value of the character
                 */
                toIntValue(ch:string,defaultValue:number):number;
                /**
                 * <p>Checks whether the character is ASCII 7 bit printable.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiPrintable('a')  = true
                 *   CharUtils.isAsciiPrintable('A')  = true
                 *   CharUtils.isAsciiPrintable('3')  = true
                 *   CharUtils.isAsciiPrintable('-')  = true
                 *   CharUtils.isAsciiPrintable('\n') = false
                 *   CharUtils.isAsciiPrintable('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if between 32 and 126 inclusive
                 */
                isAsciiPrintable(ch:string):boolean;
                /**
                 * <p>Converts the Character to a char throwing an exception for {@code null}.</p>
                 *
                 * <pre>
                 *   CharUtils.toChar(' ')  = ' '
                 *   CharUtils.toChar('A')  = 'A'
                 *   CharUtils.toChar(null) throws IllegalArgumentException
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @return the char value of the Character
                 * @throws IllegalArgumentException if the Character is null
                 */
                toChar(ch:string):string;
                /**
                 * <p>Converts the character to the Integer it represents, throwing an
                 * exception if the character is not numeric.</p>
                 *
                 * <p>This method coverts the char '1' to the int 1 and so on.</p>
                 *
                 * <pre>
                 *   CharUtils.toIntValue('3')  = 3
                 *   CharUtils.toIntValue('A')  throws IllegalArgumentException
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @return the int value of the character
                 * @throws IllegalArgumentException if the character is not ASCII numeric
                 */
                toIntValue(ch:string):number;
                /**
                 * <p>Checks whether the character is ASCII 7 bit.</p>
                 *
                 * <pre>
                 *   CharUtils.isAscii('a')  = true
                 *   CharUtils.isAscii('A')  = true
                 *   CharUtils.isAscii('3')  = true
                 *   CharUtils.isAscii('-')  = true
                 *   CharUtils.isAscii('\n') = true
                 *   CharUtils.isAscii('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if less than 128
                 */
                isAscii(ch:string):boolean;
                /**
                 * <p>Checks whether the character is ASCII 7 bit alphabetic lower case.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiAlphaLower('a')  = true
                 *   CharUtils.isAsciiAlphaLower('A')  = false
                 *   CharUtils.isAsciiAlphaLower('3')  = false
                 *   CharUtils.isAsciiAlphaLower('-')  = false
                 *   CharUtils.isAsciiAlphaLower('\n') = false
                 *   CharUtils.isAsciiAlphaLower('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if between 97 and 122 inclusive
                 */
                isAsciiAlphaLower(ch:string):boolean;
                /**
                 * <p>Checks whether the character is ASCII 7 bit alphabetic upper case.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiAlphaUpper('a')  = false
                 *   CharUtils.isAsciiAlphaUpper('A')  = true
                 *   CharUtils.isAsciiAlphaUpper('3')  = false
                 *   CharUtils.isAsciiAlphaUpper('-')  = false
                 *   CharUtils.isAsciiAlphaUpper('\n') = false
                 *   CharUtils.isAsciiAlphaUpper('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if between 65 and 90 inclusive
                 */
                isAsciiAlphaUpper(ch:string):boolean;
                /**
                 * <p>Converts the String to a char using the first character, throwing
                 * an exception on empty Strings.</p>
                 *
                 * <pre>
                 *   CharUtils.toChar("A")  = 'A'
                 *   CharUtils.toChar("BA") = 'B'
                 *   CharUtils.toChar(null) throws IllegalArgumentException
                 *   CharUtils.toChar("")   throws IllegalArgumentException
                 * </pre>
                 *
                 * @param str  the character to convert
                 * @return the char value of the first letter of the String
                 * @throws IllegalArgumentException if the String is empty
                 */
                toChar(str:string):string;
                /**
                 * <p>Converts the character to the Integer it represents, throwing an
                 * exception if the character is not numeric.</p>
                 *
                 * <p>This method coverts the char '1' to the int 1 and so on.</p>
                 *
                 * <pre>
                 *   CharUtils.toIntValue('3', -1)  = 3
                 *   CharUtils.toIntValue('A', -1)  = -1
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @param defaultValue  the default value to use if the character is not numeric
                 * @return the int value of the character
                 */
                toIntValue(ch:string,defaultValue:number):number;
                /**
                 * <p>Converts the Character to a char handling {@code null}.</p>
                 *
                 * <pre>
                 *   CharUtils.toChar(null, 'X') = 'X'
                 *   CharUtils.toChar(' ', 'X')  = ' '
                 *   CharUtils.toChar('A', 'X')  = 'A'
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @param defaultValue  the value to use if the  Character is null
                 * @return the char value of the Character or the default if null
                 */
                toChar(ch:string,defaultValue:string):string;
                /**
                 * <p>Converts the character to a String that contains the one character.</p>
                 *
                 * <p>For ASCII 7 bit characters, this uses a cache that will return the
                 * same String object each time.</p>
                 *
                 * <p>If {@code null} is passed in, {@code null} will be returned.</p>
                 *
                 * <pre>
                 *   CharUtils.toString(null) = null
                 *   CharUtils.toString(' ')  = " "
                 *   CharUtils.toString('A')  = "A"
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @return a String containing the one specified character
                 */
                toString(ch:string):string;
                /**
                 * <p>Converts the string to the Unicode format '\u0020'.</p>
                 *
                 * <p>This format is the Java source code format.</p>
                 *
                 * <p>If {@code null} is passed in, {@code null} will be returned.</p>
                 *
                 * <pre>
                 *   CharUtils.unicodeEscaped(null) = null
                 *   CharUtils.unicodeEscaped(' ')  = "\u0020"
                 *   CharUtils.unicodeEscaped('A')  = "\u0041"
                 * </pre>
                 *
                 * @param ch  the character to convert, may be null
                 * @return the escaped Unicode string, null if null input
                 */
                unicodeEscaped(ch:string):string;
                /**
                 * <p>Checks whether the character is ASCII 7 bit numeric.</p>
                 *
                 * <pre>
                 *   CharUtils.isAsciiNumeric('a')  = false
                 *   CharUtils.isAsciiNumeric('A')  = false
                 *   CharUtils.isAsciiNumeric('3')  = true
                 *   CharUtils.isAsciiNumeric('-')  = false
                 *   CharUtils.isAsciiNumeric('\n') = false
                 *   CharUtils.isAsciiNumeric('&copy;') = false
                 * </pre>
                 *
                 * @param ch  the character to check
                 * @return true if between 48 and 57 inclusive
                 */
                isAsciiNumeric(ch:string):boolean;
                /**
                 * <p>Converts the String to a char using the first character, defaulting
                 * the value on empty Strings.</p>
                 *
                 * <pre>
                 *   CharUtils.toChar(null, 'X') = 'X'
                 *   CharUtils.toChar("", 'X')   = 'X'
                 *   CharUtils.toChar("A", 'X')  = 'A'
                 *   CharUtils.toChar("BA", 'X') = 'B'
                 * </pre>
                 *
                 * @param str  the character to convert
                 * @param defaultValue  the value to use if the  Character is null
                 * @return the char value of the first letter of the String or the default if null
                 */
                toChar(str:string,defaultValue:string):string;
                /**
                 * <p>Converts the character to the Integer it represents, throwing an
                 * exception if the character is not numeric.</p>
                 *
                 * <p>This method coverts the char '1' to the int 1 and so on.</p>
                 *
                 * <pre>
                 *   CharUtils.toIntValue('3')  = 3
                 *   CharUtils.toIntValue(null) throws IllegalArgumentException
                 *   CharUtils.toIntValue('A')  throws IllegalArgumentException
                 * </pre>
                 *
                 * @param ch  the character to convert, not null
                 * @return the int value of the character
                 * @throws IllegalArgumentException if the Character is not ASCII numeric or is null
                 */
                toIntValue(ch:string):number;
                /**
                 * <p>Compares two {@code char} values numerically. This is the same functionality as provided in Java 7.</p>
                 *
                 * @param x the first {@code char} to compare
                 * @param y the second {@code char} to compare
                 * @return the value {@code 0} if {@code x == y};
                 *         a value less than {@code 0} if {@code x < y}; and
                 *         a value greater than {@code 0} if {@code x > y}
                 * @since 3.4
                 */
                compare(x:string,y:string):number;
                /**
                 * <p>Converts the character to a String that contains the one character.</p>
                 *
                 * <p>For ASCII 7 bit characters, this uses a cache that will return the
                 * same String object each time.</p>
                 *
                 * <pre>
                 *   CharUtils.toString(' ')  = " "
                 *   CharUtils.toString('A')  = "A"
                 * </pre>
                 *
                 * @param ch  the character to convert
                 * @return a String containing the one specified character
                 */
                toString(ch:string):string;
            }
            interface CharUtils_C extends CharUtils_S {
                /**
                 * <p>{@code CharUtils} instances should NOT be constructed in standard programming.
                 * Instead, the class should be used as {@code CharUtils.toString('c');}.</p>
                 *
                 * <p>This constructor is public to permit tools that require a JavaBean instance
                 * to operate.</p>
                 */
                new():CharUtils;
            }
            interface CharUtils$ {
            }
            type CharUtils_T = CharUtils$;
            interface CharUtils extends CharUtils_T {
            }
            interface ArrayUtils_S {
                readonly EMPTY_BOOLEAN_OBJECT_ARRAY:boolean[];
                readonly EMPTY_STRING_ARRAY:string[];
                readonly EMPTY_DOUBLE_ARRAY:number[];
                readonly EMPTY_FLOAT_OBJECT_ARRAY:number[];
                readonly EMPTY_OBJECT_ARRAY:any[];
                readonly EMPTY_SHORT_ARRAY:number[];
                readonly EMPTY_BYTE_ARRAY:number[];
                readonly INDEX_NOT_FOUND:number;
                readonly EMPTY_LONG_OBJECT_ARRAY:long[];
                readonly EMPTY_BOOLEAN_ARRAY:boolean[];
                readonly EMPTY_INTEGER_OBJECT_ARRAY:number[];
                readonly EMPTY_SHORT_OBJECT_ARRAY:number[];
                readonly EMPTY_CHARACTER_OBJECT_ARRAY:string[];
                readonly EMPTY_FLOAT_ARRAY:number[];
                readonly EMPTY_CLASS_ARRAY:$.java.lang.Class[];
                readonly EMPTY_INT_ARRAY:number[];
                readonly EMPTY_DOUBLE_OBJECT_ARRAY:number[];
                readonly EMPTY_BYTE_OBJECT_ARRAY:number[];
                readonly EMPTY_CHAR_ARRAY:string[];
                readonly EMPTY_LONG_ARRAY:long[];
                /**
                 * <p>Checks if an array of primitive chars is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:string[]):boolean;
                /**
                 * <p>Checks if an array of primitive longs is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:long[]):boolean;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Checks if an array of primitive ints is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:number[]):boolean;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:long[]):void;
                /**
                 * <p>Checks if the object is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param objectToFind  the object to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:any[],objectToFind:any):boolean;
                /**
                 * <p>Checks if an array of primitive shorts is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:number[]):boolean;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:boolean[]):void;
                add(arg0:any[],arg1:number,arg2:any):any[];
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:number[]):number[];
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Converts an array of object Integers to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Integer} array, may be {@code null}
                 * @return an {@code int} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:number[]):number[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:long[],valueToFind:long):number;
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:number[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Checks if an array of primitive floats is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:number[]):boolean;
                /**
                 * <p>Checks if an array of primitive longs is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:long[]):boolean;
                /**
                 * <p>Produces a new {@code float} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(float[], int, int)
                 */
                subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:number[],array2:number[]):boolean;
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:boolean[],array2:boolean[]):boolean;
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:any[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 1)      = null
                 * ArrayUtils.removeElement([], 1)        = []
                 * ArrayUtils.removeElement([1], 2)       = [1]
                 * ArrayUtils.removeElement([1, 3], 1)    = [3]
                 * ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:long[],element:long):long[];
                toArray(...arg0:any[]):any[];
                isNotEmpty(arg0:any[]):boolean;
                /**
                 * <p>Converts an array of primitive shorts to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code short} array
                 * @return a {@code Short} array, {@code null} if null array input
                 */
                toObject(array:number[]):number[];
                /**
                 * <p>Converts an array of object Integer to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Integer} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return an {@code int} array, {@code null} if null array input
                 */
                toPrimitive(array:number[],valueForNull:number):number[];
                /**
                 * <p>Converts an array of object Doubles to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Double} array, may be {@code null}
                 * @return a {@code double} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:number[]):number[];
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 1.1)            = null
                 * ArrayUtils.removeElement([], 1.1)              = []
                 * ArrayUtils.removeElement([1.1], 1.2)           = [1.1]
                 * ArrayUtils.removeElement([1.1, 2.3], 1.1)      = [2.3]
                 * ArrayUtils.removeElement([1.1, 2.3, 1.1], 1.1) = [2.3, 1.1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:number[],element:number):number[];
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:number[]):number[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 * @since 2.1
                 */
                contains(array:string[],valueToFind:string):boolean;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:number[]):void;
                /**
                 * <p>Produces a new {@code long} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(long[], int, int)
                 */
                subarray(array:long[],startIndexInclusive:number,endIndexExclusive:number):long[];
                /**
                 * <p>Produces a new {@code double} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(double[], int, int)
                 */
                subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
                /**
                 * <p>Returns the length of the specified array.
                 * This method can deal with {@code Object} arrays and with primitive arrays.</p>
                 *
                 * <p>If the input array is {@code null}, {@code 0} is returned.</p>
                 *
                 * <pre>
                 * ArrayUtils.getLength(null)            = 0
                 * ArrayUtils.getLength([])              = 0
                 * ArrayUtils.getLength([null])          = 1
                 * ArrayUtils.getLength([true, false])   = 2
                 * ArrayUtils.getLength([1, 2, 3])       = 3
                 * ArrayUtils.getLength(["a", "b", "c"]) = 3
                 * </pre>
                 *
                 * @param array  the array to retrieve the length from, may be null
                 * @return The length of the array, or {@code 0} if the array is {@code null}
                 * @throws IllegalArgumentException if the object argument is not an array.
                 * @since 2.1
                 */
                getLength(array:any):number;
                /**
                 * <p>Produces a new {@code boolean} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(boolean[], int, int)
                 */
                subarray(array:boolean[],startIndexInclusive:number,endIndexExclusive:number):boolean[];
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add([1.1], 0, 2.2)              = [2.2, 1.1]
                 * ArrayUtils.add([2.3, 6.4], 2, 10.5)        = [2.3, 6.4, 10.5]
                 * ArrayUtils.add([2.6, 6.7], 0, -4.8)        = [-4.8, 2.6, 6.7]
                 * ArrayUtils.add([2.9, 6.0, 0.3], 2, 1.0)    = [2.9, 6.0, 1.0, 0.3]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:number[],index:number,element:number):number[];
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([1.1], 0)           = []
                 * ArrayUtils.remove([2.5, 6.0], 0)      = [6.0]
                 * ArrayUtils.remove([2.5, 6.0], 1)      = [2.5]
                 * ArrayUtils.remove([2.5, 6.0, 3.8], 1) = [2.5, 3.8]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:number[],index:number):number[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:number[],valueToFind:number):boolean;
                /**
                 * <p>Converts an array of object Floats to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Float} array, may be {@code null}
                 * @return a {@code float} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:number[]):number[];
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:string[]):string[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:long[],valueToFind:long):boolean;
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([1], 0)         = []
                 * ArrayUtils.remove([2, 6], 0)      = [6]
                 * ArrayUtils.remove([2, 6], 1)      = [2]
                 * ArrayUtils.remove([2, 6, 3], 1)   = [2, 3]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:long[],index:number):long[];
                /**
                 * <p>Converts an array of primitive doubles to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code double} array
                 * @return a {@code Double} array, {@code null} if null array input
                 */
                toObject(array:number[]):number[];
                /**
                 * <p>Get a hash code for an array handling multi-dimensional arrays correctly.</p>
                 *
                 * <p>Multi-dimensional primitive arrays are also handled correctly by this method.</p>
                 *
                 * @param array  the array to get a hash code for, {@code null} returns zero
                 * @return a hash code for the array
                 */
                hashCode(array:any):number;
                /**
                 * <p>Checks if an array of primitive floats is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:number[]):boolean;
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0, 'a')            = ['a']
                 * ArrayUtils.add(['a'], 0, 'b')           = ['b', 'a']
                 * ArrayUtils.add(['a', 'b'], 0, 'c')      = ['c', 'a', 'b']
                 * ArrayUtils.add(['a', 'b'], 1, 'k')      = ['a', 'k', 'b']
                 * ArrayUtils.add(['a', 'b', 'c'], 1, 't') = ['a', 't', 'b', 'c']
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:string[],index:number,element:string):string[];
                clone(arg0:any[]):any[];
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:number[]):void;
                /**
                 * <p>Converts an array of object Booleans to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Boolean} array, may be {@code null}
                 * @return a {@code boolean} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:boolean[]):boolean[];
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:long[],valueToFind:long):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:string[]):string[];
                addAll(arg0:any[],...arg1:any[]):any[];
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 1)      = null
                 * ArrayUtils.removeElement([], 1)        = []
                 * ArrayUtils.removeElement([1], 2)       = [1]
                 * ArrayUtils.removeElement([1, 3], 1)    = [3]
                 * ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:number[],element:number):number[];
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:number[]):number[];
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:long[],valueToFind:long,startIndex:number):number;
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([1], 0)          = []
                 * ArrayUtils.remove([1, 0], 0)       = [0]
                 * ArrayUtils.remove([1, 0], 1)       = [1]
                 * ArrayUtils.remove([1, 0, 1], 1)    = [1, 1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:number[],index:number):number[];
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([1], 0)         = []
                 * ArrayUtils.remove([2, 6], 0)      = [6]
                 * ArrayUtils.remove([2, 6], 1)      = [2]
                 * ArrayUtils.remove([2, 6, 3], 1)   = [2, 3]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:number[],index:number):number[];
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:number[],valueToFind:number):boolean;
                /**
                 * <p>Finds the last index of the given object within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param objectToFind  the object to find, may be {@code null}
                 * @return the last index of the object within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:any[],objectToFind:any):number;
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 1)        = null
                 * ArrayUtils.removeElement([], 1)          = []
                 * ArrayUtils.removeElement([1], 0)         = [1]
                 * ArrayUtils.removeElement([1, 0], 0)      = [1]
                 * ArrayUtils.removeElement([1, 0, 1], 1)   = [0, 1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:number[],element:number):number[];
                /**
                 * <p>Converts an array of primitive floats to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code float} array
                 * @return a {@code Float} array, {@code null} if null array input
                 */
                toObject(array:number[]):number[];
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 'a')            = null
                 * ArrayUtils.removeElement([], 'a')              = []
                 * ArrayUtils.removeElement(['a'], 'b')           = ['a']
                 * ArrayUtils.removeElement(['a', 'b'], 'a')      = ['b']
                 * ArrayUtils.removeElement(['a', 'b', 'a'], 'a') = ['b', 'a']
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:string[],element:string):string[];
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 * @since 2.1
                 */
                lastIndexOf(array:string[],valueToFind:string):number;
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:string[],array2:string[]):boolean;
                /**
                 * <p>Converts an array of primitive bytes to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code byte} array
                 * @return a {@code Byte} array, {@code null} if null array input
                 */
                toObject(array:number[]):number[];
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:number[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Produces a new {@code char} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(char[], int, int)
                 */
                subarray(array:string[],startIndexInclusive:number,endIndexExclusive:number):string[];
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.
                 *
                 * <p>Any multi-dimensional aspects of the arrays are ignored.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:any[],array2:any[]):boolean;
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, true)          = [true]
                 * ArrayUtils.add([true], false)       = [true, false]
                 * ArrayUtils.add([true, false], true) = [true, false, true]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:boolean[],element:boolean):boolean[];
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:number[]):number[];
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) if
                 * {@code null} array input.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:boolean[],valueToFind:boolean):number;
                /**
                 * <p>Checks if an array of Objects is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:any[]):boolean;
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:string[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([true], 0)              = []
                 * ArrayUtils.remove([true, false], 0)       = [false]
                 * ArrayUtils.remove([true, false], 1)       = [true]
                 * ArrayUtils.remove([true, true, false], 1) = [true, false]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:boolean[],index:number):boolean[];
                /**
                 * <p>Checks if an array of primitive booleans is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:boolean[]):boolean;
                /**
                 * <p>Finds the index of the given object in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param objectToFind  the object to find, may be {@code null}
                 * @param startIndex  the index to start searching at
                 * @return the index of the object within the array starting at the index,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:any[],objectToFind:any,startIndex:number):number;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:number[]):void;
                /**
                 * <p>Converts an array of primitive ints to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  an {@code int} array
                 * @return an {@code Integer} array, {@code null} if null array input
                 */
                toObject(array:number[]):number[];
                /**
                 * <p>Converts an array of object Booleans to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Boolean} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code boolean} array, {@code null} if null array input
                 */
                toPrimitive(array:boolean[],valueForNull:boolean):boolean[];
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add([1], 0, 2)         = [2, 1]
                 * ArrayUtils.add([2, 6], 2, 10)     = [2, 6, 10]
                 * ArrayUtils.add([2, 6], 0, -4)     = [-4, 2, 6]
                 * ArrayUtils.add([2, 6, 3], 2, 1)   = [2, 6, 1, 3]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:number[],index:number,element:number):number[];
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:boolean[],valueToFind:boolean):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:string[]):string[];
                /**
                 * <p>Checks if an array of primitive bytes is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:number[]):boolean;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:boolean[]):boolean[];
                /**
                 * <p>Converts an array of object Bytes to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Byte} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code byte} array, {@code null} if null array input
                 */
                toPrimitive(array:number[],valueForNull:number):number[];
                /**
                 * <p>Converts an array of object Character to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Character} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code char} array, {@code null} if null array input
                 */
                toPrimitive(array:string[],valueForNull:string):string[];
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:long[],valueToFind:long,startIndex:number):number;
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:number[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:long[]):long[];
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.
                 * This method will return the index of the first value which falls between the region
                 * defined by valueToFind - tolerance and valueToFind + tolerance.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @param tolerance tolerance of the search
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,startIndex:number,tolerance:number):number;
                /**
                 * <p>Produces a new {@code short} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(short[], int, int)
                 */
                subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:any[]):any[];
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new int[] array.
                 * @since 2.1
                 */
                addAll(array1:number[],...array2:number[]):number[];
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:long[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Converts the given array into a {@link java.util.Map}. Each element of the array
                 * must be either a {@link java.util.Map.Entry} or an Array, containing at least two
                 * elements, where the first element is used as key and the second as
                 * value.</p>
                 *
                 * <p>This method can be used to initialize:</p>
                 * <pre>
                 * // Create a Map mapping colors.
                 * Map colorMap = MapUtils.toMap(new String[][] {{
                 *     {"RED", "#FF0000"},
                 *     {"GREEN", "#00FF00"},
                 *     {"BLUE", "#0000FF"}});
                 * </pre>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  an array whose elements are either a {@link java.util.Map.Entry} or
                 *  an Array containing at least two elements, may be {@code null}
                 * @return a {@code Map} that was created from the array
                 * @throws IllegalArgumentException  if one element of this Array is
                 *  itself an Array containing less then two elements
                 * @throws IllegalArgumentException  if the array contains elements other
                 *  than {@link java.util.Map.Entry} and an Array
                 */
                toMap(array:any[]):$.java.util.Map;
                /**
                 * <p>Checks if an array of primitive ints is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:number[]):boolean;
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:number[],array2:number[]):boolean;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>There is no special handling for multi-dimensional arrays.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:any[]):void;
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:number[],array2:number[]):boolean;
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0)   = [0]
                 * ArrayUtils.add([1], 0)    = [1, 0]
                 * ArrayUtils.add([1, 0], 1) = [1, 0, 1]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:number[],element:number):number[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:long[]):long[];
                /**
                 * <p>Checks if an array of primitive shorts is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:number[]):boolean;
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:number[]):void;
                /**
                 * <p>Converts an array of object Longs to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Long} array, may be {@code null}
                 * @return a {@code long} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:long[]):long[];
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:number[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new long[] array.
                 * @since 2.1
                 */
                addAll(array1:long[],...array2:long[]):long[];
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:boolean[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Converts an array of primitive longs to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code long} array
                 * @return a {@code Long} array, {@code null} if null array input
                 */
                toObject(array:long[]):long[];
                /**
                 * <p>Finds the last index of the given value within the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to travers backwords looking for the object, may be {@code null}
                 * @param valueToFind  the object to find
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:number[],array2:number[]):boolean;
                /**
                 * <p>Checks if a value falling within the given tolerance is in the
                 * given array.  If the array contains a value within the inclusive range
                 * defined by (value - tolerance) to (value + tolerance).</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array
                 * is passed in.</p>
                 *
                 * @param array  the array to search
                 * @param valueToFind  the value to find
                 * @param tolerance  the array contains the tolerance of the search
                 * @return true if value falling within tolerance is in array
                 */
                contains(array:number[],valueToFind:number,tolerance:number):boolean;
                /**
                 * <p>
                 * Reverses the order of the given array in the given range.
                 * </p>
                 *
                 * <p>
                 * This method does nothing for a {@code null} input array.
                 * </p>
                 *
                 * @param array
                 *            the array to reverse, may be {@code null}
                 * @param startIndexInclusive
                 *            the starting index. Undervalue (&lt;0) is promoted to 0, overvalue (&gt;array.length) results in no
                 *            change.
                 * @param endIndexExclusive
                 *            elements up to endIndex-1 are reversed in the array. Undervalue (&lt; start index) results in no
                 *            change. Overvalue (&gt;array.length) is demoted to array length.
                 * @since 3.2
                 */
                reverse(array:number[],startIndexInclusive:number,endIndexExclusive:number):void;
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new float[] array.
                 * @since 2.1
                 */
                addAll(array1:number[],...array2:number[]):number[];
                subarray(arg0:any[],arg1:number,arg2:number):any[];
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.
                 * This method will return the index of the last value which falls between the region
                 * defined by valueToFind - tolerance and valueToFind + tolerance.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @param tolerance  search for value within plus/minus this amount
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,startIndex:number,tolerance:number):number;
                /**
                 * <p>Produces a new {@code int} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(int[], int, int)
                 */
                subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Converts an array of object Floats to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Float} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code float} array, {@code null} if null array input
                 */
                toPrimitive(array:number[],valueForNull:number):number[];
                /**
                 * <p>Converts an array of object Long to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Long} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code long} array, {@code null} if null array input
                 */
                toPrimitive(array:long[],valueForNull:long):long[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:boolean[]):boolean[];
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0)   = [0]
                 * ArrayUtils.add([1], 0)    = [1, 0]
                 * ArrayUtils.add([1, 0], 1) = [1, 0, 1]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:long[],element:long):long[];
                add(arg0:any[],arg1:any):any[];
                remove(arg0:any[],arg1:number):any[];
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0)   = [0]
                 * ArrayUtils.add([1], 0)    = [1, 0]
                 * ArrayUtils.add([1, 0], 1) = [1, 0, 1]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:number[],element:number):number[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:boolean[],valueToFind:boolean):boolean;
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add([1], 0, 2)         = [2, 1]
                 * ArrayUtils.add([2, 6], 2, 10)     = [2, 6, 10]
                 * ArrayUtils.add([2, 6], 0, -4)     = [-4, 2, 6]
                 * ArrayUtils.add([2, 6, 3], 2, 1)   = [2, 6, 1, 3]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:number[],index:number,element:number):number[];
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 * @since 2.1
                 */
                indexOf(array:string[],valueToFind:string):number;
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Converts an array of primitive chars to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array a {@code char} array
                 * @return a {@code Character} array, {@code null} if null array input
                 */
                toObject(array:string[]):string[];
                /**
                 * <p>Finds the index of the given object in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param objectToFind  the object to find, may be {@code null}
                 * @return the index of the object within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:any[],objectToFind:any):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:long[]):long[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                nullToEmpty(arg0:$.java.lang.Class[]):$.java.lang.Class[];
                /**
                 * <p>Finds the index of the given value within a given tolerance in the array.
                 * This method will return the index of the first value which falls between the region
                 * defined by valueToFind - tolerance and valueToFind + tolerance.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param tolerance tolerance of the search
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,tolerance:number):number;
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Converts an array of object Short to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Short} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code byte} array, {@code null} if null array input
                 */
                toPrimitive(array:number[],valueForNull:number):number[];
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add([1L], 0, 2L)           = [2L, 1L]
                 * ArrayUtils.add([2L, 6L], 2, 10L)      = [2L, 6L, 10L]
                 * ArrayUtils.add([2L, 6L], 0, -4L)      = [-4L, 2L, 6L]
                 * ArrayUtils.add([2L, 6L, 3L], 2, 1L)   = [2L, 6L, 1L, 3L]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:long[],index:number,element:long):long[];
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new char[] array.
                 * @since 2.1
                 */
                addAll(array1:string[],...array2:string[]):string[];
                /**
                 * <p>Checks if an array of primitive bytes is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:number[]):boolean;
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([1.1], 0)           = []
                 * ArrayUtils.remove([2.5, 6.0], 0)      = [6.0]
                 * ArrayUtils.remove([2.5, 6.0], 1)      = [2.5]
                 * ArrayUtils.remove([2.5, 6.0, 3.8], 1) = [2.5, 3.8]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:number[],index:number):number[];
                /**
                 * <p>Converts an array of object Shorts to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Short} array, may be {@code null}
                 * @return a {@code byte} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:number[]):number[];
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 * @since 2.1
                 */
                indexOf(array:string[],valueToFind:string,startIndex:number):number;
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 * @since 2.1
                 */
                lastIndexOf(array:string[],valueToFind:string,startIndex:number):number;
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:number[]):void;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, true)                = null
                 * ArrayUtils.removeElement([], true)                  = []
                 * ArrayUtils.removeElement([true], false)             = [true]
                 * ArrayUtils.removeElement([true, false], false)      = [true]
                 * ArrayUtils.removeElement([true, false, true], true) = [false, true]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:boolean[],element:boolean):boolean[];
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new short[] array.
                 * @since 2.1
                 */
                addAll(array1:number[],...array2:number[]):number[];
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add([1], 0, 2)         = [2, 1]
                 * ArrayUtils.add([2, 6], 2, 3)      = [2, 6, 3]
                 * ArrayUtils.add([2, 6], 0, 1)      = [1, 2, 6]
                 * ArrayUtils.add([2, 6, 3], 2, 1)   = [2, 6, 1, 3]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:number[],index:number,element:number):number[];
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 1.1)            = null
                 * ArrayUtils.removeElement([], 1.1)              = []
                 * ArrayUtils.removeElement([1.1], 1.2)           = [1.1]
                 * ArrayUtils.removeElement([1.1, 2.3], 1.1)      = [2.3]
                 * ArrayUtils.removeElement([1.1, 2.3, 1.1], 1.1) = [2.3, 1.1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:number[],element:number):number[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:number[],valueToFind:number):boolean;
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than
                 * the array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:boolean[],valueToFind:boolean,startIndex:number):number;
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new boolean[] array.
                 * @since 2.1
                 */
                addAll(array1:boolean[],...array2:boolean[]):boolean[];
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new double[] array.
                 * @since 2.1
                 */
                addAll(array1:number[],...array2:number[]):number[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Reverses the order of the given array.</p>
                 *
                 * <p>This method does nothing for a {@code null} input array.</p>
                 *
                 * @param array  the array to reverse, may be {@code null}
                 */
                reverse(array:string[]):void;
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null}
                 *  array input
                 */
                indexOf(array:boolean[],valueToFind:boolean,startIndex:number):number;
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0, true)          = [true]
                 * ArrayUtils.add([true], 0, false)       = [false, true]
                 * ArrayUtils.add([false], 1, true)       = [false, true]
                 * ArrayUtils.add([true, false], 1, true) = [true, true, false]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range (index &lt; 0 || index &gt; array.length).
                 */
                add(array:boolean[],index:number,element:boolean):boolean[];
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:number[]):number[];
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove(['a'], 0)           = []
                 * ArrayUtils.remove(['a', 'b'], 0)      = ['b']
                 * ArrayUtils.remove(['a', 'b'], 1)      = ['a']
                 * ArrayUtils.remove(['a', 'b', 'c'], 1) = ['a', 'c']
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:string[],index:number):string[];
                /**
                 * <p>Converts an array of object Doubles to primitives handling {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Double} array, may be {@code null}
                 * @param valueForNull  the value to insert if {@code null} found
                 * @return a {@code double} array, {@code null} if null array input
                 */
                toPrimitive(array:number[],valueForNull:number):number[];
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0)   = [0]
                 * ArrayUtils.add([1], 0)    = [1, 0]
                 * ArrayUtils.add([1, 0], 1) = [1, 0, 1]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:number[],element:number):number[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:number[],array2:number[]):boolean;
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:number[],valueToFind:number):boolean;
                /**
                 * <p>Converts an array of primitive booleans to objects.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code boolean} array
                 * @return a {@code Boolean} array, {@code null} if null array input
                 */
                toObject(array:boolean[]):boolean[];
                /**
                 * <p>Checks if an array of primitive booleans is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:boolean[]):boolean;
                /**
                 * <p>Removes the first occurrence of the specified element from the
                 * specified array. All subsequent elements are shifted to the left
                 * (subtracts one from their indices). If the array doesn't contains
                 * such an element, no elements are removed from the array.</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the first occurrence of the specified element. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <pre>
                 * ArrayUtils.removeElement(null, 1)      = null
                 * ArrayUtils.removeElement([], 1)        = []
                 * ArrayUtils.removeElement([1], 2)       = [1]
                 * ArrayUtils.removeElement([1, 3], 1)    = [3]
                 * ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may be {@code null}
                 * @param element  the element to be removed
                 * @return A new array containing the existing elements except the first
                 *         occurrence of the specified element.
                 * @since 2.1
                 */
                removeElement(array:number[],element:number):number[];
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Converts an array of object Characters to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Character} array, may be {@code null}
                 * @return a {@code char} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:string[]):string[];
                /**
                 * <p>Checks if an array of primitive doubles is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:number[]):boolean;
                /**
                 * <p>Finds the index of the given value in the array.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number):number;
                /**
                 * <p>Finds the last index of the given value within a given tolerance in the array.
                 * This method will return the index of the last value which falls between the region
                 * defined by valueToFind - tolerance and valueToFind + tolerance.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param tolerance tolerance of the search
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,tolerance:number):number;
                /**
                 * <p>Removes the element at the specified position from the specified array.
                 * All subsequent elements are shifted to the left (subtracts one from
                 * their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array except the element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, an IndexOutOfBoundsException
                 * will be thrown, because in that case no valid index can be specified.</p>
                 *
                 * <pre>
                 * ArrayUtils.remove([1], 0)         = []
                 * ArrayUtils.remove([2, 6], 0)      = [6]
                 * ArrayUtils.remove([2, 6], 1)      = [2]
                 * ArrayUtils.remove([2, 6, 3], 1)   = [2, 3]
                 * </pre>
                 *
                 * @param array  the array to remove the element from, may not be {@code null}
                 * @param index  the position of the element to be removed
                 * @return A new array containing the existing elements except the element
                 *         at the specified position.
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt;= array.length), or if the array is {@code null}.
                 * @since 2.1
                 */
                remove(array:number[],index:number):number[];
                isSameType(array1:any,array2:any):boolean;
                /**
                 * <p>Finds the last index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than the
                 * array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Finds the index of the given value in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex is treated as zero. A startIndex larger than the array
                 * length will return {@link #INDEX_NOT_FOUND} ({@code -1}).</p>
                 *
                 * @param array  the array to search through for the object, may be {@code null}
                 * @param valueToFind  the value to find
                 * @param startIndex  the index to start searching at
                 * @return the index of the value within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                indexOf(array:number[],valueToFind:number,startIndex:number):number;
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:number[]):number[];
                removeElement(arg0:any[],arg1:any):any[];
                /**
                 * <p>Checks whether two arrays are the same length, treating
                 * {@code null} arrays as length {@code 0}.</p>
                 *
                 * @param array1 the first array, may be {@code null}
                 * @param array2 the second array, may be {@code null}
                 * @return {@code true} if length of arrays matches, treating
                 *  {@code null} as an empty array
                 */
                isSameLength(array1:long[],array2:long[]):boolean;
                /**
                 * <p>Converts an array of object Bytes to primitives.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  a {@code Byte} array, may be {@code null}
                 * @return a {@code byte} array, {@code null} if null array input
                 * @throws NullPointerException if array content is {@code null}
                 */
                toPrimitive(array:number[]):number[];
                /**
                 * <p>Finds the last index of the given object in the array starting at the given index.</p>
                 *
                 * <p>This method returns {@link #INDEX_NOT_FOUND} ({@code -1}) for a {@code null} input array.</p>
                 *
                 * <p>A negative startIndex will return {@link #INDEX_NOT_FOUND} ({@code -1}). A startIndex larger than
                 * the array length will search from the end of the array.</p>
                 *
                 * @param array  the array to traverse for looking for the object, may be {@code null}
                 * @param objectToFind  the object to find, may be {@code null}
                 * @param startIndex  the start index to travers backwards from
                 * @return the last index of the object within the array,
                 *  {@link #INDEX_NOT_FOUND} ({@code -1}) if not found or {@code null} array input
                 */
                lastIndexOf(array:any[],objectToFind:any,startIndex:number):number;
                /**
                 * <p>Checks if an array of primitive chars is empty or {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is empty or {@code null}
                 * @since 2.1
                 */
                isEmpty(array:string[]):boolean;
                /**
                 * <p>Checks if an array of primitive doubles is not empty or not {@code null}.</p>
                 *
                 * @param array  the array to test
                 * @return {@code true} if the array is not empty or not {@code null}
                 * @since 2.5
                 */
                isNotEmpty(array:number[]):boolean;
                /**
                 * <p>Produces a new {@code byte} array containing the elements
                 * between the start and end indices.</p>
                 *
                 * <p>The start index is inclusive, the end index exclusive.
                 * Null array input produces null output.</p>
                 *
                 * @param array  the array
                 * @param startIndexInclusive  the starting index. Undervalue (&lt;0)
                 *      is promoted to 0, overvalue (&gt;array.length) results
                 *      in an empty array.
                 * @param endIndexExclusive  elements up to endIndex-1 are present in the
                 *      returned subarray. Undervalue (&lt; startIndex) produces
                 *      empty array, overvalue (&gt;array.length) is demoted to
                 *      array length.
                 * @return a new array containing the elements between
                 *      the start and end indices.
                 * @since 2.1
                 * @see Arrays#copyOfRange(byte[], int, int)
                 */
                subarray(array:number[],startIndexInclusive:number,endIndexExclusive:number):number[];
                /**
                 * <p>Adds all the elements of the given arrays into a new array.</p>
                 * <p>The new array contains all of the element of {@code array1} followed
                 * by all of the elements {@code array2}. When an array is returned, it is always
                 * a new array.</p>
                 *
                 * <pre>
                 * ArrayUtils.addAll(array1, null)   = cloned copy of array1
                 * ArrayUtils.addAll(null, array2)   = cloned copy of array2
                 * ArrayUtils.addAll([], [])         = []
                 * </pre>
                 *
                 * @param array1  the first array whose elements are added to the new array.
                 * @param array2  the second array whose elements are added to the new array.
                 * @return The new byte[] array.
                 * @since 2.1
                 */
                addAll(array1:number[],...array2:number[]):number[];
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, '0')       = ['0']
                 * ArrayUtils.add(['1'], '0')      = ['1', '0']
                 * ArrayUtils.add(['1', '0'], '1') = ['1', '0', '1']
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:string[],element:string):string[];
                /**
                 * <p>Clones an array returning a typecast result and handling
                 * {@code null}.</p>
                 *
                 * <p>This method returns {@code null} for a {@code null} input array.</p>
                 *
                 * @param array  the array to clone, may be {@code null}
                 * @return the cloned array, {@code null} if {@code null} input
                 */
                clone(array:boolean[]):boolean[];
                /**
                 * <p>Inserts the specified element at the specified position in the array.
                 * Shifts the element currently at that position (if any) and any subsequent
                 * elements to the right (adds one to their indices).</p>
                 *
                 * <p>This method returns a new array with the same elements of the input
                 * array plus the given element on the specified position. The component
                 * type of the returned array is always the same as that of the input
                 * array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add([1.1f], 0, 2.2f)               = [2.2f, 1.1f]
                 * ArrayUtils.add([2.3f, 6.4f], 2, 10.5f)        = [2.3f, 6.4f, 10.5f]
                 * ArrayUtils.add([2.6f, 6.7f], 0, -4.8f)        = [-4.8f, 2.6f, 6.7f]
                 * ArrayUtils.add([2.9f, 6.0f, 0.3f], 2, 1.0f)   = [2.9f, 6.0f, 1.0f, 0.3f]
                 * </pre>
                 *
                 * @param array  the array to add the element to, may be {@code null}
                 * @param index  the position of the new object
                 * @param element  the object to add
                 * @return A new array containing the existing elements and the new element
                 * @throws IndexOutOfBoundsException if the index is out of range
                 * (index &lt; 0 || index &gt; array.length).
                 */
                add(array:number[],index:number,element:number):number[];
                /**
                 * <p>Checks if the value is in the given array.</p>
                 *
                 * <p>The method returns {@code false} if a {@code null} array is passed in.</p>
                 *
                 * @param array  the array to search through
                 * @param valueToFind  the value to find
                 * @return {@code true} if the array contains the object
                 */
                contains(array:number[],valueToFind:number):boolean;
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0)   = [0]
                 * ArrayUtils.add([1], 0)    = [1, 0]
                 * ArrayUtils.add([1, 0], 1) = [1, 0, 1]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:number[],element:number):number[];
                /**
                 * <p>Defensive programming technique to change a {@code null}
                 * reference to an empty one.</p>
                 *
                 * <p>This method returns an empty array for a {@code null} input array.</p>
                 *
                 * <p>As a memory optimizing technique an empty array passed in will be overridden with
                 * the empty {@code public static} references in this class.</p>
                 *
                 * @param array  the array to check for {@code null} or empty
                 * @return the same array, {@code public static} empty array if {@code null} or empty input
                 * @since 2.5
                 */
                nullToEmpty(array:string[]):string[];
                /**
                 * <p>Copies the given array and adds the given element at the end of the new array.</p>
                 *
                 * <p>The new array contains the same elements of the input
                 * array plus the given element in the last position. The component type of
                 * the new array is the same as that of the input array.</p>
                 *
                 * <p>If the input array is {@code null}, a new one element array is returned
                 *  whose component type is the same as the element.</p>
                 *
                 * <pre>
                 * ArrayUtils.add(null, 0)   = [0]
                 * ArrayUtils.add([1], 0)    = [1, 0]
                 * ArrayUtils.add([1, 0], 1) = [1, 0, 1]
                 * </pre>
                 *
                 * @param array  the array to copy and add the element to, may be {@code null}
                 * @param element  the object to add at the last index of the new array
                 * @return A new array containing the existing elements plus the new element
                 * @since 2.1
                 */
                add(array:number[],element:number):number[];
            }
            interface ArrayUtils_C extends ArrayUtils_S {
                /**
                 * <p>ArrayUtils instances should NOT be constructed in standard programming.
                 * Instead, the class should be used as <code>ArrayUtils.clone(new int[] {2})</code>.</p>
                 *
                 * <p>This constructor is public to permit tools that require a JavaBean instance
                 * to operate.</p>
                 */
                new():ArrayUtils;
            }
            interface ArrayUtils$ {
            }
            type ArrayUtils_T = ArrayUtils$;
            interface ArrayUtils extends ArrayUtils_T {
            }
            interface Uuid8_S {
                /**
                 * 使用JDK标准UUID方法截取替换生成短UUID
                 * @return 生成由a-z、0-9、A-Z组成的8位短UUID
                 */
                generateShortUuid():string;
            }
            type Uuid8_ST = $.java.io.Serializable & Uuid8_S;
            interface Uuid8_C extends Uuid8_ST {
                new():Uuid8;
            }
            interface Uuid8$ {
            }
            type Uuid8_T = $.java.io.Serializable & Uuid8$;
            interface Uuid8 extends Uuid8_T {
            }
            interface Uuid16_S {
                /**
                 * 创建UUID16对象，与DB.genStringId由Base39（+、/、=、0-9、A-Z）字符集组成的随机ID，长度约12位
                 * @return UUID16对象
                 */
                create():Uuid16;
            }
            type Uuid16_ST = $.java.io.Serializable & Uuid16_S;
            interface Uuid16_C extends Uuid16_ST {
                new():Uuid16;
            }
            interface Uuid16$ {
            }
            type Uuid16_T = $.java.io.Serializable & Uuid16$;
            interface Uuid16 extends Uuid16_T {
            }
            interface ObjectUtils_S {
                /**
                 * Determine whether the given object is empty.
                 * <p>This method supports the following object types.
                 * <ul>
                 * <li>{@code Optional}: considered empty if {@link Optional#empty()}</li>
                 * <li>{@code Array}: considered empty if its length is zero</li>
                 * <li>{@link CharSequence}: considered empty if its length is zero</li>
                 * <li>{@link Collection}: delegates to {@link Collection#isEmpty()}</li>
                 * <li>{@link Map}: delegates to {@link Map#isEmpty()}</li>
                 * </ul>
                 * <p>If the given object is non-null and not one of the aforementioned
                 * supported types, this method returns {@code false}.
                 * @param obj the object to check
                 * @return {@code true} if the object is {@code null} or <em>empty</em>
                 * @since 4.2
                 * @see Optional#isPresent()
                 * @see ObjectUtils#isEmpty(Object[])
                 * @see StringUtils#hasLength(CharSequence)
                 * @see StringUtils#isEmpty(Object)
                 * @see CollectionUtils#isEmpty(java.util.Collection)
                 * @see CollectionUtils#isEmpty(java.util.Map)
                 */
                isEmpty(obj:any):boolean;
                containsConstant(arg0:$.java.lang.Enum[],arg1:string,arg2:boolean):boolean;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:string[]):number;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:long[]):number;
                /**
                 * Return the same value as {@link Double#hashCode()}}.
                 * @see Double#hashCode()
                 */
                hashCode(dbl:number):number;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:number[]):number;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:string[]):string;
                /**
                 * Return whether the given throwable is a checked exception:
                 * that is, neither a RuntimeException nor an Error.
                 * @param ex the throwable to check
                 * @return whether the throwable is a checked exception
                 * @see java.lang.Exception
                 * @see java.lang.RuntimeException
                 * @see java.lang.Error
                 */
                isCheckedException(ex:$.java.lang.Throwable):boolean;
                /**
                 * Determine if the given objects are equal, returning {@code true} if
                 * both are {@code null} or {@code false} if only one is {@code null}.
                 * <p>Compares arrays with {@code Arrays.equals}, performing an equality
                 * check based on the array elements rather than the array reference.
                 * @param o1 first Object to compare
                 * @param o2 second Object to compare
                 * @return whether the given objects are equal
                 * @see Object#equals(Object)
                 * @see java.util.Arrays#equals
                 */
                nullSafeEquals(o1:any,o2:any):boolean;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:number[]):number;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:boolean[]):number;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:number[]):number;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:number[]):string;
                /**
                 * Return a content-based String representation if {@code obj} is
                 * not {@code null}; otherwise returns an empty String.
                 * <p>Differs from {@link #nullSafeToString(Object)} in that it returns
                 * an empty String rather than "null" for a {@code null} value.
                 * @param obj the object to build a display String for
                 * @return a display String representation of {@code obj}
                 * @see #nullSafeToString(Object)
                 */
                getDisplayString(obj:any):string;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:number[]):string;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:number[]):number;
                /**
                 * Determine the class name for the given object.
                 * <p>Returns {@code "null"} if {@code obj} is {@code null}.
                 * @param obj the object to introspect (may be {@code null})
                 * @return the corresponding class name
                 */
                nullSafeClassName(obj:any):string;
                /**
                 * Return as hash code for the given object; typically the value of
                 * {@code Object#hashCode()}}. If the object is an array,
                 * this method will delegate to any of the {@code nullSafeHashCode}
                 * methods for arrays in this class. If the object is {@code null},
                 * this method returns 0.
                 * @see Object#hashCode()
                 * @see #nullSafeHashCode(Object[])
                 * @see #nullSafeHashCode(boolean[])
                 * @see #nullSafeHashCode(byte[])
                 * @see #nullSafeHashCode(char[])
                 * @see #nullSafeHashCode(double[])
                 * @see #nullSafeHashCode(float[])
                 * @see #nullSafeHashCode(int[])
                 * @see #nullSafeHashCode(long[])
                 * @see #nullSafeHashCode(short[])
                 */
                nullSafeHashCode(obj:any):number;
                /**
                 * Return the same value as {@link Long#hashCode()}}.
                 * @see Long#hashCode()
                 */
                hashCode(lng:long):number;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:number[]):string;
                /**
                 * Convert the given array (which may be a primitive array) to an
                 * object array (if necessary of primitive wrapper objects).
                 * <p>A {@code null} source value will be converted to an
                 * empty Object array.
                 * @param source the (potentially primitive) array
                 * @return the corresponding object array (never {@code null})
                 * @throws IllegalArgumentException if the parameter is not an array
                 */
                toObjectArray(source:any):any[];
                /**
                 * Check whether the given array contains the given element.
                 * @param array the array to check (may be {@code null},
                 * in which case the return value will always be {@code false})
                 * @param element the element to check for
                 * @return whether the element has been found in the given array
                 */
                containsElement(array:any[],element:any):boolean;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:any[]):string;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:number[]):number;
                /**
                 * Return the same value as {@link Float#hashCode()}}.
                 * @see Float#hashCode()
                 */
                hashCode(flt:number):number;
                caseInsensitiveValueOf(arg0:$.java.lang.Enum[],arg1:string):$.java.lang.Enum;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:long[]):string;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:number[]):string;
                /**
                 * Check whether the given exception is compatible with the specified
                 * exception types, as declared in a throws clause.
                 * @param ex the exception to check
                 * @param declaredExceptions the exception types declared in the throws clause
                 * @return whether the given exception is compatible
                 */
                isCompatibleWithThrowsClause(ex:$.java.lang.Throwable,...declaredExceptions:$.java.lang.Class[]):boolean;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:number[]):string;
                addObjectToArray(arg0:any[],arg1:any):any[];
                /**
                 * Return a String representation of an object's overall identity.
                 * @param obj the object (may be {@code null})
                 * @return the object's identity as String representation,
                 * or an empty String if the object was {@code null}
                 */
                identityToString(obj:any):string;
                /**
                 * Determine whether the given array is empty:
                 * i.e. {@code null} or of zero length.
                 * @param array the array to check
                 * @see #isEmpty(Object)
                 */
                isEmpty(array:any[]):boolean;
                /**
                 * Return a hash code based on the contents of the specified array.
                 * If {@code array} is {@code null}, this method returns 0.
                 */
                nullSafeHashCode(array:any[]):number;
                /**
                 * Determine whether the given object is an array:
                 * either an Object array or a primitive array.
                 * @param obj the object to check
                 */
                isArray(obj:any):boolean;
                /**
                 * Return the same value as {@link Boolean#hashCode()}}.
                 * @see Boolean#hashCode()
                 */
                hashCode(bool:boolean):number;
                /**
                 * Return a String representation of the specified Object.
                 * <p>Builds a String representation of the contents in case of an array.
                 * Returns {@code "null"} if {@code obj} is {@code null}.
                 * @param obj the object to build a String representation for
                 * @return a String representation of {@code obj}
                 */
                nullSafeToString(obj:any):string;
                containsConstant(arg0:$.java.lang.Enum[],arg1:string):boolean;
                /**
                 * Return a hex String form of an object's identity hash code.
                 * @param obj the object
                 * @return the object's identity code in hex notation
                 */
                getIdentityHexString(obj:any):string;
                /**
                 * Return a String representation of the contents of the specified array.
                 * <p>The String representation consists of a list of the array's elements,
                 * enclosed in curly braces ({@code "{}"}). Adjacent elements are separated
                 * by the characters {@code ", "} (a comma followed by a space). Returns
                 * {@code "null"} if {@code array} is {@code null}.
                 * @param array the array to build a String representation for
                 * @return a String representation of {@code array}
                 */
                nullSafeToString(array:boolean[]):string;
            }
            interface ObjectUtils_C extends ObjectUtils_S {
                new():ObjectUtils;
            }
            interface ObjectUtils$ {
            }
            type ObjectUtils_T = ObjectUtils$;
            interface ObjectUtils extends ObjectUtils_T {
            }
        }
        namespace kd.bos.db{
            interface DBModule_S {
            }
            type DBModule_ST = $.kd.sdk.module.Module & DBModule_S;
            interface DBModule_C extends DBModule_ST {
                new():DBModule;
            }
            interface DBModule$ {
            }
            type DBModule_T = $.kd.sdk.module.Module & DBModule$;
            interface DBModule extends DBModule_T {
            }
            interface SqlParameter_S {
            }
            type SqlParameter_ST = SqlParameter_S & kd.bos.xdb.ext.SelfSetParameter_S;
            interface SqlParameter_C extends SqlParameter_ST {
                /**
                 * 参数构造器。
                 * @param name 属性名
                 * @param columnType 字段类型
                 * @param value 参数值
                 */
                new(name:string,columnType:number,value:any):SqlParameter;
            }
            interface SqlParameter$ {
            }
            type SqlParameter_T = SqlParameter$ & kd.bos.xdb.ext.SelfSetParameter;
            interface SqlParameter extends SqlParameter_T {
            }
            interface DBRoute_S {
            }
            interface DBRoute_C extends DBRoute_S {
                /**
                 * 路由构造方法。
                 * @param routeKey
                 */
                new(routeKey:string):DBRoute;
            }
            interface DBRoute$ {
            }
            type DBRoute_T = DBRoute$;
            interface DBRoute extends DBRoute_T {
            }
            interface ResultSetHandler_S {
            }
            interface ResultSetHandler_C extends ResultSetHandler_S {
            }
            interface ResultSetHandler$ {
            }
            type ResultSetHandler_T = ResultSetHandler$;
            interface ResultSetHandler extends ResultSetHandler_T {
            }
            class DBType {
                static readonly PostgreSQL:kd.bos.db.DBType;
                static readonly Vastbase:kd.bos.db.DBType;
                static readonly SQLServer:kd.bos.db.DBType;
                static readonly TDSQL:kd.bos.db.DBType;
                static readonly KingBase:kd.bos.db.DBType;
                static readonly GoldenDB:kd.bos.db.DBType;
                static readonly MySQL:kd.bos.db.DBType;
                static readonly Oracle:kd.bos.db.DBType;
                static readonly YasDB:kd.bos.db.DBType;
                static readonly TiDB:kd.bos.db.DBType;
                static readonly DM:kd.bos.db.DBType;
                static readonly Gbase:kd.bos.db.DBType;
                static readonly OceanBase_Oracle:kd.bos.db.DBType;
                static readonly GaussDB:kd.bos.db.DBType;
                static values():kd.bos.db.DBType[];
                static valueOf(arg0:string):kd.bos.db.DBType;
                /**
                 * 获取数据库类型值。
                 */
                getValue():number;
            }
            interface SqlBuilder_S {
            }
            interface SqlBuilder_C extends SqlBuilder_S {
                new():SqlBuilder;
            }
            interface SqlBuilder$ {
            }
            type SqlBuilder_T = SqlBuilder$;
            interface SqlBuilder extends SqlBuilder_T {
            }
            interface DB_S {
                /**
                 * 读写分离上下文创建接口
                 * <p>
                 * 使用rw接口返回的读写分离上下文创建接口，可用于创建读写分离的上下文，
                 * 使用上下文可以控制作用域范围内的DB查询是优先使用从库，或是强制使用主库查询。
                 * </p>
                 *
                 * @return 读写分离上下文创建接口，返回的rw永远不会为空
                 */
                rw():kd.bos.db.splittingread.RW;
                /**
                 * 根据数据库路由获取数据库类型。
                 *
                 * @param dbRoute 路由
                 * @return {@link DBType} 数据库类型
                 * @throws SQLException 执行SQL时JDBC驱动抛出的异常
                 * @throws KDException  DB内部处理失败或者包装后的SQLException
                 */
                getDBType(dbRoute:DBRoute):DBType;
                /**
                 * 为范围内的SQL执行设置超时时间，单位是秒
                 * <p>
                 * 使用示例：
                 * <blockquote>
                 * <pre>
                 * try(QueryTimeout timeout = DB.timeout(10)){
                 *      // 范围内执行的SQL超时时间为10秒
                 * }
                 * </pre>
                 * </blockquote>
                 *
                 * @param seconds 超时时间，单位：秒
                 * @return 超时控制器
                 */
                timeout(seconds:number):$.kd.bos.xdb.QueryTimeout;
            }
            interface DB_C extends DB_S {
                new():DB;
            }
            interface DB$ {
            }
            type DB_T = DB$;
            interface DB extends DB_T {
            }
        }
        namespace kd.bos.db.archive{
            interface ArchiveInfo_S {
            }
            interface ArchiveInfo_C extends ArchiveInfo_S {
                /**
                 * 构造方法
                 * @param key
                 * @param name
                 * @param desc
                 */
                new(key:string,name:string,desc:string):ArchiveInfo;
                /**
                 * 构造方法
                 * @param key
                 * @param routeType
                 * @param name
                 * @param desc
                 */
                new(key:string,routeType:ArchiveRouteType,name:string,desc:string):ArchiveInfo;
            }
            interface ArchiveInfo$ {
                /**
                 * 归档路由
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 归档路由类型
                 * @return
                 */
                getRouteType():ArchiveRouteType;
                /**
                 * 归档路由
                 * @return
                 */
                getKey():string;
                /**
                 * 归档路由名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 归档路由描述
                 * @param desc
                 */
                setDesc(desc:string):void;
                /**
                 * 归档路由类型
                 * @param routeType
                 */
                setRouteType(routeType:ArchiveRouteType):void;
                /**
                 * 归档路由描述
                 * @return
                 */
                getDesc():string;
                /**
                 * 归档路由名称
                 * @return
                 */
                getName():string;
            }
            type ArchiveInfo_T = ArchiveInfo$;
            interface ArchiveInfo extends ArchiveInfo_T {
            }
            interface ArchiveRoute_S {
                /**
                 * API：设置归档路由映射上下文进行访问。
                 * @param routeKey 原路由
                 * @param archiveRouteKey 归档库路由
                 * @return
                 */
                mapRoute(routeKey:string,archiveRouteKey:string):ArchiveRoute;
            }
            type ArchiveRoute_ST = $.java.lang.AutoCloseable & ArchiveRoute_S;
            interface ArchiveRoute_C extends ArchiveRoute_ST {
                new():ArchiveRoute;
            }
            interface ArchiveRoute$ {
            }
            type ArchiveRoute_T = $.java.lang.AutoCloseable & ArchiveRoute$;
            interface ArchiveRoute extends ArchiveRoute_T {
            }
            interface MCArchive_S {
                /**
                 * API：根据单据所属路由与单据编码获取单据归档路由
                 * @param routeKey
                 * @param entityNumber
                 * @return
                 */
                get(routeKey:string,entityNumber:string):RouteInfo;
            }
            interface MCArchive_C extends MCArchive_S {
                new():MCArchive;
            }
            interface MCArchive$ {
            }
            type MCArchive_T = MCArchive$;
            interface MCArchive extends MCArchive_T {
            }
            interface RouteInfo_S {
            }
            interface RouteInfo_C extends RouteInfo_S {
                /**
                 * 构造方法
                 * @param routeKey
                 */
                new(routeKey:string):RouteInfo;
            }
            interface RouteInfo$ {
                /**
                 * 当前路由
                 * @param routeKey
                 */
                setRouteKey(routeKey:string):void;
                /**
                 * 设置当前路由的归档路由列表
                 * @param archiveInfo
                 */
                setArchiveInfo(archiveInfo:$.java.util.List):void;
                /**
                 * 当前路由的归档路由列表
                 * @return
                 */
                getArchiveInfo():$.java.util.List;
                /**
                 * 当前路由
                 * @return
                 */
                getRouteKey():string;
            }
            type RouteInfo_T = RouteInfo$;
            interface RouteInfo extends RouteInfo_T {
            }
            class ArchiveRouteType {
                static readonly ES:kd.bos.db.archive.ArchiveRouteType;
                static readonly DB:kd.bos.db.archive.ArchiveRouteType;
                static values():kd.bos.db.archive.ArchiveRouteType[];
                static valueOf(arg0:string):kd.bos.db.archive.ArchiveRouteType;
                static from(key:string):kd.bos.db.archive.ArchiveRouteType;
                getKey():string;
                getValue():string;
            }
        }
        namespace kd.bos.db.splittingread{
            interface RW_S {
            }
            interface RW_C extends RW_S {
            }
            interface RW$ {
                /**
                 * 判断当前线程是否已经存在读写上下文
                 *
                 * @return true=已存在，false=不存在
                 */
                hasExist():boolean;
                /**
                 * 创建写优先上下文，该接口创建不受读写分离配置控制，强制使用写库优先
                 *
                 * @return 写库优先上下文，返回值不会为空
                 */
                createWriteFirst():RWContext;
                /**
                 * 创建读写上下文，该上下文受到读写分离配置控制，配置为从库优先时查询优先使用从库，配置为主库优先时查询优先使用主库
                 *
                 * @param key 自定义key
                 * @return 读写控制上下文，返回值不会为空
                 */
                create(key:string):RWContext;
            }
            type RW_T = RW$;
            interface RW extends RW_T {
            }
            interface RWContext_S {
            }
            type RWContext_ST = $.java.lang.AutoCloseable & RWContext_S;
            interface RWContext_C extends RWContext_ST {
            }
            interface RWContext$ {
            }
            type RWContext_T = $.java.lang.AutoCloseable & RWContext$;
            interface RWContext extends RWContext_T {
            }
        }
        namespace kd.bos.db.tx{
            interface TXHandle_S {
                /**
                 * 当前事务句柄。
                 * @return TXHandle
                 */
                get():TXHandle;
            }
            type TXHandle_ST = $.java.lang.AutoCloseable & TXHandle_S;
            interface TXHandle_C extends TXHandle_ST {
                new():TXHandle;
            }
            interface TXHandle$ {
                /**
                 * 标志回滚。
                 */
                markRollback():void;
                /**
                 * 是否回滚。
                 * @return true|false
                 */
                isRollback():boolean;
                /**
                 * 事务提交。
                 */
                commit():void;
                /**
                 * 设置事务回滚。
                 * @param rollback
                 * @return TXHandle
                 */
                setRollback(rollback:boolean):this;
                /**
                 * 获取事务隔离级别。
                 * @reurn Propagation
                 */
                getPropagation():Propagation;
            }
            type TXHandle_T = $.java.lang.AutoCloseable & TXHandle$;
            interface TXHandle extends TXHandle_T {
            }
            class Propagation {
                static readonly REQUIRED:kd.bos.db.tx.Propagation;
                static readonly REQUIRES_NEW:kd.bos.db.tx.Propagation;
                static readonly NESTED:kd.bos.db.tx.Propagation;
                static readonly NOT_SUPPORTED:kd.bos.db.tx.Propagation;
                static readonly SUPPORTS:kd.bos.db.tx.Propagation;
                static values():kd.bos.db.tx.Propagation[];
                static valueOf(arg0:string):kd.bos.db.tx.Propagation;
            }
            interface TX_S {
                /**
                 * 嵌套事务。
                 * @param tag 事务标识，格式：应用_表单_功能，用于日志监控，当性能出现问题时可快速定位。
                 * @return TXHandle
                 */
                nested(tag:string):TXHandle;
                /**
                 * 获取事务隔离级别。
                 * @return Propagation
                 */
                getPropagation():Propagation;
                /**
                 * 若当前已有事务，则使用当前事务，否则开启新事务。
                 * @param tag 事务标识，格式：应用_表单_功能，用于日志监控，当性能出现问题时可快速定位。
                 * @return TXHandle
                 */
                required(tag:string):TXHandle;
                /**
                 * 不需要事务。
                 * @param tag 事务标识，格式：应用_表单_功能，用于日志监控，当性能出现问题时可快速定位。
                 * @return TXHandle
                 */
                notSupported(tag:string):TXHandle;
                /**
                 * 开启新事务
                 * @param tag 事务标识，格式：应用_表单_功能，用于日志监控，当性能出现问题时可快速定位。
                 * @return TXHandle
                 */
                requiresNew(tag:string):TXHandle;
                /**
                 * 添加事务提交监听器。
                 * @param 提交监听器
                 */
                addCommitListener(cl:CommitListener):void;
            }
            interface TX_C extends TX_S {
                new():TX;
            }
            interface TX$ {
            }
            type TX_T = TX$;
            interface TX extends TX_T {
            }
            interface CommitListener_S {
            }
            interface CommitListener_C extends CommitListener_S {
            }
            interface CommitListener$ {
                /**
                 * 回滚处理。<br>
                 * 在这里不要访问数据库，如果要，请重载onEnded方法。
                 */
                onRollbacked?():void;
                /**
                 * 事务结束处理。
                 * @param rollbacked 回滚标识。
                 */
                onEnded?(rollbacked:boolean):void;
                /**
                 * 提交时处理。<br>
                 * 在这里不要访问数据库，如果要，请重载onEnded方法。
                 */
                onCommitted?():void;
                /**
                 * 回滚前处理。
                 */
                preRollback?():void;
                /**
                 * 提交前处理。
                 */
                preCommit?():void;
            }
            type CommitListener_T = CommitListener$;
            interface CommitListener extends CommitListener_T {
            }
        }
        namespace kd.bos.dbversion{
            interface IndustryVersionInfo_S {
            }
            interface IndustryVersionInfo_C extends IndustryVersionInfo_S {
                new():IndustryVersionInfo;
                new(productNumber:string,isv:string,version:string):IndustryVersionInfo;
            }
            interface IndustryVersionInfo$ {
                setUpgradeTime(upgradeTime:string):void;
                getProductType():number;
                setProductType(productType:number):void;
                getIsv():string;
                setId(id:long):void;
                getVerCaption():$.java.util.List;
                getVersion():string;
                getUpgradeTime():string;
                setVersion(version:string):void;
                setVerCaption(verCaption:$.java.util.List):void;
                getProductNumber():string;
                getProductName():string;
                setProductNumber(productNumber:string):void;
                setProductName(productName:string):void;
                getId():long;
                setIsv(isv:string):void;
            }
            type IndustryVersionInfo_T = IndustryVersionInfo$;
            interface IndustryVersionInfo extends IndustryVersionInfo_T {
            }
            interface IndustryVersionService_S {
                /**
                 * 根据产品编码+开发商获取补丁版本号信息
                 * 产品编码 + 开发商为唯一标识
                 * @param productNumber
                 * @param isv
                 * @return
                 */
                getVersion(productNumber:string,isv:string):IndustryVersionInfo;
                /**
                 * 获取所有产品的显示版本信息
                 * @return
                 */
                getCaptionInfos():$.java.util.List;
                /**
                 * 根据开发商标识，显示版本产品名称获取显示版本号
                 * @param isv
                 * @param productName
                 * @return
                 */
                getCaption(isv:string,productName:string):$.java.util.List;
                /**
                 * 清除行业版本缓存
                 * @param productNumber
                 * @param isv
                 */
                clearCache(productNumber:string,isv:string):void;
                /**
                 * 从数据查询苍穹、星瀚/星空（最大的）版本号
                 * @param productPrefix
                 * @return
                 */
                getVersionInfosFromDB(productPrefix:string):$.java.util.List;
                /**
                 * 获取所有产品的版本信息
                 * @return
                 */
                getVersionInfos():$.java.util.List;
                /**
                 * 获取苍穹平台和星空的产品的版本信息
                 * @return
                 */
                getGalaxyVersionInfos():$.java.util.List;
                /**
                 * 从数据查询苍穹、星瀚/星空所有版本号
                 * @param productPrefix
                 * @return
                 */
                getAllVersionInfosFromDB(productPrefix:string):$.java.util.Map;
                /**
                 * 根据产品编码获取补丁版本号信息
                 * 产品编码 + 开发商为唯一标识
                 * @param productNumber
                 * @return
                 */
                getVersion(productNumber:string):$.java.util.List;
                /**
                 * 根据补丁产品编码，开发商标识，显示版本产品名称获取显示版本号
                 * @param productNumber
                 * @param isv
                 * @param productName
                 * @return
                 */
                getCaption(productNumber:string,isv:string,productName:string):IndustryVersionInfo;
                /**
                 * 清除显示版本缓存
                 * @param productNumber
                 * @param isv
                 */
                clearCache(productNumber:string,isv:string,productName:string):void;
                /**
                 * 跟据产品名称获取显示版本信息
                 * @param productName
                 * @return
                 */
                getCaption(productName:string):$.java.util.List;
            }
            interface IndustryVersionService_C extends IndustryVersionService_S {
                new():IndustryVersionService;
            }
            interface IndustryVersionService$ {
            }
            type IndustryVersionService_T = IndustryVersionService$;
            interface IndustryVersionService extends IndustryVersionService_T {
            }
        }
        namespace kd.bos.dc.api.model{
            interface Account_S {
            }
            type Account_ST = $.java.io.Serializable & Account_S;
            interface Account_C extends Account_ST {
                new():Account;
            }
            interface Account$ {
                getYzjWeb():string;
                isDtsEnable():boolean;
                setVersion(arg0:string):void;
                getEid():string;
                setAccountName(arg0:string):void;
                setDocDomain(arg0:string):void;
                setDtsEnable(arg0:boolean):void;
                setSplittingRead(arg0:boolean):void;
                getSsoPlugin():string;
                getAccountNumber():string;
                setYzjOrgNo(arg0:string):void;
                getDBInstanceList(arg0:boolean):$.java.util.List;
                setDBInstanceList(arg0:$.java.util.List):void;
                getTenantId():string;
                setYzjWeb(arg0:string):void;
                setEid(arg0:string):void;
                isSplittingRead():boolean;
                getDefaultDBInstance():DBInstance;
                setAccountNumber(arg0:string):void;
                getAccountName():string;
                getAllSourceTypes():string[];
                setSsoPlugin(arg0:string):void;
                getKeyFile():string;
                getDBInstanceList():$.java.util.List;
                getVersion():string;
                getYzjUrl():string;
                setUserSourceType(arg0:string):void;
                getAccountId():string;
                setDefault(arg0:string):void;
                setProductVersion(arg0:string):void;
                setTenantId(arg0:string):void;
                getDocDomain():string;
                getDBInstanceByRouteKey(arg0:string):DBInstance;
                setYzjUrl(arg0:string):void;
                setKeyFile(arg0:string):void;
                setDefault(arg0:boolean):void;
                getUserSourceTypeOutput():string;
                isDefault():boolean;
                getProductVersion():string;
                getYzjOrgNo():string;
                setAccountId(arg0:string):void;
            }
            type Account_T = $.java.io.Serializable & Account$;
            interface Account extends Account_T {
            }
            interface DBInstance_S {
            }
            type DBInstance_ST = $.java.io.Serializable & DBInstance_S;
            interface DBInstance_C extends DBInstance_ST {
                new():DBInstance;
            }
            interface DBInstance$ {
                getDefaultProperties():$.java.util.Properties;
                getDbuser():string;
                setDbport(arg0:string):void;
                setDbuser(arg0:string):void;
                getRouteKey():string;
                setDbtype(arg0:string):void;
                setClusterDbUrl(arg0:string):void;
                isReadOnly():boolean;
                setDbip(arg0:string):void;
                getDbip():string;
                copy():this;
                getLoadFactor():number;
                setCluster(arg0:boolean):void;
                setDbSchema(arg0:string):void;
                setDbpassword(arg0:string):void;
                getDbpassword():string;
                setLoadFactor(arg0:number):void;
                setReadOnly(arg0:string):void;
                getDbport():string;
                getReadOnly():string;
                getDBInsatnce():string;
                isCluster():boolean;
                setRouteKey(arg0:string):void;
                getDbSchema():string;
                setDefaultProperties(arg0:$.java.util.Properties):void;
                getDbtype():string;
                setDBInsatnce(arg0:string):void;
                getClusterDbUrl():string;
            }
            type DBInstance_T = $.java.io.Serializable & DBInstance$;
            interface DBInstance extends DBInstance_T {
            }
        }
        namespace kd.bos.designer.botp{
            interface FormulaEdit_S {
            }
            type FormulaEdit_ST = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & FormulaEdit_S;
            interface FormulaEdit_C extends FormulaEdit_ST {
                new():FormulaEdit;
            }
            interface FormulaEdit$ {
            }
            type FormulaEdit_T = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & FormulaEdit$;
            interface FormulaEdit extends FormulaEdit_T {
            }
            interface FormulaEditHelper_S {
                /**
                 * 点击按钮时，获取条件编辑文本框的当前焦点位置
                 *
                 * @param view 表单
                 * @param buttonKey 点击的按钮
                 * @param textFieldKey 需要获取焦点位置的文本字段
                 * @return
                 */
                getCursorIndex(view:$.kd.bos.form.IFormView,buttonKey:string,textFieldKey:string):number;
                /**
                 * 向字符串指定位置，插入内容
                 *
                 * @param pStr 原字符串
                 * @param str 插入内容
                 * @param pos 位置
                 * @return
                 */
                insertCharacter(pStr:string,str:string,pos:number):string;
                /**
                 * 设置文本字段焦点位置
                 *
                 * @param view
                 * @param textFieldKey
                 * @param focusIndex
                 */
                setCursorIndex(view:$.kd.bos.form.IFormView,textFieldKey:string,focusIndex:number):void;
                /**
                 * 回退：从文本字段焦点位置，向前删除一个变量
                 *
                 * @param view
                 * @param buttonKey
                 * @param textFieldKey
                 * @remark
                 * 本函数原理：
                 * 到表达式中，搜索操作符的最后位置，把表达式分割为两部分，后面的部分，需从表达式中删除掉
                 */
                backSpaceExpression(view:$.kd.bos.form.IFormView,buttonKey:string,textFieldKey:string):void;
                /**
                 * 向文本字段中，插入字符
                 *
                 * @param view 表单
                 * @param buttonKey 点击的按钮、树控件key：需要据此获取文本字段的焦点位置，以便把内容插入其中
                 * @param textFieldKey 文本字段
                 * @param str 字符
                 */
                insertExpression(view:$.kd.bos.form.IFormView,buttonKey:string,textFieldKey:string,str:string):void;
            }
            interface FormulaEditHelper_C extends FormulaEditHelper_S {
                new():FormulaEditHelper;
            }
            interface FormulaEditHelper$ {
            }
            type FormulaEditHelper_T = FormulaEditHelper$;
            interface FormulaEditHelper extends FormulaEditHelper_T {
            }
        }
        namespace kd.bos.designer.dao{
            interface IFormTemplate_S {
            }
            interface IFormTemplate_C extends IFormTemplate_S {
            }
            interface IFormTemplate$ {
            }
            type IFormTemplate_T = IFormTemplate$;
            interface IFormTemplate extends IFormTemplate_T {
            }
            interface DesignerData_S {
            }
            interface DesignerData_C extends DesignerData_S {
                new():DesignerData;
            }
            interface DesignerData$ {
            }
            type DesignerData_T = DesignerData$;
            interface DesignerData extends DesignerData_T {
            }
            interface FormTemplateFactory_S {
            }
            interface FormTemplateFactory_C extends FormTemplateFactory_S {
                new():FormTemplateFactory;
            }
            interface FormTemplateFactory$ {
            }
            type FormTemplateFactory_T = FormTemplateFactory$;
            interface FormTemplateFactory extends FormTemplateFactory_T {
            }
        }
        namespace kd.bos.designer.earlywarn.utils{
            interface MulilangConfig_S {
            }
            type MulilangConfig_ST = $.java.io.Serializable & MulilangConfig_S;
            interface MulilangConfig_C extends MulilangConfig_ST {
                new():MulilangConfig;
            }
            interface MulilangConfig$ {
                getMergeContent():string;
                setLangType(langType:string):void;
                setMessageContent(messageContent:kd.bos.entity.earlywarn.warnschedule.MessageContent):void;
                getMessageContent():kd.bos.entity.earlywarn.warnschedule.MessageContent;
                getSingleContent():string;
                copy():this;
                setMergeContent(mergeContent:string):void;
                getLangType():string;
                setTitle(title:string):void;
                getTitle():string;
                setSingleContent(singleContent:string):void;
            }
            type MulilangConfig_T = $.java.io.Serializable & MulilangConfig$;
            interface MulilangConfig extends MulilangConfig_T {
            }
        }
        namespace kd.bos.designer.property.report{
            interface DSField_S {
            }
            type DSField_ST = $.java.io.Serializable & DSField_S;
            interface DSField_C extends DSField_ST {
                new():DSField;
            }
            interface DSField$ {
            }
            type DSField_T = $.java.io.Serializable & DSField$;
            interface DSField extends DSField_T {
            }
        }
        namespace kd.bos.designer.query{
            interface QueryEntityParseHelper_S {
            }
            interface QueryEntityParseHelper_C extends QueryEntityParseHelper_S {
                new():QueryEntityParseHelper;
            }
            interface QueryEntityParseHelper$ {
            }
            type QueryEntityParseHelper_T = QueryEntityParseHelper$;
            interface QueryEntityParseHelper extends QueryEntityParseHelper_T {
            }
            interface QueryEntityTreeNode_S {
            }
            interface QueryEntityTreeNode_C extends QueryEntityTreeNode_S {
                new():QueryEntityTreeNode;
            }
            interface QueryEntityTreeNode$ {
            }
            type QueryEntityTreeNode_T = QueryEntityTreeNode$;
            interface QueryEntityTreeNode extends QueryEntityTreeNode_T {
            }
            interface QueryMetadataHelper_S {
            }
            interface QueryMetadataHelper_C extends QueryMetadataHelper_S {
                new():QueryMetadataHelper;
            }
            interface QueryMetadataHelper$ {
            }
            type QueryMetadataHelper_T = QueryMetadataHelper$;
            interface QueryMetadataHelper extends QueryMetadataHelper_T {
            }
            interface QueryDynSourceValid_S {
            }
            interface QueryDynSourceValid_C extends QueryDynSourceValid_S {
                new():QueryDynSourceValid;
            }
            interface QueryDynSourceValid$ {
            }
            type QueryDynSourceValid_T = QueryDynSourceValid$;
            interface QueryDynSourceValid extends QueryDynSourceValid_T {
            }
            class ModelType {
                static readonly List:kd.bos.designer.query.ModelType;
                static readonly Form:kd.bos.designer.query.ModelType;
                static valueOf(arg0:string):kd.bos.designer.query.ModelType;
                static values():kd.bos.designer.query.ModelType[];
                /**
                 * 获取展示风格值
                 *
                 * @return
                 */
                getValue():number;
            }
            interface QueryEntityTreeBuildParameter_S {
            }
            interface QueryEntityTreeBuildParameter_C extends QueryEntityTreeBuildParameter_S {
                /**
                 * 构造函数：不限实体、不限类型，适用于构建全字段清单
                 *
                 * @param mainType
                 */
                new(mainType:$.kd.bos.entity.MainEntityType):QueryEntityTreeBuildParameter;
                /**
                 * 构造函数：不限实体、不限类型，适用于构建全字段清单
                 *
                 * @param mainType
                 */
                new(mainType:$.kd.bos.entity.MainEntityType,queryEntityList:$.java.util.List):QueryEntityTreeBuildParameter;
                /**
                 * 构造函数：限定实体，字段类型，找同类型的字段，或者派生子类型字段
                 *
                 * @param mainType 主实体类型
                 * @param selectedEntity 实体字段标识集合
                 * @param matchedClassType
                 */
                new(mainType:$.kd.bos.entity.MainEntityType,selectedEntity:$.java.util.HashSet,matchedClassType:$.java.lang.Class):QueryEntityTreeBuildParameter;
                /**
                 * 构造函数：限定实体、源字段，找与源字段类型匹配的字段清单
                 *
                 * @param mainType 主实体类型
                 * @param selectedEntity 实体字段标识集合
                 * @param matchedProperty 实体属性对象
                 */
                new(mainType:$.kd.bos.entity.MainEntityType,selectedEntity:$.java.util.HashSet,matchedProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):QueryEntityTreeBuildParameter;
            }
            interface QueryEntityTreeBuildParameter$ {
            }
            type QueryEntityTreeBuildParameter_T = QueryEntityTreeBuildParameter$;
            interface QueryEntityTreeBuildParameter extends QueryEntityTreeBuildParameter_T {
            }
            interface QueryDynSourcePlugIn_S {
            }
            type QueryDynSourcePlugIn_ST = $.kd.bos.base.AbstractBasePlugIn & $.kd.bos.form.control.events.CellClickListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TabSelectListener & QueryDynSourcePlugIn_S;
            interface QueryDynSourcePlugIn_C extends QueryDynSourcePlugIn_ST {
                new():QueryDynSourcePlugIn;
            }
            interface QueryDynSourcePlugIn$ {
            }
            type QueryDynSourcePlugIn_T = $.kd.bos.base.AbstractBasePlugIn & $.kd.bos.form.control.events.CellClickListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TabSelectListener & QueryDynSourcePlugIn$;
            interface QueryDynSourcePlugIn extends QueryDynSourcePlugIn_T {
            }
            interface ReportComboItemPlugin_S {
            }
            type ReportComboItemPlugin_ST = $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & ReportComboItemPlugin_S;
            interface ReportComboItemPlugin_C extends ReportComboItemPlugin_ST {
                new():ReportComboItemPlugin;
            }
            interface ReportComboItemPlugin$ {
            }
            type ReportComboItemPlugin_T = $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & ReportComboItemPlugin$;
            interface ReportComboItemPlugin extends ReportComboItemPlugin_T {
            }
            interface QuerySelectFieldList_S {
            }
            type QuerySelectFieldList_ST = $.kd.bos.form.control.events.TreeNodeCheckListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & QuerySelectFieldList_S;
            interface QuerySelectFieldList_C extends QuerySelectFieldList_ST {
                new():QuerySelectFieldList;
            }
            interface QuerySelectFieldList$ {
            }
            type QuerySelectFieldList_T = $.kd.bos.form.control.events.TreeNodeCheckListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & QuerySelectFieldList$;
            interface QuerySelectFieldList extends QuerySelectFieldList_T {
            }
            interface QueryConditionSelectFieldList_S {
            }
            type QueryConditionSelectFieldList_ST = $.kd.bos.form.control.events.TreeNodeCheckListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & QueryConditionSelectFieldList_S;
            interface QueryConditionSelectFieldList_C extends QueryConditionSelectFieldList_ST {
                new():QueryConditionSelectFieldList;
            }
            interface QueryConditionSelectFieldList$ {
            }
            type QueryConditionSelectFieldList_T = $.kd.bos.form.control.events.TreeNodeCheckListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & QueryConditionSelectFieldList$;
            interface QueryConditionSelectFieldList extends QueryConditionSelectFieldList_T {
            }
            interface QueryTreeListPlugin_S {
            }
            type QueryTreeListPlugin_ST = $.kd.bos.form.control.events.ClickListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.list.plugin.StandardTreeListPlugin & QueryTreeListPlugin_S;
            interface QueryTreeListPlugin_C extends QueryTreeListPlugin_ST {
                new():QueryTreeListPlugin;
            }
            interface QueryTreeListPlugin$ {
            }
            type QueryTreeListPlugin_T = $.kd.bos.form.control.events.ClickListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.list.plugin.StandardTreeListPlugin & QueryTreeListPlugin$;
            interface QueryTreeListPlugin extends QueryTreeListPlugin_T {
            }
        }
        namespace kd.bos.devportal.api{
            interface DevPortalServiceResult_S {
            }
            type DevPortalServiceResult_ST = $.java.io.Serializable & DevPortalServiceResult_S;
            interface DevPortalServiceResult_C extends DevPortalServiceResult_ST {
                new(success:boolean,code:string,message:string):DevPortalServiceResult;
                new(arg0:boolean,arg1:string,arg2:string,arg3:any):DevPortalServiceResult;
            }
            interface DevPortalServiceResult$ {
                getMessage():string;
                getCode():string;
                getSuccess():boolean;
                getData():any;
            }
            type DevPortalServiceResult_T = $.java.io.Serializable & DevPortalServiceResult$;
            interface DevPortalServiceResult extends DevPortalServiceResult_T {
            }
        }
        namespace kd.bos.devportal.common.util{
            interface SubSysTreeBuilder_S {
            }
            interface SubSysTreeBuilder_C extends SubSysTreeBuilder_S {
                /**
                 * 子系统树无参构造函数
                 */
                new():SubSysTreeBuilder;
                /**
                 * 子系统树构造函数
                 * @param bizCloudIds
                 * @param bizAppIds
                 * @param industryId
                 */
                new(bizCloudIds:$.java.util.List,bizAppIds:$.java.util.List,industryId:string):SubSysTreeBuilder;
            }
            interface SubSysTreeBuilder$ {
                /**
                 * 设置行业属性
                 * @param industryId
                 */
                setIndustryId(industryId:string):void;
                /**
                 * 获取叶子节点类型
                 * @return
                 */
                getLeafType():TreeLeafType;
                /**
                 * 获取指定业务应用范围id集合
                 * @return
                 */
                getBizAppIds():$.java.util.List;
                /**
                 * 设置叶子节点类型
                 * @param leafType
                 */
                setLeafType(leafType:TreeLeafType):void;
                /**
                 * 设置根节点
                 * @param rootNodeId
                 */
                setRootNodeId(rootNodeId:string):void;
                /**
                 * 是否开启管理员应用范围过滤
                 * @return
                 */
                isAdminCtrl():boolean;
                /**
                 * 设置是否获取运行时的云、应用、菜单信息
                 * @param runtime
                 */
                setRuntime(runtime:boolean):void;
                /**
                 * 设置是否开启管理员应用范围过滤
                 * @param adminCtrl
                 */
                setAdminCtrl(adminCtrl:boolean):void;
                /**
                 * 设置是否只构建启用的应用
                 * @param onlyDeployed
                 */
                setOnlyDeployed(onlyDeployed:boolean):void;
                /**
                 * 子系统树执行构建方法
                 * @return 按传入参数返回一颗树
                 */
                build():$.kd.bos.entity.tree.TreeNode;
                /**
                 * 是否只构建启用的应用
                 * @return
                 */
                isOnlyDeployed():boolean;
                /**
                 * 设置指定业务应用范围id集合
                 * @param bizAppIds
                 */
                setBizAppIds(bizAppIds:$.java.util.List):void;
                /**
                 * 获取行业属性
                 * @return
                 */
                getIndustryId():string;
                /**
                 * 是否获取运行时的云、应用、菜单信息
                 * @return
                 */
                isRuntime():boolean;
                /**
                 * 是否只构建可见的应用
                 * @return
                 */
                isOnlyVisible():boolean;
                /**
                 * 获取指定业务云范围id集合
                 * @return
                 */
                getBizCloudIds():$.java.util.List;
                /**
                 * 获取根节点
                 * @return
                 */
                getRootNodeId():string;
                /**
                 * 设置指定业务云范围id集合
                 * @param bizCloudIds
                 */
                setBizCloudIds(bizCloudIds:$.java.util.List):void;
                /**
                 * 设置是否只构建可见的应用
                 * @param onlyVisible
                 */
                setOnlyVisible(onlyVisible:boolean):void;
            }
            type SubSysTreeBuilder_T = SubSysTreeBuilder$;
            interface SubSysTreeBuilder extends SubSysTreeBuilder_T {
            }
            class TreeLeafType {
                static readonly App:kd.bos.devportal.common.util.TreeLeafType;
                static readonly Function:kd.bos.devportal.common.util.TreeLeafType;
                static readonly Menu:kd.bos.devportal.common.util.TreeLeafType;
                static readonly Cloud:kd.bos.devportal.common.util.TreeLeafType;
                static valueOf(arg0:string):kd.bos.devportal.common.util.TreeLeafType;
                static values():kd.bos.devportal.common.util.TreeLeafType[];
                /**
                 * @return 类型值
                 */
                getValue():string;
            }
            interface AppUtils_S {
            }
            interface AppUtils_C extends AppUtils_S {
                new():AppUtils;
            }
            interface AppUtils$ {
            }
            type AppUtils_T = AppUtils$;
            interface AppUtils extends AppUtils_T {
            }
        }
        namespace kd.bos.devportal.enums{
            class AuthorizeType {
                static readonly authorizeApp:kd.bos.devportal.enums.AuthorizeType;
                static readonly authorizeCloud:kd.bos.devportal.enums.AuthorizeType;
                static readonly authorizeAppAndCloud:kd.bos.devportal.enums.AuthorizeType;
                static values():kd.bos.devportal.enums.AuthorizeType[];
                static valueOf(arg0:string):kd.bos.devportal.enums.AuthorizeType;
            }
            class AssignPermMode {
                static readonly COVER:kd.bos.devportal.enums.AssignPermMode;
                static readonly APPEND:kd.bos.devportal.enums.AssignPermMode;
                static valueOf(arg0:string):kd.bos.devportal.enums.AssignPermMode;
                static values():kd.bos.devportal.enums.AssignPermMode[];
            }
        }
        namespace kd.bos.devportal.util{
            interface AppPackageUtil_S {
            }
            interface AppPackageUtil_C extends AppPackageUtil_S {
                new():AppPackageUtil;
            }
            interface AppPackageUtil$ {
            }
            type AppPackageUtil_T = AppPackageUtil$;
            interface AppPackageUtil extends AppPackageUtil_T {
            }
            interface DevportalUtil_S {
            }
            interface DevportalUtil_C extends DevportalUtil_S {
                new():DevportalUtil;
            }
            interface DevportalUtil$ {
            }
            type DevportalUtil_T = DevportalUtil$;
            interface DevportalUtil extends DevportalUtil_T {
            }
            interface AppPackageParam_S {
            }
            interface AppPackageParam_C extends AppPackageParam_S {
                new():AppPackageParam;
                new(checkIterator:boolean,bizAppIds:$.java.util.List):AppPackageParam;
            }
            interface AppPackageParam$ {
                isCheckIterator():boolean;
                setBizAppIds(bizAppIds:$.java.util.List):void;
                setCheckIterator(checkIterator:boolean):void;
                getBizAppIds():$.java.util.List;
            }
            type AppPackageParam_T = AppPackageParam$;
            interface AppPackageParam extends AppPackageParam_T {
            }
            interface PageBuilder_S {
            }
            interface PageBuilder_C extends PageBuilder_S {
                new():PageBuilder;
            }
            interface PageBuilder$ {
            }
            type PageBuilder_T = PageBuilder$;
            interface PageBuilder extends PageBuilder_T {
            }
            interface MetaDataUtil_S {
            }
            interface MetaDataUtil_C extends MetaDataUtil_S {
                new():MetaDataUtil;
            }
            interface MetaDataUtil$ {
            }
            type MetaDataUtil_T = MetaDataUtil$;
            interface MetaDataUtil extends MetaDataUtil_T {
            }
        }
        namespace kd.bos.dlock{
            interface DLockModule_S {
            }
            type DLockModule_ST = $.kd.sdk.module.Module & DLockModule_S;
            interface DLockModule_C extends DLockModule_ST {
                new():DLockModule;
            }
            interface DLockModule$ {
            }
            type DLockModule_T = $.kd.sdk.module.Module & DLockModule$;
            interface DLockModule extends DLockModule_T {
            }
            interface DLock_S {
                /**
                 * 分布式锁对象，不可重入。
                 *
                 * @param key  分布式锁的key值
                 * @param desc 描述信息
                 * @return 分布式锁对象
                 */
                create(key:string,desc:string):DLock;
                /**
                 * 分布式锁对象，显示指定具体Region(仅ZK模式下的分布式锁支持)，可重入(仅在本jvm范围内)。
                 * 与createReentrant接口的区别：通过指定region参数，可路由到对应配置的ZooKeeper集群，实现region维度的zk资源隔离
                 * 配置规则：需在配置中心(mc)中预先定义格式为`DLock.zookeeper.{regionName}=zk集群地址`的配置
                 * 示例：配置`DLock.zookeeper.testRegion=127.0.0.1:2181`后，传入region="testRegion"
                 *      即可使用127.0.0.1:2181的ZooKeeper服务创建分布式锁
                 *
                 * @param region 区域标识，用于选择对应的ZooKeeper集群，必须匹配配置中心中的预定义region名称
                 * @param key  分布式锁的key值
                 * @param desc 描述信息
                 * @return 分布式锁对象
                 */
                createReentrantWithRegion(region:string,key:string,desc:string):DLock;
                /**
                 * 分布式锁对象，显示指定具体Region(仅ZK模式下的分布式锁支持)，不可重入
                 * 与create接口的区别：通过指定region参数，可路由到对应配置的ZooKeeper集群，实现region维度的zk资源隔离
                 * 配置规则：需在配置中心(mc)中预先定义格式为`DLock.zookeeper.{regionName}=zk集群地址`的配置
                 * 示例：配置`DLock.zookeeper.testRegion=127.0.0.1:2181`后，传入region="testRegion"
                 *      即可使用127.0.0.1:2181的ZooKeeper服务创建分布式锁
                 *
                 * @param region 区域标识，用于选择对应的ZooKeeper集群，必须匹配配置中心中的预定义region名称
                 * @param key  分布式锁的key值
                 * @param desc 描述信息
                 * @return 分布式锁对象
                 */
                createWithRegion(region:string,key:string,desc:string):DLock;
                /**
                 * 分布式锁对象，可重入(仅在本jvm范围内)。
                 *
                 * @param key  分布式锁的key值
                 * @param desc 描述信息
                 * @return 分布式锁对象
                 */
                createReentrant(key:string,desc:string):DLock;
                /**
                 * 分布式锁对象，可重入(仅在本jvm范围内)。
                 *
                 * @param key 分布式锁的key值
                 * @return 分布式锁对象
                 */
                createReentrant(key:string):DLock;
                /**
                 * 分布式锁对象，显示指定具体Region(仅ZK模式下的分布式锁支持)，可重入(仅在本jvm范围内)。
                 * 与createReentrant接口的区别：通过指定region参数，可路由到对应配置的ZooKeeper集群，实现region维度的zk资源隔离
                 * 配置规则：需在配置中心(mc)中预先定义格式为`DLock.zookeeper.{regionName}=zk集群地址`的配置
                 * 示例：配置`DLock.zookeeper.testRegion=127.0.0.1:2181`后，传入region="testRegion"
                 *      即可使用127.0.0.1:2181的ZooKeeper服务创建分布式锁
                 *
                 * @param region 区域标识，用于选择对应的ZooKeeper集群，必须匹配配置中心中的预定义region名称
                 * @param key 分布式锁的key值
                 * @return 分布式锁对象
                 */
                createReentrantWithRegion(region:string,key:string):DLock;
                /**
                 * 分布式锁对象，显示指定具体Region(仅ZK模式下的分布式锁支持)，不可重入
                 * 与create接口的区别：通过指定region参数，可路由到对应配置的ZooKeeper集群，实现region维度的zk资源隔离
                 * 配置规则：需在配置中心(mc)中预先定义格式为`DLock.zookeeper.{regionName}=zk集群地址`的配置
                 * 示例：配置`DLock.zookeeper.testRegion=127.0.0.1:2181`后，传入region="testRegion"
                 *      即可使用127.0.0.1:2181的ZooKeeper服务创建分布式锁
                 *
                 * @param region 区域标识，用于选择对应的ZooKeeper集群，必须匹配配置中心中的预定义region名称
                 * @param key 分布式锁的key值
                 * @return 分布式锁对象
                 */
                createWithRegion(region:string,key:string):DLock;
                /**
                 * 分布式锁对象，不可重入。
                 *
                 * @param key 分布式锁的key值
                 * @return 分布式锁对象
                 */
                create(key:string):DLock;
            }
            type DLock_ST = $.java.lang.AutoCloseable & DLock_S;
            interface DLock_C extends DLock_ST {
            }
            interface DLock$ {
                /**
                 * 获取锁，一直等待，直到获取。
                 */
                lock():void;
                /**
                 * 释放锁
                 * 注意：tryLock建议在try中执行，unlock建议在finall块中执行
                 */
                unlock():void;
                /**
                 * 尝试获取锁，在timeoutMillis毫秒内获取到，返回true，否则返回false。
                 *
                 * @param timeoutMillis 最多等待的毫秒数
                 * @return 是否成功获取到锁true|false
                 */
                tryLock(timeoutMillis:long):boolean;
                /**
                 * 尝试获取锁，不等待，获取到返回true(无锁竞争的情况下必为true)，否则返回false。
                 */
                tryLock():boolean;
            }
            type DLock_T = $.java.lang.AutoCloseable & DLock$;
            interface DLock extends DLock_T {
            }
            interface DLockInfo_S {
            }
            interface DLockInfo_C extends DLockInfo_S {
            }
            interface DLockInfo$ {
                /**
                 * 持有锁的会话ID(zk client session)
                 */
                getOwner():string;
                /**
                 * 锁key，值在创建时传入。
                 */
                getKey():string;
                getConnectionUrl():string;
                /**
                 * 持有锁的线程名称
                 */
                getInstanceThread():string;
                /**
                 * 获取锁的申请(等待)者数量
                 */
                getWaitingLocks():number;
                /**
                 * 持有锁的微服务节点名称
                 */
                getInstance():string;
                /**
                 * 锁存储的路径(运维需要的信息)
                 */
                getStorePath():string;
                /**
                 * 锁描述信息，值在创建时传入。
                 */
                getDesc():string;
                /**
                 * 锁创建(申请到)的时间
                 */
                getCreateTime():Date;
            }
            type DLockInfo_T = DLockInfo$;
            interface DLockInfo extends DLockInfo_T {
            }
        }
        namespace kd.bos.dts{
            interface RowInfo_S {
            }
            type RowInfo_ST = $.java.io.Serializable & RowInfo_S;
            interface RowInfo_C extends RowInfo_ST {
                new():RowInfo;
            }
            interface RowInfo$ {
                getTimestamp():long;
                setTimestamp(timestamp:long):void;
                copyWithDataShared():this;
                getDatabase():string;
                setType(type_arg:string):void;
                getKey():string;
                setEntityNumber(entityNumber:string):void;
                setKey(key:any):void;
                getKeyObject():any;
                getData():$.java.util.Map;
                setTable(table:string):void;
                setDatabase(database:string):void;
                getType():string;
                getTable():string;
                getEntityNumber():string;
            }
            type RowInfo_T = $.java.io.Serializable & RowInfo$;
            interface RowInfo extends RowInfo_T {
            }
            interface DtsModule_S {
            }
            type DtsModule_ST = $.kd.sdk.module.Module & DtsModule_S;
            interface DtsModule_C extends DtsModule_ST {
                new():DtsModule;
            }
            interface DtsModule$ {
            }
            type DtsModule_T = $.kd.sdk.module.Module & DtsModule$;
            interface DtsModule extends DtsModule_T {
            }
        }
        namespace kd.bos.dts.business.spi{
            interface DtsBusinessType_S {
            }
            interface DtsBusinessType_C extends DtsBusinessType_S {
            }
            interface DtsBusinessType$ {
                /**
                 * 业务场景类型名称
                 *
                 * @return
                 */
                getBusinessTypeName():string;
                /**
                 * 业务场景类型编码
                 *
                 * @return
                 */
                getBusinessTypeCode():string;
                /**
                 * 描述
                 *
                 * @return
                 */
                getDecription?():string;
            }
            type DtsBusinessType_T = DtsBusinessType$;
            interface DtsBusinessType extends DtsBusinessType_T {
            }
        }
        namespace kd.bos.dts.configoperator{
            interface DtsConfigOperator_S {
                readonly DEAFULTDESTINATIONTYPE:string;
            }
            interface DtsConfigOperator_C extends DtsConfigOperator_S {
            }
            interface DtsConfigOperator$ {
                /**
                 * 删除数据同步配置
                 * @param entityNumber 实体编码
                 * @param businessType 业务类型
                 * @param region 目标地址标识
                 * @param mappingRule 映射规则标识
                 */
                deleteDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string):void;
                /**
                 * 是否正在全量同步/初始同步
                 *
                 * @param entityNumber
                 * @param region
                 * @param destinationType
                 * @param mappingRule
                 * @return
                 */
                isFullSync(entityNumber:string,region:string,destinationType:string,mappingRule:string):boolean;
                /**
                 * 是否存在配置快照
                 *
                 * @param entityNumber 实体编码
                 * @param region 目标地址标识
                 * @param businessType 业务类型
                 * @param mappingRule  映射规则标识
                 * @param destType 目标类型
                 */
                existsSyncConfigSnapshot(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):boolean;
                /**
                 * 删除同步同步配置
                 *
                 * @param entityNumber 实体编码
                 * @param region 目标地址标识
                 * @param businessType 业务类型
                 * @param mappingRule  映射规则标识
                 * @param destType 目标类型
                 */
                deleteDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):void;
                /**
                 * 启用数据同步配置
                 *
                 * @param entityNumber 实体编码
                 * @param region 目标地址标识
                 * @param businessType 业务类型
                 * @param mappingRule  映射规则标识
                 * @param destType 目标类型
                 */
                enableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):void;
                /**
                 * 禁用数据同步配置
                 * @param entityNumber 实体编码
                 * @param businessType 业务类型
                 * @param region 目标地址标识
                 * @param mappingRule 映射规则标识
                 */
                disableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string):void;
                /**
                 * 启动数据同步配置
                 * @param entityNumber 实体编码
                 * @param businessType 业务类型
                 * @param region 目标地址标识
                 * @param mappingRule 映射规则标识
                 */
                enableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string):void;
                /**
                 * 禁用数据同步配置
                 *
                 * @param entityNumber 实体编码
                 * @param region 目标地址标识
                 * @param businessType 业务类型
                 * @param mappingRule  映射规则标识
                 * @param destType 目标类型
                 */
                disableDtsConfig(entityNumber:string,businessType:string,region:string,mappingRule:string,destType:string):void;
                /**
                 * 是否存在配置快照
                 *
                 * @param entityNumber 实体编码
                 * @param region 目标地址标识
                 * @param businessType 业务类型
                 * @param mappingRule  映射规则标识
                 * @return
                 */
                existsSyncConfigSnapshot(entityNumber:string,businessType:string,region:string,mappingRule:string):boolean;
                /**
                 * 保存数据同步配置
                 * @param dtsConfigOperatorInfo 同步配置对象
                 */
                saveDtsConfig(dtsConfigOperatorInfo:DtsConfigOperatorInfo):void;
            }
            type DtsConfigOperator_T = DtsConfigOperator$;
            interface DtsConfigOperator extends DtsConfigOperator_T {
            }
            interface DtsConfigOperatorInfo_S {
            }
            type DtsConfigOperatorInfo_ST = $.java.io.Serializable & DtsConfigOperatorInfo_S;
            interface DtsConfigOperatorInfo_C extends DtsConfigOperatorInfo_ST {
                /**
                 * 构造同步配置对象
                 */
                new():DtsConfigOperatorInfo;
                /**
                 * 构造同步配置对象
                 * @param entityNumber 实体编码
                 * @param dtsDestType 目标地址类型
                 * @param region 目标地址标识
                 * @param businessType 业务类型
                 * @param mappingRule 映射规则
                 * @param entityFields 实体字段
                 * @param enable 是否启用
                 * @param timingSequence 时序字段
                 */
                new(entityNumber:string,dtsDestType:kd.bos.dts.enmu.DtsDestTypeEnum,region:string,businessType:string,mappingRule:string,entityFields:string[],enable:string,timingSequence:string):DtsConfigOperatorInfo;
            }
            interface DtsConfigOperatorInfo$ {
                /**
                 * 设置映射规则
                 * @param mappingRule
                 */
                setMappingRule(mappingRule:string):void;
                /**
                 * 设置目标地址标识
                 * @param region
                 */
                setRegion(region:string):void;
                /**
                 * 获取业务类型
                 * @return
                 */
                getBusinessType():string;
                /**
                 * 设置实体编码
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取映射规则
                 * @return
                 */
                getMappingRule():string;
                /**
                 * 获取目标地址类型
                 * @return
                 */
                getDtsDestType():kd.bos.dts.enmu.DtsDestTypeEnum;
                /**
                 * 设置时序字段
                 * @param timingSequence
                 */
                setTimingSequence(timingSequence:string):void;
                /**
                 * 获取启用状态
                 * @return 0禁用  1启用
                 */
                getEnable():string;
                /**
                 * 获取时序字段
                 * @return
                 */
                getTimingSequence():string;
                /**
                 * 设置同步字段
                 * @param entityFields
                 */
                setEntityFields(entityFields:string[]):void;
                /**
                 * 获取实体编码
                 * @return
                 */
                getEntityNumber():string;
                /**
                 * 设置目标地址类型
                 * @param dtsDestType
                 */
                setDtsDestType(dtsDestType:kd.bos.dts.enmu.DtsDestTypeEnum):void;
                /**
                 * 设置业务类型
                 * @param businessType
                 */
                setBusinessType(businessType:string):void;
                /**
                 * 获取目标地址标识
                 * @return
                 */
                getRegion():string;
                /**
                 * 设置启用状态
                 * @param enable 0禁用  1启用
                 */
                setEnable(enable:string):void;
                /**
                 * 获取同步字段
                 * @return
                 */
                getEntityFields():string[];
            }
            type DtsConfigOperatorInfo_T = $.java.io.Serializable & DtsConfigOperatorInfo$;
            interface DtsConfigOperatorInfo extends DtsConfigOperatorInfo_T {
            }
        }
        namespace kd.bos.dts.enmu{
            class DtsDestTypeEnum {
                static readonly FULLTEXT:kd.bos.dts.enmu.DtsDestTypeEnum;
                static readonly BUSINESSDB:kd.bos.dts.enmu.DtsDestTypeEnum;
                static readonly MONGODB:kd.bos.dts.enmu.DtsDestTypeEnum;
                static valueOf(arg0:string):kd.bos.dts.enmu.DtsDestTypeEnum;
                static from(key:string):kd.bos.dts.enmu.DtsDestTypeEnum;
                static values():kd.bos.dts.enmu.DtsDestTypeEnum[];
                getValue():string;
                getCode():string;
            }
        }
        namespace kd.bos.dts.es{
            interface Mapping_S {
            }
            interface Mapping_C extends Mapping_S {
            }
            interface Mapping$ {
                getKeyId(arg0:RowInfo):string;
                convert2Es(arg0:string,arg1:RowInfo):$.java.util.Map;
                getMultiEntity?():$.kd.bos.dts.multientity.MultiEntity;
                setRegion(arg0:string):void;
                deleteEntity?(arg0:string):void;
                endInit?(arg0:string,arg1:string):void;
                getESDataType():string;
                preHandle(arg0:$.java.util.List):$.java.util.List;
                checkTable?(arg0:string):boolean;
                getFieldStoredName(arg0:string,arg1:string):string;
                getIndexName(arg0:string):string;
                deleteEntityFileds?(arg0:string,arg1:$.java.util.List):void;
                initCreateEntityMeta?(arg0:string,arg1:$.java.util.List):void;
            }
            type Mapping_T = Mapping$;
            interface Mapping extends Mapping_T {
            }
        }
        namespace kd.bos.dts.impl.fulltext{
            interface Mapper_S {
            }
            type Mapper_ST = Mapper_S & kd.bos.dts.es.Mapping_S;
            interface Mapper_C extends Mapper_ST {
            }
            interface Mapper$ {
            }
            type Mapper_T = Mapper$ & kd.bos.dts.es.Mapping;
            interface Mapper extends Mapper_T {
            }
        }
        namespace kd.bos.dts.multientity{
            interface MultiEntity_S {
            }
            interface MultiEntity_C extends MultiEntity_S {
            }
            interface MultiEntity$ {
                /**
                 * 获取当前多实体查询的main实体
                 * @param entityNumber
                 * @return
                 */
                getMainEntityNumber(entityNumber:string):string;
                /**
                 * 指定编码是否为当前多实体查询的main实体
                 * @param entityNumber
                 * @return
                 */
                isMainEntity(entityNumber:string):boolean;
            }
            type MultiEntity_T = MultiEntity$;
            interface MultiEntity extends MultiEntity_T {
            }
        }
        namespace kd.bos.entity{
            class LittleKStatus {
                static readonly Failure:kd.bos.entity.LittleKStatus;
                static readonly Silent:kd.bos.entity.LittleKStatus;
                static readonly Processing:kd.bos.entity.LittleKStatus;
                static readonly Successful:kd.bos.entity.LittleKStatus;
                static readonly Float:kd.bos.entity.LittleKStatus;
                static readonly Welcome:kd.bos.entity.LittleKStatus;
                static values():kd.bos.entity.LittleKStatus[];
                static valueOf(arg0:string):kd.bos.entity.LittleKStatus;
                getStatus():string;
            }
            interface IIsvFlag_S {
            }
            interface IIsvFlag_C extends IIsvFlag_S {
            }
            interface IIsvFlag$ {
                setIsv(isv:string):void;
                getIsv():string;
            }
            type IIsvFlag_T = IIsvFlag$;
            interface IIsvFlag extends IIsvFlag_T {
            }
            interface LinkSetElement_S {
            }
            interface LinkSetElement_C extends LinkSetElement_S {
                new():LinkSetElement;
            }
            interface LinkSetElement$ {
                /**
                 * 设置业务流程跟踪表
                 */
                setTrackerTable(trackerTable:string):void;
                /**
                 * 反写快照表
                 * @return
                 */
                getWbSnapTable():string;
                /**
                 * 单据转换规则，界面配置控制插件
                 * @return
                 */
                getConvRulePlugIns():$.java.util.List;
                /**
                 * 设置各实体关联配置集合
                 */
                setItems(items:$.java.util.List):void;
                /**
                 * 设置反写快照表
                 */
                setWbSnapTable(wbSnapTable:string):void;
                /**
                 * 设置单据转换规则，界面配置控制插件
                 */
                setConvRulePlugIns(convRulePlugIns:$.java.util.List):void;
                /**
                 * 单据反写插件
                 *
                 * @return
                 * @remark
                 * 保存设计期元数据时，生成运行时插件元数据，直接插入到实体表格；
                 * 反写时，通过读取实体表格，加载反写插件
                 */
                getPlugIns():$.java.util.List;
                /**
                 * 设置单据反写插件
                 */
                setPlugIns(plugIns:$.java.util.List):void;
                /**
                 * 各实体关联配置集合
                 *
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 业务流程跟踪表
                 * @return
                 */
                getTrackerTable():string;
            }
            type LinkSetElement_T = LinkSetElement$;
            interface LinkSetElement extends LinkSetElement_T {
            }
            interface BillEntityType_S {
                readonly PKPropName:string;
            }
            type BillEntityType_ST = $.kd.bos.dataentity.entity.IBillEntityType & BillEntityType_S & MainEntityType_S;
            interface BillEntityType_C extends BillEntityType_ST {
                /**
                 * 初始化单据主实体
                 */
                new():BillEntityType;
            }
            interface BillEntityType$ {
                /**
                 * 获取字段billTypePara的值
                 * @return  billTypePara的值
                 */
                getBillTypePara():string;
                /**
                 * 获取单据默认布局
                 * @return
                 */
                getDefaultPageSetting():string;
                /**
                 * 获取单据状态
                 * @return 单据状态
                 */
                getBillStatus():string;
                /**
                 * 获取主业务组织
                 * @return 主业务组织
                 */
                getMainOrgProperty():kd.bos.entity.property.MainOrgProp;
                /**
                 * 设置单据编号
                 * @param billNo 单据编号
                 */
                setBillNo(billNo:string):void;
                /**
                 * 设置组织委托关系配置列表
                 * @param orgRelationConfigList
                 */
                setOrgRelationConfigList(orgRelationConfigList:$.java.util.Map):void;
                /**
                 * 设置单据类型
                 * @param billType 单据类型
                 */
                setBillType(billType:string):void;
                /**
                 * 设置单据参数
                 * @param billParameter 单据参数
                 */
                setBillParameter(billParameter:string):void;
                /**
                 * 设置单据移动端标识
                 * @param mobFormId
                 */
                setMobFormId(mobFormId:string):void;
                /**
                 * 设置签名字段
                 * @param signField
                 */
                setSignField(signField:$.java.util.List):void;
                /**
                 * 设置单据默认布局
                 * @param defaultPageSetting
                 */
                setDefaultPageSetting(defaultPageSetting:string):void;
                /**
                 * 设置单据实体编码
                 * @param entityTypeId 单据实体编码
                 */
                setEntityTypeId(entityTypeId:string):void;
                /**
                 * 获取签名字段
                 * @return List 签名字段集合
                 */
                getSignField():$.java.util.List;
                /**
                 * 获取组织委托关系配置列表
                 * @return
                 */
                getOrgRelationConfigList():$.java.util.Map;
                /**
                 * 将参数billTypePara的值赋给字段billTypePara
                 * @param billTypePara 单据参数
                 */
                setBillTypePara(billTypePara:string):void;
                /**
                 * 获取单据实体编码
                 * @return 单据实体编码
                 */
                getEntityTypeId():string;
                /**
                 * 设置禁用状态
                 * @param forbidStatus 禁用状态
                 */
                setForbidStatus(forbidStatus:string):void;
                /**
                 * 获取单据参数
                 * @return billParameter 单据参数
                 */
                getBillParameter():string;
                /**
                 * 设置单据关键字段
                 * @param billKeyField
                 */
                setBillKeyField(billKeyField:string):void;
                /**
                 * 获取单据类型
                 * @return 单据类型
                 */
                getBillType():string;
                /**
                 * 设置单据状态
                 * @param billStatus 单据状态
                 */
                setBillStatus(billStatus:string):void;
                /**
                 * 获取单据关键字段
                 * @return
                 */
                getBillKeyField():string;
                /**
                 * 获取禁用状态
                 * @return 禁用状态
                 */
                getForbidStatus():string;
            }
            type BillEntityType_T = $.kd.bos.dataentity.entity.IBillEntityType & BillEntityType$ & MainEntityType;
            interface BillEntityType extends BillEntityType_T {
            }
            class FeatureOption {
                static readonly ConvertTote:kd.bos.entity.FeatureOption;
                static readonly NotAllowDataPerm:kd.bos.entity.FeatureOption;
                static readonly Exportable:kd.bos.entity.FeatureOption;
                static readonly PrintSortAble:kd.bos.entity.FeatureOption;
                static readonly SeriesNewTote:kd.bos.entity.FeatureOption;
                static readonly BulkEditable:kd.bos.entity.FeatureOption;
                static readonly MultiFillable:kd.bos.entity.FeatureOption;
                static readonly ShowInWorkflow:kd.bos.entity.FeatureOption;
                static readonly F7BatchFill:kd.bos.entity.FeatureOption;
                static readonly Copyable:kd.bos.entity.FeatureOption;
                static readonly Allowvoucher:kd.bos.entity.FeatureOption;
                static readonly Importable:kd.bos.entity.FeatureOption;
                static readonly Printable:kd.bos.entity.FeatureOption;
                static values():kd.bos.entity.FeatureOption[];
                static valueOf(arg0:string):kd.bos.entity.FeatureOption;
                /**
                 * 获取当前功能选项的二进制位标志值
                 *
                 * <p>该数值为 2 的幂次方值，每个枚举实例对应一个独立的二进制位。
                 * 多个选项可通过位或运算组合：{@code Copyable.getValue() | Importable.getValue()}
                 *
                 * @return 当前选项的二进制位权值，用于构建功能组合标识
                 * @apiNote 新增枚举项时需确保数值严格遵循 2 的幂次递增规则，且不超过类注释中声明的最大值限制
                 */
                getValue():number;
            }
            interface TreeEntryType_S {
                readonly PARENT_ENTRYID_NAME:string;
            }
            type TreeEntryType_ST = EntryType_S & ITreeEntryType_S & TreeEntryType_S;
            interface TreeEntryType_C extends TreeEntryType_ST {
                new():TreeEntryType;
            }
            interface TreeEntryType$ {
            }
            type TreeEntryType_T = EntryType & ITreeEntryType & TreeEntryType$;
            interface TreeEntryType extends TreeEntryType_T {
            }
            interface IBaseColumn_S {
            }
            interface IBaseColumn_C extends IBaseColumn_S {
            }
            interface IBaseColumn$ {
            }
            type IBaseColumn_T = IBaseColumn$;
            interface IBaseColumn extends IBaseColumn_T {
            }
            interface NumberFormatProvider_S {
                readonly TIMEZONEFMTKEY:string;
                readonly COMBOFIELDSKEY:string;
                readonly COLFMTKEY:string;
                readonly UNITFMTKEY:string;
                readonly PRECISION:string;
                readonly SCALE:string;
                readonly SCALEFIELD:string;
                readonly CURRENCYFMTKEY:string;
                readonly NUMTYPE:string;
                readonly DECIMALFIELDSKEY:string;
            }
            interface NumberFormatProvider_C extends NumberFormatProvider_S {
                /**
                 * 构造函数
                 */
                new(initParam:NumberFormatInitParam):NumberFormatProvider;
                /**
                 * 构造函数
                 */
                new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection):NumberFormatProvider;
                /**
                 * 构造函数
                 */
                new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):NumberFormatProvider;
                /**
                 * 构造函数
                 */
                new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowStartIndex:number):NumberFormatProvider;
                /**
                 * 构造器, 直接传入 FormatObject
                 * 由于 FormatObject 的获取消耗性能, 在外部循环创建 NumberFormatProvider 时存在性能瓶颈, 这里使用参数传递. 外部可自行缓存 FormatObject
                 *
                 * @param fmtFields    格式化字段
                 * @param dataEntitys  实体集合
                 * @param dataEntity   实体
                 * @param formatObject 格式化对象
                 */
                new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,formatObject:kd.bos.entity.format.FormatObject):NumberFormatProvider;
                /**
                 * 构造器, 直接传入 isApplyMaterialPrecision
                 * 由于 isApplyMaterialPrecision 的获取消耗性能, 这里使用参数传递. 外部可自行缓存 isApplyMaterialPrecision
                 *
                 * @param fmtFields                格式化字段
                 * @param dataEntitys              实体集合
                 * @param dataEntity               实体
                 * @param isApplyMaterialPrecision
                 */
                new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,formatObject:kd.bos.entity.format.FormatObject,isApplyMaterialPrecision:boolean):NumberFormatProvider;
                /**
                 * 构造函数
                 */
                new(fmtFields:$.java.util.List,dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowStartIndex:number,isApplyMaterialPrecision:boolean):NumberFormatProvider;
            }
            interface NumberFormatProvider$ {
                /**
                 * 获取行格式信息
                 */
                getRowFmtInfo():$.java.util.Map;
                /**
                 * 获取时区格式
                 */
                getTimeZoneFmt():$.java.util.Map;
                /**
                 * 获取格式化精度
                 * @param rowData    数据字段所在行
                 * @param fmtRowData 币别/计量单位等控制字段所在行
                 */
                getFormatPrecision(scaleFieldName:string,rowData:$.kd.bos.dataentity.entity.DynamicObject,fmtRowData:$.kd.bos.dataentity.entity.DynamicObject):kd.bos.entity.datamodel.NumberPrecision;
                /**
                 * 获取单位格式
                 */
                getUnitfmt():$.java.util.Map;
                /**
                 * 设置需要进行格式化的字段
                 */
                setFmtFields(fmtFields:$.java.util.List):void;
                /**
                 * 获取需要进行格式化的字段
                 */
                getFmtFields():$.java.util.List;
                /**
                 * 获取列格式
                 */
                getColfmt():$.java.util.Map;
                /**
                 * 获取所有的字段与控制字段对应关系
                 */
                getFieldControlPropMap():$.java.util.Map;
                /**
                 * 获取所有小数字段集合
                 */
                getDecimalFieldMap():$.java.util.Map;
                /**
                 * 获取货币格式
                 */
                getCurrencyfmt():$.java.util.Map;
                /**
                 * 获取字段的格式化信息
                 */
                getFieldFmtInfo():$.java.util.Map;
                /**
                 * 获取格式化精度
                 * @param scaleFieldKey 货币编码或计量单位编码
                 * @param rowData       需要格式化的数据包
                 */
                getFormatPrecision(scaleFieldKey:string,rowData:$.kd.bos.dataentity.entity.DynamicObject):kd.bos.entity.datamodel.NumberPrecision;
                /**
                 * 获取所有行的格式化信息
                 * rowIdex -> (currencyfmt -> fmt)
                 * rowIdex -> (unitfmt -> fmt)
                 *
                 * @return
                 */
                getRowAllFmtInfo():$.java.util.Map;
            }
            type NumberFormatProvider_T = NumberFormatProvider$;
            interface NumberFormatProvider extends NumberFormatProvider_T {
            }
            interface BadgeInfo_S {
            }
            type BadgeInfo_ST = $.java.io.Serializable & BadgeInfo_S;
            interface BadgeInfo_C extends BadgeInfo_ST {
                new():BadgeInfo;
            }
            interface BadgeInfo$ {
                /**
                 * 设置数字显示的上限值，默认是99，超过时显示为 99+
                 * @param overflowCount
                 */
                setOverflowCount(overflowCount:number):void;
                /**
                 * 设置展示的数字
                 * @param count
                 */
                setCount(count:number):void;
                /**
                 * 设置不展示数字，只有一个小红点，默认是false
                 * @param dot
                 */
                setDot(dot:boolean):void;
                /**
                 * 设置自定义小圆点的颜色
                 * @param color
                 */
                setColor(color:string):void;
                /**
                 * 获取展示的数字
                 * @return
                 */
                getCount():number;
                /**
                 * 设置数值为0时，是否显示，默认是false
                 * @param showZero
                 */
                setShowZero(showZero:boolean):void;
                /**
                 * 获取数值为0时，是否显示，默认是false
                 * @return
                 */
                isShowZero():boolean;
                /**
                 * 获取自定义小圆点的内容
                 * @return
                 */
                getBadgeText():string;
                /**
                 * 获取数字显示的上限值，默认是99，超过时显示为 99+
                 * @return
                 */
                getOverflowCount():number;
                /**
                 * 获取自定义小圆点的颜色
                 * @return
                 */
                getColor():string;
                /**
                 * 设置自定义小圆点的内容
                 * @param badgeText
                 */
                setBadgeText(badgeText:string):void;
                /**
                 * 获取设置显示位置，[right，top]
                 * @return
                 */
                getOffset():string[];
                /**
                 * 获取不展示数字，只有一个小红点，默认是false
                 * @return
                 */
                isDot():boolean;
                /**
                 * 设置设置显示位置，[right，top]
                 * @param offset
                 */
                setOffset(offset:string[]):void;
            }
            type BadgeInfo_T = $.java.io.Serializable & BadgeInfo$;
            interface BadgeInfo extends BadgeInfo_T {
            }
            class ComboPropShowStyle {
                static readonly Title:kd.bos.entity.ComboPropShowStyle;
                static readonly Img:kd.bos.entity.ComboPropShowStyle;
                static valueOf(arg0:string):kd.bos.entity.ComboPropShowStyle;
                static values():kd.bos.entity.ComboPropShowStyle[];
                /**
                 * 获取下拉列表类型的 value 值
                 *
                 * @return
                 */
                getValue():number;
            }
            interface RefEntityType_S {
                readonly Empty:RefEntityType;
            }
            type RefEntityType_ST = BasedataEntityType_S & RefEntityType_S;
            interface RefEntityType_C extends RefEntityType_ST {
                new():RefEntityType;
            }
            interface RefEntityType$ {
                /**
                 * 设置引用基础资料编码
                 * @param refBaseEntityIds
                 */
                setRefBaseEntityIds(refBaseEntityIds:string):void;
                /**
                 * 填充引用实体
                 * @param types
                 */
                fillRefEntityTypes(types:$.java.util.Map):void;
                /**
                 * 获取引用基础资料编码
                 * @return
                 */
                getRefBaseEntityIds():string;
            }
            type RefEntityType_T = BasedataEntityType & RefEntityType$;
            interface RefEntityType extends RefEntityType_T {
            }
            interface LinkSetItemElement_S {
            }
            interface LinkSetItemElement_C extends LinkSetItemElement_S {
                new():LinkSetItemElement;
            }
            interface LinkSetItemElement$ {
                /**
                 * 设置控制字段，如果有多个控制字段，使用逗号隔开；
                 */
                setCtrlFldKeys(ctrlFldKeys:string):void;
                /**
                 * 对控制字段字符串进行拆分，分成多个独立的字段标识
                 * @return
                 */
                splitCtrlFldKeys():$.java.util.HashSet;
                /**
                 * 关联子实体的物理表格
                 * @return
                 */
                getTableName():string;
                /**
                 * 设置父实体Key，如单据体，关联子实体数据用于记录父实体每条数据的BOTP来源
                 */
                setParentEntityKey(parentEntityKey:string):void;
                /**
                 * 控制字段，如果有多个控制字段，使用逗号隔开；
                 * @return
                 * @remark
                 *
                 * 控制字段：
                 * 会详细记录从每条源单行上携带的数值，特别在合并下推时，记录了每条源单携带量，才能够准确反写；
                 * 否则，目标单数据行上，只有合并后的字段值，反写时，无法确定每条源单带了多少下来；
                 *
                 * 因此，通常把需要反写的字段，作为控制字段
                 */
                getCtrlFldKeys():string;
                /**
                 * 关联子实体Key，即LK实体标识
                 * @return
                 */
                getLinkEntityKey():string;
                /**
                 * 设置关联子实体的物理表格
                 */
                setTableName(tableName:string):void;
                /**
                 * 设置关联子实体Key，即LK实体标识
                 */
                setLinkEntityKey(linkEntityKey:string):void;
                /**
                 * 父实体Key，如单据体，关联子实体数据用于记录父实体每条数据的BOTP来源
                 * @return
                 */
                getParentEntityKey():string;
            }
            type LinkSetItemElement_T = LinkSetItemElement$;
            interface LinkSetItemElement extends LinkSetItemElement_T {
            }
            interface FlexEntityType_S {
            }
            type FlexEntityType_ST = FlexEntityType_S & MainEntityType_S;
            interface FlexEntityType_C extends FlexEntityType_ST {
                new():FlexEntityType;
            }
            interface FlexEntityType$ {
                /**
                 * 设置弹性域数据表单编码
                 * @param flexDataFormNumber 表单编码
                 */
                setFlexDataFormNumber(flexDataFormNumber:string):void;
                /**
                 * 设置弹性域维度的索引顺序
                 * @param propName 维度属性
                 * @param idx 索引号
                 */
                putIndex(propName:string,idx:number):void;
                /**
                 * 获取排序后的弹性域维度
                 * @return 排序后的弹性域维度
                 */
                getOrderProperties():$.java.util.List;
                /**
                 * 设置弹性域维度
                 * @param flexProperties 弹性域维度
                 */
                setFlexProperties(flexProperties:$.java.util.List):void;
                /**
                 * 获取弹性域数据的表单编码
                 * @return flexDataFormNumber 表单编码
                 */
                getFlexDataFormNumber():string;
                /**
                 * 获取弹性域维度
                 * @return flexProperties 弹性域维度
                 */
                getFlexProperties():$.java.util.List;
            }
            type FlexEntityType_T = FlexEntityType$ & MainEntityType;
            interface FlexEntityType extends FlexEntityType_T {
            }
            interface SubEntryType_S {
            }
            type SubEntryType_ST = $.kd.bos.dataentity.metadata.ISubEntryType & EntryType_S & SubEntryType_S;
            interface SubEntryType_C extends SubEntryType_ST {
                new():SubEntryType;
            }
            interface SubEntryType$ {
            }
            type SubEntryType_T = $.kd.bos.dataentity.metadata.ISubEntryType & EntryType & SubEntryType$;
            interface SubEntryType extends SubEntryType_T {
            }
            interface QueryEntityType_S {
            }
            type QueryEntityType_ST = BasedataEntityType_S & QueryEntityType_S;
            interface QueryEntityType_C extends QueryEntityType_ST {
                new():QueryEntityType;
            }
            interface QueryEntityType$ {
                /**
                 * 获取实体名称
                 */
                getEntityName():string;
                /**
                 * 设置实体名称
                 */
                setEntityName(entityName:string):void;
                /**
                 * 根据编辑实体别名获取编辑实体名，也就是实体编码
                 * 用于操作，和验权限
                 * @return
                 */
                getEditEntityName():string;
                /**
                 * 获取实体别名
                 */
                getEntityAlias():string;
                /**
                 * 获取过滤条件
                 */
                getQFilter():$.java.util.List;
                /**
                 * 查询列表调用，按查询条件取数，用于主键取数调用
                 * @param queryBuilder
                 * @param idFilters
                 * @param queryFileds
                 * @param isLimitCount
                 * @return
                 */
                getQueryDataSetByPK(queryBuilder:kd.bos.entity.list.QueryBuilder,idFilters:$.java.util.List,queryFileds:string,isLimitCount:boolean):$.kd.bos.algo.DataSet;
                /**
                 * 取总行数
                 * @param queryFileds
                 * @param qFilters
                 * @return
                 */
                getQueryDataCount(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[]):number;
                /**
                 * 设置实体别名
                 */
                setEntityAlias(entityAlias:string):void;
                /**
                 * 根据字段属性类型，拼装过滤属性字段值
                 * @return
                 */
                getJoinOnFilterValue(row:kd.bos.entity.mulentities.QSConditionRow):any[];
                /**
                 * 获取所有的关联实体
                 */
                getAllJoinEntityType():$.java.util.List;
                /**
                 * 按查询字段，过滤条件，排序，获取查询数据的数据集
                 * @param queryFileds 查询字段
                 * @param qFilters 过滤信息
                 * @param orderBys 排序字段，多个用,分隔
                 * @return
                 */
                getQueryDataSet(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[],orderBys:string):$.kd.bos.algo.DataSet;
                /**
                 * 设置关联实体
                 */
                setJoinEntitys(joinEntitys:$.java.util.List):void;
                /**
                 * 多实体编辑实体的别名
                 * @return
                 */
                getEditEntityAliasName():string;
                /**
                 * 获取关联实体
                 */
                getJoinEntitys():$.java.util.List;
                /**
                 * 获取where条件
                 */
                getWhereConditions():$.java.util.List;
                /**
                 * 获取排序字段
                 */
                getQuerySortFields():$.java.util.List;
                /**
                 * 查询列表调用，取总行数
                 * @param queryBuilder
                 * @param queryFileds
                 * @return
                 */
                getQueryDataCount(queryBuilder:kd.bos.entity.list.QueryBuilder,queryFileds:string):number;
                /**
                 * 添加排序字段
                 */
                addSelectField(selectField:kd.bos.entity.mulentities.QuerySortField):void;
                /**
                 * 添加查询字段
                 */
                addSelectField(selectField:kd.bos.entity.mulentities.QuerySelectField):void;
                /**
                 * 添加关联关系
                 */
                addQuerySourceJoinRelation(rel:kd.bos.entity.mulentities.QuerySourceJoinRelation):void;
                /**
                 * 获取关联关系
                 */
                getJoinRelations():$.java.util.List;
                /**
                 * 添加where条件
                 */
                addWhereCondition(qsConditionRow:kd.bos.entity.mulentities.QSConditionRow):void;
                /**
                 * 设置多实体编辑实体的别名
                 */
                setEditEntityAliasName(editEntityAliasName:string):void;
                /**
                 * 获取查询字段
                 */
                getSelectFields():$.java.util.List;
                /**
                 * 添加查询配置插件字段
                 */
                addQueryPlugInFields(queryPlugInField:kd.bos.entity.mulentities.QueryPlugInField):void;
                /**
                 * 按查询字段，过滤条件，排序，获取查询数据的数据集
                 * @param queryFileds 查询字段
                 * @param qFilters 过滤信息
                 * @param orderBys 排序字段，多个用,分隔
                 * @param isLimitCount 获取指定范围的数据 ，为 false 时 不限制范围
                 * @param start 开始行数
                 * @param limit 数量
                 * @return
                 */
                getQueryDataSet(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[],orderBys:string,isLimitCount:boolean,start:number,limit:number):$.kd.bos.algo.DataSet;
                /**
                 * 获取查询配置插件字段
                 */
                getQueryPlugInFields():$.java.util.List;
                /**
                 * 根据实体别名获取实体名
                 * @return
                 */
                getEntityNameByAlias(entityAlias:string):string;
                /**
                 * 获取主实体
                 */
                getMainEntityType():MainEntityType;
                /**
                 * 查询列表调用，按查询条件取数
                 * @param queryBuilder
                 * @param queryFileds
                 * @param isLimitCount
                 * @return
                 */
                getQueryDataSet(queryBuilder:kd.bos.entity.list.QueryBuilder,queryFileds:string,isLimitCount:boolean):$.kd.bos.algo.DataSet;
                /**
                 * 按查询字段，过滤条件，排序，获取查询数据的数据集
                 * @param queryFileds 查询字段
                 * @param qFilters 过滤信息
                 * @param orderBys 排序字段，多个用,分隔
                 * @param start 开始行数
                 * @param limit 数量
                 * @return
                 */
                getQueryDataSet(queryFileds:string,qFilters:$.kd.bos.orm.query.QFilter[],orderBys:string,start:number,limit:number):$.kd.bos.algo.DataSet;
            }
            type QueryEntityType_T = BasedataEntityType & QueryEntityType$;
            interface QueryEntityType extends QueryEntityType_T {
            }
            interface TipsLink_S {
            }
            type TipsLink_ST = $.java.io.Serializable & TipsLink_S;
            interface TipsLink_C extends TipsLink_ST {
                /**
                 * 构造函数
                 */
                new():TipsLink;
                /**
                 * 构造函数
                 * @param index 索引
                 * @param codeName 指令名称
                 * @param code 指令
                 */
                new(index:number,codeName:$.kd.bos.dataentity.entity.LocaleString,code:string):TipsLink;
            }
            interface TipsLink$ {
                /**
                 * 获取索引
                 * @return
                 */
                getIndex():number;
                /**
                 * 获取指令名称
                 * @return
                 */
                getCodeName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置指令
                 * @param code
                 */
                setCode(code:string):void;
                /**
                 * 设置指令名称
                 * @param codeName
                 */
                setCodeName(codeName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取指令
                 * @return
                 */
                getCode():string;
                /**
                 * 设置索引
                 * @param index
                 */
                setIndex(index:number):void;
            }
            type TipsLink_T = $.java.io.Serializable & TipsLink$;
            interface TipsLink extends TipsLink_T {
            }
            interface ISVInfo_S {
            }
            type ISVInfo_ST = $.java.io.Serializable & ISVInfo_S;
            interface ISVInfo_C extends ISVInfo_ST {
                new():ISVInfo;
            }
            interface ISVInfo$ {
                /**
                 * 获取开发商类型
                 */
                getType():string;
                /**
                 * 获取Isvid
                 */
                getIsvId():string;
                /**
                 * 设置IsvId
                 */
                setIsvId(isvId:string):void;
                /**
                 * 获取开发商id
                 */
                getId():string;
                /**
                 * 获取开发商描述
                 */
                getDescription():string;
                /**
                 * 获取开发商名称
                 */
                getName():string;
                /**
                 * 获取开发商描述
                 */
                setDescription(description:string):void;
                /**
                 * 设置开发商名称
                 */
                setName(name:string):void;
                /**
                 * 设置开发商类型
                 */
                setType(type_arg:string):void;
                /**
                 * 设置开发商id
                 */
                setId(id:string):void;
                /**
                 * 获取开发商签名
                 */
                getSign():string;
                /**
                 * 设置开发商签名
                 */
                setSign(sign:string):void;
            }
            type ISVInfo_T = $.java.io.Serializable & ISVInfo$;
            interface ISVInfo extends ISVInfo_T {
            }
            interface CtlSchemaInfo_S {
            }
            type CtlSchemaInfo_ST = $.java.io.Serializable & CtlSchemaInfo_S;
            interface CtlSchemaInfo_C extends CtlSchemaInfo_ST {
                /**
                 * 无参构造函数
                 */
                new():CtlSchemaInfo;
                /**
                 * 有参构造函数
                 *
                 * @param schemaId   方案 id
                 * @param schemaName 方案名称
                 * @param isvId      开发商 id
                 * @param moduleId   模块 id
                 */
                new(schemaId:string,schemaName:string,isvId:string,moduleId:string):CtlSchemaInfo;
            }
            interface CtlSchemaInfo$ {
            }
            type CtlSchemaInfo_T = $.java.io.Serializable & CtlSchemaInfo$;
            interface CtlSchemaInfo extends CtlSchemaInfo_T {
            }
            interface MainEntityType_S {
                readonly Empty:MainEntityType;
            }
            type MainEntityType_ST = EntityType_S & MainEntityType_S;
            interface MainEntityType_C extends MainEntityType_ST {
                new():MainEntityType;
            }
            interface MainEntityType$ {
                /**
                 * 主键集合
                 *
                 * @return
                 */
                getPkList():$.java.util.List;
                /**
                 * 获取版本控制字段
                 *
                 * @return
                 */
                getVersionControl():string;
                /**
                 * 设置检查版本时间周期
                 *
                 * @param checkVersionTimeMillis
                 */
                setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
                /**
                 * 获取主业务组织
                 *
                 * @return 主业务组织
                 */
                getMainOrg():string;
                /**
                 * 引用属性类型
                 *
                 * @return
                 */
                getRefPropTypes():$.java.util.List;
                /**
                 * 获取权限控制
                 * 无需序列化，在需要使用时单独读取
                 *
                 * @return
                 */
                getPermissionControlType():PermissionControlType;
                /**
                 * 设置应用标识
                 *
                 * @param appId 用户标识
                 */
                setAppId(appId:string):void;
                /**
                 * 设置元数据版本
                 *
                 * @param version 元数据版本
                 */
                setVersion(version:string):void;
                /**
                 * 设置用户选项
                 *
                 * @param userOption 用户选项
                 */
                setUserOption(userOption:string):void;
                /**
                 * 设置主业务组织
                 *
                 * @param mainOrg 主业务组织
                 */
                setMainOrg(mainOrg:string):void;
                /**
                 * 创建属性集合
                 */
                createPropIndexsNoCache():void;
                /**
                 * 设置表单实体所属应用的原始编码
                 *
                 * @param bizAppNumber
                 */
                setBizAppNumber(bizAppNumber:string):void;
                /**
                 * 开放对属性subEntityTypecache的清除
                 */
                clearSubEntityTypecache():void;
                /**
                 * 获取bos版本
                 *
                 * @return
                 */
                getBOSVer():string;
                /**
                 * 获取检查版本时间周期
                 *
                 * @return
                 */
                getCheckVersionTimeMillis():long;
                /**
                 * 获取本对象的全部实体
                 *
                 * @return 本对象的全部实体
                 */
                getAllEntities():$.java.util.Map;
                /**
                 * 获取应用标识
                 *
                 * @return 应用标识
                 */
                getAppId():string;
                /**
                 * 获取表单实体所属应用的原始编码
                 *
                 * @return
                 */
                getBizAppNumber():string;
                /**
                 * 获取继承路径
                 *
                 * @return 继承路径
                 */
                getInheritPath():string;
                /**
                 * 获取全部字段清单，排除系统字段
                 *
                 * @return 全部字段清单，排除系统字段
                 */
                getAllFields():$.java.util.Map;
                /**
                 * 开放对属性refEntityTypeVer 的清除
                 */
                clearRefEntityTypeVer():void;
                /**
                 * 构造实体树
                 *
                 * @param parentEntityTreeNode
                 * @param isIncludeEntry
                 * @param isAllNode
                 * @return
                 */
                createEntityTreeNodes(parentEntityTreeNode:kd.bos.entity.property.EntityTreeNode,isIncludeEntry:boolean,isAllNode:boolean):$.java.util.List;
                /**
                 * 设置bos版本
                 *
                 * @param bosver
                 */
                setBOSVer(bosver:string):void;
                /**
                 * 获取用户选项
                 *
                 * @return 用户选项
                 */
                getUserOption():string;
                /**
                 * 设置权限控制
                 *
                 * @param permissionControlType
                 */
                setPermissionControlType(permissionControlType:PermissionControlType):void;
                /**
                 * 检查引用实体版本
                 *
                 * @return
                 */
                checkRefEntityVer():boolean;
                /**
                 * 设置版本控制字段
                 * @param versionControl
                 */
                setVersionControl(versionControl:string):void;
                /**
                 * 设置继承路径
                 *
                 * @param inheritPath 继承路径
                 */
                setInheritPath(inheritPath:string):void;
            }
            type MainEntityType_T = EntityType & MainEntityType$;
            interface MainEntityType extends MainEntityType_T {
            }
            interface EntryEntityDto_S {
            }
            type EntryEntityDto_ST = $.java.io.Serializable & EntryEntityDto_S;
            interface EntryEntityDto_C extends EntryEntityDto_ST {
                new():EntryEntityDto;
                /**
                 * 有参构造函数，复制一个实例对象
                 *
                 * @param entryEntityDto
                 */
                new(entryEntityDto:EntryEntityDto):EntryEntityDto;
                new(key:string):EntryEntityDto;
                /**
                 * 有参构造函数
                 *
                 * @param key  标识
                 * @param name 名称
                 */
                new(key:string,name:$.kd.bos.dataentity.entity.LocaleString):EntryEntityDto;
            }
            interface EntryEntityDto$ {
            }
            type EntryEntityDto_T = $.java.io.Serializable & EntryEntityDto$;
            interface EntryEntityDto extends EntryEntityDto_T {
            }
            interface ExtendedEntityTypeByFlexPropResult_S {
            }
            interface ExtendedEntityTypeByFlexPropResult_C extends ExtendedEntityTypeByFlexPropResult_S {
                new():ExtendedEntityTypeByFlexPropResult;
            }
            interface ExtendedEntityTypeByFlexPropResult$ {
                getQFilters():$.java.util.List;
                getCloneEntityType():EntityType;
            }
            type ExtendedEntityTypeByFlexPropResult_T = ExtendedEntityTypeByFlexPropResult$;
            interface ExtendedEntityTypeByFlexPropResult extends ExtendedEntityTypeByFlexPropResult_T {
            }
            interface IEntityMetaDataProvider_S {
            }
            interface IEntityMetaDataProvider_C extends IEntityMetaDataProvider_S {
            }
            interface IEntityMetaDataProvider$ {
                /**
                 * 返回指定操作的元数据
                 *  @param entityNumber 实体编码
                 *  @param operKey 操作标识
                 *  @return 操作元数据
                 */
                getDataEntityOperate(entityNumber:string,operKey:string):$.java.util.Map;
                getAppNumberByEntityNumbers?(entityNumbers:$.java.util.List):$.java.util.Map;
                /**
                 * 批量加载表单运行时版本 （DB）
                 * @param numbers
                 * @return
                 */
                batchLoadRuntmeMetadataVersion?(numbers:$.java.util.Collection):$.java.util.Map;
                loadTableDefine(tableId:long):kd.bos.entity.botp.runtime.TableDefine;
                loadTableDefine(entityNumber:string,entityKey:string):kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 获取通用扩展点插件
                 * @param entityNumber 实体编码
                 * @return 通用扩展点插件
                 */
                getGenExtPlugins?(entityNumber:string):$.java.util.List;
                getEnabledControlsMap?(formId:string):$.java.util.Map;
                /**
                 * 获取单据关联配置
                 * @param entityNumber 实体编码
                 * @return 单据关联配置
                 */
                getLinkSet(entityNumber:string):LinkSetElement;
                getCtLinkSet(entityNumber:string):CtLinkSetElement;
                /**
                 * 获取指定实体的所有操作编码
                 * @param entityNumbers 实体编码
                 * @return
                 */
                getDataEntityOperationKeys?(entityNumbers:$.java.util.Collection):$.java.util.Map;
                /**
                 * 根据应用ID获取应用number
                 * @param id
                 * @return 应用number
                 */
                getAppNumberById?(id:string):string;
                /**
                 * 根据编码获取实体类型
                 *  @param number 实体编码
                 *  @return  实体类型
                 */
                getDataEntityType(number_arg:string):MainEntityType;
                /**
                 * 返回插件脚本
                 *  @param scriptName 脚本文件名称
                 *  @return 脚本内容
                 */
                getPluginScripts(scriptName:string):string;
                getAppInfo?(number_arg:string):AppInfo;
                /**
                 * 返回实体所有操作元数据
                 *  @param entityNumber 实体编码
                 *  @return 实体所有操作元数据
                 */
                getDataEntityOperate(entityNumber:string):$.java.util.List;
                /**
                 * 根据实体标识获取实体number
                 *
                 * @param entityId
                 *            实体标识
                 * @return 实体number
                 */
                getEntityNumberById(entityId:string):string;
                /**
                 * 组织委托关系列表
                 * @param entityNumber 实体编码
                 * @return 委托关系列表运行时元数据
                 */
                getDataEntityPrincipalRelation(entityNumber:string):$.java.util.Map;
                /**
                 * 回实体系统操作
                 *
                 * @param entityNumber
                 *            实体编码
                 * @return 系统操作对应的操作代码
                 */
                getDataEntityOperations?(entityNumber:string):kd.bos.entity.operate.Operations;
                /**
                 * 返回基础资料过滤元数据
                 *  @param entityNumber 实体编码
                 *  @param operKey 基础资料标识
                 *  @return 过滤元数据
                 */
                getBaseDataFieldFilterMeta(entityNumber:string,operKey:string):$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 根据实体属性构造一个新的实体
                 *  @param entityNumber 实体编码
                 *  @param properties 实体属性集合
                 *  @return  新的实体
                 */
                getSubDataEntityType(entityNumber:string,properties:$.java.util.Collection):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                getAppMenusInfoByAppId?(number_arg:string):$.java.util.List;
                getRuntimeMetadataVersion(number_arg:string):string;
                getAppMenuInfo?(appNumber:string,menuId:string):AppMenuInfo;
                /**
                 * 权限控制参数
                 * @param entityNumber
                 * @return
                 */
                getPermissionControlType?(entityNumber:string):PermissionControlType;
                /**
                 * 权限项
                 */
                getPermissionItems?(entityNumber:string):$.java.util.Set;
                /**
                 * 获取（功能控制）启用功能支持的实体（字段标识）列表
                 * @param 实体编码
                 * @param 功能控制项名称
                 * @return 实体（字段标识）列表
                 */
                getFeatureEnabledEntity(entityNumber:string,featureName:string):$.java.util.List;
                getRefEntityTypes?(numbers:$.java.util.Collection):$.java.util.Map;
                /**
                 * 获取网络控制元数据
                 * @param entityNumber 实体编码
                 * @return 网络控制元数据
                 */
                getDataEntityNetCtrlOperate(entityNumber:string):$.java.util.Map;
                getRefEntityType(number_arg:string):RefEntityType;
            }
            type IEntityMetaDataProvider_T = IEntityMetaDataProvider$;
            interface IEntityMetaDataProvider extends IEntityMetaDataProvider_T {
            }
            interface AppInfo_S {
                readonly PROPERTY_IMAGE:string;
                readonly PROPERTY_DBROUTE:string;
                readonly HOMEURL:string;
                readonly MAINFORMTYPE:string;
                readonly ISV:string;
            }
            type AppInfo_ST = $.java.io.Serializable & AppInfo_S & NodeInfo_S;
            interface AppInfo_C extends AppInfo_ST {
                new():AppInfo;
            }
            interface AppInfo$ {
                /**
                 * 设置应用所属业务云 id
                 *
                 * @param cloudId
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 设置应用编码
                 *
                 * @param appId
                 */
                setAppId(appId:string):void;
                /**
                 * 应用元数据
                 *
                 * @return
                 */
                getData():string;
                /**
                 * 设置应用数据库路由标识
                 *
                 * @param dbRoute
                 */
                setDbRoute(dbRoute:string):void;
                /**
                 * 获取应用所属云编码
                 *
                 * @return
                 */
                getCloudNum():string;
                /**
                 * 应用首页页面 id
                 *
                 * @return
                 */
                getHomeId():string;
                /**
                 * 获取应用开发商标识
                 *
                 * @return
                 */
                getIsv():string;
                /**
                 * 设置应用是否真正处于运行中
                 *
                 * @param realRuntime
                 */
                setRealRuntime(realRuntime:boolean):void;
                /**
                 * 设置应用是否可见
                 *
                 * @param visible
                 */
                setVisible(visible:boolean):void;
                /**
                 * 获取应用职能类型
                 *
                 * @return
                 */
                getOrgFunc():string;
                /**
                 * 设置应用主题图片
                 *
                 * @param image
                 */
                setImage(image:string):void;
                /**
                 * 设置应用类型
                 *
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * 获取应用编码
                 *
                 * @return
                 */
                getNumber():string;
                /**
                 * 应用是否真正处于运行中
                 *
                 * @return
                 */
                isRealRuntime():boolean;
                /**
                 * 应用首页页面编码
                 *
                 * @return
                 */
                getHomeNum():string;
                /**
                 * 设置应用编码
                 *
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置应用打开方式
                 *
                 * @param openType
                 */
                setOpenType(openType:string):void;
                /**
                 * 获取应用链接地址
                 *
                 * @return
                 */
                getHomeURL():string;
                /**
                 * 获取首页类型
                 *
                 * @return
                 */
                getMainFormType():string;
                /**
                 * 是否全员应用
                 *
                 * @return
                 */
                isAllUserApp():boolean;
                /**
                 * 设置应用开发商标识
                 *
                 * @param isv
                 */
                setIsv(isv:string):void;
                /**
                 * 设置应用职能类型
                 *
                 * @param orgFunc
                 */
                setOrgFunc(orgFunc:string):void;
                /**
                 * 设置应用部署状态
                 *
                 * @param deployStatus
                 */
                setDeployStatus(deployStatus:string):void;
                /**
                 * 设置应用描述
                 *
                 * @param description
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置应用适用用户
                 *
                 * @param userType
                 */
                setUserType(userType:string):void;
                /**
                 * 获取应用数据库路由标识
                 *
                 * @return
                 */
                getDbRoute():string;
                /**
                 * 设置应用名称
                 *
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置应用 id
                 *
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 获取应用主题图片
                 *
                 * @return
                 */
                getImage():string;
                /**
                 * 应用所属业务云 id
                 *
                 * @return
                 */
                getCloudId():string;
                /**
                 * 设置应用元数据
                 *
                 * @param data
                 */
                setData(data:string):void;
                /**
                 * 应用部署状态
                 *
                 * @return
                 */
                getDeployStatus():string;
                /**
                 * 获取应用类型
                 *
                 * @return
                 */
                getType():string;
                /**
                 * 获取应用打开方式
                 *
                 * @return
                 */
                getOpenType():string;
                /**
                 * 获取应用适用用户
                 *
                 * @return
                 */
                getUserType():string;
                /**
                 * 应用是否可见
                 *
                 * @return
                 */
                isVisible():boolean;
                /**
                 * 获取应用编码
                 *
                 * @return
                 */
                getAppId():string;
                /**
                 * 设置应用所属云编码
                 *
                 * @param cloudNum
                 */
                setCloudNum(cloudNum:string):void;
                /**
                 * 获取应用序号
                 *
                 * @return
                 */
                getSeq():number;
                /**
                 * 设置是否全员应用
                 *
                 * @param allUserApp
                 */
                setAllUserApp(allUserApp:boolean):void;
                /**
                 * 设置应用序号
                 *
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 应用首页页面 id
                 *
                 * @param homeId
                 */
                setHomeId(homeId:string):void;
                /**
                 * 应用首页页面编码
                 *
                 * @param homeNum
                 */
                setHomeNum(homeNum:string):void;
            }
            type AppInfo_T = $.java.io.Serializable & AppInfo$ & NodeInfo;
            interface AppInfo extends AppInfo_T {
            }
            interface CompareTypeField_S {
            }
            type CompareTypeField_ST = $.java.io.Serializable & CompareTypeField_S;
            interface CompareTypeField_C extends CompareTypeField_ST {
                /**
                 * 构造函数
                 */
                new():CompareTypeField;
                /**
                 * 构造函数
                 * @param id 比较符标识
                 * @param name 比较符名称（多语言）
                 * @param className 比较符解析类名
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,className:string):CompareTypeField;
            }
            interface CompareTypeField$ {
                /**
                 * 设置是否必须输入比较值
                 * @param isNeedInput 传入true，必须输入比较值
                 */
                setNeedInput(isNeedInput:boolean):void;
                /**
                 * 把比较符定义转换为运行时实际使用的比较符描述类
                 * @return
                 */
                createCompareType():kd.bos.entity.filter.CompareType;
                /**
                 * 获取比较值输入类型
                 * @return 输入类型
                 */
                getCompareInputType():kd.bos.entity.filter.CompareInputType;
                /**
                 * 获取比较符标识
                 * @return 比较服务标识
                 */
                getId():string;
                /**
                 * 设置比较符解析类名
                 * @param className 比较服务解析类名
                 */
                setClassName(className:string):void;
                /**
                 * 设置比较符名称（多语言）
                 * @param name 比较符名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置比较符标识
                 * @param id 比较服务标识
                 */
                setId(id:string):void;
                /**
                 * 获取比较符解析类名，必须实现 {@link kd.bos.entity.filter.IConditionVariableAnalysis}
                 * @return 比较符解析类名
                 */
                getClassName():string;
                /**
                 * 是否必须输入比较值
                 * @return 返回true，必须输入比较值
                 */
                isNeedInput():boolean;
                /**
                 * 设置比较值输入类型
                 * @param compareInputType 输入类型
                 */
                setCompareInputType(compareInputType:kd.bos.entity.filter.CompareInputType):void;
                /**
                 * 获取比较符名称（多语言）
                 * @return 比较符名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type CompareTypeField_T = $.java.io.Serializable & CompareTypeField$;
            interface CompareTypeField extends CompareTypeField_T {
            }
            interface BillTypeControlInfo_S {
            }
            type BillTypeControlInfo_ST = $.java.io.Serializable & BillTypeControlInfo_S;
            interface BillTypeControlInfo_C extends BillTypeControlInfo_ST {
                new():BillTypeControlInfo;
            }
            interface BillTypeControlInfo$ {
                /**
                 * 实体Id,关联实体用
                 *
                 * @return 实体Id,关联实体用
                 */
                getFieldId():string;
                /**
                 * 缺省值类型：0:不支持缺省值 1：简单类型 2：复杂类型
                 *
                 * @param defValueType
                 */
                setDefValueType(defValueType:number):void;
                /**
                 * 将参数defValue的值赋给字段defValue
                 * @param defValue
                 */
                setDefValue(defValue:string):void;
                /**
                 * 获取字段fieldName的值
                 * @return  fieldName的值
                 */
                getFieldName():string;
                /**
                 * 缺省值类型：0:不支持缺省值 1：简单类型 2：复杂类型
                 *
                 * @return
                 */
                getDefValueType():number;
                /**
                 * 根据参数 lock 的锁定性设置字段的锁定性，参数eg:new,edit
                 *
                 * @param lock
                 */
                setLockInStr(lock:string):void;
                /**
                 * 将参数visible的值赋给字段visible
                 * @param visible
                 */
                setVisible(visible:number):void;
                /**
                 * 将参数fieldKey的值赋给字段fieldKey
                 * @param fieldKey
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 获取字段是否可见
                 *
                 * @param status
                 * @return
                 */
                isVisible(status:string):boolean;
                /**
                 * 必录类型：0：不支持必录 1：支持
                 *
                 * @param mustInputType 必录类型：0：不支持必录 1：支持
                 */
                setMustInputType(mustInputType:number):void;
                /**
                 * 获取字段visible的值
                 * @return  visible的值
                 */
                getVisible():number;
                /**
                 * 获取字段fieldKey的值
                 * @return  fieldKey的值
                 */
                getFieldKey():string;
                /**
                 * 获取字段lock的值
                 * @return  lock的值
                 */
                getLock():number;
                /**
                 * 获取字段mustInput的值
                 * @return  mustInput的值
                 */
                isMustInput():boolean;
                /**
                 * 将参数lock的值赋给字段lock
                 * @param lock
                 */
                setLock(lock:number):void;
                /**
                 * 实体Id,关联实体用
                 *
                 * @param fieldId 实体Id,关联实体用
                 */
                setFieldId(fieldId:string):void;
                /**
                 * 获取字段fieldType的值
                 * @return  fieldType的值
                 */
                getFieldType():string;
                /**
                 * 将参数fieldName的值赋给字段fieldName
                 * @param fieldName
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 将参数mustInput的值赋给字段mustInput
                 * @param mustInput
                 */
                setMustInput(mustInput:boolean):void;
                /**
                 * 获取字段defValue的值
                 * @return  defValue的值
                 */
                getDefValue():string;
                /**
                 * 必录类型：0：不支持必录 1：支持
                 *
                 * @return 必录类型：0：不支持必录 1：支持
                 */
                getMustInputType():number;
                /**
                 * 获取字段是否锁定
                 *
                 * @param status
                 * @return
                 */
                isLock(status:string):boolean;
                /**
                 * 实体标识key
                 *
                 * @param entityFieldKey 实体标识key
                 */
                setEntityFieldKey(entityFieldKey:string):void;
                /**
                 * 将参数fieldType的值赋给字段fieldType
                 * @param fieldType
                 */
                setFieldType(fieldType:string):void;
                /**
                 * 实体标识key
                 *
                 * @return 实体标识key
                 */
                getEntityFieldKey():string;
            }
            type BillTypeControlInfo_T = $.java.io.Serializable & BillTypeControlInfo$;
            interface BillTypeControlInfo extends BillTypeControlInfo_T {
            }
            interface EntityMetadataCache_S {
                /**
                 * 根据属性列表构造实体
                 *
                 * @param entityNumber 实体标识
                 * @param properties   实体属性列表
                 * @return 构造好的实体
                 */
                getSubDataEntityType(entityNumber:string,properties:$.java.util.Collection):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                /**
                 * 返回实体元数据
                 *
                 * @param url 实体标识
                 * @return 实体元数据
                 */
                getDataEntityType(url:$.java.net.URL):MainEntityType;
                /**
                 * 网络控制元数据
                 *
                 * @param entityNumber 实体编码
                 * @return 网络控制元数据
                 */
                getDataEntityNetCtrlOperate(entityNumber:string):$.java.util.Map;
                /**
                 * 根据应用id获取应用信息
                 *
                 * @param appId 应用id
                 * @return 应用信息
                 */
                getAppInfo(appId:string):AppInfo;
                /**
                 * 获取实体操作元数据
                 *
                 * @param entityNumber 实体编码
                 * @return 操作
                 */
                getDataEntityOperations(entityNumber:string):kd.bos.entity.operate.Operations;
                /**
                 * 返回实体元数据
                 *
                 * @param number 实体标识
                 * @return MainEntityType 实体元数据
                 */
                getDataEntityType(number_arg:string):MainEntityType;
                /**
                 * 根据应用分组、实体编码移除实体本地缓存
                 *
                 * @param appGroup 应用集群组
                 * @param number   编码
                 */
                removeDataEntityTypeLocalCache(appGroup:string,number_arg:string):void;
                /**
                 * 获取实体元数据
                 *
                 * @param entityId 实体id
                 * @return 主实体
                 */
                getDataEntityTypeById(entityId:string):MainEntityType;
                /**
                 * 获取实体元数据provider
                 *
                 * @return
                 */
                getProvider():IEntityMetaDataProvider;
                /**
                 * 权限项
                 *
                 * @param entityNumber 实体编码
                 * @return 指定表单的全部权限项集合
                 */
                getPermissionItems(entityNumber:string):$.java.util.Set;
                /**
                 * 根据实体编码移除实体本地缓存
                 *
                 * @param number 编码
                 */
                removeDataEntityTypeLocalCache(number_arg:string):void;
                /**
                 * 获取运行时元数据版本号
                 *
                 * @param number 编码
                 * @return 版本
                 */
                getRuntimeMetadataVersion(number_arg:string):string;
                /**
                 * 单据关联配置
                 *
                 * @param entityNumber 实体编码
                 * @return
                 */
                getCtLinkSet(entityNumber:string):CtLinkSetElement;
                /**
                 * 获取锁定字段控件Map对象
                 * @param formId 表单编码
                 * @return
                 */
                getEnabledControlsMap(formId:string):$.java.util.Map;
                /**
                 * 设置实体应用编码
                 *
                 * @param entityNumber 实体编码
                 * @param bizAppNumber 应用编码
                 */
                putBizAppNumber(entityNumber:string,bizAppNumber:string):void;
                /**
                 * 组织委托关系列表
                 *
                 * @param entityNumber 实体编码
                 * @return 网络控制元数据
                 */
                getPrincipalRelation(entityNumber:string):$.java.util.Map;
                /**
                 * 返回实体操作元数据
                 *
                 * @param entityNumber 实体标识
                 * @return 实体操作元数据
                 */
                getDataEntityOperate(entityNumber:string):$.java.util.List;
                /**
                 * 根据实体表格id或者实体表格
                 *
                 * @param tableId
                 * @return
                 */
                loadTableDefine(tableId:long):kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 单据关联配置
                 *
                 * @param entityNumber 实体编码
                 * @return
                 */
                getLinkSet(entityNumber:string):LinkSetElement;
                /**
                 * 根据实体编码、实体标识加载单据实体表格定义
                 *
                 * @param entityNumber 实体编码
                 * @param entityKey    实体标识
                 * @return
                 */
                loadTableDefine(entityNumber:string,entityKey:string):kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 获取指定实体的所有操作信息
                 * @param entityNumbers 实体编码
                 * @return
                 */
                getDataEntityOperations(entityNumbers:$.java.util.Collection):$.java.util.Map;
                /**
                 * 设置实体元数据provider
                 *
                 * @param pro
                 */
                setProvider(pro:IEntityMetaDataProvider):void;
                /**
                 * 返回过滤元数据
                 *
                 * @param formId 表单标识
                 * @param key    基础资料字段
                 * @return 返回过滤元数据
                 */
                getBaseDataFieldFilterMeta(formId:string,key:string):$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 根据实体number取应用
                 * @param entityNumbers
                 * @return
                 */
                getBizAppNumbers(entityNumbers:string[]):string[];
                /**
                 * 获取实时实体元数据（不带缓存）
                 *
                 * @param number 编码
                 * @return 数据实体类型
                 */
                getDataEntityTypeNoCache(number_arg:string):MainEntityType;
                /**
                 * 根据实体编码获取应用编码
                 *
                 * @param entityNumber 实体类型
                 * @return
                 */
                getBizAppNumber(entityNumber:string):string;
                /**
                 * 获取权限控制类型
                 *
                 * @param entityNumber 实体编码
                 * @return 权限控制类型
                 */
                getPermissionControlType(entityNumber:string):PermissionControlType;
                /**
                 * 获取表单绑定的通用扩展点插件
                 * @param entityNumber 表单标识
                 * @return 通用扩展点插件集合
                 */
                getGenExtPlugins(entityNumber:string):$.java.util.List;
                /**
                 * 返回插件脚本
                 *
                 * @param key 实体标识
                 * @return 插件脚本
                 */
                getPluginScripts(key:string):string;
                /**
                 * 根据实体编码加载单据实体表格定义
                 *
                 * @param entityNumber 实体编码
                 * @return
                 */
                loadMainTableDefine(entityNumber:string):kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 获取操作元数据
                 *
                 * @param entityNumber 实体标识
                 * @param operKey      操作标识
                 * @return 操作元数据
                 */
                getDataEntityOperate(entityNumber:string,operKey:string):$.java.util.Map;
                /**
                 * 根据应用id获取应用编码
                 *
                 * @param appId 应用id
                 * @return 字符串
                 */
                getAppNumberById(appId:string):string;
            }
            interface EntityMetadataCache_C extends EntityMetadataCache_S {
                new():EntityMetadataCache;
            }
            interface EntityMetadataCache$ {
            }
            type EntityMetadataCache_T = EntityMetadataCache$;
            interface EntityMetadataCache extends EntityMetadataCache_T {
            }
            interface EntityType_S {
            }
            type EntityType_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType & EntityType_S;
            interface EntityType_C extends EntityType_ST {
                /**
                 * 构造函数
                 */
                new():EntityType;
                /**
                 * 构造函数
                 * @param name
                 */
                new(name:string):EntityType;
            }
            interface EntityType$ {
                /**
                 * 创建实体属性关系
                 */
                createPropIndexs():void;
                /**
                 * 根据实体属性构造一个新的属性
                 * @param properties 属性列表
                 * @return 返回实体属性
                 */
                getSubEntityType(properties:$.java.util.Collection):this;
                /**
                 * 设置规则数量
                 * @param ruleCount 规则数量
                 */
                setRuleCount(ruleCount:number):void;
                /**
                 * 获取规则数量
                 * @return 规则数量
                 */
                getRuleCount():number;
                /**
                 * 查找属性
                 * @param name 属性名称
                 * @return 实体属性
                 */
                findProperty(name:string):$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取本实体的字段清单
                 * @return 实体属性列表
                 */
                getFields():$.java.util.Map;
            }
            type EntityType_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType & EntityType$;
            interface EntityType extends EntityType_T {
            }
            interface AbstractQueryBuilder_S {
            }
            type AbstractQueryBuilder_ST = $.java.io.Serializable & AbstractQueryBuilder_S;
            interface AbstractQueryBuilder_C extends AbstractQueryBuilder_ST {
                /**
                 * 缺省构造函数，用于序列化
                 */
                new():AbstractQueryBuilder;
                /**
                 * 查询参数初始化
                 * @param queryBuilder
                 */
                new(queryBuilder:AbstractQueryBuilder):AbstractQueryBuilder;
                /**
                 * 查询参数初始化
                 * @param sumFields
                 * @param selectFields
                 * @param filters
                 * @param orderBys
                 * @param start
                 * @param limit
                 * @param entityType
                 */
                new(sumFields:$.java.util.List,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,start:number,limit:number,entityType:$.kd.bos.dataentity.metadata.IDataEntityType):AbstractQueryBuilder;
            }
            interface AbstractQueryBuilder$ {
            }
            type AbstractQueryBuilder_T = $.java.io.Serializable & AbstractQueryBuilder$;
            interface AbstractQueryBuilder extends AbstractQueryBuilder_T {
            }
            interface AppMenuInfo_S {
                readonly PROPERTY_SHOERCUTICON:string;
                readonly PROPERTY_NAVIVECTOR:string;
            }
            type AppMenuInfo_ST = $.java.io.Serializable & AppMenuInfo_S & NodeInfo_S;
            interface AppMenuInfo_C extends AppMenuInfo_ST {
                new():AppMenuInfo;
            }
            interface AppMenuInfo$ {
                /**
                 * 获取应用编码
                 *
                 * @return 应用编码
                 */
                getAppId():string;
                /**
                 * 获取页面名称
                 *
                 * @return 获取页面名称
                 */
                getFormName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取菜单的快捷图标
                 *
                 * @return 获取菜单的快捷图标
                 */
                getShortcutIcon():string;
                /**
                 * 设置菜单绑定的表单编码
                 *
                 * @param formId 菜单绑定的表单编码
                 */
                setFormId(formId:string):void;
                /**
                 * 设置菜单的侧导航图标
                 *
                 * @param naviVector 设置菜单的侧导航图标
                 */
                setNaviVector(naviVector:string):void;
                /**
                 * 获取菜单的上级菜单 id
                 *
                 * @return 获取菜单的上级菜单 id
                 */
                getParentId():string;
                /**
                 * 获取菜单打开方式
                 *
                 * @return 获取菜单打开方式
                 */
                getOpenType():string;
                /**
                 * 设置菜单连接地址
                 *
                 * @param linkUrl 设置菜单连接地址
                 */
                setLinkUrl(linkUrl:string):void;
                /**
                 * 设置菜单类型
                 *
                 * @param menuType 设置菜单类型
                 */
                setMenuType(menuType:string):void;
                /**
                 * 获取菜单的侧导航图标
                 *
                 * @return 获取菜单的侧导航图标
                 */
                getNaviVector():string;
                /**
                 * 获取菜单的 xml 数据：侧导航图标和快捷图标路径名称
                 *
                 * @return 获取菜单的 xml 数据：侧导航图标和快捷图标路径名称
                 */
                getData():string;
                /**
                 * 获取菜单的打开的页面类型
                 *
                 * @return 获取菜单的打开的页面类型
                 */
                getParamType():string;
                /**
                 * 获取菜单入口参数
                 *
                 * @return 获取菜单入口参数
                 */
                getParams():string;
                /**
                 * 获取菜单类型
                 *
                 * @return 获取菜单类型
                 */
                getMenuType():string;
                /**
                 * 设置菜单绑定的实体编码
                 *
                 * @param entityNumber 设置菜单绑定的实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置菜单的上级菜单 id
                 *
                 * @param parentId 设置菜单的上级菜单 id
                 */
                setParentId(parentId:string):void;
                /**
                 * 设置菜单名称
                 *
                 * @param name 设置菜单名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置菜单的 xml 数据：侧导航图标和快捷图标路径名称
                 *
                 * @param data 设置菜单的 xml 数据：侧导航图标和快捷图标路径名称
                 */
                setData(data:string):void;
                /**
                 * 获取菜单绑定的实体编码
                 *
                 * @return 获取菜单绑定的实体编码
                 */
                getEntityNumber():string;
                /**
                 * 获取菜单绑定的表单编码
                 *
                 * @return 获取菜单绑定的表单编码
                 */
                getFormId():string;
                /**
                 * 设置页面名称
                 *
                 * @param formName 设置页面名称
                 */
                setFormName(formName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取菜单连接地址
                 *
                 * @return 获取菜单连接地址
                 */
                getLinkUrl():string;
                /**
                 * 设置菜单的权限项
                 *
                 * @param permission 设置菜单的权限项
                 */
                setPermission(permission:string):void;
                /**
                 * 设置菜单 id
                 *
                 * @param id 菜单 id
                 */
                setId(id:string):void;
                /**
                 * 获取菜单序号
                 *
                 * @return 菜单序号
                 */
                getSeq():number;
                /**
                 * 设置菜单的打开的页面类型
                 *
                 * @param paramType 设置菜单的打开的页面类型
                 */
                setParamType(paramType:string):void;
                /**
                 * 设置菜单的快捷图标
                 *
                 * @param shortcutIcon 设置菜单的快捷图标
                 */
                setShortcutIcon(shortcutIcon:string):void;
                /**
                 * 设置应用编码
                 *
                 * @param appId 应用编码
                 */
                setAppId(appId:string):void;
                /**
                 * 设置菜单描述
                 *
                 * @param description 设置菜单描述
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置菜单序号
                 *
                 * @param seq 菜单序号
                 */
                setSeq(seq:number):void;
                /**
                 * 设置菜单打开方式
                 *
                 * @param openType 设置菜单打开方式
                 */
                setOpenType(openType:string):void;
                /**
                 * 设置菜单入口参数
                 *
                 * @param params 设置菜单入口参数
                 */
                setParams(params:string):void;
                /**
                 * 获取菜单的权限项
                 *
                 * @return 获取菜单的权限项
                 */
                getPermission():string;
            }
            type AppMenuInfo_T = $.java.io.Serializable & AppMenuInfo$ & NodeInfo;
            interface AppMenuInfo extends AppMenuInfo_T {
            }
            interface IColumn_S {
            }
            type IColumn_ST = IBaseColumn_S & IColumn_S;
            interface IColumn_C extends IColumn_ST {
            }
            interface IColumn$ {
                /**
                 * 获取列标识
                 */
                getFieldKey():string;
                /**
                 * 获取列是否隐藏
                 */
                isHide():boolean;
                /**
                 * 获取列宽
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取当前数据行中这个列的值
                 */
                getValue(rowData:$.kd.bos.dataentity.entity.DynamicObject,numberFormatProvider:NumberFormatProvider):any;
                /**
                 * 获取列格式化信息
                 */
                getFmtInfo(rowData:$.kd.bos.dataentity.entity.DynamicObject,numberFormatProvider:NumberFormatProvider):number;
                /**
                 * 获取列类型是否是图片
                 */
                isPicture():boolean;
            }
            type IColumn_T = IBaseColumn & IColumn$;
            interface IColumn extends IColumn_T {
            }
            interface NodeInfo_S {
            }
            interface NodeInfo_C extends NodeInfo_S {
            }
            interface NodeInfo$ {
                getNodeType():string;
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                getId():string;
                getOrder():number;
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type NodeInfo_T = NodeInfo$;
            interface NodeInfo extends NodeInfo_T {
            }
            interface IColumnGroup_S {
            }
            type IColumnGroup_ST = IBaseColumn_S & IColumnGroup_S;
            interface IColumnGroup_C extends IColumnGroup_ST {
            }
            interface IColumnGroup$ {
                getChildren():$.java.util.List;
            }
            type IColumnGroup_T = IBaseColumn & IColumnGroup$;
            interface IColumnGroup extends IColumnGroup_T {
            }
            interface SelectedDisplayField_S {
            }
            type SelectedDisplayField_ST = $.java.io.Serializable & SelectedDisplayField_S;
            interface SelectedDisplayField_C extends SelectedDisplayField_ST {
                /**
                 * 构造函数
                 */
                new():SelectedDisplayField;
                /**
                 * 构造函数
                 * @param mainField
                 * @param secondField
                 */
                new(mainField:string,secondField:string):SelectedDisplayField;
            }
            interface SelectedDisplayField$ {
                /**
                 * 设置主显示字段
                 * @param mainField 主显示字段
                 */
                setMainField(mainField:string):void;
                /**
                 * 设置次显示字段
                 * @param secondField 次显示字段
                 */
                setSecondField(secondField:string):void;
                /**
                 * 获取次显示字段
                 * @return 次显示字段
                 */
                getSecondField():string;
                /**
                 * 获取主显示字段
                 * @return 主显示字段
                 */
                getMainField():string;
            }
            type SelectedDisplayField_T = $.java.io.Serializable & SelectedDisplayField$;
            interface SelectedDisplayField extends SelectedDisplayField_T {
            }
            interface NumberFormatInitParam_S {
            }
            interface NumberFormatInitParam_C extends NumberFormatInitParam_S {
                new():NumberFormatInitParam;
                /**
                 * @param isApplyMaterialPrecision  使用FmtInfoUtils.applyMaterialPrecision()获取值
                 */
                new(isApplyMaterialPrecision:boolean):NumberFormatInitParam;
            }
            interface NumberFormatInitParam$ {
                setDataEntitys(dataEntitys:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                setApplyMaterialPrecision(applyMaterialPrecision:boolean):void;
                /**
                 * 起始行
                 * @return
                 */
                getRowStartIndex():number;
                /**
                 * 单据体是否进入过滤排序模式
                 * @return
                 */
                isFilterAndSortModel():boolean;
                setFormatObject(formatObject:kd.bos.entity.format.FormatObject):void;
                /**
                 * 个人格式化信息
                 * @return
                 */
                getFormatObject():kd.bos.entity.format.FormatObject;
                setRowStartIndex(rowStartIndex:number):void;
                /**
                 * 单据体是否进入过滤排序模式
                 * @param filterAndSortModel
                 */
                setFilterAndSortModel(filterAndSortModel:boolean):void;
                /**
                 * 格式化字段信息
                 * @return
                 */
                getFmtFields():$.java.util.List;
                /**
                 * 主实体数据
                 * @return
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 分录数据
                 * @return
                 */
                getDataEntitys():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                setFmtFields(fmtFields:$.java.util.List):void;
                /**
                 * 是否启用物料精度，   默认按系统参数配置，不需要额外配置
                 * @return
                 */
                isApplyMaterialPrecision():boolean;
            }
            type NumberFormatInitParam_T = NumberFormatInitParam$;
            interface NumberFormatInitParam extends NumberFormatInitParam_T {
            }
            interface CtLinkSetElement_S {
            }
            interface CtLinkSetElement_C extends CtLinkSetElement_S {
                new():CtLinkSetElement;
            }
            interface CtLinkSetElement$ {
                /**
                 * 单据反写插件
                 *
                 * @return
                 * @remark 保存设计期元数据时，生成运行时插件元数据，直接插入到实体表格；
                 * 反写时，通过读取实体表格，加载反写插件
                 */
                getPlugIns():$.java.util.List;
                /**
                 * 反写快照表
                 *
                 * @return
                 */
                getCtWbSnapTable():string;
                /**
                 * 业务流程跟踪表
                 *
                 * @return
                 */
                getCtTrackerTable():string;
                setCtWbSnapTable(ctWbSnapTable:string):void;
                setItems(items:$.java.util.List):void;
                /**
                 * 单据转换规则，界面配置控制插件
                 *
                 * @return
                 */
                getConvRulePlugIns():$.java.util.List;
                setCtTrackerTable(ctTrackerTable:string):void;
                setConvRulePlugIns(convRulePlugIns:$.java.util.List):void;
                setPlugIns(plugIns:$.java.util.List):void;
                /**
                 * 各实体关联配置集合
                 *
                 * @return
                 */
                getItems():$.java.util.List;
            }
            type CtLinkSetElement_T = CtLinkSetElement$;
            interface CtLinkSetElement extends CtLinkSetElement_T {
            }
            interface LinkEntryType_S {
            }
            type LinkEntryType_ST = EntryType_S & LinkEntryType_S;
            interface LinkEntryType_C extends LinkEntryType_ST {
                new():LinkEntryType;
            }
            interface LinkEntryType$ {
                /**
                 * 源单内码属性
                 * @return
                 */
                getSIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 获取记录源单内码的属性
                 * @return
                 */
                getSBillIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 设置记录源单内码的属性
                 * @return
                 */
                getSTableIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * oldCtrlFieldProps 原始携带属性
                 * @return
                 */
                getOldCtrlFieldProps():$.java.util.Map;
                /**
                 * ctrlFieldProps 原始携带属性
                 * @return
                 */
                getCtrlFieldProps():$.java.util.Map;
            }
            type LinkEntryType_T = EntryType & LinkEntryType$;
            interface LinkEntryType extends LinkEntryType_T {
            }
            interface MobLocation_S {
            }
            interface MobLocation_C extends MobLocation_S {
                /**
                 * 构造函数
                 */
                new():MobLocation;
            }
            interface MobLocation$ {
                /**
                 * 城市
                 * @return
                 */
                getCity():string;
                /**
                 * 区域
                 * @return
                 */
                getDistrict():string;
                /**
                 * 获取城市id
                 * @return
                 */
                getCityId():string;
                /**
                 * 地址
                 * @return
                 */
                getAddress():string;
                /**
                 * 维度
                 * @return
                 */
                getLongitude():number;
                /**
                 * 省份
                 * @return
                 */
                getProvince():string;
                /**
                 * 详细地址
                 * @return
                 */
                getAddressdetail():string;
                /**
                 * 设置城市id
                 * @param cityId
                 */
                setCityId(cityId:string):void;
                /**
                 * 名称
                 * @return
                 */
                getName():string;
                /**
                 * 精度
                 * @return
                 */
                getLatitude():number;
            }
            type MobLocation_T = MobLocation$;
            interface MobLocation extends MobLocation_T {
            }
            interface ReportQueryEntityType_S {
            }
            type ReportQueryEntityType_ST = QueryEntityType_S & ReportQueryEntityType_S;
            interface ReportQueryEntityType_C extends ReportQueryEntityType_ST {
                new():ReportQueryEntityType;
            }
            interface ReportQueryEntityType$ {
            }
            type ReportQueryEntityType_T = QueryEntityType & ReportQueryEntityType$;
            interface ReportQueryEntityType extends ReportQueryEntityType_T {
            }
            interface RefPropType_S {
            }
            type RefPropType_ST = $.java.io.Serializable & RefPropType_S;
            interface RefPropType_C extends RefPropType_ST {
                new():RefPropType;
            }
            interface RefPropType$ {
                /**
                 * 设置是否关联到主资料，对于主资料属性，需要支持第三层嵌套
                 * @return
                 */
                setMaster(master:boolean):void;
                /**
                 * 获取引用属性
                 * @return
                 */
                getProps():string;
                /**
                 * 引用属性解析成set集合
                 * @return
                 */
                getPropSet():$.java.util.Set;
                /**
                 * 设置引用属性
                 * @return
                 */
                setProps(props:string):void;
                /**
                 * 是否关联到主资料，对于主资料属性，需要支持第三层嵌套
                 * @return
                 */
                isMaster():boolean;
                /**
                 * 设置id
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 获取id
                 * @return
                 */
                getId():string;
            }
            type RefPropType_T = $.java.io.Serializable & RefPropType$;
            interface RefPropType extends RefPropType_T {
            }
            interface SingleOrgContextHelper_S {
            }
            interface SingleOrgContextHelper_C extends SingleOrgContextHelper_S {
                new():SingleOrgContextHelper;
            }
            interface SingleOrgContextHelper$ {
            }
            type SingleOrgContextHelper_T = SingleOrgContextHelper$;
            interface SingleOrgContextHelper extends SingleOrgContextHelper_T {
            }
            interface CompareTypeConfig_S {
            }
            interface CompareTypeConfig_C extends CompareTypeConfig_S {
                new():CompareTypeConfig;
            }
            interface CompareTypeConfig$ {
                /**
                 * 获取比较符集合
                 * @return
                 */
                getCompareTypeFields():$.java.util.List;
                /**
                 * 添加比较符
                 * @param compareTypeField 比较符定义
                 */
                addCompareTypeField(compareTypeField:CompareTypeField):void;
                /**
                 * 设置比较符集合
                 * @param compareTypeFields
                 */
                setCompareTypeFields(compareTypeFields:$.java.util.List):void;
            }
            type CompareTypeConfig_T = CompareTypeConfig$;
            interface CompareTypeConfig extends CompareTypeConfig_T {
            }
            interface SummaryToField_S {
            }
            type SummaryToField_ST = $.java.io.Serializable & SummaryToField_S;
            interface SummaryToField_C extends SummaryToField_ST {
                new():SummaryToField;
            }
            interface SummaryToField$ {
                /**
                 * 获取设计器字段属性Id
                 * @return
                 */
                getFieldId():string;
                /**
                 * 获取字段标识、编辑控件使用
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 设置汇总类型
                 * @param sumType
                 */
                setSumType(sumType:number):void;
                /**
                 * 设置字段名、设计器插件使用
                 * @param fieldName
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取字段名、设计器插件使用
                 * @return
                 */
                getFieldName():string;
                /**
                 * 设置字段标识、编辑控件使用
                 * @param fieldKey
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 设置设计器字段属性Id
                 * @param fieldId
                 */
                setFieldId(fieldId:string):void;
                /**
                 * 获取汇总类型
                 * @return
                 */
                getSumType():number;
            }
            type SummaryToField_T = $.java.io.Serializable & SummaryToField$;
            interface SummaryToField extends SummaryToField_T {
            }
            interface BasedataEntityType_S {
                readonly MASTERIDTYPE_MYSELF:number;
                readonly MASTERIDTYPE_OTHER:number;
                readonly MASTERIDTYPE_NONE:number;
            }
            type BasedataEntityType_ST = $.kd.bos.dataentity.entity.IDataCacheControl & BasedataEntityType_S & BillEntityType_S;
            interface BasedataEntityType_C extends BasedataEntityType_ST {
                /**
                 * 初始化基础资料主实体对象
                 */
                new():BasedataEntityType;
            }
            interface BasedataEntityType$ {
                /**
                 * 获取基础资料弹性域属性
                 *
                 * @return 基础资料弹性域属性
                 */
                getFlexProperty():string;
                /**
                 * 获取基础资料个性化控制器
                 *
                 * @return
                 */
                getBasedataControllersProp():$.java.util.List;
                /**
                 * 是否支持修改产生历史记录
                 *
                 * @return
                 */
                isEnableNameVersion():boolean;
                /**
                 * 设置基础资料弹性域属性
                 *
                 * @param flexProperty 基础资料弹性域属性
                 */
                setFlexProperty(flexProperty:string):void;
                /**
                 * 设置数据加载时是否不使用缓存
                 *
                 * @param dataLoadNoCache true表示数据加载时不使用缓存，false则使用缓存
                 */
                setDataLoadNoCache(dataLoadNoCache:boolean):void;
                /**
                 * 获取formID
                 *
                 * @return
                 * @deprecated 已弃用
                 */
                getMoblistFormId():string;
                /**
                 * 设置基础资料个性化控制器
                 *
                 * @param basedataControllersProp
                 */
                setBasedataControllersProp(basedataControllersProp:$.java.util.List):void;
                /**
                 * 设置是否支持修改产生历史记录
                 *
                 * @param enableNameVersion
                 */
                setEnableNameVersion(enableNameVersion:boolean):void;
                /**
                 * 设置主数据内码赋值方式：0 = 不赋值；1 = 本身数据id；2 = 关联主资料id
                 *
                 * @param masteridType
                 */
                setMasteridType(masteridType:number):void;
                /**
                 * 获取数据加载时是否不使用缓存的设置
                 * <p>
                 * 此方法用于确定在加载数据时是否应忽略缓存数据，如果返回true，则表示每次加载数据时先从本地缓存中获取，地缓存不存在则直接从数据库加载
                 *
                 * @return 如果数据加载时不应使用缓存，则返回true；否则返回false
                 */
                isDataLoadNoCache():boolean;
                /**
                 * 获取基础资料编码属性
                 *
                 * @return 基础资料编码属性
                 */
                getNumberProperty():string;
                /**
                 * 获取主数据内码属性名：如果masterid不填值，此属性返回空
                 *
                 * @return
                 */
                getMasteridPropName():string;
                /**
                 * 设置主数据内码属性名：如果masterid不填值，此属性返回空
                 *
                 * @param masteridPropName
                 */
                setMasteridPropName(masteridPropName:string):void;
                /**
                 * 根据基础资料类型（主资料、业务政策），输出用于搜索的编码字段名：业务政策，输入编码时，搜索master.number字段
                 *
                 * @return
                 */
                getSearchNumberKey():string;
                /**
                 * 设置formID
                 *
                 * @param moblistFormId
                 */
                setMoblistFormId(moblistFormId:string):void;
                /**
                 * 设置基础资料编码属性
                 *
                 * @param numberProperty 基础资料编码属性
                 */
                setNumberProperty(numberProperty:string):void;
                /**
                 * 获取基础资料名称属性
                 *
                 * @return 基础资料名称属性
                 */
                getNameProperty():string;
                /**
                 * 计算引用属性的hash值
                 * @param force 是否强制
                 */
                createRefPropsHashValue(force:boolean):void;
                /**
                 * 获取主数据内码赋值方式：0 = 不赋值；1 = 本身数据id；2 = 关联主资料id
                 *
                 * @return
                 */
                getMasteridType():number;
                /**
                 * 设置基础资料名称属性
                 *
                 * @param nameProperty 基础资料名称属性
                 */
                setNameProperty(nameProperty:string):void;
            }
            type BasedataEntityType_T = $.kd.bos.dataentity.entity.IDataCacheControl & BasedataEntityType$ & BillEntityType;
            interface BasedataEntityType extends BasedataEntityType_T {
            }
            interface AppMetadataCache_S {
                /**
                 * 取应用Map<id,number>
                 * @return
                 */
                getAppNumbers():$.java.util.Map;
                /**
                 * 根据应用编码获取应用信息
                 *
                 * @param number 应用编码
                 * @return AppInfo
                 */
                getAppInfoByNumber(number_arg:string):AppInfo;
                /**
                 * 根据应用 id 获取应用编码
                 *
                 * @param id 应用 id
                 * @return 应用编码
                 */
                getAppNumberById(id:string):string;
                /**
                 * 批量删除指定的应用本地缓存
                 */
                removeAppmetaLocalCache(...appIds:string[]):void;
                /**
                 * @return DataProvider
                 */
                getProvider():IEntityMetaDataProvider;
                /**
                 * 删除应用的本地缓存
                 */
                removeAppmetaLocalCache(appId:string):void;
                /**
                 * 根据应用编码，获取应用的全部菜单信息
                 */
                getAppMenusInfoByAppId(appId:string):$.java.util.List;
                /**
                 * 根据应用编码，获取应用菜单信息
                 *
                 * @param appNum 应用编码
                 * @return 应用菜单对象列表
                 */
                getAppMenusInfoByAppNum(appNum:string):$.java.util.List;
                /**
                 * 取所有应用运行时元数据
                 * @return
                 */
                getVisibleAndEnableAppInfos():$.java.util.Map;
                /**
                 * 取所有应用运行时元数据
                 * @return 应用元数据map(应用编码,应用对象)
                 */
                getAllAppInfo():$.java.util.Map;
                /**
                 * 设置实体元数据 provider
                 *
                 * @param pro
                 */
                setProvider(pro:IEntityMetaDataProvider):void;
                /**
                 * 同步查询应用信息，异步查询应用菜单信息
                 * @param appId 应用id， 类似2deb950100005dac， 不是编码
                 * @return AppInfo 应用信息
                 */
                getAppInfo(appId:string):AppInfo;
                /**
                 * 获取所有应用的菜单信息
                 *
                 * @return 获取所有应用的菜单信息
                 */
                getAllAppMenus():$.java.util.Map;
                /**
                 * 清理应用缓存
                 */
                removeCache():void;
                /**
                 * 根据应用编码和菜单id，获取指定菜单信息
                 *
                 * @param appNum 应用编码
                 * @param menuId 菜单id
                 * @return 应用菜单对象
                 */
                getAppMenuInfoByAppNumAndMenuId(appNum:string,menuId:string):AppMenuInfo;
                /**
                 * 根据应用 id 与 菜单 id 获取菜单信息
                 *
                 * @param appId  应用 id
                 * @param menuId 菜单 id
                 * @return 菜单信息
                 */
                getAppMenuInfo(appId:string,menuId:string):AppMenuInfo;
            }
            interface AppMetadataCache_C extends AppMetadataCache_S {
                new():AppMetadataCache;
            }
            interface AppMetadataCache$ {
            }
            type AppMetadataCache_T = AppMetadataCache$;
            interface AppMetadataCache extends AppMetadataCache_T {
            }
            interface Features_S {
            }
            interface Features_C extends Features_S {
                new():Features;
            }
            interface Features$ {
            }
            type Features_T = Features$;
            interface Features extends Features_T {
            }
            interface ExtendedDataEntity_S {
            }
            interface ExtendedDataEntity_C extends ExtendedDataEntity_S {
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number):ExtendedDataEntity;
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 *  @param billNo 单据编号
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,billNo:string):ExtendedDataEntity;
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 *  @param subRowIndex 数据行索引所在分录索引
                 *  @param billNo 单据编号
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,subRowIndex:number,billNo:string):ExtendedDataEntity;
            }
            interface ExtendedDataEntity$ {
                /**
                 * 获取单据主键ID
                 * @return 单据主键ID
                 */
                getBillPkId():any;
                /**
                 * 获取单个数据包在整个数据包中索引，列表中的次序
                 * @return 索引
                 */
                getDataEntityIndex():number;
                /**
                 * 获取数据行索引所在分录索引
                 * @return 数据行索引所在分录索引
                 */
                getSubRowIndex():number;
                /**
                 * 设置实体属性数据
                 * @param name 实体属性名称
                 * @param value 实体属性数据
                 */
                setValue(name:string,value:any):void;
                /**
                 * 设置数据行索引所在分录索引
                 * @param subRowIndex 数据行索引所在分录索引
                 */
                setSubRowIndex(subRowIndex:number):void;
                /**
                 * 获取单据编号
                 * @return 单据编号
                 */
                getBillNo():string;
                /**
                 * 获取实体数据
                 * @return 实体数据
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取实体属性数据
                 * @param name 实体属性名称
                 * @return Object 实体属性数据
                 */
                getValue(name:string):any;
                /**
                 * 设置单据编号
                 * @param billNo 单据编号
                 */
                setBillNo(billNo:string):void;
                /**
                 * 获取校验错误码
                 * @return
                 */
                getValidataErrorCode():kd.bos.entity.validate.ValidataErrorCode;
                /**
                 * 设置实体数据
                 * @param dataEntity 实体数据
                 */
                setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 获取数据行索引
                 * @return 数据行索引
                 */
                getRowIndex():number;
                /**
                 * 设置分录索引
                 * @param dataEntityIndex 分录索引
                 */
                setDataEntityIndex(dataEntityIndex:number):void;
                /**
                 * 设置数据行索引
                 * @param rowIndex 数据行索引
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 设置校验错误码
                 * @param validataErrorCode
                 */
                setValidataErrorCode(validataErrorCode:kd.bos.entity.validate.ValidataErrorCode):void;
            }
            type ExtendedDataEntity_T = ExtendedDataEntity$;
            interface ExtendedDataEntity extends ExtendedDataEntity_T {
            }
            interface EntityItemTypes_S {
                /**
                 * 从XML反序列化为一个实体属性
                 *
                 * @param str 要反序列化的字符串
                 * @return 反序列化的实体属性
                 */
                fromXmlString(str:string):$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 注册一个实体属性
                 *
                 * @param clasz
                 */
                register(clasz:$.java.lang.Class):void;
                /**
                 * 克隆一个实体属性
                 *
                 * @param property 被克隆的实体属性
                 * @return 返回克隆的实体属性
                 */
                clone(property:$.kd.bos.dataentity.metadata.IDataEntityProperty):$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 将实体属性序列化为Json
                 *
                 * @param type 实体属性
                 * @return 返回序列化后的json字符串
                 */
                toJsonString(type_arg:$.kd.bos.dataentity.metadata.IMetadata):string;
                /**
                 * 从XML反序列化为一个实体属性
                 *
                 * @param url 要反序列化的字符串资源地址
                 * @return 反序列化的实体属性
                 */
                fromXmlString(url:$.java.net.URL):$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 获取一个实体属性
                 *
                 * @param name 实体属性名称
                 * @return 返回实体属性实例
                 */
                getDataEntityType(name:string):$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 将实体属性序列化为XML
                 *
                 * @param type 实体属性
                 * @return 返回序列化后的XML字符串
                 */
                toXmlString(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):string;
                /**
                 * 从json反序列化为一个实体属性
                 *
                 * @param jsonMap 要反序列化的字符串
                 * @return 反序列化的实体属性
                 */
                fromMap(jsonMap:$.java.util.Map):$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 将实体属性序列化为Json
                 *
                 * @param type 实体属性
                 * @return 返回序列化后的json字符串
                 */
                toJsonString(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):string;
                /**
                 * 从json反序列化为一个实体属性
                 *
                 * @param str 要反序列化的字符串
                 * @return 反序列化的实体属性
                 */
                fromJsonString(str:string):$.kd.bos.dataentity.metadata.IDataEntityType;
            }
            interface EntityItemTypes_C extends EntityItemTypes_S {
                new():EntityItemTypes;
            }
            interface EntityItemTypes$ {
            }
            type EntityItemTypes_T = EntityItemTypes$;
            interface EntityItemTypes extends EntityItemTypes_T {
            }
            interface GetFilterFieldsParameter_S {
            }
            interface GetFilterFieldsParameter_C extends GetFilterFieldsParameter_S {
                /**
                 * 构造函数
                 *
                 * @param dataEntityType
                 */
                new(dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):GetFilterFieldsParameter;
            }
            interface GetFilterFieldsParameter$ {
            }
            type GetFilterFieldsParameter_T = GetFilterFieldsParameter$;
            interface GetFilterFieldsParameter extends GetFilterFieldsParameter_T {
            }
            interface CtLinkEntryType_S {
            }
            type CtLinkEntryType_ST = CtLinkEntryType_S & EntryType_S;
            interface CtLinkEntryType_C extends CtLinkEntryType_ST {
                new():CtLinkEntryType;
            }
            interface CtLinkEntryType$ {
                /**
                 * 源租户编码
                 *
                 * @return
                 */
                getStenantCoceProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * oldCtrlFieldProps 原始携带属性
                 * @return
                 */
                getOldCtrlFieldProps():$.java.util.Map;
                /**
                 * 获取记录源单内码的属性
                 * @return
                 */
                getSBillIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 源单内码属性
                 * @return
                 */
                getSIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 源单数据中心ID
                 *
                 * @return
                 */
                getSaccountIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 设置记录源单内码的属性
                 * @return
                 */
                getSTableIdProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * ctrlFieldProps 原始携带属性
                 * @return
                 */
                getCtrlFieldProps():$.java.util.Map;
            }
            type CtLinkEntryType_T = CtLinkEntryType$ & EntryType;
            interface CtLinkEntryType extends CtLinkEntryType_T {
            }
            interface RefEntityTypeCache_S {
            }
            interface RefEntityTypeCache_C extends RefEntityTypeCache_S {
                new():RefEntityTypeCache;
            }
            interface RefEntityTypeCache$ {
            }
            type RefEntityTypeCache_T = RefEntityTypeCache$;
            interface RefEntityTypeCache extends RefEntityTypeCache_T {
            }
            interface ITreeEntryType_S {
                readonly PARENT_ENTRYID_NAME:string;
            }
            interface ITreeEntryType_C extends ITreeEntryType_S {
            }
            interface ITreeEntryType$ {
                getPrimaryKey?():$.kd.bos.dataentity.metadata.ISimpleProperty;
                getPidProperty?():$.kd.bos.dataentity.metadata.IDataEntityProperty;
            }
            type ITreeEntryType_T = ITreeEntryType$;
            interface ITreeEntryType extends ITreeEntryType_T {
            }
            interface BOSRuntime_S {
            }
            interface BOSRuntime_C extends BOSRuntime_S {
                new():BOSRuntime;
            }
            interface BOSRuntime$ {
            }
            type BOSRuntime_T = BOSRuntime$;
            interface BOSRuntime extends BOSRuntime_T {
            }
            interface EntryType_S {
            }
            type EntryType_ST = $.kd.bos.dataentity.metadata.IEntryType & EntityType_S & EntryType_S;
            interface EntryType_C extends EntryType_ST {
                new():EntryType;
            }
            interface EntryType$ {
                /**
                 * 获取必录条件
                 * @return
                 */
                getMustInputCondition():string;
                /**
                 * 是否必录
                 * @return false:不必录，true:必录
                 */
                isMustIuput():boolean;
                /**
                 * 设置是否关键实体
                 * @param keyEntry false:不是关键实体，true:是关键实体
                 */
                setKeyEntry(keyEntry:boolean):void;
                /**
                 * 获取关键字段
                 * @return 关键字段
                 */
                getKeyField():string;
                /**
                 * 是否在运行期以来父表单的属性
                 * @return 是否在运行期以来父表单的属性
                 */
                isRefParentProperty():boolean;
                /**
                 * 设置是否必录
                 * @param mustIuput false:不必录，true:必录
                 */
                setMustIuput(mustIuput:boolean):void;
                /**
                 * 设置必录条件
                 * @param mustInputCondition
                 */
                setMustInputCondition(mustInputCondition:string):void;
                /**
                 * 设置关键字段
                 * @param keyField 关键字段
                 */
                setKeyField(keyField:string):void;
                /**
                 * 是否关键实体
                 * @return false:不是关键实体，true:是关键实体
                 */
                isKeyEntry():boolean;
                /**
                 * 获取单据体非必录规则
                 * @param source
                 * @return
                 */
                getEntryNotMustInputRules(source:string):$.java.util.List;
                /**
                 * 是否快捷新增
                 * @return false:不快捷新增，true:快捷新增
                 */
                isQuickAdd():boolean;
                /**
                 * 设置是否快捷新增
                 * @param quickAdd false:不快捷新增，true:快捷新增
                 */
                setQuickAdd(quickAdd:boolean):void;
                /**
                 * 设置是否在运行期以来父表单的属性
                 * @param refParentProperty
                 */
                setRefParentProperty(refParentProperty:boolean):void;
            }
            type EntryType_T = $.kd.bos.dataentity.metadata.IEntryType & EntityType & EntryType$;
            interface EntryType extends EntryType_T {
            }
            interface EntityTypeUtil_S {
            }
            interface EntityTypeUtil_C extends EntityTypeUtil_S {
                new():EntityTypeUtil;
            }
            interface EntityTypeUtil$ {
            }
            type EntityTypeUtil_T = EntityTypeUtil$;
            interface EntityTypeUtil extends EntityTypeUtil_T {
            }
            interface ExtendedDataEntitySet_S {
            }
            interface ExtendedDataEntitySet_C extends ExtendedDataEntitySet_S {
                new():ExtendedDataEntitySet;
            }
            interface ExtendedDataEntitySet$ {
                /**
                 * 星辰扩展支持：便于星辰外部操作该对象
                 *
                 * @return
                 */
                getExtDataEntityMap():$.java.util.Map;
                /**
                 * 获取单据编号
                 *
                 * @param dataEntity
                 * @return
                 */
                getBillNo(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 将数据拉平，并放入字典
                 *
                 * @param dataEntities 数据集合
                 * @param dType        实体类型
                 */
                Parse(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],dType:MainEntityType):void;
                /**
                 * 根据表的键，获取对应的数据行集合
                 *
                 * @param entityKey 实体的键
                 * @return 如果包含数据，返回扩展实体集合，否则返回null
                 */
                FindByEntityKey(entityKey:string):ExtendedDataEntity[];
                /**
                 * 添加一批新的扩展行到指定的实体中
                 *
                 * @param entityKey 实体标识
                 * @param rows      新的扩展行
                 */
                AddExtendedDataEntities(entityKey:string,rows:$.java.util.List):void;
            }
            type ExtendedDataEntitySet_T = ExtendedDataEntitySet$;
            interface ExtendedDataEntitySet extends ExtendedDataEntitySet_T {
            }
            interface PermissionControlType_S {
                readonly KEY_CONTROLTYPE:string;
            }
            type PermissionControlType_ST = $.java.io.Serializable & PermissionControlType_S;
            interface PermissionControlType_C extends PermissionControlType_ST {
                /**
                 * 构造函数
                 */
                new():PermissionControlType;
            }
            interface PermissionControlType$ {
                /**
                 * 获取权限类型
                 * @return
                 */
                getDimension():string;
                /**
                 * 设置是否控制功能权限
                 * @param isControlFunction
                 */
                setControlFunction(isControlFunction:boolean):void;
                /**
                 * 是否停用数据权限
                 * @return
                 */
                isForbidDataPerm():boolean;
                /**
                 * 设置辅字段权限
                 * @param dataAssistDimension
                 */
                setDataAssistDimension(dataAssistDimension:string):void;
                /**
                 * 设置权限发布应用
                 * @param publishApps
                 */
                setPublishApps(publishApps:$.java.util.List):void;
                /**
                 * 设置权限类型
                 * @param dimension
                 */
                setDimension(dimension:string):void;
                /**
                 * 获取权限控制主字段
                 * @return
                 */
                getDataDimensionField():string;
                /**
                 * 设置主字段权限
                 * @param dataDimension
                 */
                setDataDimension(dataDimension:string):void;
                /**
                 * 设置权限控制主字段
                 * @param dataDimensionField
                 */
                setDataDimensionField(dataDimensionField:string):void;
                /**
                 * 是否是匿名用户
                 * @return
                 */
                isAnonymousUserControl():boolean;
                /**
                 * 获取权限控制辅字段
                 * @return
                 */
                getDataAssistDimensionField():string;
                /**
                 * 设置该权限对象是否是new出来的空对象
                 * @param isEmptyObject
                 */
                setEmptyObject(isEmptyObject:boolean):void;
                /**
                 * 获取主字段权限
                 * @return
                 */
                getDataDimension():string;
                /**
                 * 是否控制功能权限
                 * @return
                 */
                isControlFunction():boolean;
                /**
                 * 获取辅字段权限
                 * @return
                 */
                getDataAssistDimension():string;
                /**
                 * 设置权限控制辅字段
                 * @param dataAssistDimensionField
                 */
                setDataAssistDimensionField(dataAssistDimensionField:string):void;
                /**
                 * 设置是否停用数据权限
                 * @param isForbidDataPerm
                 */
                setForbidDataPerm(isForbidDataPerm:boolean):void;
                /**
                 * 获取权限发布应用
                 * @return
                 */
                getPublishApps():$.java.util.List;
                /**
                 * 用于标记该权限对象是否是new出来的空对象
                 * @return
                 */
                isEmptyObject():boolean;
                /**
                 * 设置是否是匿名用户
                 * @param isAnonymousUserControl
                 */
                setAnonymousUserControl(isAnonymousUserControl:boolean):void;
            }
            type PermissionControlType_T = $.java.io.Serializable & PermissionControlType$;
            interface PermissionControlType extends PermissionControlType_T {
            }
            interface IFrameMessage_S {
            }
            type IFrameMessage_ST = $.java.io.Serializable & IFrameMessage_S;
            interface IFrameMessage_C extends IFrameMessage_ST {
                /**
                 * 构造函数
                 */
                new():IFrameMessage;
                /**
                 * 构造函数
                 * @param type
                 * @param origin
                 * @param content
                 */
                new(type_arg:string,origin:string,content:any):IFrameMessage;
            }
            interface IFrameMessage$ {
                /**
                 * 获取origin
                 * @return
                 */
                getOrigin():string;
                /**
                 * 设置origin
                 * @param origin
                 */
                setOrigin(origin:string):void;
                /**
                 * 获取类型
                 * @return
                 */
                getType():string;
                /**
                 * 设置类型
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * 设置内容
                 * @param content
                 */
                setContent(content:any):void;
                /**
                 * 获取内容
                 * @return
                 */
                getContent():any;
            }
            type IFrameMessage_T = $.java.io.Serializable & IFrameMessage$;
            interface IFrameMessage extends IFrameMessage_T {
            }
            interface Tips_S {
                readonly Warp:string;
                readonly Bill:string;
                readonly Text:string;
                readonly Tab:string;
                /**
                 * 创建一个链接数据对象
                 *
                 * @param tipsLink
                 * @return
                 */
                createLinkData(tipsLink:$.java.util.List):$.java.util.List;
                /**
                 * 插入链接占位符
                 * @param index
                 * @return
                 */
                insertLinkPlaceholder(index:number):string;
                /**
                 * 创建一个链接数据对象
                 * @param tipsLink
                 * @return
                 */
                createLinkData(tipsLink:TipsLink):$.java.util.List;
            }
            type Tips_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & Tips_S;
            interface Tips_C extends Tips_ST {
                /**
                 * 构造函数
                 */
                new():Tips;
                /**
                 * 构造函数
                 * @param type 显示类型
                 * @param billno 表单id
                 */
                new(type_arg:string,billno:string):Tips;
                /**
                 * 构造函数
                 * @param type 显示类型
                 * @param title 纯文本title
                 * @param content 纯文本内容
                 * @param link 是否包含链接
                 * @param linkData 链接数据项
                 */
                new(type_arg:string,title:$.kd.bos.dataentity.entity.LocaleString,content:$.kd.bos.dataentity.entity.LocaleString,link:boolean,linkData:$.java.util.List):Tips;
            }
            interface Tips$ {
                /**
                 * 是否显示小图标
                 * @return
                 */
                isShowIcon():boolean;
                /**
                 * 获取小图标样式
                 * @return
                 */
                getIconClassName():string;
                /**
                 * 获取触发类型
                 * @return
                 */
                getTriggerType():string;
                /**
                 * 设置链接数据项
                 * @param linkData
                 */
                setOriLinkData(linkData:$.java.util.List):void;
                /**
                 * 设置连接标题
                 * @param linkTitles
                 */
                setLinkTitles(linkTitles:$.java.util.List):void;
                /**
                 * 设置显示类型 text/bill
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * 设置显示位置
                 * @param place
                 */
                setPlace(place:string):void;
                /**
                 * 获取纯文本title
                 * @return
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置纯文本title
                 * @param title
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取显示位置
                 * @return
                 */
                getPlace():string;
                /**
                 * 获取显示类型 text/bill
                 * @return
                 */
                getType():string;
                /**
                 * 获取链接数据项 (运行时)
                 *
                 * @return
                 */
                getLinkData():$.java.util.List;
                /**
                 * 是否包含链接
                 * @return
                 */
                isLink():boolean;
                /**
                 * 设置小图标样式
                 * @param iconClassName
                 */
                setIconClassName(iconClassName:string):void;
                /**
                 * 设置表单id
                 * @param billno
                 */
                setBillno(billno:string):void;
                /**
                 * 获取连接标题
                 * @return
                 */
                getLinkTitles():$.java.util.List;
                /**
                 * 设置触发类型
                 * @param triggerType
                 */
                setTriggerType(triggerType:string):void;
                /**
                 * 是否设置确认操作开关
                 * @return
                 */
                isIsConfirm():boolean;
                /**
                 * 设置确认操作开关
                 * @param isConfirm
                 */
                setIsConfirm(isConfirm:boolean):void;
                /**
                 * 设置是否显示小图标
                 * @param showIcon
                 */
                setShowIcon(showIcon:boolean):void;
                /**
                 * 获取纯文本内容
                 * @return
                 */
                getContent():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取表单id
                 * @return
                 */
                getBillno():string;
                /**
                 * 设置纯文本内容
                 * @param content
                 */
                setContent(content:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置是否包含链接
                 * @param link
                 */
                setLink(link:boolean):void;
                /**
                 * 获取链接数据项
                 *
                 * @return
                 */
                getOriLinkData():$.java.util.List;
                /**
                 * 设置链接数据项
                 * @param linkData
                 */
                setLinkData(linkData:$.java.util.List):void;
            }
            type Tips_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & Tips$;
            interface Tips extends Tips_T {
            }
            interface ValueMapItem_S {
            }
            type ValueMapItem_ST = $.java.io.Serializable & ValueMapItem_S;
            interface ValueMapItem_C extends ValueMapItem_ST {
                /**
                 * 构造函数
                 */
                new():ValueMapItem;
                /**
                 * 构造函数
                 *
                 * @param imageKey
                 *            下拉项标识
                 * @param value
                 *            下拉项值
                 * @param name
                 *            下拉项名称
                 */
                new(imageKey:string,value:string,name:$.kd.bos.dataentity.entity.LocaleString):ValueMapItem;
                /**
                 * 构造函数
                 *
                 * @param imageKey
                 *            下拉项标识
                 * @param value
                 *            下拉项值
                 * @param name
                 *            下拉项名称
                 * @param itemVisible
                 *            下拉项选项可见性
                 */
                new(imageKey:string,value:string,name:$.kd.bos.dataentity.entity.LocaleString,itemVisible:boolean):ValueMapItem;
            }
            interface ValueMapItem$ {
                /**
                 * 选项是否可见
                 * @return
                 */
                isItemVisible():boolean;
                /**
                 * 设置下拉项值
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 设置下拉项标识
                 * @param imageKey 下拉项标识
                 */
                setImageKey(imageKey:string):void;
                /**
                 * 设置选项是否可见
                 * @param itemVisible
                 */
                setItemVisible(itemVisible:boolean):void;
                /**
                 * 创建下拉项
                 * @return
                 */
                createComboItem():$.java.util.Map;
                /**
                 * 获取下拉项值
                 * @return 下拉项值
                 */
                getValue():string;
                /**
                 * 设置下拉项名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取下拉项标识
                 * @return 下拉项标识
                 */
                getImageKey():string;
                /**
                 * 获取下拉项名称
                 * @return 下拉项名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type ValueMapItem_T = $.java.io.Serializable & ValueMapItem$;
            interface ValueMapItem extends ValueMapItem_T {
            }
            interface DBVersion_S {
                /**
                 * 取当前数据库版本
                 * @return 包含迭代号的版本号，如：1.0.3
                 */
                getVer():string;
                /**
                 * 根据应用编码获取应用迭代版本
                 *
                 * @param appId 应用编码
                 * @return
                 */
                getAppIteration(appId:string):string;
                /**
                 * 根据应用编码获取应用数据库版本
                 *
                 * @param appId 应用编码
                 * @return
                 */
                getAppVer(appId:string):string;
            }
            interface DBVersion_C extends DBVersion_S {
                new():DBVersion;
            }
            interface DBVersion$ {
            }
            type DBVersion_T = DBVersion$;
            interface DBVersion extends DBVersion_T {
            }
            interface AnchorItems_S {
            }
            type AnchorItems_ST = $.java.io.Serializable & AnchorItems_S;
            interface AnchorItems_C extends AnchorItems_ST {
                /**
                 * 缺省构造函数
                 */
                new():AnchorItems;
                /**
                 * 锚点数据集合初始化
                 * @param targetId
                 * @param caption
                 * @param items
                 */
                new(targetId:string,caption:string,items:$.java.util.List):AnchorItems;
            }
            interface AnchorItems$ {
                /**
                 * 设置锚点名称
                 * @param caption
                 */
                setCaption(caption:string):void;
                /**
                 * 设置下级锚点（总共只有2级, 下级锚点没有items属性）
                 * @param items
                 */
                setItems(items:$.java.util.List):void;
                /**
                 * 获取下级锚点（总共只有2级, 下级锚点没有items属性）
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 获取目标id
                 * @return
                 */
                getTarget():string;
                /**
                 * 设置目标id
                 * @param target
                 */
                setTarget(target:string):void;
                /**
                 * 获取锚点名称
                 * @return
                 */
                getCaption():string;
            }
            type AnchorItems_T = $.java.io.Serializable & AnchorItems$;
            interface AnchorItems extends AnchorItems_T {
            }
            interface ValueTextItem_S {
            }
            type ValueTextItem_ST = $.java.io.Serializable & ValueTextItem_S;
            interface ValueTextItem_C extends ValueTextItem_ST {
                /**
                 * 初始化
                 * @param value 值域
                 * @param text 文本
                 */
                new(value:string,text:string):ValueTextItem;
            }
            interface ValueTextItem$ {
                /**
                 * 获取文本
                 * @return
                 */
                getText():string;
                /**
                 * 设置值域
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 设置文本
                 * @param text
                 */
                setText(text:string):void;
                /**
                 * 获取值域
                 * @return
                 */
                getValue():string;
            }
            type ValueTextItem_T = $.java.io.Serializable & ValueTextItem$;
            interface ValueTextItem extends ValueTextItem_T {
            }
            interface ListboxItem_S {
            }
            type ListboxItem_ST = $.java.io.Serializable & ListboxItem_S;
            interface ListboxItem_C extends ListboxItem_ST {
                /**
                 * 缺省构造函数
                 */
                new():ListboxItem;
                /**
                 * 构造函数
                 * @param id
                 * @param content
                 */
                new(id:string,content:string):ListboxItem;
                /**
                 * 构造函数
                 * @param id
                 * @param content
                 * @param items
                 */
                new(id:string,content:string,items:$.java.util.List):ListboxItem;
            }
            interface ListboxItem$ {
                /**
                 * 获取内容
                 * @return
                 */
                getContent():string;
                /**
                 * 设置id
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 设置子项数组
                 * @param items
                 */
                setItems(items:$.java.util.List):void;
                /**
                 * 获取id
                 * @return
                 */
                getId():string;
                /**
                 * 获取子项数组
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 设置内容
                 * @param content
                 */
                setContent(content:string):void;
            }
            type ListboxItem_T = $.java.io.Serializable & ListboxItem$;
            interface ListboxItem extends ListboxItem_T {
            }
            interface MarkdownLinkData_S {
            }
            type MarkdownLinkData_ST = $.java.io.Serializable & MarkdownLinkData_S;
            interface MarkdownLinkData_C extends MarkdownLinkData_ST {
                /**
                 * 构造函数
                 */
                new():MarkdownLinkData;
                /**
                 * 构造函数
                 * @param code
                 * @param index
                 */
                new(code:string,index:number):MarkdownLinkData;
            }
            interface MarkdownLinkData$ {
                /**
                 * 设置占位符索引，和占位符 #{index}对应
                 * @param index
                 */
                setIndex(index:number):void;
                /**
                 * 获取占位符索引，和占位符 #{index}对应
                 * @return
                 */
                getIndex():number;
                /**
                 * 设置指令
                 * 可以是外部指令，如：https://www.baidu.com，外部指令会跳转到新页签打开页面
                 * 可以是内部指令，如：click，会发送customEvent事件到插件。
                 * @param code
                 */
                setCode(code:string):void;
                /**
                 * 获取指令
                 * 可以是外部指令，如：https://www.baidu.com，外部指令会跳转到新页签打开页面
                 * 可以是内部指令，如：click，会发送customEvent事件到插件。
                 * @return
                 */
                getCode():string;
            }
            type MarkdownLinkData_T = $.java.io.Serializable & MarkdownLinkData$;
            interface MarkdownLinkData extends MarkdownLinkData_T {
            }
            interface KDDMModule_S {
            }
            type KDDMModule_ST = $.kd.sdk.module.Module & KDDMModule_S;
            interface KDDMModule_C extends KDDMModule_ST {
                new():KDDMModule;
            }
            interface KDDMModule$ {
            }
            type KDDMModule_T = $.kd.sdk.module.Module & KDDMModule$;
            interface KDDMModule extends KDDMModule_T {
            }
            interface TileItem_S {
            }
            type TileItem_ST = $.java.io.Serializable & TileItem_S;
            interface TileItem_C extends TileItem_ST {
                /**
                 * 构造函数
                 */
                new():TileItem;
                /**
                 * 构造函数
                 * @param id
                 * @param content 内容
                 * @param selected 是否选中
                 */
                new(id:string,content:string,selected:boolean):TileItem;
                /**
                 * 构造函数
                 * @param id
                 * @param content 内容
                 * @param selected 是否选中
                 * @param items 平铺子项
                 */
                new(id:string,content:string,selected:boolean,items:$.java.util.List):TileItem;
            }
            interface TileItem$ {
                /**
                 * 设置是否选中
                 * @param selected
                 */
                setSelected(selected:boolean):void;
                /**
                 * 是否选中
                 * @return
                 */
                isSelected():boolean;
                /**
                 * 获取内容
                 * @return
                 */
                getContent():string;
                /**
                 * 设置平铺子项
                 * @param items
                 */
                setItems(items:$.java.util.List):void;
                /**
                 * 设置内容
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 设置id
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 获取id
                 * @return
                 */
                getId():string;
                /**
                 * 获取平铺子项
                 * @return
                 */
                getItems():$.java.util.List;
            }
            type TileItem_T = $.java.io.Serializable & TileItem$;
            interface TileItem extends TileItem_T {
            }
            interface CtLinkSetItemElement_S {
            }
            interface CtLinkSetItemElement_C extends CtLinkSetItemElement_S {
                new():CtLinkSetItemElement;
            }
            interface CtLinkSetItemElement$ {
                setCtLinkEntityKey(arg0:string):void;
                getCtParentEntityKey():string;
                setCtTableName(arg0:string):void;
                getCtrlFldKeys():string;
                setCtrlFldKeys(arg0:string):void;
                getCtLinkEntityKey():string;
                getCtTableName():string;
                splitCtrlFldKeys():$.java.util.HashSet;
                setCtParentEntityKey(arg0:string):void;
            }
            type CtLinkSetItemElement_T = CtLinkSetItemElement$;
            interface CtLinkSetItemElement extends CtLinkSetItemElement_T {
            }
        }
        namespace kd.bos.entity.api{
            interface ApiResult_S {
                /**
                 * 构建异常返回结果
                 * @param ex
                 * @return
                 */
                ex(ex:$.java.lang.Throwable):ApiResult;
                /**
                 * 构建异常返回结果
                 * @param ex
                 * @param showStackTrace
                 * @return
                 */
                ex(ex:$.java.lang.Throwable,showStackTrace:boolean):ApiResult;
                /**
                 * 构建成功返回结果
                 * @param data
                 * @return
                 */
                success(data:any):ApiResult;
                /**
                 * 构建失败返回结果
                 * @param msg 返回结果描述信息
                 * @param errorCode 错误嘛
                 * @return
                 */
                fail(msg:string,errorCode:string):ApiResult;
                /**
                 * 构建失败返回结果
                 * @param msg  返回结果描述信息
                 * @return
                 */
                fail(msg:string):ApiResult;
                /**
                 * 将map转换返回结果
                 * @param ret
                 * @return
                 */
                fromMap(ret:$.java.util.Map):ApiResult;
                /**
                 * 将返回结果转换map
                 * @param result
                 * @return
                 */
                toMap(result:ApiResult):$.java.util.Map;
            }
            interface ApiResult_C extends ApiResult_S {
                new():ApiResult;
            }
            interface ApiResult$ {
                /**
                 * 获取返回结果错误码
                 * @return
                 */
                getErrorCode():string;
                /**
                 * 设置返回结果数据
                 * @param data
                 */
                setData(data:any):void;
                /**
                 * 设置HTTP请求状态
                 * @param httpStatus
                 */
                setHttpStatus(httpStatus:number):void;
                /**
                 * 设置返回结果描述信息
                 * @param message
                 */
                setMessage(message:string):void;
                /**
                 * 设置返回结果错误码
                 * @param errorCode
                 */
                setErrorCode(errorCode:string):void;
                /**
                 * 获取返回结果数据
                 * @return
                 */
                getData():any;
                /**
                 * 设置是否成功标记
                 * @param success
                 */
                setSuccess(success:boolean):void;
                /**
                 * 获取返回结果描述信息
                 * @return
                 */
                getMessage():string;
                /**
                 * 获取HTTP请求状态
                 * @return
                 */
                getHttpStatus():number;
                /**
                 * 是否成功标记
                 * @return
                 */
                getSuccess():boolean;
            }
            type ApiResult_T = ApiResult$;
            interface ApiResult extends ApiResult_T {
            }
            interface AICommand_S {
            }
            interface AICommand_C extends AICommand_S {
                new():AICommand;
            }
            interface AICommand$ {
                /**
                 * 获取appId
                 * @return
                 */
                getAppId():string;
                /**
                 * 设置appId
                 * @param app
                 */
                setAppId(app:string):void;
                /**
                 * 设置参数
                 * @param param
                 */
                setParameter(param:$.java.util.Map):void;
                /**
                 * 获取token
                 * @return
                 */
                getToken():string;
                /**
                 * 获取参数
                 * @return
                 */
                getParameter():$.java.util.Map;
                /**
                 * 获取openid
                 * @return
                 */
                getOpenId():string;
                /**
                 * 设置任务id
                 * @param taskId
                 */
                setTaskId(taskId:string):void;
                /**
                 * 设置指令
                 * @param cmd
                 */
                setCommand(cmd:string):void;
                /**
                 * 获取任务id
                 * @return
                 */
                getTaskId():string;
                /**
                 * 设置openid
                 * @param openid
                 */
                setOpenId(openid:string):void;
                /**
                 * 设置token
                 * @param token
                 */
                setToken(token:string):void;
                /**
                 * 获取指令
                 * @return
                 */
                getCommand():string;
            }
            type AICommand_T = AICommand$;
            interface AICommand extends AICommand_T {
            }
            interface WebApiContext_S {
            }
            type WebApiContext_ST = $.java.io.Serializable & WebApiContext_S;
            interface WebApiContext_C extends WebApiContext_ST {
                new():WebApiContext;
            }
            interface WebApiContext$ {
                Cookie:string;
                appId:string;
                getQueryString():$.java.util.Map;
                getData():$.java.util.Map;
                setRequestHeaders(arg0:$.java.util.Map):void;
                setQueryString(arg0:$.java.util.Map):void;
                setRequestURL(arg0:string):void;
                setAppId(arg0:string):void;
                getCookie():string;
                getAppId():string;
                setData(arg0:$.java.util.Map):void;
                getRequestURL():string;
                setCookie(arg0:string):void;
                getRequestHeaders():$.java.util.Map;
            }
            type WebApiContext_T = $.java.io.Serializable & WebApiContext$;
            interface WebApiContext extends WebApiContext_T {
            }
            interface AsynMessage_S {
            }
            type AsynMessage_ST = $.java.io.Serializable & AsynMessage_S;
            interface AsynMessage_C extends AsynMessage_ST {
                new():AsynMessage;
            }
            interface AsynMessage$ {
                setBody(arg0:string):void;
                setMessageType(arg0:string):void;
                getBody():string;
                getMessageType():string;
            }
            type AsynMessage_T = $.java.io.Serializable & AsynMessage$;
            interface AsynMessage extends AsynMessage_T {
            }
            interface AICommandParameter_S {
                readonly BILLNO_SEARCH_LIMIT:string;
                readonly IS_AI_VOICE_REQUEST:string;
                readonly OPEN_MENU_BIZAPPID:string;
                readonly OPEN_MENU_MENUID:string;
                readonly OPEN_MENU_PKID:string;
                readonly ACTION:string;
                readonly SHOW_VOICE_MESSAGE:string;
                readonly OPEN_MENU_BILLNO:string;
                readonly OPEN_MENU_FORMID:string;
                readonly REDIRECT_URL:string;
                readonly BILLNO:string;
                readonly UINAME:string;
                readonly PARAMETERS:string;
                readonly INTERVAL:string;
            }
            interface AICommandParameter_C extends AICommandParameter_S {
                new():AICommandParameter;
            }
            interface AICommandParameter$ {
                getParameter(arg0:string):any;
                getPara():$.java.util.Map;
                setParameter(arg0:string,arg1:any):void;
                setFormId(arg0:string):void;
                getFormId():string;
                setPara(arg0:$.java.util.Map):void;
            }
            type AICommandParameter_T = AICommandParameter$;
            interface AICommandParameter extends AICommandParameter_T {
            }
        }
        namespace kd.bos.entity.basedata{
            interface BaseDataResponse_S {
            }
            type BaseDataResponse_ST = $.java.io.Serializable & BaseDataResponse_S;
            interface BaseDataResponse_C extends BaseDataResponse_ST {
                /**
                 * 构造函数
                 * @param success 是否成功
                 * @param errorMsg 错误信息
                 */
                new(success:boolean,errorMsg:string):BaseDataResponse;
            }
            interface BaseDataResponse$ {
                /**
                 * 设置返回详细信息
                 */
                setResult(result:$.java.util.Map):void;
                /**
                 * 设置错误信息
                 */
                setErrorMsg(errorMsg:string):void;
                /**
                 * 获取错误信息
                 */
                getErrorMsg():string;
                /**
                 * 获取是否成功
                 */
                isSuccess():boolean;
                /**
                 * 获取返回详细信息
                 */
                getResult():$.java.util.Map;
                /**
                 * 设置是否成功
                 */
                setSuccess(success:boolean):void;
            }
            type BaseDataResponse_T = $.java.io.Serializable & BaseDataResponse$;
            interface BaseDataResponse extends BaseDataResponse_T {
            }
            interface AssignQueryResponse_S {
            }
            type AssignQueryResponse_ST = $.java.io.Serializable & AssignQueryResponse_S;
            interface AssignQueryResponse_C extends AssignQueryResponse_ST {
                new():AssignQueryResponse;
            }
            interface AssignQueryResponse$ {
                getData():$.java.util.Map;
                getErrorMsgInfo():$.java.util.Map;
                setData(arg0:$.java.util.Map):void;
                setErrorMsg(arg0:string):void;
                setSuccess(arg0:boolean):void;
                getErrorMsg():string;
                setErrorMsgInfo(arg0:$.java.util.Map):void;
                isSuccess():boolean;
            }
            type AssignQueryResponse_T = $.java.io.Serializable & AssignQueryResponse$;
            interface AssignQueryResponse extends AssignQueryResponse_T {
            }
        }
        namespace kd.bos.entity.botp{
            class CheckMessageType {
                static readonly Warn:kd.bos.entity.botp.CheckMessageType;
                static readonly Normal:kd.bos.entity.botp.CheckMessageType;
                static readonly Error:kd.bos.entity.botp.CheckMessageType;
                static values():kd.bos.entity.botp.CheckMessageType[];
                static valueOf(arg0:string):kd.bos.entity.botp.CheckMessageType;
                static valueOf(value:number):kd.bos.entity.botp.CheckMessageType;
                getValue():number;
            }
            interface CRFormula_S {
            }
            interface CRFormula_C extends CRFormula_S {
                /**
                 * 构造函数：初始化本地变量
                 */
                new():CRFormula;
            }
            interface CRFormula$ {
            }
            type CRFormula_T = CRFormula$;
            interface CRFormula extends CRFormula_T {
            }
            interface CheckMessage_S {
            }
            interface CheckMessage_C extends CheckMessage_S {
                /**
                 * 空构造函数：用于反序列化
                 */
                new():CheckMessage;
                new(checkPoint:CheckPoint,message:string):CheckMessage;
                new(checkPoint:CheckPoint,msgType:CheckMessageType,message:string):CheckMessage;
            }
            interface CheckMessage$ {
            }
            type CheckMessage_T = CheckMessage$;
            interface CheckMessage extends CheckMessage_T {
            }
            interface CheckResult_S {
            }
            interface CheckResult_C extends CheckResult_S {
                new():CheckResult;
            }
            interface CheckResult$ {
            }
            type CheckResult_T = CheckResult$;
            interface CheckResult extends CheckResult_T {
            }
            interface CRPlugin_S {
            }
            type CRPlugin_ST = $.kd.bos.entity.IIsvFlag & CRPlugin_S & kd.bos.entity.plugin.Plugin_S;
            interface CRPlugin_C extends CRPlugin_ST {
                /**
                 * 构造函数，给属性赋默认值
                 */
                new():CRPlugin;
            }
            interface CRPlugin$ {
            }
            type CRPlugin_T = $.kd.bos.entity.IIsvFlag & CRPlugin$ & kd.bos.entity.plugin.Plugin;
            interface CRPlugin extends CRPlugin_T {
            }
            interface CheckPoint_S {
            }
            interface CheckPoint_C extends CheckPoint_S {
                /**
                 * 空构造函数：用于反序列化
                 */
                new():CheckPoint;
                new(parent:CheckPoint,point:string):CheckPoint;
            }
            interface CheckPoint$ {
                /**
                 * 完整的检查点
                 * @return
                 */
                getFullPoint():string;
                /**
                 * 上一级检查点
                 * @return
                 */
                getParent():this;
                setChildCount(childCount:number):void;
                /**
                 * 本级检查点说明
                 * @return
                 */
                getPoint():string;
                /**
                 * 子检查点的数量
                 * @return
                 */
                getChildCount():number;
                setFullPoint(fullPoint:string):void;
                /**
                 * 序号：分成多级排序
                 * @return
                 */
                getSeqArray():number[];
                setPoint(point:string):void;
                setSeqArray(seqArray:number[]):void;
                setParent(parent:CheckPoint):void;
            }
            type CheckPoint_T = CheckPoint$;
            interface CheckPoint extends CheckPoint_T {
            }
            interface ConvertRuleKeyPair_S {
            }
            interface ConvertRuleKeyPair_C extends ConvertRuleKeyPair_S {
                new(arg0:string,arg1:string):ConvertRuleKeyPair;
            }
            interface ConvertRuleKeyPair$ {
                getTargetEntityNumber():string;
                getSourceEntityNumber():string;
            }
            type ConvertRuleKeyPair_T = ConvertRuleKeyPair$;
            interface ConvertRuleKeyPair extends ConvertRuleKeyPair_T {
            }
            class ConvertOpType {
                static readonly Push:kd.bos.entity.botp.ConvertOpType;
                static readonly Draw:kd.bos.entity.botp.ConvertOpType;
                static readonly SpecPush:kd.bos.entity.botp.ConvertOpType;
                static readonly BeforeDraw:kd.bos.entity.botp.ConvertOpType;
                static readonly SpecDraw:kd.bos.entity.botp.ConvertOpType;
                static valueOf(arg0:string):kd.bos.entity.botp.ConvertOpType;
                static values():kd.bos.entity.botp.ConvertOpType[];
            }
            class LinkRecordType {
                static readonly Link:kd.bos.entity.botp.LinkRecordType;
                static readonly OnlyCopy:kd.bos.entity.botp.LinkRecordType;
                static valueOf(arg0:string):kd.bos.entity.botp.LinkRecordType;
                static values():kd.bos.entity.botp.LinkRecordType[];
            }
            interface AttachmentPanelMapPolicy_S {
            }
            interface AttachmentPanelMapPolicy_C extends AttachmentPanelMapPolicy_S {
                new():AttachmentPanelMapPolicy;
            }
            interface AttachmentPanelMapPolicy$ {
                /**
                 * 设置所有附件面板映射条目
                 */
                setItems(items:$.java.util.List):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 获取所有附件面板映射条目
                 */
                getItems():$.java.util.List;
            }
            type AttachmentPanelMapPolicy_T = AttachmentPanelMapPolicy$;
            interface AttachmentPanelMapPolicy extends AttachmentPanelMapPolicy_T {
            }
            class GroupByMode {
                static readonly AllInOne:kd.bos.entity.botp.GroupByMode;
                static readonly OneToOne:kd.bos.entity.botp.GroupByMode;
                static readonly GroupByField:kd.bos.entity.botp.GroupByMode;
                static values():kd.bos.entity.botp.GroupByMode[];
                static valueOf(arg0:string):kd.bos.entity.botp.GroupByMode;
            }
            class ExcessCheckType {
                static readonly StrictControl:kd.bos.entity.botp.ExcessCheckType;
                static readonly CanExcessOneTime:kd.bos.entity.botp.ExcessCheckType;
                static readonly CanExcellAlways:kd.bos.entity.botp.ExcessCheckType;
                static readonly SelectByFormula:kd.bos.entity.botp.ExcessCheckType;
                static values():kd.bos.entity.botp.ExcessCheckType[];
                /**
                 * 获取描述信息
                 */
                static desc(excessCheckType:kd.bos.entity.botp.ExcessCheckType):string;
                static valueOf(arg0:string):kd.bos.entity.botp.ExcessCheckType;
            }
            class FieldConvertType {
                static readonly ByCondition:kd.bos.entity.botp.FieldConvertType;
                static readonly Formula:kd.bos.entity.botp.FieldConvertType;
                static readonly CONSTANT:kd.bos.entity.botp.FieldConvertType;
                static readonly SourceField:kd.bos.entity.botp.FieldConvertType;
                static valueOf(arg0:string):kd.bos.entity.botp.FieldConvertType;
                static values():kd.bos.entity.botp.FieldConvertType[];
            }
            class FieldSumType {
                static readonly Join:kd.bos.entity.botp.FieldSumType;
                static readonly Count:kd.bos.entity.botp.FieldSumType;
                static readonly Sum:kd.bos.entity.botp.FieldSumType;
                static readonly Date_Max:kd.bos.entity.botp.FieldSumType;
                static readonly Min:kd.bos.entity.botp.FieldSumType;
                static readonly Average:kd.bos.entity.botp.FieldSumType;
                static readonly Date_Min:kd.bos.entity.botp.FieldSumType;
                static readonly First:kd.bos.entity.botp.FieldSumType;
                static readonly Max:kd.bos.entity.botp.FieldSumType;
                static valueOf(arg0:string):kd.bos.entity.botp.FieldSumType;
                static values():kd.bos.entity.botp.FieldSumType[];
            }
            interface PlugInPolicy_S {
            }
            interface PlugInPolicy_C extends PlugInPolicy_S {
                /**
                 * 默认构造函数
                 */
                new():PlugInPolicy;
            }
            interface PlugInPolicy$ {
                /**
                 * 转换插件
                 * @return
                 */
                getPlugins():$.java.util.List;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
            }
            type PlugInPolicy_T = PlugInPolicy$;
            interface PlugInPolicy extends PlugInPolicy_T {
            }
            interface CRCondition_S {
            }
            type CRCondition_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & $.kd.bos.entity.botp.CRFormula & CRCondition_S;
            interface CRCondition_C extends CRCondition_ST {
                new():CRCondition;
            }
            interface CRCondition$ {
                /**
                 * 输出FilterCondition对象的序列化字符串
                 *
                 * @return
                 * @remark
                 * 第一版设计时，直接对FilterCondition属性按条件行序列化、差量化，
                 * 但在原始条件FilterCondition包含了括号和"或者"时，扩展规则改动了原始条件行，重新组织了括号，
                 * 后续对原始条件进行升级，在条件中间插入了新的条件行，
                 * 合并扩展条件行时，括号可能不匹配，逻辑含义也变的完全不一样，
                 * 基于此，进行了第二版设计：
                 * 序列化时，把FilterCondition转成字符串，做差量化时，按照字符串进行差量化，整体替换
                 * 反序列化时，默认恢复FilterCondition对象本身（与V1版本兼容），如果有字符串格式条件(V2版本)，则以字符串条件内容替换掉FilterCondition
                 * 改版后：
                 * 序列化：同时序列化FilterCondition、FilterContion.toString()
                 * 反序列化原始：先分别恢复FilterCondition、FilterString属性值，在序列化完成事件endInit中，用FilterString内容替换掉原始的FilterCondition
                 * 反序列化扩展：先恢复差量化的FilterCondion，再恢复差量化的FilterString，在序列化完成事件endInit中，用FilterString替换掉原始的FilterConditon
                 * 因此，最终优先取扩展规则中的FilterString为准，其次取扩展规则中的FilterCondition个性化，再次取原始规则中的FilterString，最后取原始规则FilterConditon
                 */
                getFilterString():string;
                /**
                 * 合并条件表格、手书条件，生成一条完整的表达式
                 *
                 * @param mainType
                 * @return
                 */
                buildFullFormula(mainType:$.kd.bos.entity.MainEntityType):string;
                /**
                 * 在条件表格中配置的内容
                 * @return
                 */
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 自动产生的唯一标识
                 * @param value
                 */
                setId(value:string):void;
                /**
                 * 合并条件表格、手书条件，生成一条完整的表达式
                 *
                 * @param mainType
                 * @param timeService 解析条件需要用到的时间服务（解析"今天"等比较符）
                 * @param userService 解析条件需要用到的用户服务（解析"我的部门"等比较符）
                 * @return
                 */
                buildFullFormula(mainType:$.kd.bos.entity.MainEntityType,userService:$.kd.bos.service.IUserService,timeService:$.kd.bos.service.ITimeService):string;
                /**
                 * 获取插件执行顺序，数值小的先执行
                 *
                 * @return 执行顺序
                 */
                getSeq():number;
                /**
                 * 设置禁用启用
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 禁用启用
                 */
                isEnabled():boolean;
                /**
                 * 设置/更新表格条件
                 *
                 * @param newFilterCondition
                 */
                setFilterCondition(newFilterCondition:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
                /**
                 * FilterCondition对象的序列化字符串
                 */
                setFilterString(filterString:string):void;
            }
            type CRCondition_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & $.kd.bos.entity.botp.CRFormula & CRCondition$;
            interface CRCondition extends CRCondition_T {
            }
            interface BillTypeMapItem_S {
                readonly PushType_Spec:string;
                readonly PushType_NoSpec:string;
                readonly PushType_Random:string;
                readonly SourceType_Others:string;
                readonly PushType_None:string;
                readonly SourceType_All:string;
                readonly SourceType_Spec:string;
            }
            type BillTypeMapItem_ST = $.kd.bos.entity.IIsvFlag & BillTypeMapItem_S;
            interface BillTypeMapItem_C extends BillTypeMapItem_ST {
                new():BillTypeMapItem;
            }
            interface BillTypeMapItem$ {
                /**
                 * 目标单单据类型名称，不序列化
                 * @return
                 */
                getTargetBillTypeName():string;
                /**
                 * 目标单单据类型，可能是具体单据类型id，或者是特殊选项，如默认、随机、无
                 * @return
                 */
                getTargetBillTypeId():long;
                /**
                 * 源单类型名称：不序列化，仅用于翻译本条规则
                 * @return
                 */
                getSourceBillTypeName():string;
                /**
                 * 自动产生的唯一标识
                 * @return
                 */
                getId():string;
                /**
                 * 源单单据类型
                 * @return
                 */
                getSourceBillTypeId():long;
                /**
                 * 源单类型：全部、其他、指定类型
                 * @return
                 */
                getSourceType():string;
                /**
                 * 当前映射条目是否配置完整有效？ 无效的映射条目不被采用
                 * @return
                 */
                isValid():boolean;
                /**
                 * 下推类型：指定类型、任意类型、不允许下推、不允许下推指定类型
                 * @return
                 */
                getPushType():string;
                /**
                 * 执行顺序。按顺序确定目标单单据类型，找到即止
                 * @return
                 */
                getSeq():number;
            }
            type BillTypeMapItem_T = $.kd.bos.entity.IIsvFlag & BillTypeMapItem$;
            interface BillTypeMapItem extends BillTypeMapItem_T {
            }
            interface ConvertPath_S {
            }
            interface ConvertPath_C extends ConvertPath_S {
                new():ConvertPath;
            }
            interface ConvertPath$ {
                /**
                 * 设置目标单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 设置目标单应用id
                 * @param targetBizAppId
                 */
                setTargetBizAppId(targetBizAppId:string):void;
                /**
                 * 设置应用Id
                 * @param bizAppId
                 */
                setBizAppId(bizAppId:string):void;
                /**
                 * 源单应用Id
                 * @return
                 */
                getSourceBizAppId():string;
                /**
                 * 源单主实体名称
                 * @return
                 */
                getSourceEntityName():string;
                /**
                 * 设置源单主实体编码
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 设置源单应用Id
                 * @param sourceBizAppId
                 */
                setSourceBizAppId(sourceBizAppId:string):void;
                /**
                 * 设置源单主实体名称
                 * @param sourceEntityName 源单主实体名称
                 */
                setSourceEntityName(sourceEntityName:string):void;
                /**
                 * 目标单应用id
                 * @return
                 */
                getTargetBizAppId():string;
                /**
                 * 目标单主实体名称
                 * @return
                 */
                getTargetEntityName():string;
                /**
                 * 源单主实体编码
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 设置目标单主实体名称
                 * @param targetEntityName 目标单主实体名称
                 */
                setTargetEntityName(targetEntityName:string):void;
                /**
                 * 目标单主实体编码
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 应用Id
                 * @return
                 */
                getBizAppId():string;
            }
            type ConvertPath_T = ConvertPath$;
            interface ConvertPath extends ConvertPath_T {
            }
            interface FieldMapItem_S {
            }
            type FieldMapItem_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & FieldMapItem_S;
            interface FieldMapItem_C extends FieldMapItem_ST {
                /**
                 * 默认构造函数
                 */
                new():FieldMapItem;
            }
            interface FieldMapItem$ {
                /**
                 * 输出字段取值模式的名称，用于序列化
                 * @return
                 */
                getConvertType():string;
                /**
                 * 计算公式
                 * @return
                 */
                getFormula():$.kd.bos.entity.botp.CRFormula;
                /**
                 * 字段值合并模式，用于序列化
                 * @return
                 */
                getSumType():string;
                /**
                 * 输出(字段取值模式+取值公式hashCode)合并成的字符串，由序列化自动调用
                 *
                 * @return
                 */
                getConvertType2():string;
                /**
                 * 目标字段
                 * @return
                 */
                getTargetFieldKey():string;
                /**
                 * 输出按条件取数设置的整体json字符串
                 *
                 * @return
                 * @remark
                 * 输出字段取值映射时，把按条件取值设置整体打包序列化为字符串；
                 * 现场扩展调整了按条件取值中的条件或取值公式后，会输出完整的按条件取值设置，
                 * 后续预置规则升级，还是会以现场扩展配置的取值条件和计算公式为准，不会被覆盖，各条件执行优先级得到保障
                 */
                getValByCondiionsString():string;
                /**
                 * 如果目标组织没有分配此基础资料，是否中断下推过程？
                 * @return
                 * @remark:
                 * 如果不中断，则填写基础资料字段为空；
                 */
                isBreakForNoDistribute():boolean;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,fieldMap:$.java.util.Map):void;
                /**
                 * 多行合并时，字段值合并模式：取第一行，合计、平均、计数、最大、最小、拼接
                 * @return
                 */
                getFieldSumType():FieldSumType;
                /**
                 * 按常量取值
                 * 去常量Id，支持基础资料与下拉列表
                 * @return
                 */
                getConstant():$.kd.bos.entity.botp.CRFormula;
                /**
                 * 是否仅携带未禁用的数据
                 * @return
                 */
                isOnlyTakeUsedData():boolean;
                /**
                 * 源单字段标识
                 *
                 * @return :
                 *
                 * @remark:
                 *
                 * 源单字段标识有如下几种格式：
                 * 1. id: 取单据主键;
                 * 2. entityKey.id : 取单据体主键;
                 * 3. entityKey.seq : 取单据体行序号;
                 * 4. fieldKey : 取源单字段;
                 * 5. fieldKey.property ：取基础资料字段的属性
                 * 6. fieldKey.property.subProperty : 取基础资料字段的嵌套属性
                 */
                getSourceFieldKey():string;
                /**
                 * 是否仅携带已审核的数据
                 * @return
                 */
                isOnlyTakeApprovedData():boolean;
                /**
                 * 选单时，是否按此字段过滤数据
                 * @return
                 */
                isDrawFilter():boolean;
                /**
                 * 按条件取值
                 * @return
                 */
                getValByConditions():CRValByConditions;
                /**
                 * 判断字段映射配置是否完整有效：无效的规则，不能在运行时被使用
                 * 判断标准：取值模式和取值公式一致
                 * @return
                 */
                isValid():boolean;
                /**
                 * 追加选单时，是否按此字段过滤数据，即不允许追加选择上一次所选之外的数据
                 * @return
                 */
                isDrawAgainFilter():boolean;
                /**
                 * 字段取值模式：取源单字段、取计算公式、按条件取值
                 * @return
                 */
                getFieldConvertType():FieldConvertType;
            }
            type FieldMapItem_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & FieldMapItem$;
            interface FieldMapItem extends FieldMapItem_T {
            }
            interface WriteBackRuleElement_S {
            }
            interface WriteBackRuleElement_C extends WriteBackRuleElement_S {
                /**
                 * 默认构造函数：给属性设置默认值
                 */
                new():WriteBackRuleElement;
            }
            interface WriteBackRuleElement$ {
                /**
                 * 运行时版本，格式：yyyy-MM-dd hh:mm:ss
                 * @param cacheVersion
                 */
                setCacheVersion(cacheVersion:string):void;
                /**
                 * 回滚反写后，恢复的源单关闭状态值
                 * @param billCloseFieldFailStatus
                 */
                setBillCloseFieldFailStatus(billCloseFieldFailStatus:string):void;
                /**
                 * 回滚反写后，恢复的源单关闭状态值
                 * @return
                 */
                getBillCloseFieldFailStatus():string;
                /**
                 * 源单行关闭状态字段
                 * @return
                 */
                getEntryCloseFieldKey():string;
                /**
                 * 源单整单关闭状态字段
                 * @param billCloseFieldKey
                 */
                setBillCloseFieldKey(billCloseFieldKey:string):void;
                /**
                 * 达成整单关闭条件后，源单关闭状态值
                 * @return
                 */
                getBillCloseFieldSuccesStatus():string;
                /**
                 * 超额提示信息
                 * @param excessCheckMessage
                 */
                setExcessCheckMessage(excessCheckMessage:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 源头单据
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 条件为假选择的超额控制模式
                 * @return
                 */
                getExcessSelectFalse():ExcessCheckType;
                /**
                 * 条件为假选择的超额控制模式
                 * @param excessSelectFalse
                 */
                setExcessSelectFalse(excessSelectFalse:ExcessCheckType):void;
                /**
                 * 执行反写的操作：Save = 0, Audit = 1
                 * @param opType
                 */
                setOpType(opType:WriteBackOpType):void;
                /**
                 * 扩展反写规则的版本
                 * @param extVersion
                 */
                setExtVersion(extVersion:long):void;
                /**
                 * 合并后反写超量分配方式：TopDown = 0, Weight = 1
                 * @return
                 */
                getDistributeType():DistributeType;
                /**
                 * 超额模式选择条件
                 * @return
                 */
                getExcessTypeSelectCondition():CRCondition;
                /**
                 * 超额检查公式
                 * @param excessCheckConditon
                 */
                setExcessCheckConditon(excessCheckConditon:CRCondition):void;
                /**
                 * 规则的名称
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 达成关闭条件后，源单行关闭状态值
                 * @return
                 */
                getEntryCloseFieldSuccesStatus():string;
                /**
                 * 反写公式集合
                 * @return
                 */
                getFormulas():$.java.util.List;
                /**
                 * 检查配置是否合理
                 *
                 * @param checkResult
                 * @return
                 */
                check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
                /**
                 * 最近一次检查版本时间
                 * @param checkVersionTimeMillis
                 */
                setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
                /**
                 * 超额提示信息
                 * @return
                 */
                getExcessCheckMessage():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 扩展反写规则的版本：系统在保存扩展规则时，自动更新
                 *
                 * @return
                 */
                getExtVersion():long;
                /**
                 * 条件为真时选择的超额控制模式
                 * @return
                 */
                getExcessSelectTrue():ExcessCheckType;
                /**
                 * 下游单据
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 源单整体关闭方式：AllRowsClosed(0),OneRowClosed(1);
                 * @param billCloseType
                 */
                setBillCloseType(billCloseType:BillCloseType):void;
                /**
                 * 源单行关闭条件
                 * @param closeCheckCondition
                 */
                setCloseCheckCondition(closeCheckCondition:CRCondition):void;
                /**
                 * 唯一标识：自动产生；对外号称ruleId
                 * @return
                 */
                getId():string;
                /**
                 * 执行反写的操作：Save = 0, Audit = 1
                 * @return
                 */
                getOpType():WriteBackOpType;
                /**
                 * 出厂时的状态：0 = 正常；1 = 禁用；出厂时的禁用状态最优先
                 * @return
                 * @remark
                 * 系统出厂状态的存取：
                 * 1. 通过物理表格字段存储系统出厂状态，忽略XML中的值及其差量
                 * 2. 暂时不提供用户修改出厂状态的入口（只能预插SQL语句更改），因此，忽略掉用户自行扩展的规则状态，不考虑差量化
                 * 3. 取数时，使用规则对应的出厂状态值，直接替换XML中的值
                 * 4. 存储时，把规则的出厂状态值，存回字段
                 * 5. 上述存取功能，通过DesignWriteBackRuleMeta实体对象实现
                 */
                getSysStatus():string;
                /**
                 * 回滚反写后，恢复的源单行关闭状态值
                 * @param entryCloseFieldFailStatus
                 */
                setEntryCloseFieldFailStatus(entryCloseFieldFailStatus:string):void;
                /**
                 * 原生反写规则的版本：系统自动产生，每次保存时，都自动更新；
                 * @return
                 * @remark
                 *
                 * 单据保存执行反写时，会把当时使用的反写规则，压入规则版本库，以作为后续冲销数据依据；
                 * 产生的反写快照，记录的是反写规则版本，而不是反写规则标识；
                 *
                 * 此属性值，在原生的规则保存时更新；
                 * 与元数据对象中的时间版本FVersion，不是一回事
                 */
                getOriVersion():long;
                /**
                 * 超额检查公式
                 * @return
                 */
                getExcessCheckConditon():CRCondition;
                /**
                 * 源头单据
                 * @param sourceEntityNumber
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 条件为真时选择的超额控制模式
                 * @param excessSelectTrue
                 */
                setExcessSelectTrue(excessSelectTrue:ExcessCheckType):void;
                /**
                 * 源单行关闭状态字段
                 * @param entryCloseFieldKey
                 */
                setEntryCloseFieldKey(entryCloseFieldKey:string):void;
                /**
                 * 达成关闭条件后，源单行关闭状态值
                 * @param entryCloseFieldSuccesStatus
                 */
                setEntryCloseFieldSuccesStatus(entryCloseFieldSuccesStatus:string):void;
                /**
                 * 超额检查模式：StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
                 * @return
                 */
                getExcessCheckType():ExcessCheckType;
                /**
                 * 判断反写规则是否正常启用
                 * @return
                 */
                isNormual():boolean;
                /**
                 * 源单整单关闭状态字段
                 * @return
                 */
                getBillCloseFieldKey():string;
                /**
                 * 执行反写的操作；本属性专用于序列化
                 * @return
                 */
                getOp():string;
                /**
                 * 规则的名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 回滚反写后，恢复的源单行关闭状态值
                 * @return
                 */
                getEntryCloseFieldFailStatus():string;
                /**
                 * 下游单据
                 * @param targetEntityNumber
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 合并后反写超量分配方式：TopDown = 0, Weight = 1
                 * @param distributeType
                 */
                setDistributeType(distributeType:DistributeType):void;
                /**
                 * 运行时版本，格式：yyyy-MM-dd hh:mm:ss
                 * @return
                 */
                getCacheVersion():string;
                /**
                 * 源单整体关闭方式：AllRowsClosed(0),OneRowClosed(1);
                 * @return
                 */
                getBillCloseType():BillCloseType;
                /**
                 * 源单行关闭条件
                 * @return
                 */
                getCloseCheckCondition():CRCondition;
                /**
                 * 用户调整的状态：0 = 草稿；1 = 启用；2 = 禁用
                 * @return
                 * @remark
                 * 用户状态的存取：
                 * 1. 使用单独的物理表格，存储用户状态 t_botp_writeBackRule_S.fcuststatus；
                 * 2. 读取规则元数据插件WriteBackRuleMetaDaoPlugin，使用物理字段中状态值，替换本对象从xml中读取的状态值；
                 * 3. 存储规则时，在元数据插件中，把本对象中的状态，同步更新到用户状态表格中；
                 * 4. 加载运行时反写规则时，WriteBackRuleMetaDaoPlugin插件，去掉已禁用的扩展；
                 * 5. 打包安装规则时，不打包用户状态字段值，避免覆盖现场用户设置的状态
                 */
                getCustStatus():string;
                /**
                 * 超额模式选择条件
                 * @param excessTypeSelectCondition
                 */
                setExcessTypeSelectCondition(excessTypeSelectCondition:CRCondition):void;
                /**
                 * 业务规则：在反写完毕后，对源单其他字段进行同步刷新
                 *
                 * @return
                 */
                getBizRules():$.java.util.List;
                /**
                 * 达成整单关闭条件后，源单关闭状态值
                 * @param billCloseFieldSuccesStatus
                 */
                setBillCloseFieldSuccesStatus(billCloseFieldSuccesStatus:string):void;
                /**
                 * 超额检查模式：StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
                 * @param excessCheckType
                 */
                setExcessCheckType(excessCheckType:ExcessCheckType):void;
                /**
                 * 最近一次检查版本时间
                 * @return
                 */
                getCheckVersionTimeMillis():long;
            }
            type WriteBackRuleElement_T = WriteBackRuleElement$;
            interface WriteBackRuleElement extends WriteBackRuleElement_T {
            }
            class WriteBackType {
                static readonly Lessen:kd.bos.entity.botp.WriteBackType;
                static readonly Add:kd.bos.entity.botp.WriteBackType;
                static readonly Cover:kd.bos.entity.botp.WriteBackType;
                static values():kd.bos.entity.botp.WriteBackType[];
                static valueOf(arg0:string):kd.bos.entity.botp.WriteBackType;
            }
            interface BillTypeMapPolicy_S {
            }
            interface BillTypeMapPolicy_C extends BillTypeMapPolicy_S {
                new():BillTypeMapPolicy;
            }
            interface BillTypeMapPolicy$ {
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 单据类型映射配置项
                 * @return
                 */
                getItems():$.java.util.List;
            }
            type BillTypeMapPolicy_T = BillTypeMapPolicy$;
            interface BillTypeMapPolicy extends BillTypeMapPolicy_T {
            }
            class BillCloseType {
                static readonly AllRowsClosed:kd.bos.entity.botp.BillCloseType;
                static readonly OneRowClosed:kd.bos.entity.botp.BillCloseType;
                static valueOf(arg0:string):kd.bos.entity.botp.BillCloseType;
                /**
                 * 根据value获取源单关闭方式
                 */
                static valueOf(value:number):kd.bos.entity.botp.BillCloseType;
                static values():kd.bos.entity.botp.BillCloseType[];
            }
            interface CRValByCondition_S {
            }
            interface CRValByCondition_C extends CRValByCondition_S {
                new():CRValByCondition;
            }
            interface CRValByCondition$ {
                /**
                 * 检查配置是否合理
                 *
                 * @param mainType
                 * @param checkResult
                 * @return
                 */
                check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 取值条件：如果为空，表示不设条件
                 * @return
                 */
                getCondition():CRCondition;
                /**
                 * 本项取值方式：
                 * 1. 严格按条件取值：只有条件满足，才会选用本项；条件为空，认为满足条件
                 * 2. 其他情况：不判断条件，直接选用本项；适用于放在最后，进行兜底
                 * @return
                 */
                getSelectType():CRValByConditionType;
                /**
                 * 取值方式toString，用于序列化
                 * @return
                 */
                getSelect():string;
                /**
                 * 是否是按条件取值中的常量取值
                 * 0否  1是
                 * @return
                 */
                getIfconstant():number;
                /**
                 * 选择顺序：
                 * 取值时，从前往后，逐项比较条件，条件满足时，即选中返回；后面的选择项，不再分析；
                 * 因此，选择顺序，对取值结果起到非常关键的作用
                 * @return
                 */
                getSeq():number;
                /**
                 * 取值公式：条件满足则取此计算公式结果
                 * @return
                 */
                getFormula():$.kd.bos.entity.botp.CRFormula;
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
            }
            type CRValByCondition_T = CRValByCondition$;
            interface CRValByCondition extends CRValByCondition_T {
            }
            interface FilterPolicy_S {
            }
            interface FilterPolicy_C extends FilterPolicy_S {
                /**
                 * 默认构造函数
                 */
                new():FilterPolicy;
            }
            interface FilterPolicy$ {
                /**
                 * 条件对象
                 * @return
                 */
                getCondition():CRCondition;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 条件对象
                 * @return
                 */
                getConditionList():$.java.util.List;
                /**
                 * 启用高级条件
                 * @return
                 */
                getAdvCondition():boolean;
            }
            type FilterPolicy_T = FilterPolicy$;
            interface FilterPolicy extends FilterPolicy_T {
            }
            class CRValByConditionType {
                static readonly ByCondition:kd.bos.entity.botp.CRValByConditionType;
                static readonly Others:kd.bos.entity.botp.CRValByConditionType;
                /**
                 * 把整数枚举值转为枚举项
                 *
                 * @param val 枚举值
                 * @return 枚举项 ByCondition，Others
                 */
                static valueOf(val:number):kd.bos.entity.botp.CRValByConditionType;
                static valueOf(arg0:string):kd.bos.entity.botp.CRValByConditionType;
                static values():kd.bos.entity.botp.CRValByConditionType[];
            }
            interface GroupByPolicy_S {
            }
            interface GroupByPolicy_C extends GroupByPolicy_S {
                /**
                 * 默认构造函数
                 */
                new():GroupByPolicy;
            }
            interface GroupByPolicy$ {
                /**
                 * 子单据体行合并方式
                 * @param groupMode
                 */
                setGroupMode3(groupMode:string):void;
                /**
                 * 单据体行合并模式，用于序列化
                 * @param groupMode
                 */
                setGroupMode2(groupMode:string):void;
                /**
                 * 单据体行合并依赖字段：只有按字段合并模式下，这个属性才会赋值
                 * @return
                 */
                getGroupByField2():string;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 单据体行合并依赖字段：只有按字段合并模式下，这个属性才会赋值
                 * @return
                 */
                getGroupByField3():string;
                /**
                 * 分单模式，用于序列化
                 * @param groupMode
                 */
                setGroupMode(groupMode:string):void;
                /**
                 * 子单据体行合并方式
                 * @param groupByMode3
                 */
                setGroupByMode3(groupByMode3:GroupByMode):void;
                /**
                 * 分单依赖的字段：只有按字段分单模式下，这个属性才会赋值
                 */
                getGroupByField():string;
                /**
                 * 单据分单方式：一对一、全部合并、按字段分单
                 * @return
                 */
                getGroupByMode():GroupByMode;
                /**
                 * 单据体行合并依赖字段
                 * @param groupByField2
                 */
                setGroupByField2(groupByField2:string):void;
                /**
                 * 子单据体行合并方式，用于序列化
                 *
                 * @return
                 */
                getGroupMode3():string;
                /**
                 * 单据体行合并方式
                 * @param groupByMode2
                 */
                setGroupByMode2(groupByMode2:GroupByMode):void;
                /**
                 * 子单据体行合并方式：一对一、全部合并、按字段合并
                 * @return
                 */
                getGroupByMode3():GroupByMode;
                /**
                 * 分单依赖的字段
                 * @param groupByField
                 */
                setGroupByField(groupByField:string):void;
                /**
                 * 单据体行合并方式：一对一、全部合并、按字段合并
                 * @return
                 */
                getGroupByMode2():GroupByMode;
                /**
                 * 单据分单方式：一对一、全部合并、按字段分单
                 * @param groupByMode
                 */
                setGroupByMode(groupByMode:GroupByMode):void;
                /**
                 * 单据体行合并依赖字段
                 * @param groupByField3
                 */
                setGroupByField3(groupByField3:string):void;
                /**
                 * 分单模式，用于序列化
                 *
                 * @return
                 * @remark
                 * 枚举类型属性，序列化、反序列化时，非常麻烦；特别定义一个字符串类型属性，专用于序列化
                 */
                getGroupMode():string;
                /**
                 * 单据体行合并模式，用于序列化
                 *
                 * @return
                 */
                getGroupMode2():string;
            }
            type GroupByPolicy_T = GroupByPolicy$;
            interface GroupByPolicy extends GroupByPolicy_T {
            }
            interface LinkEntityPolicy_S {
            }
            interface LinkEntityPolicy_C extends LinkEntityPolicy_S {
            }
            interface LinkEntityPolicy$ {
                /**
                 * 目标单据关联主实体：可以是单据头、单据体、子单据体，在此实体上，记录关联的源单信息
                 * @return
                 */
                getTargetEntryKey():string;
                /**
                 * 目标单据关联子实体：可以是单据体、子单据体，取关联主实体的下属实体
                 * @return
                 */
                getTargetSubEntryKey():string;
                /**
                 * 来源单据子实体：可以是单据体、子单据体，取关联主实体的下属实体
                 */
                getSourceSubEntryKey():string;
                /**
                 * 来源单据关联主实体：可以是单据头、单据体、子单据体
                 * @return
                 * @remark:
                 * 以此实体追踪关联关系
                 */
                getSourceEntryKey():string;
                /**
                 * 关联关系，用于序列化
                 * @return
                 */
                setLinkType(linkType:string):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * PC端选单操作，显示源单数据列表时，采用的源单布局。
                 */
                getSourceLayout():string;
                /**
                 * 输出源单关联主实体及其父实体：校验数据筛选、数据分组策略中用到的源单字段，必须来自于关联主实体
                 * @param srcMainType
                 * @return
                 */
                getSrcLinkEntitys(srcMainType:$.kd.bos.entity.MainEntityType):$.java.util.HashSet;
                /**
                 * 移动端选单操作，显示源单数据列表时，采用的源单布局。
                 * @return
                 */
                getMobSourceLayout():string;
                /**
                 * 关联关系，用于序列化
                 * @return
                 */
                getLinkType():string;
                /**
                 * 移动端选单操作，显示源单数据列表时，采用的源单布局。
                 * @return
                 */
                setMobSourceLayout(mobSourceLayout:string):void;
                /**
                 * PC端选单操作，显示源单数据列表时，采用的源单布局。
                 */
                setSourceLayout(sourceLayout:string):void;
                /**
                 * 目标单据关联主实体：可以是单据头、单据体、子单据体，在此实体上，记录关联的源单信息
                 * @return
                 */
                setTargetEntryKey(targetEntryKey:string):void;
                /**
                 * 关联关系记录类型：关联、仅复制
                 * @return
                 */
                getLinkRecordType():LinkRecordType;
                /**
                 * 移动端端下推操作，显示目标单新增界面时，采用的目标单布局。
                 */
                getMobTargetLayout():string;
                /**
                 * 目标单据关联子实体：可以是单据体、子单据体，取关联主实体的下属实体
                 * @return
                 */
                setTargetSubEntryKey(targetSubEntryKey:string):void;
                /**
                 * PC端下推操作，显示目标单新增界面时，采用的目标单布局。
                 */
                setTargetLayout(targetLayout:string):void;
                /**
                 * 来源单据关联主实体：可以是单据头、单据体、子单据体
                 * @return
                 * @remark:
                 * 以此实体追踪关联关系
                 */
                setSourceEntryKey(sourceEntryKey:string):void;
                /**
                 * PC端下推操作，显示目标单新增界面时，采用的目标单布局。
                 */
                getTargetLayout():string;
                /**
                 * 关联关系记录类型：关联、仅复制
                 * @return
                 */
                setLinkRecordType(linkRecordType:LinkRecordType):void;
                /**
                 * 移动端端下推操作，显示目标单新增界面时，采用的目标单布局。
                 */
                setMobTargetLayout(mobTargetLayout:string):void;
            }
            type LinkEntityPolicy_T = LinkEntityPolicy$;
            interface LinkEntityPolicy extends LinkEntityPolicy_T {
            }
            class DistributeType {
                static readonly Weight:kd.bos.entity.botp.DistributeType;
                static readonly TopDown:kd.bos.entity.botp.DistributeType;
                /**
                 * 自上而下
                 */
                static valueOf(value:number):kd.bos.entity.botp.DistributeType;
                static values():kd.bos.entity.botp.DistributeType[];
                static valueOf(arg0:string):kd.bos.entity.botp.DistributeType;
            }
            interface WriteBackFormula_S {
            }
            type WriteBackFormula_ST = $.kd.bos.entity.IIsvFlag & WriteBackFormula_S;
            interface WriteBackFormula_C extends WriteBackFormula_ST {
                new():WriteBackFormula;
            }
            interface WriteBackFormula$ {
                /**
                 * 反写方式：Add = 0, Lessen = 1, Cover = 2
                 * @param writeBackType
                 */
                setWriteBackType(writeBackType:WriteBackType):void;
                /**
                 * 反写方式：Add = 0, Lessen = 1, Cover = 2
                 * @return
                 */
                getWriteBackType():WriteBackType;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @param condition
                 */
                setCondition(condition:CRCondition):void;
                /**
                 * 反写条目标识
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @param formula
                 */
                setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @return
                 */
                getFormula():$.kd.bos.entity.botp.CRFormula;
                /**
                 * 是否禁用：可以临时禁用某条反写条目
                 * @param disabled
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 反写方式类型
                 * @return
                 */
                getWriteType():string;
                /**
                 * 是否禁用：可以临时禁用某条反写条目
                 * @return
                 */
                isDisabled():boolean;
                /**
                 * 反写源单字段：把反写值，追加到此字段上
                 * @param sourceCommitFieldKey
                 */
                setSourceCommitFieldKey(sourceCommitFieldKey:string):void;
                /**
                 * 反写条目执行顺序
                 * @return
                 */
                getSeq():number;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @return
                 */
                getCondition():CRCondition;
                /**
                 * 反写方式 (字符串转换)
                 * @param writeType
                 */
                setWriteType(writeType:string):void;
                /**
                 * 反写条目执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 反写源单字段：把反写值，追加到此字段上
                 * @return
                 */
                getSourceCommitFieldKey():string;
                /**
                 * 反写条目标识，随机产生的长整数，绝不重复
                 * @return
                 */
                getId():long;
            }
            type WriteBackFormula_T = $.kd.bos.entity.IIsvFlag & WriteBackFormula$;
            interface WriteBackFormula extends WriteBackFormula_T {
            }
            interface ConvertRuleElement_S {
            }
            interface ConvertRuleElement_C extends ConvertRuleElement_S {
                /**
                 * 构造函数
                 */
                new():ConvertRuleElement;
            }
            interface ConvertRuleElement$ {
                /**
                 * 设置是否启用
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 规则名称，用户输入
                 *
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 检查规则配置是否合理
                 *
                 * @param parentPoint 父检查点
                 * @param checkResult 输出检查结果
                 * @return
                 */
                check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):boolean;
                /**
                 * 目标单实体编码
                 * @param targetEntityNumber
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 是否自动保存
                 * @return
                 */
                isAutoSave():boolean;
                /**
                 * 插件策略
                 * @param plugInPolicy
                 */
                setPlugInPolicy(plugInPolicy:PlugInPolicy):void;
                /**
                 * 单据类型映射策略
                 * @return
                 */
                getBillTypeMapPolicy():BillTypeMapPolicy;
                /**
                 * 插件策略
                 *
                 * @return
                 */
                getPlugInPolicy():PlugInPolicy;
                /**
                 * 启动条件
                 *
                 * @return
                 */
                getRunCondition():CRCondition;
                /**
                 * 分单合并策略
                 * @param groupByPolicy
                 */
                setGroupByPolicy(groupByPolicy:GroupByPolicy):void;
                /**
                 * 运行时是否显示出来供用户选择
                 * @param visibled
                 */
                setVisibled(visibled:boolean):void;
                /**
                 * 开闭策略节点信息
                 */
                getExtElements():$.java.util.List;
                /**
                 * 分单合并策略
                 *
                 * @return
                 */
                getGroupByPolicy():GroupByPolicy;
                /**
                 * 是否启用
                 *
                 * @return
                 * @remark 是否启用判断说明：
                 * 1. 规则状态，有单独表格存储，t_BOTP_ConvertRule_S.FEnabled(0 = 未启用, 1= 启用)存储；
                 * 2. 原生规则、扩展规则，可以分别设置启用状态，但是其含义不同：原生规则的启用状态，确定此规则是否允许使用；扩展规则的启用状态，确定此扩展是否启用
                 * 3. 读取规则时，在元数据插件中，从数据库字段单独读取启用状态，覆盖XML中的状态值
                 * 5. 保存规则时，从对象中，提取状态值，更新数据库表格规则状态字段值；
                 * 6. 提交SVN生成的文件中，不包含状态值，避免部署包，覆盖用户的配置
                 */
                isEnabled():boolean;
                /**
                 * 主实体字段映射策略
                 *
                 * @return
                 */
                getFieldMapPolicy():FieldMapPolicy;
                /**
                 * 设置系统出厂状态
                 */
                setSysStatus(sysStatus:string):void;
                /**
                 * 过滤策略
                 *
                 * @return
                 */
                getFilterPolicy():FilterPolicy;
                /**
                 * 选单时是否显示出来供用户选择
                 *
                 * @return
                 */
                isDrawVisibled():boolean;
                /**
                 * 设置运行时可见控制
                 */
                setVisibledCtrl(visibledCtrl:boolean):void;
                /**
                 * 设置最近一次检查版本时间
                 * @param checkVersionTimeMillis
                 */
                setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
                /**
                 * 过滤策略
                 * @param filterPolicy
                 */
                setFilterPolicy(filterPolicy:FilterPolicy):void;
                /**
                 * 开闭策略节点信息
                 */
                setExtElements(extElements:$.java.util.List):void;
                /**
                 * 目标单实体编码
                 *
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 运行时是否显示出来供用户选择
                 *
                 * @return
                 */
                isVisibled():boolean;
                /**
                 * 关联主实体策略
                 * @param linkEntityPolicy
                 */
                setLinkEntityPolicy(linkEntityPolicy:LinkEntityPolicy):void;
                /**
                 * 整单下推
                 * @return
                 */
                isBillPush():boolean;
                /**
                 * 是否自动保存
                 * @param autoSave
                 */
                setAutoSave(autoSave:boolean):void;
                /**
                 * 规则名称，用户输入
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 自动生成的唯一标识，永不改变
                 *
                 * @return
                 */
                getId():string;
                /**
                 * 自动生成的唯一标识，永不改变
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 最近一次检查版本时间
                 *
                 * @return
                 */
                getCheckVersionTimeMillis():long;
                /**
                 * 整单下推
                 * @param billPush
                 */
                setBillPush(billPush:boolean):void;
                /**
                 * 是否默认规则
                 *
                 * @return
                 * @remark 是否默认判断说明：
                 * 1. 是否默认，存储在元数据表格字段中； 整个路线，只有一个规则，允许设置为默认规则；
                 * 2. 默认状态，也存储在XML中，并支持序列化、差量化；
                 * 3. 但因为路线只能有一个规则，在一个规则勾选了默认后，需要忽略其他全部规则的默认状态；这个需求，用批量更新字段值的方式比较简单
                 * 4. 因此，默认状态，以数据库字段值为准，不管XML是否勾选了默认；
                 * <p>
                 * 5. 保存规则元数据时，不更新默认规则字段值： 单独提供保存原生规则默认状态的方法：取消其他规则的默认状态，勾上本规则的状态
                 * 7. 读取规则的默认状态时，以规则的表格字段值，覆盖XML中的内容 (ConvertRuleMetaDaoPlugin)
                 * 8. 配置界面，使用一个标记单独记录当前默认规则，默认规则必须是原生规则，在扩展规则上勾选默认选项，还是会把其原生规则作为默认规则
                 */
                isDefRule():boolean;
                /**
                 * 业务规则策略
                 *
                 * @return
                 */
                getBizRulePolicy():BizRulePolicy;
                /**
                 * 业务规则策略
                 * @param bizRulePolicy
                 */
                setBizRulePolicy(bizRulePolicy:BizRulePolicy):void;
                /**
                 * 判断反写规则是否正常启用
                 * @return
                 */
                isNormual():boolean;
                /**
                 * 单据转换选项控制策略
                 * @param optionPolicy
                 */
                setOptionPolicy(optionPolicy:OptionPolicy):void;
                /**
                 * 单据转换选项控制策略
                 * @return
                 */
                getOptionPolicy():OptionPolicy;
                /**
                 * 源单实体编码
                 * @param sourceEntityNumber
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 主实体字段映射策略
                 * @param fieldMapPolicy
                 */
                setFieldMapPolicy(fieldMapPolicy:FieldMapPolicy):void;
                /**
                 * 设置是否默认规则
                 * @param defRule
                 */
                setDefRule(defRule:boolean):void;
                /**
                 * 设置运行时版本
                 * @param cacheVersion
                 */
                setCacheVersion(cacheVersion:string):void;
                /**
                 * 关联主实体策略
                 *
                 * @return
                 */
                getLinkEntityPolicy():LinkEntityPolicy;
                /**
                 * 附件面板映射策略
                 * @param attachmentPanelMapPolicy
                 */
                setAttachmentPanelMapPolicy(attachmentPanelMapPolicy:AttachmentPanelMapPolicy):void;
                /**
                 * 出厂时的状态：0 = 正常；1 = 禁用；出厂时的禁用状态最优先
                 * @return
                 * @remark
                 * 系统出厂状态的存取：
                 * 1. 通过物理表格字段存储系统出厂状态，忽略XML中的值及其差量
                 * 2. 暂时不提供用户修改出厂状态的入口（只能预插SQL语句更改），因此，忽略掉用户自行扩展的规则状态，不考虑差量化
                 * 3. 取数时，使用规则对应的出厂状态值，直接替换XML中的值
                 * 4. 存储时，把规则的出厂状态值，存回字段
                 * 5. 上述存取功能，通过DesignWriteBackRuleMeta实体对象实现
                 */
                getSysStatus():string;
                /**
                 * 源单实体编码
                 *
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 单据类型映射策略
                 * @param billTypeMapPolicy
                 */
                setBillTypeMapPolicy(billTypeMapPolicy:BillTypeMapPolicy):void;
                /**
                 * 运行时版本，格式：yyyy-MM-dd hh:mm:ss
                 *
                 * @return
                 */
                getCacheVersion():string;
                /**
                 * 运行时可见控制
                 *
                 * @return
                 */
                isVisibledCtrl():boolean;
                /**
                 * 附件面板映射策略
                 * @return
                 */
                getAttachmentPanelMapPolicy():AttachmentPanelMapPolicy;
                /**
                 * 设置启动条件
                 * @param runCondition
                 */
                setRunCondition(runCondition:CRCondition):void;
                /**
                 * 选单时是否显示出来供用户选择
                 * @param drawVisibled
                 */
                setDrawVisibled(drawVisibled:boolean):void;
            }
            type ConvertRuleElement_T = ConvertRuleElement$;
            interface ConvertRuleElement extends ConvertRuleElement_T {
            }
            interface FieldMapPolicy_S {
            }
            type FieldMapPolicy_ST = $.kd.bos.dataentity.entity.ISupportInitialize & FieldMapPolicy_S;
            interface FieldMapPolicy_C extends FieldMapPolicy_ST {
                new():FieldMapPolicy;
            }
            interface FieldMapPolicy$ {
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 设置是否允许跨实体映射
                 */
                setAllowCrossEntityMapping(allowCrossEntityMapping:boolean):void;
                /**
                 * 是否允许跨实体映射
                 */
                isAllowCrossEntityMapping():boolean;
                /**
                 * 字段映射集合
                 * @return
                 */
                getFieldMaps():$.java.util.List;
            }
            type FieldMapPolicy_T = $.kd.bos.dataentity.entity.ISupportInitialize & FieldMapPolicy$;
            interface FieldMapPolicy extends FieldMapPolicy_T {
            }
            interface CRValByConditions_S {
            }
            interface CRValByConditions_C extends CRValByConditions_S {
                new():CRValByConditions;
            }
            interface CRValByConditions$ {
                /**
                 * 检查配置是否合理
                 *
                 * @param mainType
                 * @param checkResult
                 * @return
                 */
                check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 取值项集合：
                 * 按顺序，逐项比较条件，满足条件即返回选择项
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 输出本项配置的取值内容，把各项的取值公式，拼接起来
                 * @return
                 */
                getDescription():string;
            }
            type CRValByConditions_T = CRValByConditions$;
            interface CRValByConditions extends CRValByConditions_T {
            }
            interface CRBizRuleElement_S {
            }
            type CRBizRuleElement_ST = $.kd.bos.entity.IIsvFlag & CRBizRuleElement_S;
            interface CRBizRuleElement_C extends CRBizRuleElement_ST {
                new():CRBizRuleElement;
            }
            interface CRBizRuleElement$ {
                /**
                 * 是否启用
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 服务执行条件
                 * @return
                 */
                getPreCondition():CRCondition;
                /**
                 * 服务类型，据此寻找服务元模型，获取服务执行类，以及配置界面
                 * @return
                 */
                getActionId():string;
                /**
                 * 服务配置参数：各种具体服务的配置参数，包括格式都是不同的；
                 * 这里并不关注这种差异，只是提供存储的载体，由服务执行类自行解析服务配置参数，实现功能
                 * @return
                 */
                getParameters():string;
                /**
                 * 服务配置参数
                 * @param parameters
                 */
                setParameters(parameters:string):void;
                /**
                 * 执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 是否启用
                 * @return
                 */
                isEnabled():boolean;
                /**
                 * 服务执行类名
                 * @param runActionClass
                 */
                setRunActionClass(runActionClass:string):void;
                /**
                 * 服务描述
                 * @param description
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 服务执行条件
                 * @param preCondition
                 */
                setPreCondition(preCondition:CRCondition):void;
                /**
                 * 服务类型
                 * @param actionId
                 */
                setActionId(actionId:string):void;
                /**
                 * 服务执行类名，必须派生自CRBizRuleAction
                 * @return
                 */
                getRunActionClass():string;
                /**
                 * 执行顺序
                 * @return
                 */
                getSeq():number;
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
                /**
                 * 检查配置是否合理
                 *
                 * @param mainType
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 自动产生的唯一标识
                 * @param value
                 */
                setId(value:string):void;
                /**
                 * 服务描述，介绍服务的用途
                 * @return
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
            }
            type CRBizRuleElement_T = $.kd.bos.entity.IIsvFlag & CRBizRuleElement$;
            interface CRBizRuleElement extends CRBizRuleElement_T {
            }
            interface WriteBackBizRule_S {
            }
            type WriteBackBizRule_ST = $.kd.bos.entity.IIsvFlag & WriteBackBizRule_S;
            interface WriteBackBizRule_C extends WriteBackBizRule_ST {
                new():WriteBackBizRule;
            }
            interface WriteBackBizRule$ {
                /**
                 * 前置条件
                 * @return
                 */
                getPreCondition():CRCondition;
                /**
                 * 前置条件
                 * @param preCondition
                 */
                setPreCondition(preCondition:CRCondition):void;
                /**
                 * 条件成立时执行的业务规则
                 * @param bizRuleTrue
                 */
                setBizRuleTrue(bizRuleTrue:CRBizRuleElement):void;
                /**
                 * 唯一标识
                 * @param value
                 */
                setId(value:string):void;
                /**
                 * 条件失败时执行的业务规则
                 * @return
                 */
                getBizRuleFalse():CRBizRuleElement;
                /**
                 * 是否启用
                 * @return
                 */
                isEnabled():boolean;
                /**
                 * 条件成立时执行的业务规则
                 * @return
                 */
                getBizRuleTrue():CRBizRuleElement;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param srcEntityKey
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,srcEntityKey:string,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 是否启用
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
                /**
                 * 条件失败时执行的业务规则
                 * @param bizRuleFalse
                 */
                setBizRuleFalse(bizRuleFalse:CRBizRuleElement):void;
                /**
                 * 执行顺序
                 * @return
                 */
                getSeq():number;
            }
            type WriteBackBizRule_T = $.kd.bos.entity.IIsvFlag & WriteBackBizRule$;
            interface WriteBackBizRule extends WriteBackBizRule_T {
            }
            interface BizRulePolicy_S {
            }
            interface BizRulePolicy_C extends BizRulePolicy_S {
                new():BizRulePolicy;
            }
            interface BizRulePolicy$ {
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 业务规则列表
                 *
                 * @return
                 */
                getActions():$.java.util.List;
            }
            type BizRulePolicy_T = BizRulePolicy$;
            interface BizRulePolicy extends BizRulePolicy_T {
            }
            interface AttachmentPanelMapItem_S {
            }
            type AttachmentPanelMapItem_ST = $.kd.bos.entity.IIsvFlag & AttachmentPanelMapItem_S;
            interface AttachmentPanelMapItem_C extends AttachmentPanelMapItem_ST {
                new():AttachmentPanelMapItem;
            }
            interface AttachmentPanelMapItem$ {
                /**
                 * 自动产生的唯一标识
                 * @return
                 */
                getId():string;
            }
            type AttachmentPanelMapItem_T = $.kd.bos.entity.IIsvFlag & AttachmentPanelMapItem$;
            interface AttachmentPanelMapItem extends AttachmentPanelMapItem_T {
            }
            interface ConvertRuleCache_S {
                /**
                 * 清除全部转换规则的缓存
                 */
                clearAllConvertRuleCache():void;
                /**
                 * 读取指定的转换规则
                 * @param ids
                 * @return
                 */
                loadRules(ids:string[]):$.java.util.List;
                /**
                 * 清除指定规则的缓存
                 *
                 * @param ruleId
                 */
                clearConvertRuleCache(ruleId:string):void;
                /**
                 * 输出监视用的规则内容，在出现问题时，使用此方法获取当前内存中的规则详情
                 *
                 * @param id
                 * @param cacheType
                 * @return
                 */
                loadDebugRule(id:string,cacheType:string):string;
                /**
                 * 读取两个单据之间的全部转换规则
                 *
                 * @param sourceEntityNumber
                 * @param targetEntityNumber
                 * @return
                 */
                loadRules(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * 批量读取两个单据之间的全部转换规则
                 * @param keys
                 * @return
                 */
                batchLoadRules(keys:$.java.util.List):$.java.util.Map;
                /**
                 * 读取指定的转换规则
                 *
                 * @param id
                 * @return
                 */
                loadRule(id:string):ConvertRuleElement;
            }
            interface ConvertRuleCache_C extends ConvertRuleCache_S {
                new():ConvertRuleCache;
            }
            interface ConvertRuleCache$ {
            }
            type ConvertRuleCache_T = ConvertRuleCache$;
            interface ConvertRuleCache extends ConvertRuleCache_T {
            }
            class WriteBackOpType {
                static readonly Audit:kd.bos.entity.botp.WriteBackOpType;
                static readonly Save:kd.bos.entity.botp.WriteBackOpType;
                static values():kd.bos.entity.botp.WriteBackOpType[];
                static valueOf(arg0:string):kd.bos.entity.botp.WriteBackOpType;
            }
            interface BotpModule_S {
            }
            type BotpModule_ST = $.kd.sdk.module.Module & BotpModule_S;
            interface BotpModule_C extends BotpModule_ST {
                new():BotpModule;
            }
            interface BotpModule$ {
            }
            type BotpModule_T = $.kd.sdk.module.Module & BotpModule$;
            interface BotpModule extends BotpModule_T {
            }
            interface OptionPolicy_S {
            }
            interface OptionPolicy_C extends OptionPolicy_S {
                new():OptionPolicy;
            }
            interface OptionPolicy$ {
                /**
                 * 生成报告开始时间
                 * @return
                 */
                getReportStartTime():Date;
                /**
                 * 是否只允许下推一次：已经下推并保存了下游单据后，不允许再次下推到这种单据（可下推到其他单据）
                 * @return
                 * @remark
                 * 默认不限下推次数，特殊场景可勾选此选项，不允许重复下推（如后台自动下推，通常一次性下推完毕，不允许重复下推）
                 */
                isPushOneTime():boolean;
                /**
                 * 是否校验基础资料可用性, 默认不校验, 可允许已禁用的基础资料继续下推
                 * (暂时仅控制通过 masterid 检索 id 的方式时, 启用禁用状态的甄别. 直接携带 id 的方式不进行控制)
                 * @return
                 */
                isCheckBaseEnable():boolean;
                /**
                 * 是否生成报告
                 * @return
                 */
                isCreateReport():boolean;
                /**
                 * 是否把单据、基础资料分为多次读取
                 * @param onlyReadBillTable
                 */
                setOnlyReadBillTable(onlyReadBillTable:string):void;
                /**
                 * 生成结束时间
                 * @return
                 */
                getReportEndTime():Date;
                /**
                 * 是否把单据、基础资料分为多次读取
                 * @return
                 * @remark
                 * 当前下推取数，是把主表和基础资料表关联起来，一次性读取主表字段、基础资料属性字段值
                 * 在基础资料属于其他分库，且主表数据行很多时，会单独、无条件的读取关联的基础资料表，然后用Algo进行join，性能很慢。
                 * 勾上此选项后，把基础资料数据剥离出来，在主表数据读取完毕后，根据主表上记录的基础资料内码，单独读取基础资料数据，且使用缓存方式读取，性能会有提升
                 *
                 * 默认此选项不勾选：为了和历史代码保持兼容，避免新的取数模式测试不充分，影响客户生产环境业务运行
                 */
                getOnlyReadBillTable():string;
                /**
                 * 条件及表达式是否保留首尾空格
                 * @return
                 */
                isWithoutTrim():boolean;
                /**
                 * 开启校验基础资料可用性后, 选择的下游单可用性校验的具体基础资料集合
                 * @return
                 */
                getMulComboBaseEnables():$.java.util.List;
                /**
                 * 单据转换快照
                 * @return
                 */
                isConvertSnapshot():boolean;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:ConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult,elementMap:$.java.util.Map):void;
                /**
                 * 下推时是否启动网络控制
                 * @param pushMutex
                 */
                setPushMutex(pushMutex:boolean):void;
                /**
                 * 是否只允许下推一次
                 * @param pushOneTime
                 */
                setPushOneTime(pushOneTime:boolean):void;
                /**
                 * 下推时是否启动网络控制，不允许对源单做其他操作。默认不启动网控，以免影响用户操作
                 * @return
                 */
                isPushMutex():boolean;
                /**
                 * 开启校验基础资料可用性后, 需选择下游单可用性校验的具体基础资料, 通过下拉框选择多项, 以逗号隔开标识
                 * @return
                 */
                getMulComboBaseEnableStr():string;
                /**
                 * 是否校验基础资料可用性
                 * @param checkBaseEnable
                 */
                setCheckBaseEnable(checkBaseEnable:boolean):void;
                /**
                 * 开启校验基础资料可用性后
                 * @param mulComboBaseEnableStr
                 */
                setMulComboBaseEnableStr(mulComboBaseEnableStr:string):void;
                /**
                 * 其他单据体也下推到关联主单据体时，直接合并到关联主单据体行中，不生成新行
                 * @return
                 * @remark
                 * 从源单其他单据体上，携带字段到关联主单据体行中，默认把数据合并到已生成的关联主单据体行中，取其他单据体第一行的字段值，填写到关联主单据体每行字段上，不生成新行
                 * 取掉此选项后，则自行创建目标单据体行（创建新行时，会减去目标单据体已有的行，仅补上不足的行），然后逐行逐字段赋值
                 * 例如：
                 * 1. 关联主单据体已有2行数据;
                 * 2. 其他单据体有3行数据，也要带到关联主单据体上；
                 * 3. 给关联主单据体创建新行，使总行数等于3行（即实际只新建了1行）
                 * 4. 把其他单据体的3行数据，逐行填写到目标单关联主单据体各对应行上
                 */
                getMergeIntoLinkRow():string;
            }
            type OptionPolicy_T = OptionPolicy$;
            interface OptionPolicy extends OptionPolicy_T {
            }
            interface ConvertBill_S {
            }
            interface ConvertBill_C extends ConvertBill_S {
                new():ConvertBill;
            }
            interface ConvertBill$ {
                /**
                 * 设置实体名称
                 * @param entityName
                 */
                setEntityName(entityName:string):void;
                setThirdPush(thirdPush:boolean):void;
                /**
                 * 实体名称
                 * @return
                 */
                getEntityName():string;
                /**
                 * 源单编码
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 设置实体编码
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 是否第三方下推
                 * @return
                 */
                getThirdPush():boolean;
                /**
                 * 实体编码
                 * @return
                 */
                getEntityNumber():string;
                /**
                 * 可用的转换规则
                 * @return
                 */
                getRules():$.java.util.List;
            }
            type ConvertBill_T = ConvertBill$;
            interface ConvertBill extends ConvertBill_T {
            }
        }
        namespace kd.bos.entity.botp.linkquery{
            interface QueryTcLinkArgs_S {
            }
            interface QueryTcLinkArgs_C extends QueryTcLinkArgs_S {
                /**
                 * 构造函数
                 */
                new(targetNumber:string,sourceNumber:string,targetBillnos:$.java.util.List,sourceBillnos:$.java.util.List,sourceEntity:string,targetEntity:string):QueryTcLinkArgs;
                /**
                 * 构造函数
                 */
                new(targetNumber:string,sourceNumber:string,targetBillnos:$.java.util.List,sourceBillnos:$.java.util.List,sourceEntity:string,targetEntity:string,pageIndex:number,pageRows:number):QueryTcLinkArgs;
            }
            interface QueryTcLinkArgs$ {
                /**
                 * 源单编码集合
                 */
                getSourceBillnos():$.java.util.List;
                /**
                 * 页码
                 */
                setPageIndex(pageIndex:number):void;
                /**
                 * 源单关联实体
                 */
                getSourceEntity():string;
                /**
                 * 源单编码集合
                 */
                setSourceBillnos(sourceBillnos:$.java.util.List):void;
                /**
                 * 目标单关联实体
                 */
                getTargetEntity():string;
                /**
                 * 页码
                 */
                getPageIndex():number;
                /**
                 * 目标单标识
                 */
                getTargetNumber():string;
                /**
                 * 源单标识
                 */
                getSourceNumber():string;
                /**
                 * 源单关联实体
                 */
                setSourceEntity(sourceEntity:string):void;
                /**
                 * 每页行数
                 */
                setPageRows(pageRows:number):void;
                /**
                 * 目标单编码集合
                 */
                setTargetBillnos(targetBillnos:$.java.util.List):void;
                /**
                 * 每页行数
                 */
                getPageRows():number;
                /**
                 * 目标单标识
                 */
                setTargetNumber(targetNumber:string):void;
                /**
                 * 目标单关联实体
                 */
                setTargetEntity(targetEntity:string):void;
                /**
                 * 目标单编码集合
                 */
                getTargetBillnos():$.java.util.List;
                /**
                 * 源单标识
                 */
                setSourceNumber(sourceNumber:string):void;
            }
            type QueryTcLinkArgs_T = QueryTcLinkArgs$;
            interface QueryTcLinkArgs extends QueryTcLinkArgs_T {
            }
        }
        namespace kd.bos.entity.botp.plugin{
            interface AbstractConvertPlugIn_S {
            }
            type AbstractConvertPlugIn_ST = AbstractConvertPlugIn_S & IConvertPlugIn_S;
            interface AbstractConvertPlugIn_C extends AbstractConvertPlugIn_ST {
                new():AbstractConvertPlugIn;
            }
            interface AbstractConvertPlugIn$ {
            }
            type AbstractConvertPlugIn_T = AbstractConvertPlugIn$ & IConvertPlugIn;
            interface AbstractConvertPlugIn extends AbstractConvertPlugIn_T {
            }
            interface IWriteBackPlugIn_S {
            }
            interface IWriteBackPlugIn_C extends IWriteBackPlugIn_S {
            }
            interface IWriteBackPlugIn$ {
                /**
                 * 当前处理的关联主实体
                 *
                 * @return
                 */
                getCurrLinkSetItem():$.kd.bos.entity.LinkSetItemElement;
                /**
                 * 对源单行反写执行完毕，超额检查前，触发此事件：用于取消超额检查
                 * @param e
                 */
                beforeExcessCheck(e:kd.bos.entity.botp.plugin.args.BeforeExcessCheckEventArgs):void;
                /**
                 * 保存失败，触发此事件，通知插件回滚数据
                 * @param e
                 */
                rollbackSave(e:kd.bos.entity.botp.plugin.args.RollbackSaveEventArgs):void;
                /**
                 * 读取源单数据之前，触发此事件：用于添加需要加载的源单字段
                 * @param e
                 */
                beforeReadSourceBill(e:kd.bos.entity.botp.plugin.args.BeforeReadSourceBillEventArgs):void;
                /**
                 * 开始分析反写规则，计算反写量前触发此事件：用于取消当前反写规则的执行
                 *
                 * @param e
                 * @remark
                 * 升级版本后，系统预置插件，可以通过此事件，强制禁用系统预置的反写规则
                 */
                beforeExecWriteBackRule(e:kd.bos.entity.botp.plugin.args.BeforeExecWriteBackRuleEventArgs):void;
                /**
                 * 源单数据保存到数据库后调用
                 * @param e
                 */
                afterSaveSourceBill(e:kd.bos.entity.botp.plugin.args.AfterSaveSourceBillEventArgs):void;
                /**
                 * 读取源单数据之后，触发此事件：供插件读取相关的第三方单据
                 * @param e
                 */
                afterReadSourceBill(e:kd.bos.entity.botp.plugin.args.AfterReadSourceBillEventArgs):void;
                /**
                 * 对源单行反写执行完毕，超额检查完毕后，触发此事件：用于控制是否中止反写、提示超额，修正提示内容
                 * @param e
                 */
                afterExcessCheck(e:kd.bos.entity.botp.plugin.args.AfterExcessCheckEventArgs):void;
                /**
                 * 当前操作类型：Draft,Save,Audit,UnAudit,Delete,Cancel,UnCancel,Unknown
                 * @return
                 */
                getOpType():string;
                /**
                 * 执行反写规则，把当前反写量，写到源单行之后，触发此事件：用于对源单行，进行连锁更新
                 * @param e
                 */
                afterCommitAmount(e:kd.bos.entity.botp.plugin.args.AfterCommitAmountEventArgs):void;
                /**
                 * 对上游行进行了关闭状态填写后调用
                 * @param e
                 */
                afterCloseRow(e:kd.bos.entity.botp.plugin.args.AfterCloseRowEventArgs):void;
                /**
                 * 在读取下游目标单数据之前，触发此事件：用于添加需要加载的目标单字段
                 * @param e
                 * @remark
                 * 这个事件比设置上下文方法，更早执行，在此事件中，只能依赖事件参数获取上下文信息
                 */
                preparePropertys(e:kd.bos.entity.botp.plugin.args.PreparePropertysEventArgs):void;
                /**
                 * 构建本关联主实体全部关联记录前，触发此事件：用于取消关联、反写
                 *
                 * @param e
                 */
                beforeTrack(e:kd.bos.entity.botp.plugin.args.BeforeTrackEventArgs):void;
                /**
                 * 设置当前上下文
                 *
                 * @param targetMainType 下游目标单主实体，仅包含了需要的字段
                 * @param opType 操作类型
                 * @param linkSetItem 关联主实体
                 */
                setContext(targetSubMainType:$.kd.bos.entity.BillEntityType,opType:string,linkSetItem:$.kd.bos.entity.LinkSetItemElement):void;
                /**
                 * 基于下游单据当前行，反写值计算完毕后，触发此事件：用于修正反写量，调整对各源单行的分配量
                 * @param e
                 */
                afterCalcWriteValue(e:kd.bos.entity.botp.plugin.args.AfterCalcWriteValueEventArgs):void;
                /**
                 * 反写逻辑处理完毕，开始开启事务，保存反写数据前触发此事件，供插件在事务前读取并处理第三方数据，以便在随后开启的事务中一并保存
                 * @param e
                 */
                beforeSaveTrans(e:kd.bos.entity.botp.plugin.args.BeforeSaveTransEventArgs):void;
                /**
                 * 建立源单单据内码和分录内码之后, 触发此事件: 用于添加需要加载的源单单据与单据分录行
                 * @param e
                 */
                afterBuildSourceBillIds(e:kd.bos.entity.botp.plugin.args.AfterBuildSourceBillIdsEventArgs):void;
                /**
                 * 反写规则执行完毕后，源单数据保存到数据库之前调用
                 * @param e
                 */
                beforeSaveSourceBill(e:kd.bos.entity.botp.plugin.args.BeforeSaveSourceBillEventArgs):void;
                /**
                 * 反写所有逻辑已经执行完毕后触发，用于通知插件释放资源，如插件申请的网控
                 * @param e
                 */
                finishWriteBack(e:kd.bos.entity.botp.plugin.args.FinishWriteBackEventArgs):void;
                /**
                 * 关闭上游行前调用，IsCancelCheck==true，则不再做关闭条件检查
                 * @param e
                 */
                beforeCloseRow(e:kd.bos.entity.botp.plugin.args.BeforeCloseRowEventArgs):void;
                /**
                 * 下游目标单主实体，仅包含了需要的字段，与单据数据包一致
                 * @return
                 */
                getTargetSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 构建本关联主实体，单行数据与源单的关联记录前，触发此事件：用于取消本行的关联、反写
                 * @param e
                 */
                beforeCreateArticulationRow(e:kd.bos.entity.botp.plugin.args.BeforeCreateArticulationRowEventArgs):void;
            }
            type IWriteBackPlugIn_T = IWriteBackPlugIn$;
            interface IWriteBackPlugIn extends IWriteBackPlugIn_T {
            }
            interface AbstractWriteBackPlugIn_S {
            }
            type AbstractWriteBackPlugIn_ST = AbstractWriteBackPlugIn_S & IWriteBackPlugIn_S;
            interface AbstractWriteBackPlugIn_C extends AbstractWriteBackPlugIn_ST {
                new():AbstractWriteBackPlugIn;
            }
            interface AbstractWriteBackPlugIn$ {
            }
            type AbstractWriteBackPlugIn_T = AbstractWriteBackPlugIn$ & IWriteBackPlugIn;
            interface AbstractWriteBackPlugIn extends AbstractWriteBackPlugIn_T {
            }
            interface IConvertPlugIn_S {
            }
            interface IConvertPlugIn_C extends IConvertPlugIn_S {
            }
            interface IConvertPlugIn$ {
                /**
                 * 单据转换后事件，最后执行：插件可以在这个事件中，对生成的目标单数据，进行最后的修改
                 *
                 * @param e
                 * @remark
                 * 由 MergePushResultAction 动作触发
                 */
                afterConvert(e:kd.bos.entity.botp.plugin.args.AfterConvertEventArgs):void;
                /**
                 * 初始化创建目标单据数据包前事件 （暂未触发）
                 *
                 * @param e
                 * @remark
                 * 这个事件，只在选单时触发：
                 * 选单时，需要基于现有的目标单数据包，进行追加处理；
                 * 插件可以在此事件，获取到现有的目标单数据包，提前进行定制处理
                 */
                beforeCreateTarget(e:kd.bos.entity.botp.plugin.args.BeforeCreateTargetEventArgs):void;
                /**
                 * 创建目标单据数据包后事件：把根据分单规则创建好的目标单，传递给插件
                 *
                 * @param e
                 * @remark
                 * 由 CreateLinkEntityRowsAction 动作触发
                 */
                afterCreateTarget(e:kd.bos.entity.botp.plugin.args.AfterCreateTargetEventArgs):void;
                /**
                 * 记录关联关系后事件：根据系统自动记录的关联关系，进行相关数据的同步携带，如携带其他子单据体数据
                 *
                 * @param e
                 * @remark
                 * 由 FillLinkInfoAction 动作触发
                 */
                afterCreateLink(e:kd.bos.entity.botp.plugin.args.AfterCreateLinkEventArgs):void;
                /**
                 * 转换规则，数据行筛选条件解析完毕后事件：供插件为各子条件设置人性化的条件说明，显示给用户
                 *
                 * @param e
                 */
                afterBuildRowCondition(e:kd.bos.entity.botp.plugin.args.AfterBuildRowConditionEventArgs):void;
                /**
                 * 获取源单类型
                 * @return
                 */
                getSrcMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 单据转换可选参数
                 * @return
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 构建分单、行合并模式之前事件：调整分单、合并策略及依赖的字段
                 *
                 * @param e
                 * @remark
                 * 由 ConvertRuleCompiler 动作触发
                 */
                beforeBuildGroupMode(e:kd.bos.entity.botp.plugin.args.BeforeBuildGroupModeEventArgs):void;
                /**
                 * 取源单数据前事件：可在正式读取源单数据之前，修改取数语句、取数条件
                 *
                 * @param e
                 * @remark
                 * 由 LoadSourceDataAction 动作触发
                 */
                beforeGetSourceData(e:kd.bos.entity.botp.plugin.args.BeforeGetSourceDataEventArgs):void;
                /**
                 * 记录关联关系前事件：取消记录关联关系
                 *
                 * @param e
                 * @remark
                 * 由 FillLinkInfoAction 动作触发
                 */
                beforeCreateLink(e:kd.bos.entity.botp.plugin.args.BeforeCreateLinkEventArgs):void;
                /**
                 * 目标字段赋值完毕后事件：插件可以在此基础上，继续填写目标字段值
                 *
                 * @param e
                 * @remark
                 * 由 MappingFieldAction 动作触发
                 */
                afterFieldMapping(e:kd.bos.entity.botp.plugin.args.AfterFieldMappingEventArgs):void;
                /**
                 * 设置单据转换可选参数
                 * @return
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 构建取数参数后事件：可在正式读取源单数据之前，添加额外的字段、过滤条件
                 *
                 * @param e
                 * @remark
                 * 由 BuildQueryParameterAction 动作触发
                 */
                afterBuildQueryParemeter(e:kd.bos.entity.botp.plugin.args.AfterBuildQueryParemeterEventArgs):void;
                /**
                 * 获取目标单类型
                 * @return
                 */
                getTgtMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 开始执行转换规则之前，创建规则上挂的插件后，触发此事件
                 *
                 * @param opType
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @remark
                 * 由 CreateConvertPlugAction 动作触发
                 */
                setContext(opType:ConvertOpType,srcMainType:$.kd.bos.entity.BillEntityType,tgtMainType:$.kd.bos.entity.BillEntityType,rule:ConvertRuleElement):void;
                /**
                 * 获取使用的转换规则
                 * @return
                 */
                getRule():ConvertRuleElement;
                /**
                 * 业务规则后事件，：插件可以在这个事件中，对生成的目标单数据，进行修改
                 *
                 * @param e
                 * @remark
                 * 由 MergePushResultAction 动作触发
                 */
                afterBizRule(e:kd.bos.entity.botp.plugin.args.AfterBizRuleEventArgs):void;
                /**
                 * 选单条件生成后，触发此事件：供插件追加选单条件
                 *
                 * @param e
                 */
                afterBuildDrawFilter(e:kd.bos.entity.botp.plugin.args.AfterBuildDrawFilterEventArgs):void;
                /**
                 * 取源单数据后事件：根据源单数据，获取其他定制的引用数据；也可以替换系统自动获取到的数据
                 *
                 * @param e
                 * @remark
                 * 由 RunDataConditionAction 动作触发
                 */
                afterGetSourceData(e:kd.bos.entity.botp.plugin.args.AfterGetSourceDataEventArgs):void;
                /**
                 * 获取操作类型
                 * @return
                 */
                getOpType():ConvertOpType;
                /**
                 * 初始化变量事件，此时还没有开始编译规则
                 *
                 * @param e
                 * @remark
                 * 获取上下文信息，构建一些必须的变量
                 * 由 InitializeAction 动作触发
                 */
                initVariable(e:kd.bos.entity.botp.plugin.args.InitVariableEventArgs):void;
                /**
                 * 编译数据筛选条件前事件：可追加定制条件，是否忽略规则原生的条件
                 *
                 * @param e 事件参数：包括本次下推的源单数据、是否忽略规则原生条件
                 * @remark
                 * 由 ConvertRuleCompiler 动作触发
                 */
                beforeBuildRowCondition(e:kd.bos.entity.botp.plugin.args.BeforeBuildRowConditionEventArgs):void;
            }
            type IConvertPlugIn_T = IConvertPlugIn$;
            interface IConvertPlugIn extends IConvertPlugIn_T {
            }
        }
        namespace kd.bos.entity.botp.plugin.args{
            interface AfterBuildSourceBillIdsEventArgs_S {
            }
            type AfterBuildSourceBillIdsEventArgs_ST = AfterBuildSourceBillIdsEventArgs_S & WriteBackEventArgs_S;
            interface AfterBuildSourceBillIdsEventArgs_C extends AfterBuildSourceBillIdsEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcMainType 上游源单主实体，包含了完整字段
                 */
                new(srcMainType:$.kd.bos.entity.BillEntityType,ruleElements:$.java.util.List,billIds:$.java.util.Set):AfterBuildSourceBillIdsEventArgs;
            }
            interface AfterBuildSourceBillIdsEventArgs$ {
                /**
                 * 增加分录信息
                 * @return
                 */
                addEntryInfo(e:AfterBuildSourceBillIdsEventArgs$EntryInfo):void;
                /**
                 * 上游源单主实体，包含了完整字段
                 * @return
                 */
                getSrcMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 获取分录信息
                 * @return
                 */
                getEntryInfos():$.java.util.List;
                /**
                 * 获取单据id集合
                 * @return
                 */
                getBillIds():$.java.util.Set;
                /**
                 * 获取转换规则
                 * @return
                 */
                getRuleElements():$.java.util.List;
            }
            type AfterBuildSourceBillIdsEventArgs_T = AfterBuildSourceBillIdsEventArgs$ & WriteBackEventArgs;
            interface AfterBuildSourceBillIdsEventArgs extends AfterBuildSourceBillIdsEventArgs_T {
            }
            interface BeforeGetSourceDataEventArgs_S {
            }
            type BeforeGetSourceDataEventArgs_ST = BeforeGetSourceDataEventArgs_S & ConvertPluginEventArgs_S;
            interface BeforeGetSourceDataEventArgs_C extends BeforeGetSourceDataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param selectSQL 取数SELECT子句，包含了全部字段及别名
                 * @param qFilters 条件
                 */
                new(selectSQL:string,qFilters:$.java.util.List):BeforeGetSourceDataEventArgs;
            }
            interface BeforeGetSourceDataEventArgs$ {
                /**
                 * 设置取数SELECT子句，包含了全部字段及别名
                 * @param selectSQL
                 */
                setSelectSQL(selectSQL:string):void;
                /**
                 * 条件
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 取数SELECT子句，包含了全部字段及别名
                 * @return
                 */
                getSelectSQL():string;
            }
            type BeforeGetSourceDataEventArgs_T = BeforeGetSourceDataEventArgs$ & ConvertPluginEventArgs;
            interface BeforeGetSourceDataEventArgs extends BeforeGetSourceDataEventArgs_T {
            }
            interface ConvertPluginEventArgs_S {
            }
            interface ConvertPluginEventArgs_C extends ConvertPluginEventArgs_S {
                new():ConvertPluginEventArgs;
            }
            interface ConvertPluginEventArgs$ {
            }
            type ConvertPluginEventArgs_T = ConvertPluginEventArgs$;
            interface ConvertPluginEventArgs extends ConvertPluginEventArgs_T {
            }
            interface AfterCloseRowEventArgs_S {
            }
            type AfterCloseRowEventArgs_ST = AfterCloseRowEventArgs_S & WriteBackEventArgs_S;
            interface AfterCloseRowEventArgs_C extends AfterCloseRowEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):AfterCloseRowEventArgs;
            }
            interface AfterCloseRowEventArgs$ {
                /**
                 * 反写规则
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 是否达成行关闭条件
                 * @return
                 */
                isCloseRow():boolean;
                /**
                 * 设置中是否达成行关闭条件
                 * @param closeRow 是否达成行关闭条件
                 */
                setCloseRow(closeRow:boolean):void;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
            }
            type AfterCloseRowEventArgs_T = AfterCloseRowEventArgs$ & WriteBackEventArgs;
            interface AfterCloseRowEventArgs extends AfterCloseRowEventArgs_T {
            }
            interface AfterCalcWriteValueEventArgs_S {
            }
            type AfterCalcWriteValueEventArgs_ST = AfterCalcWriteValueEventArgs_S & WriteBackEventArgs_S;
            interface AfterCalcWriteValueEventArgs_C extends AfterCalcWriteValueEventArgs_ST {
                /**
                 * 构造函数
                 * @param entity 关联主实体
                 * @param activeRow 关联主实体当前行
                 * @param rule 反写规则
                 * @param ruleItem 反写公式
                 * @param val 根据反写公式，算出的反写量
                 * @param cVal 覆盖反写模式，根据反写公式算出的覆盖值
                 */
                new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,rule:WriteBackRuleElement,ruleItem:WriteBackFormula,val:$.java.math.BigDecimal,cVal:any):AfterCalcWriteValueEventArgs;
            }
            interface AfterCalcWriteValueEventArgs$ {
                /**
                 * 反写规则
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 搜索出的源单行，以及其分配的反写量：
                 * 如果有多个源单行，默认每行的反写量为0；需要插件自行给各源单行分配反写量；
                 * 如果插件不处理，则不反写
                 * @return
                 */
                getSrcRowVal():$.java.util.Map;
                /**
                 * 覆盖反写模式，根据反写公式算出的覆盖值
                 */
                getCVal():any;
                /**
                 * 关联主实体当前行
                 * @return
                 */
                getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 根据反写公式，算出的反写量
                 * @return
                 */
                getVal():$.java.math.BigDecimal;
                /**
                 * 反写公式
                 */
                getRuleItem():WriteBackFormula;
                /**
                 * 关联主实体
                 * @return
                 */
                getEntity():$.kd.bos.entity.EntityType;
            }
            type AfterCalcWriteValueEventArgs_T = AfterCalcWriteValueEventArgs$ & WriteBackEventArgs;
            interface AfterCalcWriteValueEventArgs extends AfterCalcWriteValueEventArgs_T {
            }
            interface BeforeBuildGroupModeEventArgs_S {
            }
            type BeforeBuildGroupModeEventArgs_ST = BeforeBuildGroupModeEventArgs_S & ConvertPluginEventArgs_S;
            interface BeforeBuildGroupModeEventArgs_C extends BeforeBuildGroupModeEventArgs_ST {
                /**
                 * 构造函数
                 * @param headGroupKey 单据头分组(分单)字段
                 * @param entryGroupKey 单据体分组字段
                 * @param subEntryGroupKey 子单据体分组字段
                 */
                new(headGroupKey:string,entryGroupKey:string,subEntryGroupKey:string):BeforeBuildGroupModeEventArgs;
            }
            interface BeforeBuildGroupModeEventArgs$ {
                /**
                 * 设置单据体分组字段
                 * @param entryGroupKey 单据体分组字段
                 */
                setEntryGroupKey(entryGroupKey:string):void;
                /**
                 * 设置单据头分组(分单)字段
                 * @param headGroupKey 单据头分组(分单)字段
                 */
                setHeadGroupKey(headGroupKey:string):void;
                /**
                 * 单据头分组(分单)字段
                 * @return
                 */
                getHeadGroupKey():string;
                /**
                 * 单据体分组字段
                 * @return
                 */
                getEntryGroupKey():string;
                /**
                 * 子单据体分组字段
                 * @return
                 */
                getSubEntryGroupKey():string;
                /**
                 * 设置子单据体分组字段
                 * @param subEntryGroupKey 子单据体分组字段
                 */
                setSubEntryGroupKey(subEntryGroupKey:string):void;
            }
            type BeforeBuildGroupModeEventArgs_T = BeforeBuildGroupModeEventArgs$ & ConvertPluginEventArgs;
            interface BeforeBuildGroupModeEventArgs extends BeforeBuildGroupModeEventArgs_T {
            }
            interface AfterGetSourceDataEventArgs_S {
            }
            type AfterGetSourceDataEventArgs_ST = AfterGetSourceDataEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterGetSourceDataEventArgs_C extends AfterGetSourceDataEventArgs_ST {
                /**
                 * 构造函数
                 * @param sourceRows 待下推的源单数据行
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(sourceRows:$.java.util.List,fldProperties:$.java.util.Map):AfterGetSourceDataEventArgs;
            }
            interface AfterGetSourceDataEventArgs$ {
                /**
                 * 待下推的源单数据行
                 * @return
                 */
                getSourceRows():$.java.util.List;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
            }
            type AfterGetSourceDataEventArgs_T = AfterGetSourceDataEventArgs$ & ConvertPluginEventArgs;
            interface AfterGetSourceDataEventArgs extends AfterGetSourceDataEventArgs_T {
            }
            interface BeforeCreateLinkEventArgs_S {
            }
            type BeforeCreateLinkEventArgs_ST = BeforeCreateLinkEventArgs_S & ConvertPluginEventArgs_S;
            interface BeforeCreateLinkEventArgs_C extends BeforeCreateLinkEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet
                 * @param fldProperties
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):BeforeCreateLinkEventArgs;
            }
            interface BeforeCreateLinkEventArgs$ {
                /**
                 * 设置是否略过关联关系的创建
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 是否略过关联关系的创建
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
            }
            type BeforeCreateLinkEventArgs_T = BeforeCreateLinkEventArgs$ & ConvertPluginEventArgs;
            interface BeforeCreateLinkEventArgs extends BeforeCreateLinkEventArgs_T {
            }
            interface PreparePropertysEventArgs_S {
            }
            type PreparePropertysEventArgs_ST = PreparePropertysEventArgs_S & WriteBackEventArgs_S;
            interface PreparePropertysEventArgs_C extends PreparePropertysEventArgs_ST {
                /**
                 * 构造函数
                 * @param mainType 目标单实体类型
                 * @param fieldKeys 需要加载的目标单字段
                 */
                new(mainType:$.kd.bos.entity.BillEntityType,fieldKeys:$.java.util.List):PreparePropertysEventArgs;
            }
            interface PreparePropertysEventArgs$ {
                /**
                 * 目标单实体类型
                 * @return
                 */
                getMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 需要加载的目标单字段
                 * @return
                 */
                getFieldKeys():$.java.util.List;
            }
            type PreparePropertysEventArgs_T = PreparePropertysEventArgs$ & WriteBackEventArgs;
            interface PreparePropertysEventArgs extends PreparePropertysEventArgs_T {
            }
            interface WriteBackEventArgs_S {
            }
            interface WriteBackEventArgs_C extends WriteBackEventArgs_S {
                new():WriteBackEventArgs;
            }
            interface WriteBackEventArgs$ {
            }
            type WriteBackEventArgs_T = WriteBackEventArgs$;
            interface WriteBackEventArgs extends WriteBackEventArgs_T {
            }
            interface AfterCreateTargetEventArgs_S {
            }
            type AfterCreateTargetEventArgs_ST = AfterCreateTargetEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterCreateTargetEventArgs_C extends AfterCreateTargetEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet  生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterCreateTargetEventArgs;
            }
            interface AfterCreateTargetEventArgs$ {
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 生成的目标单空数据包 ：还没有开始填写字段值
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
            }
            type AfterCreateTargetEventArgs_T = AfterCreateTargetEventArgs$ & ConvertPluginEventArgs;
            interface AfterCreateTargetEventArgs extends AfterCreateTargetEventArgs_T {
            }
            interface AfterFieldMappingEventArgs_S {
            }
            type AfterFieldMappingEventArgs_ST = AfterFieldMappingEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterFieldMappingEventArgs_C extends AfterFieldMappingEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet  生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterFieldMappingEventArgs;
            }
            interface AfterFieldMappingEventArgs$ {
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 生成的目标单数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
            }
            type AfterFieldMappingEventArgs_T = AfterFieldMappingEventArgs$ & ConvertPluginEventArgs;
            interface AfterFieldMappingEventArgs extends AfterFieldMappingEventArgs_T {
            }
            interface AfterCommitAmountEventArgs_S {
            }
            type AfterCommitAmountEventArgs_ST = AfterCommitAmountEventArgs_S & WriteBackEventArgs_S;
            interface AfterCommitAmountEventArgs_C extends AfterCommitAmountEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param ruleItem 反写公式
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param srcFieldKey 上游源单反写字段
                 * @param currVal 本次操作，对源单行执行的反写差量
                 * @param realVal 本次操作执行完毕完后，对源单行的反写总量
                 * @param currCVal 覆盖反写值
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:WriteBackRuleElement,ruleItem:WriteBackFormula,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,srcFieldKey:string,currVal:$.java.math.BigDecimal,realVal:$.java.math.BigDecimal,currCVal:any,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):AfterCommitAmountEventArgs;
            }
            interface AfterCommitAmountEventArgs$ {
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 反写公式
                 * @return
                 */
                getRuleItem():WriteBackFormula;
                /**
                 * 下游目标单关联行信息：删除操作，可以据此从数据库取到删除前的行数据
                 * @return
                 */
                getTargetRowId():kd.bos.entity.botp.runtime.BFRowId;
                /**
                 * 本次操作，对源单行执行的反写差量：公式计算出的反写量  - 上一次保存已执行的反写量；如果是删除行，反冲历史量
                 * @return
                 */
                getCurrVal():$.java.math.BigDecimal;
                /**
                 * 上游源单反写字段
                 * @return
                 */
                getSrcFieldKey():string;
                /**
                 * 本次操作执行完毕完后，对源单行的反写总量；如果是删除行，反写总量 = 0；
                 * @return
                 */
                getRealVal():$.java.math.BigDecimal;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 反写规则
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 设置下游目标单关联行
                 * @param targetRowId 目标单关联行
                 */
                setTargetRowId(targetRowId:kd.bos.entity.botp.runtime.BFRowId):void;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
                /**
                 * 覆盖反写值
                 * @return
                 */
                getCurrCVal():any;
            }
            type AfterCommitAmountEventArgs_T = AfterCommitAmountEventArgs$ & WriteBackEventArgs;
            interface AfterCommitAmountEventArgs extends AfterCommitAmountEventArgs_T {
            }
            interface BeforeTrackEventArgs_S {
            }
            type BeforeTrackEventArgs_ST = BeforeTrackEventArgs_S & WriteBackEventArgs_S;
            interface BeforeTrackEventArgs_C extends BeforeTrackEventArgs_ST {
                /**
                 * 构造函数
                 * @param dataEntity 当前单据数据包
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):BeforeTrackEventArgs;
            }
            interface BeforeTrackEventArgs$ {
                /**
                 * 设置插件取消关联、反写
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 插件取消关联、反写
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 当前单据数据包
                 * @return
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
            }
            type BeforeTrackEventArgs_T = BeforeTrackEventArgs$ & WriteBackEventArgs;
            interface BeforeTrackEventArgs extends BeforeTrackEventArgs_T {
            }
            interface AfterSaveSourceBillEventArgs_S {
            }
            type AfterSaveSourceBillEventArgs_ST = AfterSaveSourceBillEventArgs_S & WriteBackEventArgs_S;
            interface AfterSaveSourceBillEventArgs_C extends AfterSaveSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcSubMainType 源单主实体，只包含了部分用到的字段
                 * @param srcDataEntities 源单数据包，只包含了部分用到的字段
                 */
                new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):AfterSaveSourceBillEventArgs;
            }
            interface AfterSaveSourceBillEventArgs$ {
                /**
                 * 源单数据包，只包含了部分用到的字段
                 * @return
                 */
                getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 源单主实体，只包含了部分用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 当前事件是否由异步线程触发，不在事务内：跨库反写时，会启动一个异步线程，在事务外单独的保存源单反写结果，没有事务保护，不能回滚数据。
                 * 此时插件抛出异常并不能取消反写，回滚数据。因此，此场景下插件要确保不抛出异常
                 * @return
                 */
                isNewThread():boolean;
                /**
                 * 设置当前事件是否由异步线程触发，不在事务内：跨库反写时，会启动一个异步线程，在事务外单独的保存源单反写结果，没有事务保护，不能回滚数据。
                 * @param newThread
                 */
                setNewThread(newThread:boolean):void;
            }
            type AfterSaveSourceBillEventArgs_T = AfterSaveSourceBillEventArgs$ & WriteBackEventArgs;
            interface AfterSaveSourceBillEventArgs extends AfterSaveSourceBillEventArgs_T {
            }
            interface AfterBuildRowConditionEventArgs_S {
            }
            type AfterBuildRowConditionEventArgs_ST = AfterBuildRowConditionEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterBuildRowConditionEventArgs_C extends AfterBuildRowConditionEventArgs_ST {
            }
            interface AfterBuildRowConditionEventArgs$ {
                /**
                 * 添加新条件表达式到集合中
                 * @param expression
                 */
                addCondition(expression:string):void;
                /**
                 * 拆分后的单据转换数据筛选条件，每个元素都是一个独立的条件
                 * @return
                 */
                getConditons():$.java.util.List;
            }
            type AfterBuildRowConditionEventArgs_T = AfterBuildRowConditionEventArgs$ & ConvertPluginEventArgs;
            interface AfterBuildRowConditionEventArgs extends AfterBuildRowConditionEventArgs_T {
            }
            interface BeforeBuildRowConditionEventArgs_S {
            }
            type BeforeBuildRowConditionEventArgs_ST = BeforeBuildRowConditionEventArgs_S & ConvertPluginEventArgs_S;
            interface BeforeBuildRowConditionEventArgs_C extends BeforeBuildRowConditionEventArgs_ST {
                /**
                 * 构造函数
                 */
                new():BeforeBuildRowConditionEventArgs;
            }
            interface BeforeBuildRowConditionEventArgs$ {
                /**
                 * 当前规则需要处理的源单行 ： 已经通过了规则启动条件校验
                 * @return
                 */
                getSelectedRows():$.java.util.List;
                /**
                 * 插件定制条件：用于数据库查询
                 * @return
                 */
                getCustQFilters():$.java.util.List;
                /**
                 * 插件定制条件的说明：当数据不符合条件时，会显示条件说明，提示用户原因
                 * @return
                 */
                getCustFilterDesc():string;
                /**
                 * 是否打开高级定制条件
                 */
                isAdvancedCustomCondition():boolean;
                /**
                 * 插件定制条件：用于脚本执行
                 *
                 * 特别说明：必须同时设置用于数据库查询的CustQFilters，且效果要保持一致
                 *
                 * @return
                 */
                getCustFilterExpression():string;
                /**
                 * 获取高级定制条件
                 */
                getAdvancedCustomFilters():$.java.util.List;
                /**
                 * 设置当前规则需要处理的源单行
                 * @param selectedRows 当前规则需要处理的源单行
                 */
                setSelectedRows(selectedRows:$.java.util.List):void;
                /**
                 * 是否忽略规则上配置的数据筛选条件，仅使用插件设置的定制条件；
                 * 如果不设置这个属性，插件传入的定制条件，会与规则条件，同时起作用
                 * @return
                 */
                isIgnoreRuleFilterPolicy():boolean;
                /**
                 * 设置插件定制条件的说明
                 * @param custFilterDesc
                 */
                setCustFilterDesc(custFilterDesc:string):void;
                /**
                 * 设置是否忽略规则上配置的数据筛选条件，仅使用插件设置的定制条件
                 * @param ignoreRuleFilterPolicy
                 */
                setIgnoreRuleFilterPolicy(ignoreRuleFilterPolicy:boolean):void;
                /**
                 * 设置插件定制条件
                 * @param custFilterExpression
                 */
                setCustFilterExpression(custFilterExpression:string):void;
            }
            type BeforeBuildRowConditionEventArgs_T = BeforeBuildRowConditionEventArgs$ & ConvertPluginEventArgs;
            interface BeforeBuildRowConditionEventArgs extends BeforeBuildRowConditionEventArgs_T {
            }
            interface RollbackSaveEventArgs_S {
            }
            type RollbackSaveEventArgs_ST = RollbackSaveEventArgs_S & WriteBackEventArgs_S;
            interface RollbackSaveEventArgs_C extends RollbackSaveEventArgs_ST {
                new():RollbackSaveEventArgs;
            }
            interface RollbackSaveEventArgs$ {
            }
            type RollbackSaveEventArgs_T = RollbackSaveEventArgs$ & WriteBackEventArgs;
            interface RollbackSaveEventArgs extends RollbackSaveEventArgs_T {
            }
            interface BeforeCloseRowEventArgs_S {
            }
            type BeforeCloseRowEventArgs_ST = BeforeCloseRowEventArgs_S & WriteBackEventArgs_S;
            interface BeforeCloseRowEventArgs_C extends BeforeCloseRowEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):BeforeCloseRowEventArgs;
            }
            interface BeforeCloseRowEventArgs$ {
                /**
                 * 反写规则
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 设置插件是否要求略过超额检查
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 插件是否要求略过超额检查
                 * @return
                 */
                isCancel():boolean;
            }
            type BeforeCloseRowEventArgs_T = BeforeCloseRowEventArgs$ & WriteBackEventArgs;
            interface BeforeCloseRowEventArgs extends BeforeCloseRowEventArgs_T {
            }
            interface AfterReadSourceBillEventArgs_S {
            }
            type AfterReadSourceBillEventArgs_ST = AfterReadSourceBillEventArgs_S & WriteBackEventArgs_S;
            interface AfterReadSourceBillEventArgs_C extends AfterReadSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcSubMainType 源单主实体，只包含了部分用到的字段
                 * @param srcDataEntities 源单数据包，只包含了部分用到的字段
                 */
                new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):AfterReadSourceBillEventArgs;
            }
            interface AfterReadSourceBillEventArgs$ {
                /**
                 * 源单主实体，只包含了部分用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 源单数据包，只包含了部分用到的字段
                 * @return
                 */
                getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type AfterReadSourceBillEventArgs_T = AfterReadSourceBillEventArgs$ & WriteBackEventArgs;
            interface AfterReadSourceBillEventArgs extends AfterReadSourceBillEventArgs_T {
            }
            interface BeforeSaveTransEventArgs_S {
            }
            type BeforeSaveTransEventArgs_ST = BeforeSaveTransEventArgs_S & WriteBackEventArgs_S;
            interface BeforeSaveTransEventArgs_C extends BeforeSaveTransEventArgs_ST {
                new():BeforeSaveTransEventArgs;
            }
            interface BeforeSaveTransEventArgs$ {
            }
            type BeforeSaveTransEventArgs_T = BeforeSaveTransEventArgs$ & WriteBackEventArgs;
            interface BeforeSaveTransEventArgs extends BeforeSaveTransEventArgs_T {
            }
            interface BeforeExecWriteBackRuleEventArgs_S {
            }
            type BeforeExecWriteBackRuleEventArgs_ST = BeforeExecWriteBackRuleEventArgs_S & WriteBackEventArgs_S;
            interface BeforeExecWriteBackRuleEventArgs_C extends BeforeExecWriteBackRuleEventArgs_ST {
                /**
                 * 构造函数
                 */
                new():BeforeExecWriteBackRuleEventArgs;
            }
            interface BeforeExecWriteBackRuleEventArgs$ {
                /**
                 * 调整当前反写规则、反写条目
                 * @param rule
                 * @param ruleItem
                 */
                setContext(rule:WriteBackRuleElement,ruleItem:WriteBackFormula):void;
                /**
                 * 是否取消本反写公式的执行
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 设置是否取消本反写公式的执行
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 当前准备执行的反写规则
                 *
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 当前准备执行的反写公式
                 *
                 * @return
                 */
                getRuleItem():WriteBackFormula;
            }
            type BeforeExecWriteBackRuleEventArgs_T = BeforeExecWriteBackRuleEventArgs$ & WriteBackEventArgs;
            interface BeforeExecWriteBackRuleEventArgs extends BeforeExecWriteBackRuleEventArgs_T {
            }
            interface AfterExcessCheckEventArgs_S {
            }
            interface AfterExcessCheckEventArgs_C extends AfterExcessCheckEventArgs_S {
            }
            interface AfterExcessCheckEventArgs$ {
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 反写规则
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 超额提示
                 * @return
                 */
                getMessage():string;
                /**
                 * 设置是否超额
                 * @param excess 是否超额
                 */
                setExcess(excess:boolean):void;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
                /**
                 * 设置超额提示
                 * @param message 超额提示
                 */
                setMessage(message:string):void;
                /**
                 * 是否超额；插件可以调整此属性值，决定是否显示超额提示
                 * @return
                 */
                isExcess():boolean;
            }
            type AfterExcessCheckEventArgs_T = AfterExcessCheckEventArgs$;
            interface AfterExcessCheckEventArgs extends AfterExcessCheckEventArgs_T {
            }
            interface BeforeCreateTargetEventArgs_S {
            }
            interface BeforeCreateTargetEventArgs_C extends BeforeCreateTargetEventArgs_S {
                new():BeforeCreateTargetEventArgs;
            }
            interface BeforeCreateTargetEventArgs$ {
            }
            type BeforeCreateTargetEventArgs_T = BeforeCreateTargetEventArgs$;
            interface BeforeCreateTargetEventArgs extends BeforeCreateTargetEventArgs_T {
            }
            interface InitVariableEventArgs_S {
            }
            type InitVariableEventArgs_ST = ConvertPluginEventArgs_S & InitVariableEventArgs_S;
            interface InitVariableEventArgs_C extends InitVariableEventArgs_ST {
                /**
                 * 构造函数
                 * @param convertArgs 单据转换参数
                 */
                new(convertArgs:kd.bos.entity.botp.runtime.AbstractConvertServiceArgs):InitVariableEventArgs;
            }
            interface InitVariableEventArgs$ {
                /**
                 * 单据转换参数
                 * @return
                 */
                getConvertArgs():kd.bos.entity.botp.runtime.AbstractConvertServiceArgs;
            }
            type InitVariableEventArgs_T = ConvertPluginEventArgs & InitVariableEventArgs$;
            interface InitVariableEventArgs extends InitVariableEventArgs_T {
            }
            interface BeforeExcessCheckEventArgs_S {
            }
            type BeforeExcessCheckEventArgs_ST = BeforeExcessCheckEventArgs_S & WriteBackEventArgs_S;
            interface BeforeExcessCheckEventArgs_C extends BeforeExcessCheckEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:WriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):BeforeExcessCheckEventArgs;
            }
            interface BeforeExcessCheckEventArgs$ {
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 插件是否要求略过超额检查
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 反写规则
                 * @return
                 */
                getRule():WriteBackRuleElement;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置插件是否要求略过超额检查
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
            }
            type BeforeExcessCheckEventArgs_T = BeforeExcessCheckEventArgs$ & WriteBackEventArgs;
            interface BeforeExcessCheckEventArgs extends BeforeExcessCheckEventArgs_T {
            }
            interface AfterBizRuleEventArgs_S {
            }
            type AfterBizRuleEventArgs_ST = AfterBizRuleEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterBizRuleEventArgs_C extends AfterBizRuleEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterBizRuleEventArgs;
            }
            interface AfterBizRuleEventArgs$ {
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
            }
            type AfterBizRuleEventArgs_T = AfterBizRuleEventArgs$ & ConvertPluginEventArgs;
            interface AfterBizRuleEventArgs extends AfterBizRuleEventArgs_T {
            }
            interface BeforeSaveSourceBillEventArgs_S {
            }
            type BeforeSaveSourceBillEventArgs_ST = BeforeSaveSourceBillEventArgs_S & WriteBackEventArgs_S;
            interface BeforeSaveSourceBillEventArgs_C extends BeforeSaveSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcSubMainType 源单主实体，只包含了部分用到的字段
                 * @param srcDataEntities 源单数据包，只包含了部分用到的字段
                 */
                new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):BeforeSaveSourceBillEventArgs;
            }
            interface BeforeSaveSourceBillEventArgs$ {
                /**
                 * 当前事件是否由异步线程触发，不在事务内：跨库反写时，会启动一个异步线程，在事务外单独的保存源单反写结果，没有事务保护，不能回滚数据。
                 * 此时插件抛出异常并不能取消反写，回滚数据。因此，此场景下插件要确保不抛出异常
                 * @return
                 */
                isNewThread():boolean;
                /**
                 * 源单主实体，只包含了部分用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 源单数据包，只包含了部分用到的字段
                 * @return
                 */
                getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type BeforeSaveSourceBillEventArgs_T = BeforeSaveSourceBillEventArgs$ & WriteBackEventArgs;
            interface BeforeSaveSourceBillEventArgs extends BeforeSaveSourceBillEventArgs_T {
            }
            interface BeforeCreateArticulationRowEventArgs_S {
            }
            type BeforeCreateArticulationRowEventArgs_ST = BeforeCreateArticulationRowEventArgs_S & WriteBackEventArgs_S;
            interface BeforeCreateArticulationRowEventArgs_C extends BeforeCreateArticulationRowEventArgs_ST {
                /**
                 * 构造函数
                 * @param entity 当前关联主实体
                 * @param activeRow 关联主实体当前行
                 * @param linkRows 关联主实体行下属的关联子实体行，包含了来源单据行信息
                 */
                new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,linkRows:$.kd.bos.dataentity.entity.DynamicObjectCollection):BeforeCreateArticulationRowEventArgs;
            }
            interface BeforeCreateArticulationRowEventArgs$ {
                /**
                 * 设置是否取消创建本行的关联记录
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 由插件自行调整控制字段对各源单行的分配量，取消系统的自动分配处理；
                 * @return
                 */
                isCancelReDistributeAmount():boolean;
                /**
                 * 设置由插件自行调整控制字段对各源单行的分配量，取消系统的自动分配处理
                 * @param cancelReDistributeAmount
                 */
                setCancelReDistributeAmount(cancelReDistributeAmount:boolean):void;
                /**
                 * 关联主实体当前行
                 * @return
                 */
                getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 关联主实体行下属的关联子实体行，包含了来源单据行信息
                 * @return
                 */
                getLinkRows():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 是否取消创建本行的关联记录:
                 * 取消后，相当于本行无源单，不会记录业务流程路线记录与反写源单
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 当前关联主实体
                 * @return
                 */
                getEntity():$.kd.bos.entity.EntityType;
            }
            type BeforeCreateArticulationRowEventArgs_T = BeforeCreateArticulationRowEventArgs$ & WriteBackEventArgs;
            interface BeforeCreateArticulationRowEventArgs extends BeforeCreateArticulationRowEventArgs_T {
            }
            interface AfterCreateLinkEventArgs_S {
            }
            type AfterCreateLinkEventArgs_ST = AfterCreateLinkEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterCreateLinkEventArgs_C extends AfterCreateLinkEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet  生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterCreateLinkEventArgs;
            }
            interface AfterCreateLinkEventArgs$ {
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
            }
            type AfterCreateLinkEventArgs_T = AfterCreateLinkEventArgs$ & ConvertPluginEventArgs;
            interface AfterCreateLinkEventArgs extends AfterCreateLinkEventArgs_T {
            }
            interface AfterConvertEventArgs_S {
            }
            type AfterConvertEventArgs_ST = AfterConvertEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterConvertEventArgs_C extends AfterConvertEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):AfterConvertEventArgs;
            }
            interface AfterConvertEventArgs$ {
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
            }
            type AfterConvertEventArgs_T = AfterConvertEventArgs$ & ConvertPluginEventArgs;
            interface AfterConvertEventArgs extends AfterConvertEventArgs_T {
            }
            interface AfterBuildDrawFilterEventArgs_S {
            }
            type AfterBuildDrawFilterEventArgs_ST = AfterBuildDrawFilterEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterBuildDrawFilterEventArgs_C extends AfterBuildDrawFilterEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param targetDataEntity 目标单数据包
                 */
                new(targetDataEntity:$.kd.bos.dataentity.entity.DynamicObject):AfterBuildDrawFilterEventArgs;
            }
            interface AfterBuildDrawFilterEventArgs$ {
                /**
                 * 目标单当前数据包
                 * @return
                 */
                getTargetDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 插件追加选单条件
                 * @param plugFilter
                 */
                setPlugFilter(plugFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 获取插件设置的选单时打开的源单列表布局
                 * @return
                 */
                getSourceLayout():string;
                /**
                 * 插件追加的选单条件
                 * @return
                 */
                getPlugFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 插件设置选单时打开的源单列表布局
                 * @param sourceLayout
                 */
                setSourceLayout(sourceLayout:string):void;
            }
            type AfterBuildDrawFilterEventArgs_T = AfterBuildDrawFilterEventArgs$ & ConvertPluginEventArgs;
            interface AfterBuildDrawFilterEventArgs extends AfterBuildDrawFilterEventArgs_T {
            }
            interface AfterBuildQueryParemeterEventArgs_S {
            }
            type AfterBuildQueryParemeterEventArgs_ST = AfterBuildQueryParemeterEventArgs_S & ConvertPluginEventArgs_S;
            interface AfterBuildQueryParemeterEventArgs_C extends AfterBuildQueryParemeterEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param srcFldAlias
                 * @param qFilters
                 */
                new(srcFldAlias:$.java.util.Map,qFilters:$.java.util.List):AfterBuildQueryParemeterEventArgs;
            }
            interface AfterBuildQueryParemeterEventArgs$ {
                /**
                 * 系统自动生成，源单字段与字段别名字典；插件可以向此字典追加新字段，并指定别名；不支持删除字段
                 * @return
                 */
                getSrcFldAlias():$.java.util.Map;
                /**
                 * 系统自动生成的源单内码条件；插件可以修改与追加新条件
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 添加需加载的源单字段
                 *
                 * @param fullPropName 字段及引用属性名，如 basedata.name；不需要在前面带单据体标识
                 */
                addSrcField(fullPropName:string):void;
            }
            type AfterBuildQueryParemeterEventArgs_T = AfterBuildQueryParemeterEventArgs$ & ConvertPluginEventArgs;
            interface AfterBuildQueryParemeterEventArgs extends AfterBuildQueryParemeterEventArgs_T {
            }
            interface AfterBuildSourceBillIdsEventArgs$EntryInfo_S {
            }
            interface AfterBuildSourceBillIdsEventArgs$EntryInfo_C extends AfterBuildSourceBillIdsEventArgs$EntryInfo_S {
                new(arg0:long):AfterBuildSourceBillIdsEventArgs$EntryInfo;
                new(arg0:long,arg1:long,arg2:long):AfterBuildSourceBillIdsEventArgs$EntryInfo;
            }
            interface AfterBuildSourceBillIdsEventArgs$EntryInfo$ {
                getBillId():long;
                getEntryId():long;
                getEntryTableId():long;
            }
            type AfterBuildSourceBillIdsEventArgs$EntryInfo_T = AfterBuildSourceBillIdsEventArgs$EntryInfo$;
            interface AfterBuildSourceBillIdsEventArgs$EntryInfo extends AfterBuildSourceBillIdsEventArgs$EntryInfo_T {
            }
            interface FinishWriteBackEventArgs_S {
            }
            type FinishWriteBackEventArgs_ST = FinishWriteBackEventArgs_S & WriteBackEventArgs_S;
            interface FinishWriteBackEventArgs_C extends FinishWriteBackEventArgs_ST {
                new():FinishWriteBackEventArgs;
            }
            interface FinishWriteBackEventArgs$ {
            }
            type FinishWriteBackEventArgs_T = FinishWriteBackEventArgs$ & WriteBackEventArgs;
            interface FinishWriteBackEventArgs extends FinishWriteBackEventArgs_T {
            }
            interface BeforeReadSourceBillEventArgs_S {
            }
            type BeforeReadSourceBillEventArgs_ST = BeforeReadSourceBillEventArgs_S & WriteBackEventArgs_S;
            interface BeforeReadSourceBillEventArgs_C extends BeforeReadSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcMainType 上游源单主实体，包含了完整字段
                 * @param rules 反写上游源单的全部反写规则
                 */
                new(srcMainType:$.kd.bos.entity.BillEntityType,rules:$.java.util.List):BeforeReadSourceBillEventArgs;
            }
            interface BeforeReadSourceBillEventArgs$ {
                /**
                 * 传入源单内码
                 * @param srcBillIds
                 */
                setSrcBillIds(srcBillIds:$.java.util.Set):void;
                /**
                 * 需要读取的源单内码：插件可以反写前，根据源单内码，读取第三方单据数据
                 * @return
                 */
                getSrcBillIds():$.java.util.Set;
                /**
                 * 上游源单主实体，包含了完整字段
                 * @return
                 */
                getSrcMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 反写上游源单的全部反写规则
                 * @return
                 */
                getRules():$.java.util.List;
                /**
                 * 插件需要用到的源单字段
                 * @return
                 */
                getFieldKeys():$.java.util.List;
            }
            type BeforeReadSourceBillEventArgs_T = BeforeReadSourceBillEventArgs$ & WriteBackEventArgs;
            interface BeforeReadSourceBillEventArgs extends BeforeReadSourceBillEventArgs_T {
            }
        }
        namespace kd.bos.entity.botp.runtime{
            interface TableDefine_S {
            }
            interface TableDefine_C extends TableDefine_S {
                new():TableDefine;
            }
            interface TableDefine$ {
                /**
                 * 获取实体标识：单据头、单据体、或子单据体的标识
                 *
                 * 根实体此属性值和{@link #getEntityNumber()}相同
                 *
                 * @return 实体标识
                 */
                getEntityKey():string;
                /**
                 * 设置实体标识
                 *
                 * @param entityKey 实体标识
                 */
                setEntityKey(entityKey:string):void;
                /**
                 * 设置表格编码
                 *
                 * @param tableId 表格编码
                 */
                setTableId(tableId:long):void;
                /**
                 * 设置单据根实体编码
                 *
                 * @param entityNumber 单据根实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取单据根实体编码：根实体，即单据头
                 *
                 * @return 单据根实体编码
                 */
                getEntityNumber():string;
                /**
                 * 返回表格编码
                 *
                 * 全部单据的实体，表格编码互不重复，BOTP使用表格编码，确认来源单据+实体
                 *
                 * @return 表格编码
                 */
                getTableId():long;
            }
            type TableDefine_T = TableDefine$;
            interface TableDefine extends TableDefine_T {
            }
            interface ConvertConst_S {
                readonly HasRight:string;
                readonly PushByBill:string;
                readonly ConvExtDataKey_SourceRows:string;
                readonly TRACK_SHOW_BILL_EDIT_STATUS:string;
                readonly BOTP_TRACK_SEARCH_WHOLE:string;
                readonly Push_Target_Bill_FormId:string;
                readonly RequireDataMutex:string;
                readonly ConvPageCacheKey_AttachmentPanel:string;
                readonly ConvPageCacheKey_CurrBillIndex:string;
                readonly Push_Target_Bills_FormId:string;
                readonly ConvExtDataKey_SourceRowsGroupKey:string;
                readonly TRACK_SHOW_BILL_CUST_PLUGIN:string;
                readonly TargetMainOrgId:string;
                readonly ConvExtDataKey_IsNewEntity:string;
                readonly ConvExtDataKey_AttachmentMappingSourceRowIds:string;
                readonly FOMR_CALL_SOURCE_TYPE_DRAW:string;
                readonly OutFormula:string;
                readonly ConvPageCacheKey_NullBillnoBills:string;
                readonly ConvPageCacheKey_ConvertOperationResult:string;
                readonly Push_Target_Bills_MobFormId:string;
                readonly DataMutex_ISSTRICT:string;
                readonly DataMutex_OPKEY_CONVERT:string;
                readonly ConvExtDataKey_SourceAttachmentPanelInfos:string;
                readonly BOTP_TRACK_SEARCH_ENTRY:string;
                readonly FirstRelationOrgId:string;
                readonly FOMR_CALL_SOURCE_TYPE_PUSH:string;
                readonly BOTP_CHILDVIEW_FROM_CONVERTRESULTFORM:string;
                readonly FOMR_CALL_SOURCE_TYPE_TRACK:string;
                readonly Push_Target_Bill_MobFormId:string;
                readonly TRACK_OPTION_ONLY_BILL:string;
                readonly ConvPageCacheKey_ConvertOperationResult_Simple:string;
                readonly TRACK_OPTION_ONLY_DIRT:string;
                readonly BOTPTAG_OF_DATASOURCE:string;
            }
            interface ConvertConst_C extends ConvertConst_S {
                new():ConvertConst;
            }
            interface ConvertConst$ {
            }
            type ConvertConst_T = ConvertConst$;
            interface ConvertConst extends ConvertConst_T {
            }
            interface GetTargetOptionalOrgsResult_S {
            }
            interface GetTargetOptionalOrgsResult_C extends GetTargetOptionalOrgsResult_S {
                new():GetTargetOptionalOrgsResult;
            }
            interface GetTargetOptionalOrgsResult$ {
                /**
                 * 设置提示消息
                 * @param message 提示消息
                 */
                setMessage(message:string):void;
                /**
                 * 可选的组织清单
                 * @return
                 */
                getOrgIds():$.java.util.Set;
                /**
                 * 设置目标单是否有主组织字段
                 * @param hasMainOrg 是否有主组织字段
                 */
                setHasMainOrg(hasMainOrg:boolean):void;
                /**
                 * 设置是否需要显示组织选择下拉列表 (下推界面)
                 * @param showTargetOrgCombo 是否需要显示组织选择下拉列表
                 */
                setShowTargetOrgCombo(showTargetOrgCombo:boolean):void;
                /**
                 * 下推界面，是否需要显示组织选择下拉列表（如果没有找到可选委托组织，无需显示下拉列表）
                 * @return
                 */
                isShowTargetOrgCombo():boolean;
                /**
                 * 设置是否有所有组织的新增权
                 * @param hasAllOrgPerm 是否有所有组织的新增权
                 */
                setHasAllOrgPerm(hasAllOrgPerm:boolean):void;
                /**
                 * 提示消息
                 * @return
                 */
                getMessage():string;
                /**
                 * 设置是否执行成功
                 * @param success 是否执行成功
                 */
                setSuccess(success:boolean):void;
                /**
                 * 是否执行成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置可选的组织清单
                 * @param orgIds 组织内码集
                 */
                setOrgIds(orgIds:$.java.util.Set):void;
                /**
                 * 目标单是否有主组织字段
                 * @return
                 */
                isHasMainOrg():boolean;
                /**
                 * 是否有所有组织的新增权
                 * @return
                 */
                isHasAllOrgPerm():boolean;
            }
            type GetTargetOptionalOrgsResult_T = GetTargetOptionalOrgsResult$;
            interface GetTargetOptionalOrgsResult extends GetTargetOptionalOrgsResult_T {
            }
            interface SourceRowReport_S {
            }
            type SourceRowReport_ST = $.java.io.Serializable & SourceRowReport_S;
            interface SourceRowReport_C extends SourceRowReport_ST {
                new():SourceRowReport;
            }
            interface SourceRowReport$ {
                /**
                 * 设置源单主单据体行内码
                 * @param entryId 源单主单据体行内码
                 */
                setEntryId(entryId:any):void;
                /**
                 * 设置源单主子单据体行内码
                 * @param subEntryId 源单主子单据体行内码
                 */
                setSubEntryId(subEntryId:any):void;
                /**
                 * 转换失败原因说明
                 * @return
                 */
                getFailMessages():$.java.util.List;
                /**
                 * 源单主单据体行号
                 * @return
                 */
                getEntrySeq():number;
                /**
                 * 源单主单据体行内码
                 * @return
                 */
                getEntryId():any;
                /**
                 * 源单主子单据体行序号
                 * @return
                 */
                getSubEntrySeq():number;
                /**
                 * 设置源单主单据体行号
                 * @param entrySeq 源单主单据体行号
                 */
                setEntrySeq(entrySeq:number):void;
                /**
                 * 输出行信息，格式：单据(001)，单据体第2行，子单据体第1行
                 * @return
                 */
                getRowInfo(billReport:SourceBillReport):string;
                /**
                 * 输出转换失败原因
                 * @return
                 */
                getFailMessage():string;
                /**
                 * 源单主子单据体行内码
                 * @return
                 */
                getSubEntryId():any;
                /**
                 * 输出行信息，格式：单据(001)，单据体第2行，子单据体第1行
                 *
                 * @return
                 */
                getRowInfo(billNo:string,entryName:string,subEntryName:string):string;
                /**
                 * 设置源单主子单据体行序号
                 * @param subEntrySeq 源单主子单据体行序号
                 */
                setSubEntrySeq(subEntrySeq:number):void;
            }
            type SourceRowReport_T = $.java.io.Serializable & SourceRowReport$;
            interface SourceRowReport extends SourceRowReport_T {
            }
            interface DrawArgs_S {
            }
            type DrawArgs_ST = AbstractConvertServiceArgs_S & DrawArgs_S;
            interface DrawArgs_C extends DrawArgs_ST {
                /**
                 * 构造函数
                 * @param sourceEntityNumber 源单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 * @param ruleId 规则内码
                 * @param selectedRows 所选源单行集合
                 * @param targetPageId 目标单界面PageId
                 */
                new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,selectedRows:$.java.util.List,targetPageId:string):DrawArgs;
            }
            interface DrawArgs$ {
                /**
                 * 设置需要清除的单据体行
                 * @param clearEntrys 单据体行
                 */
                setClearEntrys(clearEntrys:$.java.util.List):void;
                /**
                 * 基于目标单PageId，到缓存中，读取目标单数据包
                 *
                 * @return
                 */
                getTargetDataEntity(refProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 源单行
                 * @return
                 */
                getSelectedRows():$.java.util.List;
                /**
                 * 覆盖式选单：选单前，清除指定的单据体行
                 * @return
                 */
                getClearEntrys():$.java.util.List;
                /**
                 * 设置目标单界面PageId
                 * @param targetPageId 目标单界面PageId
                 */
                setTargetPageId(targetPageId:string):void;
                /**
                 * 目标单界面PageId
                 * @return
                 * @remark:
                 * 选单操作是在目标单，新增界面上进行的，需要把源单数据，填充到当前界面上
                 * 因此，需要传入当前目标单新增界面的数据包；
                 * 传入PageId后，可以据此到缓存中，获取到界面数据包
                 */
                getTargetPageId():string;
            }
            type DrawArgs_T = AbstractConvertServiceArgs & DrawArgs$;
            interface DrawArgs extends DrawArgs_T {
            }
            interface BeforeDrawArgs_S {
            }
            type BeforeDrawArgs_ST = AbstractConvertServiceArgs_S & BeforeDrawArgs_S;
            interface BeforeDrawArgs_C extends BeforeDrawArgs_ST {
                /**
                 * 空参数构造函数：用于反序列化
                 */
                new():BeforeDrawArgs;
                /**
                 * 构造函数
                 * @param sourceEntityNumber 源单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 * @param ruleId 转换规则ID
                 * @param targetPageId 目标单界面PageId
                 */
                new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,targetPageId:string):BeforeDrawArgs;
            }
            interface BeforeDrawArgs$ {
                /**
                 * 目标单界面PageId
                 * @return
                 * @remark:
                 * 选单操作是在目标单，新增界面上进行的，需要把源单数据，填充到当前界面上
                 * 因此，需要传入当前目标单新增界面的数据包；
                 * 传入PageId后，可以据此到缓存中，获取到界面数据包
                 */
                getTargetPageId():string;
                /**
                 * 基于目标单PageId，到缓存中，读取目标单数据包
                 *
                 * @return
                 */
                getTargetDataEntity(refProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置是否禁止重复选单
                 * @param duplicateRemove 是否禁止重复选单
                 */
                setDuplicateRemove(duplicateRemove:boolean):void;
                /**
                 * 设置是否禁止重复选分录
                 * @param duplicateEntryRemove 是否禁止重复选分录
                 */
                setDuplicateEntryRemove(duplicateEntryRemove:boolean):void;
                /**
                 * 是否禁止重复选分录
                 * @return
                 */
                isDuplicateEntryRemove():boolean;
                /**
                 * 设置目标单界面PageId
                 * @param targetPageId 目标单界面PageId
                 */
                setTargetPageId(targetPageId:string):void;
                /**
                 * 是否禁止重复选单
                 * @return
                 */
                isDuplicateRemove():boolean;
            }
            type BeforeDrawArgs_T = AbstractConvertServiceArgs & BeforeDrawArgs$;
            interface BeforeDrawArgs extends BeforeDrawArgs_T {
            }
            interface BeforeDrawOpResult_S {
            }
            type BeforeDrawOpResult_ST = BeforeDrawOpResult_S & ConvertOperationResult_S;
            interface BeforeDrawOpResult_C extends BeforeDrawOpResult_ST {
                new():BeforeDrawOpResult;
            }
            interface BeforeDrawOpResult$ {
                /**
                 * 设置输出的选单条件(选单前处理)
                 * @param drawFilter 选单条件 （格式：QFilter.toSerializedString()）
                 */
                setDrawFilter(drawFilter:string):void;
                /**
                 * 源单主业务组织
                 * @return 主业务组织ID
                 */
                getSrcMainOrgId():long;
                /**
                 * 选单前处理，输出的选单条件（格式：QFilter.toSerializedString()）
                 * @return
                 * @remark
                 * 选单分为两个过程：
                 * 1. 选单前，解析规则，生成源单过滤条件；
                 * 2. 基于过滤条件，打开源单列表；用户选择行后，执行选单处理，把数据填写到目标单上
                 */
                getDrawFilter():string;
                /**
                 * 选单前处理，输出源单视图
                 * @return 源单视图
                 */
                getDrawSourceLayout():string;
                /**
                 * 设置输出的移动端源单视图(选单前处理)
                 * @param mobDrawSourceLayout 源单视图
                 */
                setMobDrawSourceLayout(mobDrawSourceLayout:string):void;
                /**
                 * 选单前处理，输出源单关联主实体
                 * @return 源单关联主实体集合
                 */
                getDrawSelectedEntity():$.java.util.List;
                /**
                 * 选单前处理，输出移动端源单视图
                 * @return 移动端源单视图
                 */
                getMobDrawSourceLayout():string;
                /**
                 * 设置源单主业务组织
                 * @param srcMainOrgId 源单主业务组织
                 */
                setSrcMainOrgId(srcMainOrgId:long):void;
                /**
                 * 设置输出的源单视图(选单前处理)
                 * @param drawSourceLayout 源单视图
                 */
                setDrawSourceLayout(drawSourceLayout:string):void;
            }
            type BeforeDrawOpResult_T = BeforeDrawOpResult$ & ConvertOperationResult;
            interface BeforeDrawOpResult extends BeforeDrawOpResult_T {
            }
            interface ConvertOperationResult_S {
            }
            interface ConvertOperationResult_C extends ConvertOperationResult_S {
                new():ConvertOperationResult;
            }
            interface ConvertOperationResult$ {
                /**
                 * 序列化数据包时，目标单单据头字段清单
                 * @return
                 */
                getHeadFields():$.java.util.Set;
                /**
                 * 移动端下推成功后，打开目标单使用的移动端布局
                 * @return
                 */
                getTargetMobFormId():string;
                /**
                 * 设置目标单使用的布局 (下推成功后)
                 * @param targetBillFormId 目标单使用的布局
                 */
                setTargetBillFormId(targetBillFormId:string):void;
                /**
                 * 从数据库读取单据数据包
                 * @param refDataProvider 引用数据读取服务
                 * @param mainType 主实体
                 * @param pkId 单据内码
                 * @return
                 */
                loadAutoSavedDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IDataProvider,mainType:$.kd.bos.entity.MainEntityType,pkId:any):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 申请网控成功的源单：需要在保存目标单后及时释放网控
                 * @return
                 */
                getDataMutexSrcBillIds():$.java.util.Set;
                /**
                 * 获取单据使用到的规则
                 * @return
                 */
                getBillUseRuleMap():$.java.util.Map;
                /**
                 * 下推生成的目标单，序列化后的字符串内容
                 * @return
                 */
                getCacheTargetObjStr():$.java.util.Map;
                /**
                 * 下推引擎，运行时间（单位秒）
                 * @return
                 */
                getRunSecond():long;
                /**
                 * 下推引擎，开始执行时间
                 * @return
                 */
                getStartTime():Date;
                /**
                 * 数据缓存pageId
                 * @return
                 * @remark
                 * 下推成功后，生成的数据包，是放在Redis缓存中的，以pageId为标识存取
                 */
                getCachePageIds():$.java.util.List;
                /**
                 * 从缓存中，读取全部目标单返回；读取后，根据参数控制是否清除缓存
                 * @param refDataProvider
                 * @param mainType
                 * @param releaseCach 是否同时清除缓存
                 * @return
                 */
                loadTargetDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,releaseCach:boolean):$.java.util.List;
                /**
                 * 下推大单并保存，保存成功，输出目标单内码
                 * @return
                 */
                getTargetBillIds():$.java.util.Set;
                /**
                 * 创建不包含目标单数据的返回结果, 在仅需要部分信息的场景下, 可有效减少使用端反序列化消耗
                 * @return
                 */
                createSimpleConvertOperationResult():this;
                /**
                 * 设置目标单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 更新单据数据包
                 *
                 * @param pageId 目标单唯一标识
                 * @param dataEntity 目标单最新的数据包
                 * @param isFullEntityType 是否所有更新所有实体
                 */
                updateTargetDataObject(pageId:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,isFullEntityType:boolean):void;
                /**
                 * 设置下推生成的目标单序列化字符串
                 * @param cacheTargetObjStr 目标单序列化字符串
                 */
                setCacheTargetObjStr(cacheTargetObjStr:$.java.util.Map):void;
                /**
                 * 转换规则生成的下游单的附件
                 * @return
                 */
                getBillAttachmentPanelInfos():$.java.util.Map;
                /**
                 * 下推成功后，打开目标单使用的布局
                 * @return
                 */
                getTargetBillFormId():string;
                /**
                 * 设置下推引擎开始执行时间
                 * @param startTime 开始执行时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置是否下推成功
                 * @param success 是否下推成功
                 */
                setSuccess(success:boolean):void;
                setCacheTargetBillno(cacheTargetBillno:$.java.util.Map):void;
                /**
                 * 更新单据数据包
                 *
                 * @param pageId 目标单唯一标识
                 * @param dataEntity 目标单最新的数据包
                 */
                updateTargetDataObject(pageId:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 提示消息
                 * @return
                 */
                getMessage():string;
                /**
                 * 下推生成的目标单单据编号
                 * @return
                 */
                getCacheTargetBillno():$.java.util.Map;
                /**
                 * 目标单主实体编码
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 释放缓存
                 *
                 * @param refDataProvider
                 * @param mainType
                 */
                release(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 源单主实体编码
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 从缓存中，读取全部目标单返回；读取后，自动清除全部缓存
                 *
                 * @param refDataProvider 引用数据读取服务
                 * @param mainType 主实体
                 * @return
                 */
                loadTargetDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType):$.java.util.List;
                /**
                 * 把生成的目标单，存入缓存
                 *
                 * @param refDataProvider 引用数据读取服务
                 * @param mainType 主实体
                 * @param dataEntities 目标单
                 */
                cacheAutoSavedDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,dataEntities:$.java.util.List):$.java.util.List;
                /**
                 * 设置提示消息
                 * @param message 提示消息
                 */
                setMessage(message:string):void;
                /**
                 * 获取下游单据第一张单，单据类型绑定的布局，默认返回"默认布局"
                 *
                 * @return
                 */
                loadTargetLayoutFormId():string;
                /**
                 * 设置源单主实体编码
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 把生成的目标单，存入缓存
                 *
                 * @param refDataProvider 引用数据读取服务
                 * @param mainType 主实体
                 * @param dataEntities 目标单
                 */
                addTargetDataObjects(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,dataEntities:$.java.util.List):void;
                /**
                 * 从缓存中，读取指定单据返回
                 *
                 * @param refDataProvider 引用数据读取服务
                 * @param mainType 主实体
                 * @param pageId 缓存目标单时，给目标单随机生成的唯一标识
                 * @param loadReference 加载引用
                 * @return
                 */
                loadTargetDataObject(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,pageId:string,loadReference:boolean):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 是否下推成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置数据缓存pageId
                 * @param cachePageIds 数据缓存pageId
                 */
                setCachePageIds(cachePageIds:$.java.util.List):void;
                /**
                 * 源单转换报告，主要包含转换失败的行报告，转换成功的行，自动略过
                 *
                 * @return
                 */
                getBillReports():$.java.util.List;
                /**
                 * 从缓存中，读取指定单据返回
                 *
                 * @param refDataProvider 引用数据读取服务
                 * @param mainType 主实体
                 * @param pageId 缓存目标单时，给目标单随机生成的唯一标识
                 * @return
                 */
                loadTargetDataObject(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType,pageId:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 构建简单实体类型, 优化SQL查询耗时
                 * (属性集仅需要内码与编号)
                 * @param mainType 主实体类型
                 * @return
                 */
                getSimpleEntityType(mainType:$.kd.bos.entity.MainEntityType):$.kd.bos.entity.EntityType;
                /**
                 * 下推引擎，完成执行时间
                 * @return
                 */
                getFinishedTime():Date;
                /**
                 * 设置目标单单据头字段清单 (序列化数据包时)
                 * @param headFields 目标单单据头字段清单
                 */
                setHeadFields(headFields:$.java.util.Set):void;
                /**
                 * 设置目标单使用的移动端布局 (移动端下推成功后)
                 * @param targetMobFormId 目标单使用的移动端布局
                 */
                setTargetMobFormId(targetMobFormId:string):void;
                /**
                 * 设置下推引擎完成执行时间
                 * @param finishedTime 完成执行时间
                 */
                setFinishedTime(finishedTime:Date):void;
            }
            type ConvertOperationResult_T = ConvertOperationResult$;
            interface ConvertOperationResult extends ConvertOperationResult_T {
            }
            interface AbstractConvertServiceArgs_S {
            }
            interface AbstractConvertServiceArgs_C extends AbstractConvertServiceArgs_S {
                /**
                 * 空参数构造函数：用于反序列化
                 */
                new():AbstractConvertServiceArgs;
            }
            interface AbstractConvertServiceArgs$ {
                /**
                 * 设置单据转换任务标识
                 * @param taskId 单据转换任务标识
                 */
                setTaskId(taskId:string):void;
                /**
                 * 是否生成单据转换报告：生成报告需要花费时间，并且需要占用生成结果对象的空间，对于自动化生成，无需报告
                 * @return
                 */
                isBuildConvReport():boolean;
                /**
                 * 目标单主实体编码
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 设置目标单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 定时调度任务的taskId
                 * @return
                 */
                getJobTaskId():string;
                /**
                 * 设置源单主实体编码
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 当前应用，用此应用验权
                 * @return
                 */
                getAppId():string;
                /**
                 * 获取操作信息
                 * @return
                 */
                getOpInfo():OpInfo;
                /**
                 * 自定义参数
                 * @return
                 */
                getCustomParams():$.java.util.Map;
                /**
                 * 设置应用id
                 * @param appId 应用ID
                 */
                setAppId(appId:string):void;
                /**
                 * 设置单据转换规则
                 * @param ruleId 单据转换规则ID
                 */
                setRuleId(ruleId:string):void;
                /**
                 * 增加自定义参数
                 *
                 * @param paramName 参数名
                 * @param paramValue 参数值
                 */
                addCustomParam(paramName:string,paramValue:string):void;
                /**
                 * 单据转换任务标识，可以根据这个任务标识，查到当前进度
                 * @return
                 */
                getTaskId():string;
                /**
                 * 单据转换，指定采用的规则
                 * @return
                 */
                getRuleId():string;
                /**
                 * 设置是否生成单据转换报告
                 * @param buildConvReport 是否生成单据转换报告
                 */
                setBuildConvReport(buildConvReport:boolean):void;
                /**
                 * 源单主实体编码
                 * @return
                 */
                getSourceEntityNumber():string;
            }
            type AbstractConvertServiceArgs_T = AbstractConvertServiceArgs$;
            interface AbstractConvertServiceArgs extends AbstractConvertServiceArgs_T {
            }
            interface OpInfo_S {
            }
            type OpInfo_ST = $.java.io.Serializable & OpInfo_S;
            interface OpInfo_C extends OpInfo_ST {
                new():OpInfo;
            }
            interface OpInfo$ {
                setOpType(opType:string):void;
                getOpType():string;
                getOpName():$.kd.bos.dataentity.entity.LocaleString;
                setOpName(opName:$.kd.bos.dataentity.entity.LocaleString):void;
                getOpKey():string;
                getOpDesc():$.kd.bos.dataentity.entity.LocaleString;
                setOpKey(opKey:string):void;
                setOpDesc(opDesc:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type OpInfo_T = $.java.io.Serializable & OpInfo$;
            interface OpInfo extends OpInfo_T {
            }
            interface BFRow_S {
            }
            type BFRow_ST = $.java.io.Serializable & BFRow_S;
            interface BFRow_C extends BFRow_ST {
                new():BFRow;
            }
            interface BFRow$ {
                /**
                 * 设置源单行
                 * @param sid 源单行id
                 */
                setSId(sid:BFRowId):void;
                /**
                 * 目标单行
                 * @return
                 */
                getId():BFRowId;
                /**
                 * 源单行
                 * @return
                 */
                getSId():BFRowId;
                /**
                 * 设置目标单行
                 * @param id 目标单行id
                 */
                setId(id:BFRowId):void;
            }
            type BFRow_T = $.java.io.Serializable & BFRow$;
            interface BFRow extends BFRow_T {
            }
            interface SourceBillReport_S {
            }
            type SourceBillReport_ST = $.java.io.Serializable & SourceBillReport_S;
            interface SourceBillReport_C extends SourceBillReport_ST {
                new():SourceBillReport;
            }
            interface SourceBillReport$ {
                /**
                 * 输出单据级转换摘要信息：成功多少行，失败多少行
                 *
                 * @param mainType 传入单据主实体，据此获取下级各单据体、子单据体的名称，生成准确的报告
                 * @return
                 */
                buildSummary(mainType:$.kd.bos.entity.MainEntityType):string;
                /**
                 * 关联主实体名称
                 *
                 * @return
                 */
                getLinkEntityName():string;
                /**
                 * 设置子单据体标识
                 *
                 * @param subEntryKey 子单据体标识
                 */
                setSubEntryKey(subEntryKey:string):void;
                /**
                 * 输出行信息，格式：单据(001)
                 *
                 * @return
                 */
                getRowInfo():string;
                /**
                 * 关联主实体
                 *
                 * @return
                 */
                getLinkEntityKey():string;
                /**
                 * 输出单据级转换摘要信息：成功多少行，失败多少行
                 *
                 * @return
                 */
                buildSummary():string;
                /**
                 * 从属实体行转换报告，实体 -> 实体的各行报告
                 *
                 * @return
                 */
                getDependEntityRowReports():$.java.util.Map;
                /**
                 * 增加关联主实体行数
                 *
                 * @param count
                 */
                addRowCount(count:number):void;
                /**
                 * 设置关联主单据体名称
                 *
                 * @param entryName 关联主单据体名称
                 */
                setEntryName(entryName:string):void;
                /**
                 * 添加转换失败消息
                 *
                 * @param failMessage 失败消息
                 */
                addFailMessage(failMessage:string):void;
                /**
                 * 设置源单编码
                 *
                 * @param billNo 源单编码
                 */
                setBillNo(billNo:string):void;
                /**
                 * 关联主实体，转换失败行数
                 *
                 * @return
                 */
                getFailRowCount():number;
                /**
                 * 子单据体名称
                 *
                 * @return
                 */
                getSubEntryName():string;
                /**
                 * 关联主单据体名称
                 *
                 * @return
                 */
                getEntryName():string;
                /**
                 * 是否完整的转换成功：即没有失败行
                 *
                 * @return
                 */
                isFullSuccess():boolean;
                /**
                 * 关联主实体总行数
                 *
                 * @return
                 */
                getRowCount():number;
                /**
                 * 设置采用的转换规则内码
                 *
                 * @param ruleId 转换规则内码
                 */
                setRuleId(ruleId:string):void;
                /**
                 * 整单转换失败消息
                 */
                getFailMessages():$.java.util.List;
                /**
                 * 源单内码
                 *
                 * @return
                 */
                getBillId():any;
                /**
                 * 添加分录行转换错误报告
                 *
                 * @param entityKey 分录标识
                 * @param rowReport 分录行错误报告
                 */
                addSourceRowReport(entityKey:string,rowReport:SourceRowReport):void;
                /**
                 * 采用的转换规则
                 *
                 * @return
                 */
                getRuleName():string;
                /**
                 * 子单据体标识
                 *
                 * @return
                 */
                getSubEntryKey():string;
                /**
                 * 单据转换结束，把行转换报告，从Map转移到List中，以支持序列化、反序列化；
                 * 为减少数据传输量，每张单仅保留20条失败行信息及原因，其他全部舍弃掉
                 */
                copyReportToList():void;
                /**
                 * 关联主实体行转换报告
                 *
                 * @return
                 */
                getLinkEntityRowReports():$.java.util.List;
                /**
                 * 设置源单内码
                 *
                 * @param billId 源单内码
                 */
                setBillId(billId:any):void;
                /**
                 * 采用的转换规则内码
                 *
                 * @return
                 */
                getRuleId():string;
                /**
                 * 源单编码
                 *
                 * @return
                 */
                getBillNo():string;
                /**
                 * 设置关联主实体
                 *
                 * @param linkEntityKey 关联主实体
                 */
                setLinkEntityKey(linkEntityKey:string):void;
                /**
                 * 关联主单据体标识
                 *
                 * @return
                 */
                getEntryKey():string;
                /**
                 * 设置采用的转换规则名称
                 *
                 * @param ruleName 转换规则名称
                 */
                setRuleName(ruleName:string):void;
                /**
                 * 转换有单据体行转换成功
                 *
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置子单据体名称
                 *
                 * @param subEntryName 子单据体名称
                 */
                setSubEntryName(subEntryName:string):void;
                /**
                 * 设置关联主实体名称
                 *
                 * @param linkEntityName 关联主实体名称
                 */
                setLinkEntityName(linkEntityName:string):void;
                /**
                 * 设置关联主单据体标识
                 *
                 * @param entryKey 关联主单据体标识
                 */
                setEntryKey(entryKey:string):void;
                /**
                 * 输出整单失败原因：如果有行转换成功，则输出""
                 *
                 * @return
                 * @remark 1. 优先输出整单失败原因；
                 * 2. 其次取第一条分录行失败原因：其他行的失败原因大体和第一行一样，不需要重复输出；即使不一样，拼接在一起输出可读性也不好
                 */
                getFailMessage():string;
            }
            type SourceBillReport_T = $.java.io.Serializable & SourceBillReport$;
            interface SourceBillReport extends SourceBillReport_T {
            }
            interface BFRowId_S {
            }
            type BFRowId_ST = $.java.io.Serializable & BFRowId_S;
            interface BFRowId_C extends BFRowId_ST {
                /**
                 * 构造函数
                 * @param mainTableId 单据主表的表格编码
                 * @param billId 单据内码
                 * @param tableId 表格编码
                 * @param entryId 实体行内码
                 */
                new(mainTableId:long,billId:long,tableId:long,entryId:long):BFRowId;
            }
            interface BFRowId$ {
                /**
                 * 表格编码：每个单据的每个实体，都有个唯一的表格编码
                 */
                getTableId():long;
                /**
                 * 单据内码
                 * @return
                 * @remark
                 * 冗余的数据：
                 * 从实体行内码，也能追查到单据内码，但是比较麻烦，在这个对象中，直接存下单据内码，后续处理比较方便
                 */
                getBillId():long;
                /**
                 * 设置单据主表的表格编码
                 * @param mainTableId 单据主表的表格编码
                 */
                setMainTableId(mainTableId:long):void;
                /**
                 * 单据主表的表格编码：用于明确单据类型
                 * @return
                 */
                getMainTableId():long;
                /**
                 * 设置表格编码
                 * @param tableId 表格编码
                 */
                setTableId(tableId:long):void;
                /**
                 * 实体行内码
                 * @return
                 */
                getEntryId():long;
                /**
                 * 设置实体行内码
                 * @param entryId 实体行内码
                 */
                setEntryId(entryId:long):void;
                /**
                 * 设置单据内码
                 * @param billId 单据内码
                 */
                setBillId(billId:long):void;
            }
            type BFRowId_T = $.java.io.Serializable & BFRowId$;
            interface BFRowId extends BFRowId_T {
            }
            interface BFRowLinkDownNode_S {
            }
            type BFRowLinkDownNode_ST = $.java.io.Serializable & BFRowLinkDownNode_S;
            interface BFRowLinkDownNode_C extends BFRowLinkDownNode_ST {
                /**
                 * 构造函数
                 * @param rowId 本节点对应的实体行
                 */
                new(rowId:BFRowId):BFRowLinkDownNode;
            }
            interface BFRowLinkDownNode$ {
                /**
                 * 在本节点的下游节点中，搜索指定单据节点
                 *
                 * @param tMainTableId 目标单主表的表格编码
                 * @return
                 */
                findTargetNodes(tMainTableId:long,sbillid:long):$.java.util.List;
                /**
                 * 获取全部下游节点，包括直级下游、间接下游
                 *
                 * @return
                 */
                findAllChildNodes():$.java.util.List;
                /**
                 * 在本节点的下游节点中，搜索指定单据节点
                 *
                 * @param tMainTableId 目标单主表的表格编码
                 * @return
                 */
                findTargetNodes(tMainTableId:long):$.java.util.List;
                /**
                 * 直级下游节点
                 *
                 * @return
                 * @remark
                 * 通常只有一个源头，如果有行合并，则会有多个源头；
                 * 如有多个源头，反写时，就需要按照比例分配反写量
                 */
                getTNodes():$.java.util.Map;
                /**
                 * 本节点对应的实体行
                 */
                getRowId():BFRowId;
                /**
                 * 设置本节点对应的实体行
                 * @param rowId 本节点对应的实体行
                 */
                setRowId(rowId:BFRowId):void;
                /**
                 * 设置直级下游节点
                 * @param tNodes 直级下游节点
                 */
                setTNodes(tNodes:$.java.util.Map):void;
            }
            type BFRowLinkDownNode_T = $.java.io.Serializable & BFRowLinkDownNode$;
            interface BFRowLinkDownNode extends BFRowLinkDownNode_T {
            }
            interface BFRowLinkUpNode_S {
            }
            type BFRowLinkUpNode_ST = $.java.io.Serializable & BFRowLinkUpNode_S;
            interface BFRowLinkUpNode_C extends BFRowLinkUpNode_ST {
                /**
                 * 构造函数
                 * @param rowId
                 */
                new(rowId:BFRowId):BFRowLinkUpNode;
            }
            interface BFRowLinkUpNode$ {
                /**
                 * 获取全部上游节点，包括直级上游、间接上游
                 *
                 * @return
                 */
                findAllSourceNodes():$.java.util.List;
                /**
                 * 本节点对应的实体行
                 */
                getRowId():BFRowId;
                /**
                 * 来源节点
                 * @return
                 * @remark
                 * 通常只有一个源头，如果有行合并，则会有多个源头；
                 * 如有多个源头，反写时，就需要按照比例分配反写量
                 */
                getSNodes():$.java.util.Map;
                /**
                 * 设置本节点对应的实体行
                 * @param rowId 本节点对应的实体行
                 */
                setRowId(rowId:BFRowId):void;
                /**
                 * 在本节点的来源中，搜索指定源单节点
                 *
                 * @param sMainTableId 源单主表的表格编码
                 * @return
                 */
                findSourceNodes(sMainTableId:long):$.java.util.List;
                /**
                 * 设置来源节点
                 * @param sNodes 来源节点
                 */
                setSNodes(sNodes:$.java.util.Map):void;
            }
            type BFRowLinkUpNode_T = $.java.io.Serializable & BFRowLinkUpNode$;
            interface BFRowLinkUpNode extends BFRowLinkUpNode_T {
            }
            interface ConvertOpRule_S {
            }
            interface ConvertOpRule_C extends ConvertOpRule_S {
                /**
                 * 构造函数
                 * @param ruleId 规则内码
                 * @param ruleName 规则名称
                 */
                new(ruleId:string,ruleName:string):ConvertOpRule;
            }
            interface ConvertOpRule$ {
                /**
                 * 运行时是否隐藏不可选（仅供后台自动下推使用）
                 * @return
                 */
                isVisibled():boolean;
                /**
                 * 优先选择的单据类型
                 * @return
                 */
                getDefBillType():long;
                /**
                 * 选单时是否隐藏不可选
                 * @return
                 */
                isDrawVisibled():boolean;
                /**
                 * 设置运行时是否隐藏不可选（仅供后台自动下推使用）
                 * @param visibled 运行时是否隐藏不可选
                 */
                setVisibled(visibled:boolean):void;
                /**
                 * 设置规则内码
                 * @param ruleId 规则内码
                 */
                setRuleId(ruleId:string):void;
                /**
                 * 指定可选的单据类型
                 * @return
                 */
                getBillTypeIds():$.java.util.List;
                /**
                 * 是否允许全部单据类型，不需要指定可选的单据类型
                 * @return
                 */
                isAllBillType():boolean;
                /**
                 * 设置规则名称
                 * @param ruleName 规则名称
                 */
                setRuleName(ruleName:string):void;
                /**
                 * 设置选单时是否隐藏不可选
                 * @param drawVisibled 选单时是否隐藏不可选
                 */
                setDrawVisibled(drawVisibled:boolean):void;
                /**
                 * 运行时可见控制
                 */
                isVisibledCtrl():boolean;
                /**
                 * 允许选择全部单据类型，但这些特别类型除外
                 * @return
                 */
                getInvalidBillTypeIds():$.java.util.List;
                /**
                 * 规则内码
                 * @return
                 */
                getRuleId():string;
                /**
                 * 设置是否允许全部单据类型，不需要指定可选的单据类型
                 * @param allBillType 单据类型
                 */
                setAllBillType(allBillType:boolean):void;
                /**
                 * 规则名称
                 * @return
                 */
                getRuleName():string;
                /**
                 * 设置优先选择的单据类型
                 * @param defBillType 单据类型
                 */
                setDefBillType(defBillType:long):void;
            }
            type ConvertOpRule_T = ConvertOpRule$;
            interface ConvertOpRule extends ConvertOpRule_T {
            }
            interface PushArgs_S {
            }
            type PushArgs_ST = AbstractConvertServiceArgs_S & PushArgs_S;
            interface PushArgs_C extends PushArgs_ST {
                /**
                 * 构造函数
                 * @param sourceEntityNumber 源单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 * @param selectedRows 待下推的源单数据行
                 */
                new(sourceEntityNumber:string,targetEntityNumber:string,selectedRows:$.java.util.List):PushArgs;
            }
            interface PushArgs$ {
                /**
                 * 获取当前使用的组织id
                 */
                getCurrentOrgId():long;
                /**
                 * 限定可用的转换规则范围，如果为空，则即时到数据库取所有可用的转换规则进行下推
                 * @return
                 */
                getRuleIds():$.java.util.Set;
                /**
                 * 待下推的源单数据行
                 *
                 * @return
                 */
                getSelectedRows():$.java.util.List;
                /**
                 * 是否已经通过验权，不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要，如工作流审核通过后自动生成下游单据，不需要验权
                 * @return
                 */
                isHasRight():boolean;
                /**
                 * 设置待下推的源单数据行
                 * @param selectedRows 待下推的源单数据行
                 */
                setSelectedRows(selectedRows:$.java.util.List):void;
                /**
                 * 是否跳过下推选择界面
                 */
                isHidePushForm():boolean;
                /**
                 * 下推默认设置的主组织：优先取此组织，但需要满足主组织字段计算公式、权限要求、职能要求
                 * @return
                 */
                getDefOrgId():long;
                /**
                 * 设置是否已经通过验权，不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要，如工作流审核通过后自动生成下游单据，不需要验权
                 * @param hasRight 是否已经通过验权
                 */
                setHasRight(hasRight:boolean):void;
                /**
                 * 是否下推自动保存，在转换规则和参数都启用的情况下才有效
                 * @return
                 */
                isAutoSave():boolean;
                /**
                 * 是否生成报告
                 */
                isShowReport():boolean;
                /**
                 * 设置下推默认设置的主组织
                 * @param defOrgId 组织ID
                 */
                setDefOrgId(defOrgId:long):void;
                /**
                 * 设置是否下推自动保存，在转换规则和参数都启用的情况下才有效
                 * @param autoSave 是否下推自动保存
                 */
                setAutoSave(autoSave:boolean):void;
            }
            type PushArgs_T = AbstractConvertServiceArgs & PushArgs$;
            interface PushArgs extends PushArgs_T {
            }
            interface GetTargetOptionalOrgsArgs_S {
            }
            type GetTargetOptionalOrgsArgs_ST = GetTargetOptionalOrgsArgs_S & PushArgs_S;
            interface GetTargetOptionalOrgsArgs_C extends GetTargetOptionalOrgsArgs_ST {
                new():GetTargetOptionalOrgsArgs;
            }
            interface GetTargetOptionalOrgsArgs$ {
            }
            type GetTargetOptionalOrgsArgs_T = GetTargetOptionalOrgsArgs$ & PushArgs;
            interface GetTargetOptionalOrgsArgs extends GetTargetOptionalOrgsArgs_T {
            }
        }
        namespace kd.bos.entity.ca{
            interface CertInfo_S {
            }
            type CertInfo_ST = $.java.io.Serializable & CertInfo_S;
            interface CertInfo_C extends CertInfo_ST {
                new():CertInfo;
            }
            interface CertInfo$ {
                getIssuer():$.kd.bos.dataentity.entity.LocaleString;
                getSerialNumber():string;
                getEnable():number;
                setCertIssuer(arg0:string):void;
                getCertIssuer():string;
                getCertName():string;
                setEnd(arg0:Date):void;
                setBegin(arg0:Date):void;
                getPublicKey():string;
                getBegin():Date;
                setSerialNumber(arg0:string):void;
                setEnable(arg0:number):void;
                setCertName(arg0:string):void;
                getEnd():Date;
                setPublicKey(arg0:string):void;
                setIssuer(arg0:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type CertInfo_T = $.java.io.Serializable & CertInfo$;
            interface CertInfo extends CertInfo_T {
            }
            interface SignScheme_S {
            }
            interface SignScheme_C extends SignScheme_S {
            }
            interface SignScheme$ {
                /**
                 * 获取业务对象名称。
                 * @return 业务对象名称
                 */
                getFormName():string;
                /**
                 * 获取签名字段配置。
                 * @return 签名字段配置
                 */
                getSignField():string;
                /**
                 * 设置业务对象名称。
                 * @param formName 业务对象名称
                 */
                setFormName(formName:string):void;
                /**
                 * 设置签名配置方案id。
                 * @param id id
                 */
                setId(id:long):void;
                /**
                 * 获取验签操作配置。
                 * @return 验签操作配置
                 */
                getVerifyOperate():string;
                /**
                 * 获取业务对象所在应用id。
                 * @return 应用id
                 */
                getBizAppId():string;
                /**
                 * 获取签名配置方案id。
                 * @return id
                 */
                getId():long;
                /**
                 * 获取签名操作配置。
                 * @return 签名操作配置
                 */
                getSignOperate():string;
                /**
                 * 设置业务对象编码。
                 * @param formNumber 业务对象编码
                 */
                setFormNumber(formNumber:string):void;
                /**
                 * 设置签名字段配置。
                 * @param signField 签名字段配置
                 */
                setSignField(signField:string):void;
                /**
                 * 设置验签操作配置。
                 * @param verifyOperate 验签操作配置
                 */
                setVerifyOperate(verifyOperate:string):void;
                /**
                 * 设置业务对象所在应用id。
                 * @param bizAppId 应用id
                 */
                setBizAppId(bizAppId:string):void;
                /**
                 * 设置签名操作配置。
                 * @param signOperate 签名操作配置
                 */
                setSignOperate(signOperate:string):void;
                /**
                 * 获取业务对象编码。
                 * @return 业务对象编码
                 */
                getFormNumber():string;
            }
            type SignScheme_T = SignScheme$;
            interface SignScheme extends SignScheme_T {
            }
            interface VerifySignInfo_S {
            }
            type VerifySignInfo_ST = $.java.io.Serializable & VerifySignInfo_S;
            interface VerifySignInfo_C extends VerifySignInfo_ST {
                /**
                 * 默认构造函数。
                 * <p>
                 *     创建一个验签信息对象。
                 * </p>
                 */
                new():VerifySignInfo;
                /**
                 * 构造函数。
                 * <p>
                 *     创建一个验签信息对象。
                 * </p>
                 * @param success 是否验签成功
                 */
                new(success:boolean):VerifySignInfo;
                /**
                 * 构造函数。
                 * <p>
                 *     创建一个验签信息对象。
                 * </p>
                 * @param success 是否验签成功
                 * @param message 验签结果信息
                 */
                new(success:boolean,message:string):VerifySignInfo;
            }
            interface VerifySignInfo$ {
                /**
                 * 设置验签结果。
                 * @param success 是否验签成功
                 */
                setSuccess(success:boolean):void;
                /**
                 * 获取验签结果信息。
                 * @return 验签结果信息
                 */
                getMessage():string;
                /**
                 * 是否验签成功。
                 * @return 是否验签成功
                 */
                isSuccess():boolean;
                /**
                 * 设置验签结果信息。
                 * @param message 验签结果信息
                 */
                setMessage(message:string):void;
            }
            type VerifySignInfo_T = $.java.io.Serializable & VerifySignInfo$;
            interface VerifySignInfo extends VerifySignInfo_T {
            }
        }
        namespace kd.bos.entity.cache{
            interface CacheKeyUtil_S {
            }
            interface CacheKeyUtil_C extends CacheKeyUtil_S {
                new():CacheKeyUtil;
            }
            interface CacheKeyUtil$ {
            }
            type CacheKeyUtil_T = CacheKeyUtil$;
            interface CacheKeyUtil extends CacheKeyUtil_T {
            }
            interface TableCache_S {
            }
            interface TableCache_C extends TableCache_S {
            }
            interface TableCache$ {
                /**
                 * 表单模型IDataModel是否采用了临时表存储界面数据：适用于大单模式，分录行超多
                 * @return 默认返回false，当实际表单使用了临时表存储界面数据时，重写此方法返回true
                 */
                useTableCache?():boolean;
            }
            type TableCache_T = TableCache$;
            interface TableCache extends TableCache_T {
            }
            interface IModelCache_S {
            }
            type IModelCache_ST = IModelCache_S & kd.bos.entity.datamodel.IEntryFilter_S;
            interface IModelCache_C extends IModelCache_ST {
            }
            interface IModelCache$ {
            }
            type IModelCache_T = IModelCache$ & kd.bos.entity.datamodel.IEntryFilter;
            interface IModelCache extends IModelCache_T {
            }
            interface AppCache_S {
                /**
                 * 获取业务应用缓存接口实现类，可基于此访问业务应用缓存
                 * @param appKey 应用标识，如"gl"
                 * @return 缓存接口实现类
                 */
                get(appKey:string):IAppCache;
            }
            interface AppCache_C extends AppCache_S {
                new():AppCache;
            }
            interface AppCache$ {
            }
            type AppCache_T = AppCache$;
            interface AppCache extends AppCache_T {
            }
            interface RedisModelCache_S {
            }
            type RedisModelCache_ST = $.kd.bos.entity.cache.IModelCache & RedisModelCache_S;
            interface RedisModelCache_C extends RedisModelCache_ST {
                /**
                 * 构造函数
                 * @param refProvide
                 * @param dt 实体类型
                 * @param pageId 页面id
                 */
                new(refProvide:$.kd.bos.entity.datamodel.IRefrencedataProvider,dt:$.kd.bos.entity.MainEntityType,pageId:string):RedisModelCache;
            }
            interface RedisModelCache$ {
            }
            type RedisModelCache_T = $.kd.bos.entity.cache.IModelCache & RedisModelCache$;
            interface RedisModelCache extends RedisModelCache_T {
            }
            interface IBusinessAppCache_S {
            }
            interface IBusinessAppCache_C extends IBusinessAppCache_S {
            }
            interface IBusinessAppCache$ {
                /**
                 * 移除缓存：缓存使用完毕，请及时调用此方法，避免泄露
                 * @param key 缓存标识
                 */
                remove(key:string):void;
                /**
                 * 获取缓存值，可能返回null
                 *
                 * @param key 缓存标识
                 * @param clazz 缓存数据类型
                 * @return 读取缓存值，反序列化为指定的类型
                 * @param <T> 缓存数据类型
                 */
                get(key:string,clazz:$.java.lang.Class):any;
                /**
                 * 清空缓存==removeAll
                 * 当前clear还未实现，暂请自行管理key，通过remove进行清理，敬请期待
                 */
                clear():void;
                /**
                 * 存入
                 * @param key 缓存标识
                 * @param value 缓存数据，不限类型，平台自动序列化为字符串后存入缓存；推荐传入String类型，自行序列化，避免平台自动序列化、反序列化时丢失信息
                 */
                put(key:string,value:any):void;
                /**
                 * 存入，主动设置缓存有效时长
                 * @param key 缓存标识
                 * @param value 缓存数据
                 * @param timeout 缓存有效时长，单位秒
                 */
                put(key:string,value:any,timeout:number):void;
            }
            type IBusinessAppCache_T = IBusinessAppCache$;
            interface IBusinessAppCache extends IBusinessAppCache_T {
            }
            interface IAppCache_S {
            }
            interface IAppCache_C extends IAppCache_S {
            }
            interface IAppCache$ {
                /**
                 * 存入
                 * @param key 缓存标识
                 * @param value 缓存数据，不限类型，平台自动序列化为字符串后存入缓存；推荐传入String类型，自行序列化，避免平台自动序列化、反序列化时丢失信息
                 */
                put(key:string,value:any):void;
                /**
                 * 清空缓存==removeAll
                 * 当前clear还未实现，暂请自行管理key，通过remove进行清理，敬请期待
                 */
                clear():void;
                /**
                 * 移除缓存：缓存使用完毕，请及时调用此方法，避免泄露
                 * @param key 缓存标识
                 */
                remove(key:string):void;
                /**
                 * 获取缓存值，可能返回null
                 *
                 * @param key 缓存标识
                 * @param clazz 缓存数据类型
                 * @return 读取缓存值，反序列化为指定的类型
                 * @param <T> 缓存数据类型
                 */
                get(key:string,clazz:$.java.lang.Class):any;
                /**
                 * 存入，主动设置缓存有效时长
                 * @param key 缓存标识
                 * @param value 缓存数据
                 * @param timeout 缓存有效时长，单位秒
                 */
                put(key:string,value:any,timeout:number):void;
            }
            type IAppCache_T = IAppCache$;
            interface IAppCache extends IAppCache_T {
            }
        }
        namespace kd.bos.entity.ctbotp{
            interface CtConvertPath_S {
            }
            interface CtConvertPath_C extends CtConvertPath_S {
                new():CtConvertPath;
            }
            interface CtConvertPath$ {
                setTargetBizAppName(arg0:string):void;
                setSourceEntityNumber(arg0:string):void;
                getSourceBizAppName():string;
                getSourceTenant():string;
                setTargetEntityName(arg0:string):void;
                getSourceEntityNumber():string;
                getBizAppId():string;
                setTargetAccountId(arg0:string):void;
                setSourceEntityName(arg0:string):void;
                getTargetEntityName():string;
                getTargetEntityNumber():string;
                setSourceBizAppId(arg0:string):void;
                setSourceTenant(arg0:string):void;
                getTargetAccountId():string;
                setSourceAccountId(arg0:string):void;
                getTargetBizAppName():string;
                getSourceBizAppId():string;
                getTargetAccountNumber():string;
                setTargetAccountNumber(arg0:string):void;
                setTargetBizAppId(arg0:string):void;
                getSourceAccountNumber():string;
                getSourceAccountId():string;
                getTargetTenant():string;
                setSourceAccountNumber(arg0:string):void;
                setTargetTenant(arg0:string):void;
                getTargetBizAppId():string;
                setTargetEntityNumber(arg0:string):void;
                setBizAppId(arg0:string):void;
                getSourceEntityName():string;
                setSourceBizAppName(arg0:string):void;
            }
            type CtConvertPath_T = CtConvertPath$;
            interface CtConvertPath extends CtConvertPath_T {
            }
            class CtGroupByMode {
                static readonly OneToOne:kd.bos.entity.ctbotp.CtGroupByMode;
                static readonly AllInOne:kd.bos.entity.ctbotp.CtGroupByMode;
                static readonly GroupByField:kd.bos.entity.ctbotp.CtGroupByMode;
                static valueOf(value:number):kd.bos.entity.ctbotp.CtGroupByMode;
                static values():kd.bos.entity.ctbotp.CtGroupByMode[];
                static valueOf(arg0:string):kd.bos.entity.ctbotp.CtGroupByMode;
                getValue():number;
            }
            interface CtFilterPolicy_S {
            }
            interface CtFilterPolicy_C extends CtFilterPolicy_S {
                /**
                 * 默认构造函数
                 */
                new():CtFilterPolicy;
            }
            interface CtFilterPolicy$ {
                setDataRangeMode(dataRangeMode:string):void;
                /**
                 * 条件对象
                 *
                 * @return
                 */
                getConditionList():$.java.util.List;
                setConditionList(conditionList:$.java.util.List):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,rule:CtConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                getDataRangeMode():string;
            }
            type CtFilterPolicy_T = CtFilterPolicy$;
            interface CtFilterPolicy extends CtFilterPolicy_T {
            }
            interface CtAttachmentPanelMapItem_S {
            }
            interface CtAttachmentPanelMapItem_C extends CtAttachmentPanelMapItem_S {
                new():CtAttachmentPanelMapItem;
            }
            interface CtAttachmentPanelMapItem$ {
                setId(value:string):void;
                setSourceAttachmentPanel(sourceAttachmentPanel:string):void;
                getSourceAttachmentPanel():string;
                getAttachmentPanelMergeType():string;
                setTargetAttachmentPanel(targetAttachmentPanel:string):void;
                getTargetAttachmentPanel():string;
                /**
                 * 自动产生的唯一标识
                 * @return
                 */
                getId():string;
                setSeq(seq:number):void;
                setAttachmentPanelMergeType(attachmentPanelMergeType:string):void;
                getSeq():number;
            }
            type CtAttachmentPanelMapItem_T = CtAttachmentPanelMapItem$;
            interface CtAttachmentPanelMapItem extends CtAttachmentPanelMapItem_T {
            }
            class CtFieldConvertType {
                static readonly ByCondition:kd.bos.entity.ctbotp.CtFieldConvertType;
                static readonly Formula:kd.bos.entity.ctbotp.CtFieldConvertType;
                static readonly SourceField:kd.bos.entity.ctbotp.CtFieldConvertType;
                static readonly CONSTANT:kd.bos.entity.ctbotp.CtFieldConvertType;
                static valueOf(arg0:string):kd.bos.entity.ctbotp.CtFieldConvertType;
                static values():kd.bos.entity.ctbotp.CtFieldConvertType[];
                getValue():number;
            }
            interface CtConvertBill_S {
            }
            interface CtConvertBill_C extends CtConvertBill_S {
                new():CtConvertBill;
            }
            interface CtConvertBill$ {
                /**
                 * 实体名称
                 * @return
                 */
                getEntityName():string;
                /**
                 * 设置实体名称
                 * @param entityName
                 */
                setEntityName(entityName:string):void;
                /**
                 * 可用的转换规则
                 * @return
                 */
                getRules():$.java.util.List;
                setThirdPush(thirdPush:boolean):void;
                /**
                 * 是否第三方下推
                 * @return
                 */
                getThirdPush():boolean;
                /**
                 * 实体编码
                 * @return
                 */
                getEntityNumber():string;
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 源单编码
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 设置实体编码
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
            }
            type CtConvertBill_T = CtConvertBill$;
            interface CtConvertBill extends CtConvertBill_T {
            }
            interface CtDataEntity_S {
            }
            type CtDataEntity_ST = $.java.io.Serializable & CtDataEntity_S;
            interface CtDataEntity_C extends CtDataEntity_ST {
                new():CtDataEntity;
                new(entityKey:string,joinEntityKeys:string):CtDataEntity;
            }
            interface CtDataEntity$ {
                setConver(conver:boolean):void;
                setSeq(seq:number):void;
                getAttachmentPanelMapList():$.java.util.List;
                getId():long;
                isConver():boolean;
                getSrcBillId():long;
                setId(id:long):void;
                setBillTypeInfo(billTypeInfo:kd.bos.entity.ctbotp.billtype.BillTypeInfo):void;
                getChildEntity(entityKey:string):$.java.util.List;
                getSeq():number;
                setFields(fields:$.java.util.List):void;
                getBillTypeInfo():kd.bos.entity.ctbotp.billtype.BillTypeInfo;
                getChildEntitys():$.java.util.Map;
                getEntityKey():string;
                createChildEntitys(entityKey:string,joinEntityKeys:string,count:number):void;
                setJoinEntityKeys(joinEntityKeys:string):void;
                setAttachmentPanelMapList(attachmentPanelMapList:$.java.util.List):void;
                addChildEntitys(entityKey:string,joinEntityKeys:string,ctDataEntity:CtDataEntity):void;
                isFirstBatch():boolean;
                setChildEntitys(childEntitys:$.java.util.Map):void;
                setEntityKey(entityKey:string):void;
                setFirstBatch(firstBatch:boolean):void;
                isExistNextBatch():boolean;
                getJoinEntityKeys():string;
                getFields():$.java.util.List;
                initProp(entityKey:string,joinEntityKeys:string):void;
                setExistNextBatch(existNextBatch:boolean):void;
                setBillTypeInfo(ctDataEntity:CtDataEntity,sBillTypeId:long,tBillTypeId:long,sBillTypeNumber:string):void;
            }
            type CtDataEntity_T = $.java.io.Serializable & CtDataEntity$;
            interface CtDataEntity extends CtDataEntity_T {
            }
            interface CtFieldMapItem_S {
            }
            type CtFieldMapItem_ST = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapItem_S;
            interface CtFieldMapItem_C extends CtFieldMapItem_ST {
                /**
                 * 默认构造函数
                 */
                new():CtFieldMapItem;
            }
            interface CtFieldMapItem$ {
                setValByCondiionsString(valByCondiionsString:string):void;
                setSourceFieldKey(sourceFieldKey:string):void;
                getTargetEntityKeys():string;
                /**
                 * 是否仅携带未禁用的数据
                 *
                 * @return
                 */
                isOnlyTakeUsedData():boolean;
                setBreakForNoDistribute(breakForNoDistribute:boolean):void;
                setConvertType2(convertType2:string):void;
                /**
                 * 按条件取值
                 *
                 * @return
                 */
                getValByConditions():CtCRValByConditions;
                getTargetFieldType():string;
                setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
                /**
                 * 如果目标组织没有分配此基础资料，是否中断下推过程？
                 *
                 * @return
                 * @remark: 如果不中断，则填写基础资料字段为空；
                 */
                isBreakForNoDistribute():boolean;
                setValByConditions(valByConditions:CtCRValByConditions):void;
                /**
                 * 输出(字段取值模式+取值公式hashCode)合并成的字符串，由序列化自动调用
                 *
                 * @return
                 */
                getConvertType2():string;
                /**
                 * 计算公式
                 *
                 * @return
                 */
                getFormula():$.kd.bos.entity.botp.CRFormula;
                /**
                 * 输出字段取值模式的名称，用于序列化
                 *
                 * @return
                 */
                getConvertType():string;
                setOnlyTakeApprovedData(onlyTakeApprovedData:boolean):void;
                getTargetFieldBaseDataNumber():string;
                setSumType(sumType:string):void;
                /**
                 * 目标字段
                 *
                 * @return
                 */
                getTargetFieldKey():string;
                /**
                 * 源单字段标识
                 *
                 * @return :
                 * @remark: 源单字段标识有如下几种格式：
                 * 1. id: 取单据主键;
                 * 2. entityKey.id : 取单据体主键;
                 * 3. entityKey.seq : 取单据体行序号;
                 * 4. fieldKey : 取源单字段;
                 * 5. fieldKey.property ：取基础资料字段的属性
                 * 6. fieldKey.property.subProperty : 取基础资料字段的嵌套属性
                 */
                getSourceFieldKey():string;
                /**
                 * 多行合并时，字段值合并模式：取第一行，合计、平均、计数、最大、最小、拼接
                 *
                 * @return
                 */
                getCtFieldSumType():CtFieldSumType;
                /**
                 * 判断字段映射配置是否完整有效：无效的规则，不能在运行时被使用
                 * 判断标准：取值模式和取值公式一致
                 *
                 * @return
                 */
                isValid():boolean;
                setTargetFieldBaseDataNumber(targetFieldBaseDataNumber:string):void;
                /**
                 * 字段值合并模式，用于序列化
                 *
                 * @return
                 */
                getSumType():string;
                /**
                 * 字段取值模式：取源单字段、取计算公式、按条件取值
                 *
                 * @return
                 */
                getCtFieldConvertType():CtFieldConvertType;
                /**
                 * 输出按条件取数设置的整体json字符串
                 *
                 * @return
                 * @remark 输出字段取值映射时，把按条件取值设置整体打包序列化为字符串；
                 * 现场扩展调整了按条件取值中的条件或取值公式后，会输出完整的按条件取值设置，
                 * 后续预置规则升级，还是会以现场扩展配置的取值条件和计算公式为准，不会被覆盖，各条件执行优先级得到保障
                 */
                getValByCondiionsString():string;
                setConstant(constant:$.kd.bos.entity.botp.CRFormula):void;
                setOnlyTakeUsedData(onlyTakeUsedData:boolean):void;
                setCtFieldSumType(ctFieldSumType:CtFieldSumType):void;
                /**
                 * 是否仅携带已审核的数据
                 *
                 * @return
                 */
                isOnlyTakeApprovedData():boolean;
                setTargetEntityKeys(targetEntityKeys:string):void;
                setTargetFieldKey(targetFieldKey:string):void;
                setConvertType(convertType:string):void;
                setCtFieldConvertType(ctFieldConvertType:CtFieldConvertType):void;
                setTargetFieldType(targetFieldType:string):void;
                /**
                 * 按常量取值
                 * 去常量Id，支持基础资料与下拉列表
                 *
                 * @return
                 */
                getConstant():$.kd.bos.entity.botp.CRFormula;
            }
            type CtFieldMapItem_T = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapItem$;
            interface CtFieldMapItem extends CtFieldMapItem_T {
            }
            class CtConvertOpType {
                static readonly SpecDraw:kd.bos.entity.ctbotp.CtConvertOpType;
                static readonly BeforeDraw:kd.bos.entity.ctbotp.CtConvertOpType;
                static readonly Draw:kd.bos.entity.ctbotp.CtConvertOpType;
                static readonly Push:kd.bos.entity.ctbotp.CtConvertOpType;
                static readonly SpecPush:kd.bos.entity.ctbotp.CtConvertOpType;
                static valueOf(arg0:string):kd.bos.entity.ctbotp.CtConvertOpType;
                static values():kd.bos.entity.ctbotp.CtConvertOpType[];
                getValue():number;
            }
            interface CtGroupByPolicy_S {
            }
            interface CtGroupByPolicy_C extends CtGroupByPolicy_S {
                /**
                 * 默认构造函数
                 */
                new():CtGroupByPolicy;
            }
            interface CtGroupByPolicy$ {
                /**
                 * 分单模式，用于序列化
                 *
                 * @return
                 * @remark 枚举类型属性，序列化、反序列化时，非常麻烦；特别定义一个字符串类型属性，专用于序列化
                 */
                getGroupMode():string;
                /**
                 * 单据体行合并方式
                 *
                 * @param groupByMode2
                 */
                setCtGroupByMode2(groupByMode2:CtGroupByMode):void;
                /**
                 * 分单模式，用于序列化
                 *
                 * @param groupMode
                 */
                setGroupMode(groupMode:string):void;
                /**
                 * 单据体行合并模式，用于序列化
                 *
                 * @param groupMode
                 */
                setGroupMode2(groupMode:string):void;
                /**
                 * 单据分单方式：一对一、全部合并、按字段分单
                 *
                 * @param groupByMode
                 */
                setGroupByMode(groupByMode:CtGroupByMode):void;
                /**
                 * 子单据体行合并方式：一对一、全部合并、按字段合并
                 *
                 * @return
                 */
                getCtGroupByMode3():CtGroupByMode;
                /**
                 * 子单据体行合并方式，用于序列化
                 *
                 * @return
                 */
                getGroupMode3():string;
                /**
                 * 子单据体行合并方式
                 *
                 * @param groupByMode3
                 */
                setCtGroupByMode3(groupByMode3:CtGroupByMode):void;
                /**
                 * 单据体行合并依赖字段：只有按字段合并模式下，这个属性才会赋值
                 *
                 * @return
                 */
                getGroupByField2():string;
                /**
                 * 分单依赖的字段
                 *
                 * @param groupByField
                 */
                setGroupByField(groupByField:string):void;
                /**
                 * 子单据体行合并方式
                 *
                 * @param groupMode
                 */
                setGroupMode3(groupMode:string):void;
                /**
                 * 单据体行合并依赖字段
                 *
                 * @param groupByField3
                 */
                setGroupByField3(groupByField3:string):void;
                /**
                 * 分单依赖的字段：只有按字段分单模式下，这个属性才会赋值
                 */
                getGroupByField():string;
                /**
                 * 单据体行合并依赖字段
                 *
                 * @param groupByField2
                 */
                setGroupByField2(groupByField2:string):void;
                /**
                 * 单据体行合并依赖字段：只有按字段合并模式下，这个属性才会赋值
                 *
                 * @return
                 */
                getGroupByField3():string;
                /**
                 * 单据分单方式：一对一、全部合并、按字段分单
                 *
                 * @return
                 */
                getGroupByMode():CtGroupByMode;
                /**
                 * 单据体行合并方式：一对一、全部合并、按字段合并
                 *
                 * @return
                 */
                getCtGroupByMode2():CtGroupByMode;
                /**
                 * 单据体行合并模式，用于序列化
                 *
                 * @return
                 */
                getGroupMode2():string;
            }
            type CtGroupByPolicy_T = CtGroupByPolicy$;
            interface CtGroupByPolicy extends CtGroupByPolicy_T {
            }
            interface CtConvertRuleElement_S {
            }
            interface CtConvertRuleElement_C extends CtConvertRuleElement_S {
                /**
                 * 构造函数
                 */
                new():CtConvertRuleElement;
            }
            interface CtConvertRuleElement$ {
                /**
                 * 关联主实体策略
                 *
                 * @return
                 */
                getCtLinkEntityPolicy():CtLinkEntityPolicy;
                /**
                 * 附件面板映射策略
                 *
                 * @return
                 */
                getCtAttachmentPanelMapPolicy():CtAttachmentPanelMapPolicy;
                /**
                 * 目标单租户
                 *
                 * @return
                 */
                getTargetTenant():string;
                /**
                 * 目标单实体编码
                 *
                 * @param targetEntityNumber
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                getCtFilterPolicy():CtFilterPolicy;
                setCtOptionPolicy(ctOptionPolicy:CtOptionPolicy):void;
                setExtVerId(extVerId:long):void;
                getExtVerId():long;
                /**
                 * 最近一次检查版本时间
                 *
                 * @return
                 */
                getCheckVersionTimeMillis():long;
                /**
                 * 插件策略
                 *
                 * @return
                 */
                getCtPlugInPolicy():CtPlugInPolicy;
                getsBizAppId():string;
                /**
                 * 源单实体编码
                 *
                 * @param sourceEntityNumber
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                getCtOptionPolicy():CtOptionPolicy;
                getTargetAccountNumber():string;
                /**
                 * 源单租户
                 *
                 * @param sourceTenant
                 */
                setSourceTenant(sourceTenant:string):void;
                setTenantPath(tenantPath:string):void;
                setCtFilterPolicy(ctFilterPolicy:CtFilterPolicy):void;
                getCurrentVerId():long;
                setMirrorUpdate(mirrorUpdate:boolean):void;
                /**
                 * 目标单租户
                 *
                 * @param targetTenant
                 */
                setTargetTenant(targetTenant:string):void;
                setCtFieldMapPolicy(ctFieldMapPolicy:CtFieldMapPolicy):void;
                setsBizAppId(sBizAppId:string):void;
                setSyncType(syncType:string):void;
                /**
                 * 分单合并策略
                 *
                 * @param ctGroupByPolicy
                 */
                setCtGroupByPolicy(ctGroupByPolicy:CtGroupByPolicy):void;
                setSourceEntityName(sourceEntityName:$.kd.bos.dataentity.entity.LocaleString):void;
                setMirrorSync(mirrorSync:boolean):void;
                /**
                 * 单据类型映射策略
                 *
                 * @param ctBillTypeMapPolicy
                 */
                setCtBillTypeMapPolicy(ctBillTypeMapPolicy:CtBillTypeMapPolicy):void;
                getTargetEntityName():$.kd.bos.dataentity.entity.LocaleString;
                setTargetAccountNumber(targetAccountNumber:string):void;
                /**
                 * 单据类型映射策略
                 *
                 * @return
                 */
                getCtBillTypeMapPolicy():CtBillTypeMapPolicy;
                gettBizAppName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置运行时版本
                 *
                 * @param cacheVersion
                 */
                setCacheVersion(cacheVersion:string):void;
                setSysStatus(sysStatus:string):void;
                getsBizAppName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 规则名称，用户输入
                 *
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                settBizAppName(tBizAppName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 检查规则配置是否合理
                 *
                 * @param parentPoint 父检查点
                 * @param checkResult 输出检查结果
                 * @return
                 */
                check(srcMainTypeDto:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,tgtMainTypeDto:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
                /**
                 * 设置启动条件
                 *
                 * @param ctCRCondition
                 */
                setCtCRCondition(ctCRCondition:CtCRCondition):void;
                /**
                 * 目标单数据中心
                 *
                 * @return
                 */
                getTenantPath():string;
                /**
                 * 插件策略
                 *
                 * @param ctPlugInPolicy
                 */
                setCtPlugInPolicy(ctPlugInPolicy:CtPlugInPolicy):void;
                /**
                 * 判断反写规则是否正常启用
                 *
                 * @return
                 */
                isNormual():boolean;
                gettBizAppId():string;
                /**
                 * 规则名称，用户输入
                 *
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                getSyncType():string;
                /**
                 * 设置最近一次检查版本时间
                 *
                 * @param checkVersionTimeMillis
                 */
                setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
                /**
                 * 设置是否启用
                 *
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 目标单实体编码
                 *
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 附件面板映射策略
                 *
                 * @param ctAttachmentPanelMapPolicy
                 */
                setCtAttachmentPanelMapPolicy(ctAttachmentPanelMapPolicy:CtAttachmentPanelMapPolicy):void;
                isMirrorUpdate():boolean;
                getSourceAccountNumber():string;
                /**
                 * 自动生成的唯一标识，永不改变
                 *
                 * @return
                 */
                getId():string;
                setTargetEntityName(targetEntityName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 源单租户
                 *
                 * @return
                 */
                getSourceTenant():string;
                /**
                 * 关联主实体策略
                 *
                 * @param ctLinkEntityPolicy
                 */
                setCtLinkEntityPolicy(ctLinkEntityPolicy:CtLinkEntityPolicy):void;
                setTargetDataCenter(targetDataCenter:string):void;
                /**
                 * 启动条件
                 *
                 * @return
                 */
                getCtCRCondition():CtCRCondition;
                setSourceDataCenter(sourceDataCenter:string):void;
                /**
                 * 分单合并策略
                 *
                 * @return
                 */
                getCtGroupByPolicy():CtGroupByPolicy;
                getSourceEntityName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 目标单数据中心
                 *
                 * @return
                 */
                getTargetDataCenter():string;
                /**
                 * 出厂时的状态：0 = 正常；1 = 禁用；出厂时的禁用状态最优先
                 *
                 * @return
                 * @remark 系统出厂状态的存取：
                 * 1. 通过物理表格字段存储系统出厂状态，忽略XML中的值及其差量
                 * 2. 暂时不提供用户修改出厂状态的入口（只能预插SQL语句更改），因此，忽略掉用户自行扩展的规则状态，不考虑差量化
                 * 3. 取数时，使用规则对应的出厂状态值，直接替换XML中的值
                 * 4. 存储时，把规则的出厂状态值，存回字段
                 * 5. 上述存取功能，通过DesignWriteBackRuleMeta实体对象实现
                 */
                getSysStatus():string;
                /**
                 * 源单数据中心
                 *
                 * @return
                 */
                getSourceDataCenter():string;
                isMirrorSync():boolean;
                settBizAppId(tBizAppId:string):void;
                /**
                 * 自动生成的唯一标识，永不改变
                 *
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 源单实体编码
                 *
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 运行时版本，格式：yyyy-MM-dd hh:mm:ss
                 *
                 * @return
                 */
                getCacheVersion():string;
                /**
                 * 是否启用
                 *
                 * @return
                 * @remark 是否启用判断说明：
                 * 1. 规则状态，有单独表格存储，t_BOTP_ConvertRule_S.FEnabled(0 = 未启用, 1= 启用)存储；
                 * 2. 原生规则、扩展规则，可以分别设置启用状态，但是其含义不同：原生规则的启用状态，确定此规则是否允许使用；扩展规则的启用状态，确定此扩展是否启用
                 * 3. 读取规则时，在元数据插件中，从数据库字段单独读取启用状态，覆盖XML中的状态值
                 * 5. 保存规则时，从对象中，提取状态值，更新数据库表格规则状态字段值；
                 * 6. 提交SVN生成的文件中，不包含状态值，避免部署包，覆盖用户的配置
                 */
                isEnabled():boolean;
                setSourceAccountNumber(sourceAccountNumber:string):void;
                getCtFieldMapPolicy():CtFieldMapPolicy;
                setsBizAppName(sBizAppName:$.kd.bos.dataentity.entity.LocaleString):void;
                setCurrentVerId(currentVerId:long):void;
            }
            type CtConvertRuleElement_T = CtConvertRuleElement$;
            interface CtConvertRuleElement extends CtConvertRuleElement_T {
            }
            interface CtPlugInPolicy_S {
            }
            interface CtPlugInPolicy_C extends CtPlugInPolicy_S {
                /**
                 * 默认构造函数
                 */
                new():CtPlugInPolicy;
            }
            interface CtPlugInPolicy$ {
                setPlugins(plugins:$.java.util.List):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 转换插件
                 *
                 * @return
                 */
                getPlugins():$.java.util.List;
            }
            type CtPlugInPolicy_T = CtPlugInPolicy$;
            interface CtPlugInPolicy extends CtPlugInPolicy_T {
            }
            interface CtLinkEntityPolicy_S {
            }
            interface CtLinkEntityPolicy_C extends CtLinkEntityPolicy_S {
                new():CtLinkEntityPolicy;
            }
            interface CtLinkEntityPolicy$ {
                /**
                 * 来源单据子实体：可以是单据体、子单据体，取关联主实体的下属实体
                 */
                getSourceSubEntryKey():string;
                setTargetEntryKey(targetEntryKey:string):void;
                /**
                 * 目标单据关联主实体：可以是单据头、单据体、子单据体，在此实体上，记录关联的源单信息
                 *
                 * @return
                 */
                getTargetEntryKey():string;
                setSourceSubEntryKey(sourceSubEntryKey:string):void;
                /**
                 * 来源单据关联主实体：可以是单据头、单据体、子单据体
                 *
                 * @return
                 * @remark: 以此实体追踪关联关系
                 */
                getSourceEntryKey():string;
                setMirrorLinkEntitys(mirrorLinkEntitys:$.java.util.List):void;
                setTargetEntityKeys(targetEntityKeys:string):void;
                setSourceEntityKeys(sourceEntityKeys:string):void;
                getSourceEntityKeys():string;
                getMirrorLinkEntitys():$.java.util.List;
                getTargetEntityKeys():string;
                /**
                 * 目标单据关联子实体：可以是单据体、子单据体，取关联主实体的下属实体
                 *
                 * @return
                 */
                getTargetSubEntryKey():string;
                setTargetSubEntryKey(targetSubEntryKey:string):void;
                setSourceEntryKey(sourceEntryKey:string):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,tgtMainType:kd.bos.entity.ctbotp.dto.MainEntityTypeDto,rule:CtConvertRuleElement,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
            }
            type CtLinkEntityPolicy_T = CtLinkEntityPolicy$;
            interface CtLinkEntityPolicy extends CtLinkEntityPolicy_T {
            }
            interface CtCRValByConditions_S {
            }
            interface CtCRValByConditions_C extends CtCRValByConditions_S {
                new():CtCRValByConditions;
            }
            interface CtCRValByConditions$ {
                /**
                 * 取值项集合：
                 * 按顺序，逐项比较条件，满足条件即返回选择项
                 *
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 检查配置是否合理
                 *
                 * @param mainType
                 * @param checkResult
                 * @return
                 * TODO 主实体类型通过接口获取
                 */
                check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 输出本项配置的取值内容，把各项的取值公式，拼接起来
                 *
                 * @return
                 */
                getDescription():string;
            }
            type CtCRValByConditions_T = CtCRValByConditions$;
            interface CtCRValByConditions extends CtCRValByConditions_T {
            }
            class CtFieldSumType {
                static readonly Max:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Date_Max:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Date_Min:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Average:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Join:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly First:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Count:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Min:kd.bos.entity.ctbotp.CtFieldSumType;
                static readonly Sum:kd.bos.entity.ctbotp.CtFieldSumType;
                static valueOf(value:number):kd.bos.entity.ctbotp.CtFieldSumType;
                static values():kd.bos.entity.ctbotp.CtFieldSumType[];
                static valueOf(arg0:string):kd.bos.entity.ctbotp.CtFieldSumType;
                getValue():number;
            }
            interface CtAttachmentPanelMapPolicy_S {
            }
            interface CtAttachmentPanelMapPolicy_C extends CtAttachmentPanelMapPolicy_S {
                new():CtAttachmentPanelMapPolicy;
            }
            interface CtAttachmentPanelMapPolicy$ {
                setItems(items:$.java.util.List):void;
                getItems():$.java.util.List;
            }
            type CtAttachmentPanelMapPolicy_T = CtAttachmentPanelMapPolicy$;
            interface CtAttachmentPanelMapPolicy extends CtAttachmentPanelMapPolicy_T {
            }
            interface CtExtendedDataEntitySet_S {
            }
            interface CtExtendedDataEntitySet_C extends CtExtendedDataEntitySet_S {
                new():CtExtendedDataEntitySet;
            }
            interface CtExtendedDataEntitySet$ {
                /**
                 * 添加一批新的扩展行到指定的实体中
                 *
                 * @param entityKey 实体标识
                 * @param rows 新的扩展行
                 */
                AddExtendedDataEntities(entityKey:string,rows:$.java.util.List):void;
                /**
                 * 星辰扩展支持：便于星辰外部操作该对象
                 * @return
                 */
                getExtDataEntityMap():$.java.util.Map;
                /**
                 * 根据表的键，获取对应的数据行集合
                 *
                 * @param entityKey 实体的键
                 * @return 如果包含数据，返回扩展实体集合，否则返回null
                 */
                FindByEntityKey(entityKey:string):CtExtendedDataEntity[];
                /**
                 * 获取单据编号
                 * @param dataEntity
                 * @return
                 */
                getBillNo(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 将数据拉平，并放入字典
                 * @param dataEntities 数据集合
                 * @param dType 实体类型
                 */
                Parse(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],dType:$.kd.bos.entity.MainEntityType):void;
            }
            type CtExtendedDataEntitySet_T = CtExtendedDataEntitySet$;
            interface CtExtendedDataEntitySet extends CtExtendedDataEntitySet_T {
            }
            interface CtMirrorLinkEntity_S {
            }
            type CtMirrorLinkEntity_ST = $.java.io.Serializable & CtMirrorLinkEntity_S;
            interface CtMirrorLinkEntity_C extends CtMirrorLinkEntity_ST {
                new():CtMirrorLinkEntity;
            }
            interface CtMirrorLinkEntity$ {
                getSourceEntityKeys():string;
                getTargetEntryKey():string;
                setTargetEntityKeys(targetEntityKeys:string):void;
                setSourceEntityKeys(sourceEntityKeys:string):void;
                getSourceEntryKey():string;
                setTargetEntryKey(targetEntryKey:string):void;
                setLinkMainEntity(linkMainEntity:boolean):void;
                setSourceEntryKey(sourceEntryKey:string):void;
                getLinkMainEntity():boolean;
                getTargetEntityKeys():string;
            }
            type CtMirrorLinkEntity_T = $.java.io.Serializable & CtMirrorLinkEntity$;
            interface CtMirrorLinkEntity extends CtMirrorLinkEntity_T {
            }
            interface CtFieldMapPolicy_S {
            }
            type CtFieldMapPolicy_ST = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapPolicy_S;
            interface CtFieldMapPolicy_C extends CtFieldMapPolicy_ST {
                new():CtFieldMapPolicy;
            }
            interface CtFieldMapPolicy$ {
                setCtFieldMapItems(ctFieldMapItems:$.java.util.List):void;
                /**
                 * 字段映射集合
                 *
                 * @return
                 */
                getCtFieldMapItems():$.java.util.List;
            }
            type CtFieldMapPolicy_T = $.kd.bos.dataentity.entity.ISupportInitialize & CtFieldMapPolicy$;
            interface CtFieldMapPolicy extends CtFieldMapPolicy_T {
            }
            interface CtBillTypeMapItem_S {
                readonly PushType_Spec:string;
                readonly SourceType_Others:string;
                readonly SourceType_All:string;
                readonly PushType_Random:string;
                readonly PushType_NoSpec:string;
                readonly PushType_None:string;
                readonly SourceType_Spec:string;
            }
            interface CtBillTypeMapItem_C extends CtBillTypeMapItem_S {
                new():CtBillTypeMapItem;
            }
            interface CtBillTypeMapItem$ {
                /**
                 * 目标单单据类型，可能是具体单据类型id，或者是特殊选项，如默认、随机、无
                 * @return
                 */
                getTargetBillTypeId():long;
                setTargetBillTypeNumber(targetBillTypeNumber:string):void;
                setSourceBillTypeNumber(sourceBillTypeNumber:string):void;
                /**
                 * 源单单据类型编码
                 * @return
                 */
                getSourceBillTypeNumber():string;
                /**
                 * 源单类型：全部、其他、指定类型
                 * @return
                 */
                getSourceType():string;
                setSourceBillTypeId(sourceBillTypeId:long):void;
                setPushType(pushType:string):void;
                /**
                 * 自动产生的唯一标识
                 * @return
                 */
                getId():string;
                setSourceBillTypeName(sourceBillTypeName:string):void;
                /**
                 * 目标单单据类型编码
                 * @return
                 */
                getTargetBillTypeNumber():string;
                /**
                 * 下推类型：指定类型、任意类型、不允许下推、不允许下推指定类型
                 * @return
                 */
                getPushType():string;
                /**
                 * 源单类型名称：不序列化，仅用于翻译本条规则
                 * @return
                 */
                getSourceBillTypeName():string;
                /**
                 * 当前映射条目是否配置完整有效？ 无效的映射条目不被采用
                 * @return
                 */
                isValid():boolean;
                /**
                 * 执行顺序。按顺序确定目标单单据类型，找到即止
                 * @return
                 */
                getSeq():number;
                setTargetBillTypeName(targetBillTypeName:string):void;
                setTargetBillTypeId(targetBillTypeId:long):void;
                /**
                 * 目标单单据类型名称，不序列化
                 * @return
                 */
                getTargetBillTypeName():string;
                setSeq(seq:number):void;
                /**
                 * 源单单据类型
                 * @return
                 */
                getSourceBillTypeId():long;
                setId(value:string):void;
                setSourceType(sourceType:string):void;
            }
            type CtBillTypeMapItem_T = CtBillTypeMapItem$;
            interface CtBillTypeMapItem extends CtBillTypeMapItem_T {
            }
            interface CtBillTypeMapPolicy_S {
            }
            interface CtBillTypeMapPolicy_C extends CtBillTypeMapPolicy_S {
                new():CtBillTypeMapPolicy;
            }
            interface CtBillTypeMapPolicy$ {
                /**
                 * 单据类型映射配置项
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 单据类型映射配置项
                 */
                setItems(items:$.java.util.List):void;
            }
            type CtBillTypeMapPolicy_T = CtBillTypeMapPolicy$;
            interface CtBillTypeMapPolicy extends CtBillTypeMapPolicy_T {
            }
            interface CtCRCondition_S {
            }
            type CtCRCondition_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.botp.CRFormula & CtCRCondition_S;
            interface CtCRCondition_C extends CtCRCondition_ST {
                new():CtCRCondition;
            }
            interface CtCRCondition$ {
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
                /**
                 * 输出FilterCondition对象的序列化字符串
                 *
                 * @return
                 * @remark 第一版设计时，直接对FilterCondition属性按条件行序列化、差量化，
                 * 但在原始条件FilterCondition包含了括号和"或者"时，扩展规则改动了原始条件行，重新组织了括号，
                 * 后续对原始条件进行升级，在条件中间插入了新的条件行，
                 * 合并扩展条件行时，括号可能不匹配，逻辑含义也变的完全不一样，
                 * 基于此，进行了第二版设计：
                 * 序列化时，把FilterCondition转成字符串，做差量化时，按照字符串进行差量化，整体替换
                 * 反序列化时，默认恢复FilterCondition对象本身（与V1版本兼容），如果有字符串格式条件(V2版本)，则以字符串条件内容替换掉FilterCondition
                 * 改版后：
                 * 序列化：同时序列化FilterCondition、FilterContion.toString()
                 * 反序列化原始：先分别恢复FilterCondition、FilterString属性值，在序列化完成事件endInit中，用FilterString内容替换掉原始的FilterCondition
                 * 反序列化扩展：先恢复差量化的FilterCondion，再恢复差量化的FilterString，在序列化完成事件endInit中，用FilterString替换掉原始的FilterConditon
                 * 因此，最终优先取扩展规则中的FilterString为准，其次取扩展规则中的FilterCondition个性化，再次取原始规则中的FilterString，最后取原始规则FilterConditon
                 */
                getFilterString():string;
                /**
                 * 自动产生的唯一标识
                 * @param value
                 */
                setId(value:string):void;
                /**
                 * 设置/更新表格条件
                 *
                 * @param newFilterCondition
                 */
                setFilterCondition(newFilterCondition:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 获取插件执行顺序，数值小的先执行
                 *
                 * @return 执行顺序
                 */
                getSeq():number;
                setEnabled(enabled:boolean):void;
                /**
                 * 合并条件表格、手书条件，生成一条完整的表达式
                 *
                 * @param mainType
                 * @param timeService 解析条件需要用到的时间服务（解析"今天"等比较符）
                 * @param userService 解析条件需要用到的用户服务（解析"我的部门"等比较符）
                 * @return
                 * TODO 主实体类型通过接口获取
                 */
                buildFullFormula(mainType:$.kd.bos.entity.MainEntityType,userService:$.kd.bos.service.IUserService,timeService:$.kd.bos.service.ITimeService):string;
                isEnabled():boolean;
                /**
                 * 在条件表格中配置的内容
                 *
                 * @return
                 */
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 合并条件表格、手书条件，生成一条完整的表达式
                 *
                 * @param mainType
                 * @return
                 * TODO 主实体类型通过接口获取
                 */
                buildFullFormula(mainType:$.kd.bos.entity.MainEntityType):string;
                /**
                 * 执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                setFilterString(filterString:string):void;
            }
            type CtCRCondition_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.botp.CRFormula & CtCRCondition$;
            interface CtCRCondition extends CtCRCondition_T {
            }
            interface CtExtendedDataEntity_S {
            }
            interface CtExtendedDataEntity_C extends CtExtendedDataEntity_S {
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 */
                new(dataEntity:CtDataEntity,dataEntityIndex:number,rowIndex:number):CtExtendedDataEntity;
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number):CtExtendedDataEntity;
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 *  @param billNo 单据编号
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,billNo:string):CtExtendedDataEntity;
                new(dataEntity:CtDataEntity,dataEntityIndex:number,rowIndex:number,subRowIndex:number,billNo:string):CtExtendedDataEntity;
                /**
                 * 构造函数
                 *  @param dataEntity 实体数据
                 *  @param dataEntityIndex 分录索引
                 *  @param rowIndex 数据行索引
                 *  @param subRowIndex 数据行索引所在分录索引
                 *  @param billNo 单据编号
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,dataEntityIndex:number,rowIndex:number,subRowIndex:number,billNo:string):CtExtendedDataEntity;
            }
            interface CtExtendedDataEntity$ {
                /**
                 * 获取实体属性数据
                 * @param name 实体属性名称
                 * @return Object 实体属性数据
                 */
                getValue(name:string):any;
                /**
                 * 设置单据编号
                 * @param billNo 单据编号
                 */
                setBillNo(billNo:string):void;
                /**
                 * 设置数据行索引
                 * @param rowIndex 数据行索引
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 设置实体属性数据
                 * @param name 实体属性名称
                 * @param value 实体属性数据
                 */
                setValueExt(name:string,value:any):void;
                getCtDataEntity():CtDataEntity;
                /**
                 * 获取分录索引
                 * @return 分录索引
                 */
                getDataEntityIndex():number;
                setId(id:long):void;
                /**
                 * 设置校验错误码
                 * @param validataErrorCode
                 */
                setValidataErrorCode(validataErrorCode:$.kd.bos.entity.validate.ValidataErrorCode):void;
                /**
                 * 设置实体数据
                 * @param dataEntity 实体数据
                 */
                setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 设置数据行索引所在分录索引
                 * @param subRowIndex 数据行索引所在分录索引
                 */
                setSubRowIndex(subRowIndex:number):void;
                /**
                 * 获取单据编号
                 * @return 单据编号
                 */
                getBillNo():string;
                /**
                 * 获取校验错误码
                 * @return
                 */
                getValidataErrorCode():$.kd.bos.entity.validate.ValidataErrorCode;
                /**
                 * 获取单据主键ID
                 * @return 单据主键ID
                 */
                getBillPkId():any;
                /**
                 * 设置分录索引
                 * @param dataEntityIndex 分录索引
                 */
                setDataEntityIndex(dataEntityIndex:number):void;
                /**
                 * 设置实体属性数据
                 * @param name 实体属性名称
                 * @param value 实体属性数据
                 */
                setValue(name:string,value:any):void;
                /**
                 * 获取数据行索引
                 * @return 数据行索引
                 */
                getRowIndex():number;
                /**
                 * 获取实体数据
                 * @return 实体数据
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                getId():long;
                setCtDataEntity(ctDataEntity:CtDataEntity):void;
                /**
                 * 获取数据行索引所在分录索引
                 * @return 数据行索引所在分录索引
                 */
                getSubRowIndex():number;
            }
            type CtExtendedDataEntity_T = CtExtendedDataEntity$;
            interface CtExtendedDataEntity extends CtExtendedDataEntity_T {
            }
            interface CtOptionPolicy_S {
            }
            interface CtOptionPolicy_C extends CtOptionPolicy_S {
                new():CtOptionPolicy;
            }
            interface CtOptionPolicy$ {
                isChecknewright():boolean;
                /**
                 * 下推后执行目标单操作（保存、提交，审核）
                 *
                 * @return
                 */
                getTargetBillOp():string;
                setCheckauditright(checkauditright:boolean):void;
                setBatchPush(batchPush:boolean):void;
                isChecksubmitright():boolean;
                setChecksubmitright(checksubmitright:boolean):void;
                /**
                 * 缺省值为：自动识别用户
                 *
                 * @param targetBillUser
                 */
                setTargetBillUser(targetBillUser:string):void;
                /**
                 * 分批下推
                 *
                 * @return
                 */
                isBatchPush():boolean;
                /**
                 * 是否只允许下推一次
                 *
                 * @param pushOneTime
                 */
                setPushOneTime(pushOneTime:boolean):void;
                /**
                 * 是否只允许下推一次：已经下推并保存了下游单据后，不允许再次下推到这种单据（可下推到其他单据）
                 *
                 * @return
                 * @remark 默认不限下推次数，特殊场景可勾选此选项，不允许重复下推（如后台自动下推，通常一次性下推完毕，不允许重复下推）
                 */
                isPushOneTime():boolean;
                setChecknewright(checknewright:boolean):void;
                /**
                 * 下推后执行目标单用户（自动识别用户、使用通用用户）
                 *
                 * @return
                 */
                getTargetBillUser():string;
                isCheckauditright():boolean;
                /**
                 * 缺省值为：保存，（跨租户下推必须要保存目标单）
                 *
                 * @param targetBillOp
                 */
                setTargetBillOp(targetBillOp:string):void;
            }
            type CtOptionPolicy_T = CtOptionPolicy$;
            interface CtOptionPolicy extends CtOptionPolicy_T {
            }
        }
        namespace kd.bos.entity.ctbotp.apiresponse{
            interface CtBillLkUpRes_S {
            }
            type CtBillLkUpRes_ST = $.java.io.Serializable & CtBillLkUpRes_S & CtBotpApiRes_S;
            interface CtBillLkUpRes_C extends CtBillLkUpRes_ST {
                new():CtBillLkUpRes;
            }
            interface CtBillLkUpRes$ {
                getCtBFRowList():$.java.util.List;
                getCtTableInfos():$.java.util.List;
                setCtTableInfos(arg0:$.java.util.List):void;
                setCtBFRowList(arg0:$.java.util.List):void;
            }
            type CtBillLkUpRes_T = $.java.io.Serializable & CtBillLkUpRes$ & CtBotpApiRes;
            interface CtBillLkUpRes extends CtBillLkUpRes_T {
            }
            interface CtBotpApiRes_S {
            }
            interface CtBotpApiRes_C extends CtBotpApiRes_S {
                new():CtBotpApiRes;
            }
            interface CtBotpApiRes$ {
            }
            type CtBotpApiRes_T = CtBotpApiRes$;
            interface CtBotpApiRes extends CtBotpApiRes_T {
            }
            interface CtBillLkDownRes_S {
            }
            type CtBillLkDownRes_ST = $.java.io.Serializable & CtBillLkDownRes_S & CtBotpApiRes_S;
            interface CtBillLkDownRes_C extends CtBillLkDownRes_ST {
                new():CtBillLkDownRes;
            }
            interface CtBillLkDownRes$ {
                getCtBFRowList():$.java.util.List;
                getCtTableInfos():$.java.util.List;
                setCtBFRowList(arg0:$.java.util.List):void;
                setCtTableInfos(arg0:$.java.util.List):void;
            }
            type CtBillLkDownRes_T = $.java.io.Serializable & CtBillLkDownRes$ & CtBotpApiRes;
            interface CtBillLkDownRes extends CtBillLkDownRes_T {
            }
        }
        namespace kd.bos.entity.ctbotp.billtype{
            interface BillTypeInfo_S {
            }
            type BillTypeInfo_ST = $.java.io.Serializable & BillTypeInfo_S;
            interface BillTypeInfo_C extends BillTypeInfo_ST {
                new():BillTypeInfo;
            }
            interface BillTypeInfo$ {
                settBillTypeId(tBillTypeId:long):void;
                gettBillTypeId():long;
                setsBillTypeId(sBillTypeId:long):void;
                setsBillTypeNumber(sBillTypeNumber:string):void;
                getsBillTypeId():long;
                getsBillTypeNumber():string;
            }
            type BillTypeInfo_T = $.java.io.Serializable & BillTypeInfo$;
            interface BillTypeInfo extends BillTypeInfo_T {
            }
        }
        namespace kd.bos.entity.ctbotp.dto{
            interface MainEntityTypeDto_S {
            }
            type MainEntityTypeDto_ST = $.java.io.Serializable & MainEntityTypeDto_S;
            interface MainEntityTypeDto_C extends MainEntityTypeDto_ST {
                new():MainEntityTypeDto;
            }
            interface MainEntityTypeDto$ {
                setBillTypes(billTypes:$.java.util.Map):void;
                getTargetConvertFields():$.java.util.List;
                getAttachmentPanelApDtos():$.java.util.List;
                getSourceFieldNames():$.java.util.Map;
                getName():string;
                setSourceFieldNames(sourceFieldNames:$.java.util.Map):void;
                setSubComboItems(subComboItems:$.java.util.Map):void;
                setComboItems(comboItems:$.java.util.List):void;
                getEntityTypes():$.java.util.Map;
                setExistBillTypeField(existBillTypeField:boolean):void;
                getBizAppNumber():string;
                setBizAppNumber(bizAppNumber:string):void;
                setAttachmentPanelApDtos(attachmentPanelApDtos:$.java.util.List):void;
                getDisplayName():string;
                setDisplayName(displayName:string):void;
                setSubSysId(subSysId:number):void;
                getSubSysId():number;
                setBizappId(bizappId:string):void;
                isExistBillTypeField():boolean;
                getSubComboItems():$.java.util.Map;
                getComboItems():$.java.util.List;
                setName(name:string):void;
                getBillTypes():$.java.util.Map;
                setTargetConvertFields(targetConvertFields:$.java.util.List):void;
                getBizappId():string;
                setEntityTypes(entityTypes:$.java.util.Map):void;
            }
            type MainEntityTypeDto_T = $.java.io.Serializable & MainEntityTypeDto$;
            interface MainEntityTypeDto extends MainEntityTypeDto_T {
            }
        }
        namespace kd.bos.entity.ctbotp.plugin.convert{
            interface ICtConvertPlugIn_S {
            }
            interface ICtConvertPlugIn_C extends ICtConvertPlugIn_S {
            }
            interface ICtConvertPlugIn$ {
                /**
                 * 编译数据筛选条件前事件：可追加定制条件，是否忽略规则原生的条件
                 *
                 * @param e 事件参数：包括本次下推的源单数据、是否忽略规则原生条件
                 * @remark 由 ConvertRuleCompiler 动作触发
                 */
                ctAfterConvert?(e:kd.bos.entity.ctbotp.plugin.convert.args.CtAfterConvertEventArgs):void;
                getRule?():CtConvertRuleElement;
                /**
                 * 单据转换可选参数
                 *
                 * @return
                 */
                setOption?(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 开始执行转换规则之前，创建规则上挂的插件后，触发此事件
                 *
                 * @param opType
                 * @param srcMainType
                 * @param tgtMainType
                 * @param rule
                 * @remark 由 CreateConvertPlugAction 动作触发
                 */
                setContext?(srcMainType:$.kd.bos.entity.BillEntityType,rule:CtConvertRuleElement):void;
                getSrcMainType?():$.kd.bos.entity.BillEntityType;
                /**
                 * 单据转换可选参数
                 *
                 * @return
                 */
                getOption?():$.kd.bos.dataentity.OperateOption;
            }
            type ICtConvertPlugIn_T = ICtConvertPlugIn$;
            interface ICtConvertPlugIn extends ICtConvertPlugIn_T {
            }
            interface AbstractCtConvertPlugIn_S {
            }
            type AbstractCtConvertPlugIn_ST = AbstractCtConvertPlugIn_S & ICtConvertPlugIn_S;
            interface AbstractCtConvertPlugIn_C extends AbstractCtConvertPlugIn_ST {
                new():AbstractCtConvertPlugIn;
            }
            interface AbstractCtConvertPlugIn$ {
            }
            type AbstractCtConvertPlugIn_T = AbstractCtConvertPlugIn$ & ICtConvertPlugIn;
            interface AbstractCtConvertPlugIn extends AbstractCtConvertPlugIn_T {
            }
        }
        namespace kd.bos.entity.ctbotp.plugin.convert.args{
            interface CtAfterConvertEventArgs_S {
            }
            interface CtAfterConvertEventArgs_C extends CtAfterConvertEventArgs_S {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:CtExtendedDataEntitySet):CtAfterConvertEventArgs;
            }
            interface CtAfterConvertEventArgs$ {
                getCtExtendedDataEntitySet():CtExtendedDataEntitySet;
                setCtExtendedDataEntitySet(ctExtendedDataEntitySet:CtExtendedDataEntitySet):void;
            }
            type CtAfterConvertEventArgs_T = CtAfterConvertEventArgs$;
            interface CtAfterConvertEventArgs extends CtAfterConvertEventArgs_T {
            }
        }
        namespace kd.bos.entity.ctbotp.plugin.save{
            interface ICtSavePlugIn_S {
            }
            interface ICtSavePlugIn_C extends ICtSavePlugIn_S {
            }
            interface ICtSavePlugIn$ {
                beforeFieldMapping?(e:kd.bos.entity.ctbotp.plugin.save.args.BeforeFieldMappingEventArgs):void;
                beforeSave?(e:kd.bos.entity.ctbotp.plugin.save.args.BeforeSaveEventArgs):void;
                afterBatchSetBaseData?(e:kd.bos.entity.ctbotp.plugin.save.args.AfterBatchSetBaseDataEventArg):void;
                afterTargetBillOperation?(e:kd.bos.entity.ctbotp.plugin.save.args.AfterTargetBillOperationEventArgs):void;
            }
            type ICtSavePlugIn_T = ICtSavePlugIn$;
            interface ICtSavePlugIn extends ICtSavePlugIn_T {
            }
        }
        namespace kd.bos.entity.ctbotp.plugin.save.args{
            interface AfterTargetBillOperationEventArgs_S {
            }
            type AfterTargetBillOperationEventArgs_ST = AfterTargetBillOperationEventArgs_S & SavePluginEventArgs_S;
            interface AfterTargetBillOperationEventArgs_C extends AfterTargetBillOperationEventArgs_ST {
                new():AfterTargetBillOperationEventArgs;
                new(saveSuccessIds:$.java.util.Set,submitSuccessIds:$.java.util.Set,auditSuccessIds:$.java.util.Set,failIds:$.java.util.Map,ctBillLks:$.java.util.List):AfterTargetBillOperationEventArgs;
            }
            interface AfterTargetBillOperationEventArgs$ {
                getSubmitSuccessIds():$.java.util.Set;
                getAuditSuccessIds():$.java.util.Set;
                setSaveSuccessIds(saveSuccessIds:$.java.util.Set):void;
                setAuditSuccessIds(auditSuccessIds:$.java.util.Set):void;
                getSaveSuccessIds():$.java.util.Set;
                setCtBillLks(ctBillLks:$.java.util.List):void;
                getCtBillLks():$.java.util.List;
                setSubmitSuccessIds(submitSuccessIds:$.java.util.Set):void;
                getFailIds():$.java.util.Map;
                setFailIds(failIds:$.java.util.Map):void;
            }
            type AfterTargetBillOperationEventArgs_T = AfterTargetBillOperationEventArgs$ & SavePluginEventArgs;
            interface AfterTargetBillOperationEventArgs extends AfterTargetBillOperationEventArgs_T {
            }
            interface BeforeFieldMappingEventArgs_S {
            }
            type BeforeFieldMappingEventArgs_ST = BeforeFieldMappingEventArgs_S & SavePluginEventArgs_S;
            interface BeforeFieldMappingEventArgs_C extends BeforeFieldMappingEventArgs_ST {
                /**
                 * 构造函数
                 */
                new(ctDataEntities:$.java.util.List):BeforeFieldMappingEventArgs;
            }
            interface BeforeFieldMappingEventArgs$ {
                setCtDataEntities(ctDataEntities:$.java.util.List):void;
                getCtDataEntities():$.java.util.List;
            }
            type BeforeFieldMappingEventArgs_T = BeforeFieldMappingEventArgs$ & SavePluginEventArgs;
            interface BeforeFieldMappingEventArgs extends BeforeFieldMappingEventArgs_T {
            }
            interface AfterBatchSetBaseDataEventArg_S {
            }
            type AfterBatchSetBaseDataEventArg_ST = AfterBatchSetBaseDataEventArg_S & SavePluginEventArgs_S;
            interface AfterBatchSetBaseDataEventArg_C extends AfterBatchSetBaseDataEventArg_ST {
                /**
                 * 构造函数
                 */
                new(ctDataEntities:$.java.util.List,dynamicObjects:$.java.util.List):AfterBatchSetBaseDataEventArg;
            }
            interface AfterBatchSetBaseDataEventArg$ {
                getDynamicObjects():$.java.util.List;
                setCtDataEntities(ctDataEntities:$.java.util.List):void;
                getCtDataEntities():$.java.util.List;
                setDynamicObjects(dynamicObjects:$.java.util.List):void;
            }
            type AfterBatchSetBaseDataEventArg_T = AfterBatchSetBaseDataEventArg$ & SavePluginEventArgs;
            interface AfterBatchSetBaseDataEventArg extends AfterBatchSetBaseDataEventArg_T {
            }
            interface SavePluginEventArgs_S {
            }
            interface SavePluginEventArgs_C extends SavePluginEventArgs_S {
                new():SavePluginEventArgs;
            }
            interface SavePluginEventArgs$ {
            }
            type SavePluginEventArgs_T = SavePluginEventArgs$;
            interface SavePluginEventArgs extends SavePluginEventArgs_T {
            }
            interface BeforeSaveEventArgs_S {
            }
            type BeforeSaveEventArgs_ST = BeforeSaveEventArgs_S & SavePluginEventArgs_S;
            interface BeforeSaveEventArgs_C extends BeforeSaveEventArgs_ST {
                /**
                 * 构造函数
                 */
                new(dynamicObjects:$.java.util.List):BeforeSaveEventArgs;
            }
            interface BeforeSaveEventArgs$ {
                setDynamicObjects(dynamicObjects:$.java.util.List):void;
                getDynamicObjects():$.java.util.List;
            }
            type BeforeSaveEventArgs_T = BeforeSaveEventArgs$ & SavePluginEventArgs;
            interface BeforeSaveEventArgs extends BeforeSaveEventArgs_T {
            }
        }
        namespace kd.bos.entity.ctbotp.plugin.tracker{
            class CtBillCloseType {
                static readonly OneRowClosed:kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType;
                static readonly AllRowsClosed:kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType;
                static values():kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType[];
                static valueOf(arg0:string):kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType;
                static valueOf(value:number):kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType;
            }
            interface ICtWriteBackPlugIn_S {
            }
            interface ICtWriteBackPlugIn_C extends ICtWriteBackPlugIn_S {
            }
            interface ICtWriteBackPlugIn$ {
                /**
                 * 构建本关联主实体全部关联记录前，触发此事件：用于取消关联、反写
                 *
                 * @param e
                 */
                beforeTrack(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeTrackEventArgs):void;
                /**
                 * 反写所有逻辑已经执行完毕后触发，用于通知插件释放资源，如插件申请的网控
                 * @param e
                 */
                finishWriteBack?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtFinishWriteBackEventArgs):void;
                /**
                 * 对源单行反写执行完毕，超额检查前，触发此事件：用于取消超额检查
                 * @param e
                 */
                beforeExcessCheck(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeExcessCheckEventArgs):void;
                /**
                 * 源单数据保存到数据库后调用
                 * @param e
                 */
                afterSaveSourceBill?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterSaveSourceBillEventArgs):void;
                /**
                 * 读取源单数据之后，触发此事件：供插件读取相关的第三方单据
                 * @param e
                 */
                afterReadSourceBill?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterReadSourceBillEventArgs):void;
                /**
                 * 当前操作类型：Draft,Save,Audit,UnAudit,Delete,Cancel,UnCancel,Unknown
                 * @return
                 */
                getOpType():string;
                /**
                 * 读取源单数据之前，触发此事件：用于添加需要加载的源单字段
                 * @param e
                 */
                beforeReadSourceBill(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeReadSourceBillEventArgs):void;
                /**
                 * 反写规则执行完毕后，源单数据保存到数据库之前调用
                 * @param e
                 */
                beforeSaveSourceBill?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeSaveSourceBillEventArgs):void;
                /**
                 * 下游目标单主实体，仅包含了需要的字段，与单据数据包一致
                 * @return
                 */
                getTargetSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 对源单行反写执行完毕，超额检查完毕后，触发此事件：用于控制是否中止反写、提示超额，修正提示内容
                 * @param e
                 */
                afterExcessCheck(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterExcessCheckEventArgs):void;
                /**
                 * 对上游行进行了关闭状态填写后调用
                 * @param e
                 */
                afterCloseRow?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterCloseRowEventArgs):void;
                /**
                 * 构建本关联主实体，单行数据与源单的关联记录前，触发此事件：用于取消本行的关联、反写
                 * @param e
                 */
                beforeCreateArticulationRow(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeCreateArticulationRowEventArgs):void;
                /**
                 * 在读取下游目标单数据之前，触发此事件：用于添加需要加载的目标单字段
                 * @param e
                 * @remark
                 * 这个事件比设置上下文方法，更早执行，在此事件中，只能依赖事件参数获取上下文信息
                 */
                preparePropertys(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtPreparePropertysEventArgs):void;
                /**
                 * 反写逻辑处理完毕，开始开启事务，保存反写数据前触发此事件，供插件在事务前读取并处理第三方数据，以便在随后开启的事务中一并保存
                 * @param e
                 */
                beforeSaveTrans?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeSaveTransEventArgs):void;
                /**
                 * 当前处理的关联主实体
                 *
                 * @return
                 */
                getCurrLinkSetItem():kd.bos.entity.CtLinkSetItemElement;
                /**
                 * 开始分析反写规则，计算反写量前触发此事件：用于取消当前反写规则的执行
                 *
                 * @param e
                 * @remark
                 * 升级版本后，系统预置插件，可以通过此事件，强制禁用系统预置的反写规则
                 */
                beforeExecWriteBackRule(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeExecWriteBackRuleEventArgs):void;
                /**
                 * 执行反写规则，把当前反写量，写到源单行之后，触发此事件：用于对源单行，进行连锁更新
                 * @param e
                 */
                afterCommitAmount(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterCommitAmountEventArgs):void;
                /**
                 * 建立源单单据内码和分录内码之后, 触发此事件: 用于添加需要加载的源单单据与单据分录行
                 * @param e
                 */
                afterBuildSourceBillIds?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterBuildSourceBillIdsEventArgs):void;
                /**
                 * 保存失败，触发此事件，通知插件回滚数据
                 * @param e
                 */
                rollbackSave?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtRollbackSaveEventArgs):void;
                /**
                 * 设置当前上下文
                 *
                 * @param targetMainType 下游目标单主实体，仅包含了需要的字段
                 * @param opType 操作类型
                 * @param linkSetItem 关联主实体
                 */
                setContext(targetSubMainType:$.kd.bos.entity.BillEntityType,opType:string,linkSetItem:kd.bos.entity.CtLinkSetItemElement):void;
                /**
                 * 关闭上游行前调用，IsCancelCheck==true，则不再做关闭条件检查
                 * @param e
                 */
                beforeCloseRow?(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtBeforeCloseRowEventArgs):void;
                /**
                 * 基于下游单据当前行，反写值计算完毕后，触发此事件：用于修正反写量，调整对各源单行的分配量
                 * @param e
                 */
                afterCalcWriteValue(e:kd.bos.entity.ctbotp.plugin.tracker.args.CtAfterCalcWriteValueEventArgs):void;
            }
            type ICtWriteBackPlugIn_T = ICtWriteBackPlugIn$;
            interface ICtWriteBackPlugIn extends ICtWriteBackPlugIn_T {
            }
            class CtDistributeType {
                static readonly TopDown:kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType;
                static readonly Weight:kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType;
                static values():kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType[];
                static valueOf(arg0:string):kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType;
                static valueOf(value:number):kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType;
            }
            interface AbstractCtWriteBackPlugIn_S {
            }
            type AbstractCtWriteBackPlugIn_ST = AbstractCtWriteBackPlugIn_S & ICtWriteBackPlugIn_S;
            interface AbstractCtWriteBackPlugIn_C extends AbstractCtWriteBackPlugIn_ST {
                new():AbstractCtWriteBackPlugIn;
            }
            interface AbstractCtWriteBackPlugIn$ {
            }
            type AbstractCtWriteBackPlugIn_T = AbstractCtWriteBackPlugIn$ & ICtWriteBackPlugIn;
            interface AbstractCtWriteBackPlugIn extends AbstractCtWriteBackPlugIn_T {
            }
            class CtExcessCheckType {
                static readonly StrictControl:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                static readonly CanExcessOneTime:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                static readonly SelectByFormula:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                static readonly CanExcellAlways:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                static valueOf(arg0:string):kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                static valueOf(value:number):kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                static values():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType[];
                static desc(excessCheckType:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):string;
            }
        }
        namespace kd.bos.entity.ctbotp.plugin.tracker.args{
            interface CtAfterBuildSourceBillIdsEventArgs_S {
            }
            type CtAfterBuildSourceBillIdsEventArgs_ST = CtAfterBuildSourceBillIdsEventArgs_S & CtWriteBackEventArgs_S;
            interface CtAfterBuildSourceBillIdsEventArgs_C extends CtAfterBuildSourceBillIdsEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcMainType 上游源单主实体，包含了完整字段
                 */
                new(srcMainType:$.kd.bos.entity.BillEntityType,ruleElements:$.java.util.List,billIds:$.java.util.Set):CtAfterBuildSourceBillIdsEventArgs;
            }
            interface CtAfterBuildSourceBillIdsEventArgs$ {
                getBillIds():$.java.util.Set;
                getSrcMainType():$.kd.bos.entity.BillEntityType;
                getEntryInfos():$.java.util.List;
                getRuleElements():$.java.util.List;
                addEntryInfo(e:CtAfterBuildSourceBillIdsEventArgs$EntryInfo):void;
            }
            type CtAfterBuildSourceBillIdsEventArgs_T = CtAfterBuildSourceBillIdsEventArgs$ & CtWriteBackEventArgs;
            interface CtAfterBuildSourceBillIdsEventArgs extends CtAfterBuildSourceBillIdsEventArgs_T {
            }
            interface CtAfterBuildDrawFilterEventArgs_S {
            }
            type CtAfterBuildDrawFilterEventArgs_ST = CtAfterBuildDrawFilterEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterBuildDrawFilterEventArgs_C extends CtAfterBuildDrawFilterEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param targetDataEntity 目标单数据包
                 */
                new(targetDataEntity:$.kd.bos.dataentity.entity.DynamicObject):CtAfterBuildDrawFilterEventArgs;
            }
            interface CtAfterBuildDrawFilterEventArgs$ {
                /**
                 * 获取插件设置的选单时打开的源单列表布局
                 * @return
                 */
                getSourceLayout():string;
                /**
                 * 插件设置选单时打开的源单列表布局
                 * @param sourceLayout
                 */
                setSourceLayout(sourceLayout:string):void;
                /**
                 * 插件追加选单条件
                 * @param plugFilter
                 */
                setPlugFilter(plugFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 目标单当前数据包
                 * @return
                 */
                getTargetDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 插件追加的选单条件
                 * @return
                 */
                getPlugFilter():$.kd.bos.orm.query.QFilter;
            }
            type CtAfterBuildDrawFilterEventArgs_T = CtAfterBuildDrawFilterEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterBuildDrawFilterEventArgs extends CtAfterBuildDrawFilterEventArgs_T {
            }
            interface CtAfterSaveSourceBillEventArgs_S {
            }
            type CtAfterSaveSourceBillEventArgs_ST = CtAfterSaveSourceBillEventArgs_S & CtWriteBackEventArgs_S;
            interface CtAfterSaveSourceBillEventArgs_C extends CtAfterSaveSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcSubMainType 源单主实体，只包含了部分用到的字段
                 * @param srcDataEntities 源单数据包，只包含了部分用到的字段
                 */
                new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):CtAfterSaveSourceBillEventArgs;
            }
            interface CtAfterSaveSourceBillEventArgs$ {
                /**
                 * 源单主实体，只包含了部分用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 源单数据包，只包含了部分用到的字段
                 * @return
                 */
                getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 设置当前事件是否由异步线程触发，不在事务内：跨库反写时，会启动一个异步线程，在事务外单独的保存源单反写结果，没有事务保护，不能回滚数据。
                 * @param newThread
                 */
                setNewThread(newThread:boolean):void;
                /**
                 * 当前事件是否由异步线程触发，不在事务内：跨库反写时，会启动一个异步线程，在事务外单独的保存源单反写结果，没有事务保护，不能回滚数据。
                 * 此时插件抛出异常并不能取消反写，回滚数据。因此，此场景下插件要确保不抛出异常
                 * @return
                 */
                isNewThread():boolean;
            }
            type CtAfterSaveSourceBillEventArgs_T = CtAfterSaveSourceBillEventArgs$ & CtWriteBackEventArgs;
            interface CtAfterSaveSourceBillEventArgs extends CtAfterSaveSourceBillEventArgs_T {
            }
            interface CtAfterBuildQueryParemeterEventArgs_S {
            }
            type CtAfterBuildQueryParemeterEventArgs_ST = CtAfterBuildQueryParemeterEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterBuildQueryParemeterEventArgs_C extends CtAfterBuildQueryParemeterEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param srcFldAlias
                 * @param qFilters
                 */
                new(srcFldAlias:$.java.util.Map,qFilters:$.java.util.List):CtAfterBuildQueryParemeterEventArgs;
            }
            interface CtAfterBuildQueryParemeterEventArgs$ {
                /**
                 * 系统自动生成，源单字段与字段别名字典；插件可以向此字典追加新字段，并指定别名；不支持删除字段
                 * @return
                 */
                getSrcFldAlias():$.java.util.Map;
                /**
                 * 添加需加载的源单字段
                 *
                 * @param fullPropName 字段及引用属性名，如 basedata.name；不需要在前面带单据体标识
                 */
                addSrcField(fullPropName:string):void;
                /**
                 * 系统自动生成的源单内码条件；插件可以修改与追加新条件
                 * @return
                 */
                getQFilters():$.java.util.List;
            }
            type CtAfterBuildQueryParemeterEventArgs_T = CtAfterBuildQueryParemeterEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterBuildQueryParemeterEventArgs extends CtAfterBuildQueryParemeterEventArgs_T {
            }
            interface CtBeforeCloseRowEventArgs_S {
            }
            type CtBeforeCloseRowEventArgs_ST = CtBeforeCloseRowEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeCloseRowEventArgs_C extends CtBeforeCloseRowEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtBeforeCloseRowEventArgs;
            }
            interface CtBeforeCloseRowEventArgs$ {
                /**
                 * 反写规则
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                getTargetEntity():$.kd.bos.entity.EntityType;
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                isCancel():boolean;
                setCancel(cancel:boolean):void;
            }
            type CtBeforeCloseRowEventArgs_T = CtBeforeCloseRowEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeCloseRowEventArgs extends CtBeforeCloseRowEventArgs_T {
            }
            interface CtAfterCtConvertEventArgs_S {
            }
            type CtAfterCtConvertEventArgs_ST = CtAfterCtConvertEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterCtConvertEventArgs_C extends CtAfterCtConvertEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterCtConvertEventArgs;
            }
            interface CtAfterCtConvertEventArgs$ {
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
            }
            type CtAfterCtConvertEventArgs_T = CtAfterCtConvertEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterCtConvertEventArgs extends CtAfterCtConvertEventArgs_T {
            }
            interface CtBeforeExcessCheckEventArgs_S {
            }
            type CtBeforeExcessCheckEventArgs_ST = CtBeforeExcessCheckEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeExcessCheckEventArgs_C extends CtBeforeExcessCheckEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtBeforeExcessCheckEventArgs;
            }
            interface CtBeforeExcessCheckEventArgs$ {
                /**
                 * 设置插件是否要求略过超额检查
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 反写规则
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 插件是否要求略过超额检查
                 * @return
                 */
                isCancel():boolean;
            }
            type CtBeforeExcessCheckEventArgs_T = CtBeforeExcessCheckEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeExcessCheckEventArgs extends CtBeforeExcessCheckEventArgs_T {
            }
            interface CtWriteBackEventArgs_S {
            }
            interface CtWriteBackEventArgs_C extends CtWriteBackEventArgs_S {
                new():CtWriteBackEventArgs;
            }
            interface CtWriteBackEventArgs$ {
            }
            type CtWriteBackEventArgs_T = CtWriteBackEventArgs$;
            interface CtWriteBackEventArgs extends CtWriteBackEventArgs_T {
            }
            interface CtAfterCommitAmountEventArgs_S {
            }
            type CtAfterCommitAmountEventArgs_ST = CtAfterCommitAmountEventArgs_S & CtWriteBackEventArgs_S;
            interface CtAfterCommitAmountEventArgs_C extends CtAfterCommitAmountEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param ruleItem 反写公式
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param srcFieldKey 上游源单反写字段
                 * @param currVal 本次操作，对源单行执行的反写差量
                 * @param realVal 本次操作执行完毕完后，对源单行的反写总量
                 * @param currCVal 覆盖反写值
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,ruleItem:kd.bos.entity.ctbotp.runtime.CtWriteBackFormula,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,srcFieldKey:string,currVal:$.java.math.BigDecimal,realVal:$.java.math.BigDecimal,currCVal:any,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtAfterCommitAmountEventArgs;
            }
            interface CtAfterCommitAmountEventArgs$ {
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 反写公式
                 * @return
                 */
                getRuleItem():kd.bos.entity.ctbotp.runtime.CtWriteBackFormula;
                /**
                 * 覆盖反写值
                 * @return
                 */
                getCurrCVal():any;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 本次操作执行完毕完后，对源单行的反写总量；如果是删除行，反写总量 = 0；
                 * @return
                 */
                getRealVal():$.java.math.BigDecimal;
                /**
                 * 下游目标单关联行信息：删除操作，可以据此从数据库取到删除前的行数据
                 * @return
                 */
                getTargetRowId():kd.bos.entity.ctbotp.runtime.CtBFRowId;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 设置下游目标单关联行
                 * @param targetRowId 目标单关联行
                 */
                setTargetRowId(targetRowId:kd.bos.entity.ctbotp.runtime.CtBFRowId):void;
                /**
                 * 上游源单反写字段
                 * @return
                 */
                getSrcFieldKey():string;
                /**
                 * 本次操作，对源单行执行的反写差量：公式计算出的反写量  - 上一次保存已执行的反写量；如果是删除行，反冲历史量
                 * @return
                 */
                getCurrVal():$.java.math.BigDecimal;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 反写规则
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
            }
            type CtAfterCommitAmountEventArgs_T = CtAfterCommitAmountEventArgs$ & CtWriteBackEventArgs;
            interface CtAfterCommitAmountEventArgs extends CtAfterCommitAmountEventArgs_T {
            }
            interface CtAfterReadSourceBillEventArgs_S {
            }
            type CtAfterReadSourceBillEventArgs_ST = CtAfterReadSourceBillEventArgs_S & CtWriteBackEventArgs_S;
            interface CtAfterReadSourceBillEventArgs_C extends CtAfterReadSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcSubMainType 源单主实体，只包含了部分用到的字段
                 * @param srcDataEntities 源单数据包，只包含了部分用到的字段
                 */
                new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):CtAfterReadSourceBillEventArgs;
            }
            interface CtAfterReadSourceBillEventArgs$ {
                /**
                 * 源单主实体，只包含了部分用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 源单数据包，只包含了部分用到的字段
                 * @return
                 */
                getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type CtAfterReadSourceBillEventArgs_T = CtAfterReadSourceBillEventArgs$ & CtWriteBackEventArgs;
            interface CtAfterReadSourceBillEventArgs extends CtAfterReadSourceBillEventArgs_T {
            }
            interface CtAfterCalcWriteValueEventArgs_S {
            }
            type CtAfterCalcWriteValueEventArgs_ST = CtAfterCalcWriteValueEventArgs_S & CtWriteBackEventArgs_S;
            interface CtAfterCalcWriteValueEventArgs_C extends CtAfterCalcWriteValueEventArgs_ST {
                /**
                 * 构造函数
                 * @param entity 关联主实体
                 * @param activeRow 关联主实体当前行
                 * @param rule 反写规则
                 * @param ruleItem 反写公式
                 * @param val 根据反写公式，算出的反写量
                 * @param cVal 覆盖反写模式，根据反写公式算出的覆盖值
                 */
                new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,ruleItem:kd.bos.entity.ctbotp.runtime.CtWriteBackFormula,val:$.java.math.BigDecimal,cVal:any):CtAfterCalcWriteValueEventArgs;
            }
            interface CtAfterCalcWriteValueEventArgs$ {
                /**
                 * 反写规则
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
                /**
                 * 根据反写公式，算出的反写量
                 * @return
                 */
                getVal():$.java.math.BigDecimal;
                /**
                 * 反写公式
                 */
                getRuleItem():kd.bos.entity.ctbotp.runtime.CtWriteBackFormula;
                /**
                 * 搜索出的源单行，以及其分配的反写量：
                 * 如果有多个源单行，默认每行的反写量为0；需要插件自行给各源单行分配反写量；
                 * 如果插件不处理，则不反写
                 * @return
                 */
                getSrcRowVal():$.java.util.Map;
                /**
                 * 关联主实体当前行
                 * @return
                 */
                getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 关联主实体
                 * @return
                 */
                getEntity():$.kd.bos.entity.EntityType;
                /**
                 * 覆盖反写模式，根据反写公式算出的覆盖值
                 */
                getCVal():any;
            }
            type CtAfterCalcWriteValueEventArgs_T = CtAfterCalcWriteValueEventArgs$ & CtWriteBackEventArgs;
            interface CtAfterCalcWriteValueEventArgs extends CtAfterCalcWriteValueEventArgs_T {
            }
            interface CtAfterCloseRowEventArgs_S {
            }
            type CtAfterCloseRowEventArgs_ST = CtAfterCloseRowEventArgs_S & CtWriteBackEventArgs_S;
            interface CtAfterCloseRowEventArgs_C extends CtAfterCloseRowEventArgs_ST {
                /**
                 * 构造函数
                 * @param rule 反写规则
                 * @param srcSubMainType 上游源单主实体，仅包含需要用到的字段
                 * @param srcEntity 上游源单，关联主实体
                 * @param srcActiveRow 上游源单，关联主实体数据行
                 * @param targetEntity 下游目标单关联主实体
                 * @param targetActiveRow 下游目标单关联主实体，当前数据行
                 */
                new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtAfterCloseRowEventArgs;
            }
            interface CtAfterCloseRowEventArgs$ {
                /**
                 * 反写规则
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置中是否达成行关闭条件
                 * @param closeRow 是否达成行关闭条件
                 */
                setCloseRow(closeRow:boolean):void;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 是否达成行关闭条件
                 * @return
                 */
                isCloseRow():boolean;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
            }
            type CtAfterCloseRowEventArgs_T = CtAfterCloseRowEventArgs$ & CtWriteBackEventArgs;
            interface CtAfterCloseRowEventArgs extends CtAfterCloseRowEventArgs_T {
            }
            interface CtAfterGetSourceDataEventArgs_S {
            }
            type CtAfterGetSourceDataEventArgs_ST = CtAfterGetSourceDataEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterGetSourceDataEventArgs_C extends CtAfterGetSourceDataEventArgs_ST {
                /**
                 * 构造函数
                 * @param sourceRows 待下推的源单数据行
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(sourceRows:$.java.util.List,fldProperties:$.java.util.Map):CtAfterGetSourceDataEventArgs;
            }
            interface CtAfterGetSourceDataEventArgs$ {
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 待下推的源单数据行
                 * @return
                 */
                getSourceRows():$.java.util.List;
            }
            type CtAfterGetSourceDataEventArgs_T = CtAfterGetSourceDataEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterGetSourceDataEventArgs extends CtAfterGetSourceDataEventArgs_T {
            }
            interface CtBeforeCreateTargetEventArgs_S {
            }
            interface CtBeforeCreateTargetEventArgs_C extends CtBeforeCreateTargetEventArgs_S {
                new():CtBeforeCreateTargetEventArgs;
            }
            interface CtBeforeCreateTargetEventArgs$ {
            }
            type CtBeforeCreateTargetEventArgs_T = CtBeforeCreateTargetEventArgs$;
            interface CtBeforeCreateTargetEventArgs extends CtBeforeCreateTargetEventArgs_T {
            }
            interface CtFinishWriteBackEventArgs_S {
            }
            type CtFinishWriteBackEventArgs_ST = CtFinishWriteBackEventArgs_S & CtWriteBackEventArgs_S;
            interface CtFinishWriteBackEventArgs_C extends CtFinishWriteBackEventArgs_ST {
                new():CtFinishWriteBackEventArgs;
            }
            interface CtFinishWriteBackEventArgs$ {
            }
            type CtFinishWriteBackEventArgs_T = CtFinishWriteBackEventArgs$ & CtWriteBackEventArgs;
            interface CtFinishWriteBackEventArgs extends CtFinishWriteBackEventArgs_T {
            }
            interface CtAfterExcessCheckEventArgs_S {
            }
            interface CtAfterExcessCheckEventArgs_C extends CtAfterExcessCheckEventArgs_S {
                new(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,srcSubMainType:$.kd.bos.entity.BillEntityType,srcEntity:$.kd.bos.entity.EntityType,srcActiveRow:$.kd.bos.dataentity.entity.DynamicObject,targetEntity:$.kd.bos.entity.EntityType,targetActiveRow:$.kd.bos.dataentity.entity.DynamicObject):CtAfterExcessCheckEventArgs;
            }
            interface CtAfterExcessCheckEventArgs$ {
                /**
                 * 上游源单，关联主实体数据行
                 * @return
                 */
                getSrcActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 下游目标单关联主实体，当前数据行；删除行时，这个属性可能没值
                 * @return
                 */
                getTargetActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 反写规则
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
                /**
                 * 上游源单主实体，仅包含需要用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 设置是否超额
                 * @param excess 是否超额
                 */
                setExcess(excess:boolean):void;
                /**
                 * 上游源单，关联主实体
                 * @return
                 */
                getSrcEntity():$.kd.bos.entity.EntityType;
                /**
                 * 设置超额提示
                 * @param message 超额提示
                 */
                setMessage(message:string):void;
                /**
                 * 是否超额；插件可以调整此属性值，决定是否显示超额提示
                 * @return
                 */
                isExcess():boolean;
                /**
                 * 超额提示
                 * @return
                 */
                getMessage():string;
                /**
                 * 下游目标单关联主实体
                 * @return
                 */
                getTargetEntity():$.kd.bos.entity.EntityType;
            }
            type CtAfterExcessCheckEventArgs_T = CtAfterExcessCheckEventArgs$;
            interface CtAfterExcessCheckEventArgs extends CtAfterExcessCheckEventArgs_T {
            }
            interface CtConvertPluginEventArgs_S {
            }
            interface CtConvertPluginEventArgs_C extends CtConvertPluginEventArgs_S {
                new():CtConvertPluginEventArgs;
            }
            interface CtConvertPluginEventArgs$ {
            }
            type CtConvertPluginEventArgs_T = CtConvertPluginEventArgs$;
            interface CtConvertPluginEventArgs extends CtConvertPluginEventArgs_T {
            }
            interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo_S {
            }
            interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo_C extends CtAfterBuildSourceBillIdsEventArgs$EntryInfo_S {
                new(arg0:long):CtAfterBuildSourceBillIdsEventArgs$EntryInfo;
                new(arg0:long,arg1:long,arg2:long):CtAfterBuildSourceBillIdsEventArgs$EntryInfo;
            }
            interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo$ {
                getEntryId():long;
                getEntryTableId():long;
                getBillId():long;
            }
            type CtAfterBuildSourceBillIdsEventArgs$EntryInfo_T = CtAfterBuildSourceBillIdsEventArgs$EntryInfo$;
            interface CtAfterBuildSourceBillIdsEventArgs$EntryInfo extends CtAfterBuildSourceBillIdsEventArgs$EntryInfo_T {
            }
            interface CtAfterCreateLinkEventArgs_S {
            }
            type CtAfterCreateLinkEventArgs_ST = CtAfterCreateLinkEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterCreateLinkEventArgs_C extends CtAfterCreateLinkEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet  生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterCreateLinkEventArgs;
            }
            interface CtAfterCreateLinkEventArgs$ {
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
            }
            type CtAfterCreateLinkEventArgs_T = CtAfterCreateLinkEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterCreateLinkEventArgs extends CtAfterCreateLinkEventArgs_T {
            }
            interface CtAfterFieldMappingEventArgs_S {
            }
            type CtAfterFieldMappingEventArgs_ST = CtAfterFieldMappingEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterFieldMappingEventArgs_C extends CtAfterFieldMappingEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet  生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterFieldMappingEventArgs;
            }
            interface CtAfterFieldMappingEventArgs$ {
                /**
                 * 生成的目标单数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
            }
            type CtAfterFieldMappingEventArgs_T = CtAfterFieldMappingEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterFieldMappingEventArgs extends CtAfterFieldMappingEventArgs_T {
            }
            interface CtAfterBuildRowConditionEventArgs_S {
            }
            type CtAfterBuildRowConditionEventArgs_ST = CtAfterBuildRowConditionEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterBuildRowConditionEventArgs_C extends CtAfterBuildRowConditionEventArgs_ST {
                new():CtAfterBuildRowConditionEventArgs;
            }
            interface CtAfterBuildRowConditionEventArgs$ {
                /**
                 * 拆分后的单据转换数据筛选条件，每个元素都是一个独立的条件
                 * @return
                 */
                getConditons():$.java.util.List;
                /**
                 * 添加新条件表达式到集合中
                 * @param expression
                 */
                addCondition(expression:string):void;
            }
            type CtAfterBuildRowConditionEventArgs_T = CtAfterBuildRowConditionEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterBuildRowConditionEventArgs extends CtAfterBuildRowConditionEventArgs_T {
            }
            interface CtBeforeExecWriteBackRuleEventArgs_S {
            }
            type CtBeforeExecWriteBackRuleEventArgs_ST = CtBeforeExecWriteBackRuleEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeExecWriteBackRuleEventArgs_C extends CtBeforeExecWriteBackRuleEventArgs_ST {
                /**
                 * 构造函数
                 */
                new():CtBeforeExecWriteBackRuleEventArgs;
            }
            interface CtBeforeExecWriteBackRuleEventArgs$ {
                /**
                 * 当前准备执行的反写规则
                 *
                 * @return
                 */
                getRule():kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement;
                /**
                 * 设置是否取消本反写公式的执行
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 调整当前反写规则、反写条目
                 * @param rule
                 * @param ruleItem
                 */
                setContext(rule:kd.bos.entity.ctbotp.runtime.CtWriteBackRuleElement,ruleItem:kd.bos.entity.ctbotp.runtime.CtWriteBackFormula):void;
                /**
                 * 当前准备执行的反写公式
                 *
                 * @return
                 */
                getRuleItem():kd.bos.entity.ctbotp.runtime.CtWriteBackFormula;
                /**
                 * 是否取消本反写公式的执行
                 * @return
                 */
                isCancel():boolean;
            }
            type CtBeforeExecWriteBackRuleEventArgs_T = CtBeforeExecWriteBackRuleEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeExecWriteBackRuleEventArgs extends CtBeforeExecWriteBackRuleEventArgs_T {
            }
            interface CtBeforeReadSourceBillEventArgs_S {
            }
            type CtBeforeReadSourceBillEventArgs_ST = CtBeforeReadSourceBillEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeReadSourceBillEventArgs_C extends CtBeforeReadSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcMainType 上游源单主实体，包含了完整字段
                 * @param rules 反写上游源单的全部反写规则
                 */
                new(srcMainType:$.kd.bos.entity.BillEntityType,rules:$.java.util.List):CtBeforeReadSourceBillEventArgs;
            }
            interface CtBeforeReadSourceBillEventArgs$ {
                /**
                 * 传入源单内码
                 * @param srcBillIds
                 */
                setSrcBillIds(srcBillIds:$.java.util.Set):void;
                /**
                 * 插件需要用到的源单字段
                 * @return
                 */
                getFieldKeys():$.java.util.List;
                /**
                 * 需要读取的源单内码：插件可以反写前，根据源单内码，读取第三方单据数据
                 * @return
                 */
                getSrcBillIds():$.java.util.Set;
                /**
                 * 反写上游源单的全部反写规则
                 * @return
                 */
                getRules():$.java.util.List;
                /**
                 * 上游源单主实体，包含了完整字段
                 * @return
                 */
                getSrcMainType():$.kd.bos.entity.BillEntityType;
            }
            type CtBeforeReadSourceBillEventArgs_T = CtBeforeReadSourceBillEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeReadSourceBillEventArgs extends CtBeforeReadSourceBillEventArgs_T {
            }
            interface CtInitVariableEventArgs_S {
            }
            type CtInitVariableEventArgs_ST = CtConvertPluginEventArgs_S & CtInitVariableEventArgs_S;
            interface CtInitVariableEventArgs_C extends CtInitVariableEventArgs_ST {
                new():CtInitVariableEventArgs;
                /**
                 * 构造函数
                 * @param convertArgs 单据转换参数
                 */
                new(convertArgs:kd.bos.entity.ctbotp.runtime.AbstractCtConvertServiceArgs):CtInitVariableEventArgs;
            }
            interface CtInitVariableEventArgs$ {
                /**
                 * 单据转换参数
                 * @return
                 */
                getConvertArgs():kd.bos.entity.ctbotp.runtime.AbstractCtConvertServiceArgs;
            }
            type CtInitVariableEventArgs_T = CtConvertPluginEventArgs & CtInitVariableEventArgs$;
            interface CtInitVariableEventArgs extends CtInitVariableEventArgs_T {
            }
            interface CtAfterCreateTargetEventArgs_S {
            }
            type CtAfterCreateTargetEventArgs_ST = CtAfterCreateTargetEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtAfterCreateTargetEventArgs_C extends CtAfterCreateTargetEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet  生成的目标单空数据包
                 * @param fldProperties 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtAfterCreateTargetEventArgs;
            }
            interface CtAfterCreateTargetEventArgs$ {
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet 生成的目标单空数据包
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 生成的目标单空数据包 ：还没有开始填写字段值
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
            }
            type CtAfterCreateTargetEventArgs_T = CtAfterCreateTargetEventArgs$ & CtConvertPluginEventArgs;
            interface CtAfterCreateTargetEventArgs extends CtAfterCreateTargetEventArgs_T {
            }
            interface CtBeforeGetSourceDataEventArgs_S {
            }
            type CtBeforeGetSourceDataEventArgs_ST = CtBeforeGetSourceDataEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtBeforeGetSourceDataEventArgs_C extends CtBeforeGetSourceDataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param selectSQL 取数SELECT子句，包含了全部字段及别名
                 * @param qFilters 条件
                 */
                new(selectSQL:string,qFilters:$.java.util.List):CtBeforeGetSourceDataEventArgs;
            }
            interface CtBeforeGetSourceDataEventArgs$ {
                /**
                 * 取数SELECT子句，包含了全部字段及别名
                 * @return
                 */
                getSelectSQL():string;
                /**
                 * 条件
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 设置取数SELECT子句，包含了全部字段及别名
                 * @param selectSQL
                 */
                setSelectSQL(selectSQL:string):void;
            }
            type CtBeforeGetSourceDataEventArgs_T = CtBeforeGetSourceDataEventArgs$ & CtConvertPluginEventArgs;
            interface CtBeforeGetSourceDataEventArgs extends CtBeforeGetSourceDataEventArgs_T {
            }
            interface CtBeforeSaveTransEventArgs_S {
            }
            type CtBeforeSaveTransEventArgs_ST = CtBeforeSaveTransEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeSaveTransEventArgs_C extends CtBeforeSaveTransEventArgs_ST {
                new():CtBeforeSaveTransEventArgs;
            }
            interface CtBeforeSaveTransEventArgs$ {
            }
            type CtBeforeSaveTransEventArgs_T = CtBeforeSaveTransEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeSaveTransEventArgs extends CtBeforeSaveTransEventArgs_T {
            }
            interface CtBeforeCreateLinkEventArgs_S {
            }
            type CtBeforeCreateLinkEventArgs_ST = CtBeforeCreateLinkEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtBeforeCreateLinkEventArgs_C extends CtBeforeCreateLinkEventArgs_ST {
                /**
                 * 构造函数
                 * @param targetExtDataEntitySet
                 * @param fldProperties
                 */
                new(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet,fldProperties:$.java.util.Map):CtBeforeCreateLinkEventArgs;
            }
            interface CtBeforeCreateLinkEventArgs$ {
                /**
                 * 设置生成的目标单空数据包
                 * @param targetExtDataEntitySet
                 */
                setTargetExtDataEntitySet(targetExtDataEntitySet:$.kd.bos.entity.ExtendedDataEntitySet):void;
                /**
                 * 是否略过关联关系的创建
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 设置是否略过关联关系的创建
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 源单字段，与数据包属性对应字典，可以据此到源单数据包中读取字段值
                 * @return
                 */
                getFldProperties():$.java.util.Map;
                /**
                 * 生成的目标单空数据包
                 * @return
                 */
                getTargetExtDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
            }
            type CtBeforeCreateLinkEventArgs_T = CtBeforeCreateLinkEventArgs$ & CtConvertPluginEventArgs;
            interface CtBeforeCreateLinkEventArgs extends CtBeforeCreateLinkEventArgs_T {
            }
            interface CtPreparePropertysEventArgs_S {
            }
            type CtPreparePropertysEventArgs_ST = CtPreparePropertysEventArgs_S & CtWriteBackEventArgs_S;
            interface CtPreparePropertysEventArgs_C extends CtPreparePropertysEventArgs_ST {
                /**
                 * 构造函数
                 * @param mainType 目标单实体类型
                 * @param fieldKeys 需要加载的目标单字段
                 */
                new(mainType:$.kd.bos.entity.BillEntityType,fieldKeys:$.java.util.List):CtPreparePropertysEventArgs;
            }
            interface CtPreparePropertysEventArgs$ {
                /**
                 * 目标单实体类型
                 * @return
                 */
                getMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 需要加载的目标单字段
                 * @return
                 */
                getFieldKeys():$.java.util.List;
            }
            type CtPreparePropertysEventArgs_T = CtPreparePropertysEventArgs$ & CtWriteBackEventArgs;
            interface CtPreparePropertysEventArgs extends CtPreparePropertysEventArgs_T {
            }
            interface CtBeforeBuildRowConditionEventArgs_S {
            }
            type CtBeforeBuildRowConditionEventArgs_ST = CtBeforeBuildRowConditionEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtBeforeBuildRowConditionEventArgs_C extends CtBeforeBuildRowConditionEventArgs_ST {
                /**
                 * 构造函数
                 */
                new():CtBeforeBuildRowConditionEventArgs;
            }
            interface CtBeforeBuildRowConditionEventArgs$ {
                /**
                 * 插件定制条件：用于数据库查询
                 * @return
                 */
                getCustQFilters():$.java.util.List;
                /**
                 * 插件定制条件：用于脚本执行
                 *
                 * 特别说明：必须同时设置用于数据库查询的CustQFilters，且效果要保持一致
                 *
                 * @return
                 */
                getCustFilterExpression():string;
                /**
                 * 设置插件定制条件
                 * @param custFilterExpression
                 */
                setCustFilterExpression(custFilterExpression:string):void;
                /**
                 * 插件定制条件的说明：当数据不符合条件时，会显示条件说明，提示用户原因
                 * @return
                 */
                getCustFilterDesc():string;
                /**
                 * 设置当前规则需要处理的源单行
                 * @param selectedRows 当前规则需要处理的源单行
                 */
                setSelectedRows(selectedRows:$.java.util.List):void;
                /**
                 * 设置是否忽略规则上配置的数据筛选条件，仅使用插件设置的定制条件
                 * @param ignoreRuleFilterPolicy
                 */
                setIgnoreRuleFilterPolicy(ignoreRuleFilterPolicy:boolean):void;
                /**
                 * 当前规则需要处理的源单行 ： 已经通过了规则启动条件校验
                 * @return
                 */
                getSelectedRows():$.java.util.List;
                /**
                 * 是否忽略规则上配置的数据筛选条件，仅使用插件设置的定制条件；
                 * 如果不设置这个属性，插件传入的定制条件，会与规则条件，同时起作用
                 * @return
                 */
                isIgnoreRuleFilterPolicy():boolean;
                /**
                 * 设置插件定制条件的说明
                 * @param custFilterDesc
                 */
                setCustFilterDesc(custFilterDesc:string):void;
            }
            type CtBeforeBuildRowConditionEventArgs_T = CtBeforeBuildRowConditionEventArgs$ & CtConvertPluginEventArgs;
            interface CtBeforeBuildRowConditionEventArgs extends CtBeforeBuildRowConditionEventArgs_T {
            }
            interface CtBeforeTrackEventArgs_S {
            }
            type CtBeforeTrackEventArgs_ST = CtBeforeTrackEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeTrackEventArgs_C extends CtBeforeTrackEventArgs_ST {
                /**
                 * 构造函数
                 * @param dataEntity 当前单据数据包
                 */
                new(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):CtBeforeTrackEventArgs;
            }
            interface CtBeforeTrackEventArgs$ {
                /**
                 * 插件取消关联、反写
                 * @return
                 */
                isCancel():boolean;
                /**
                 * 设置插件取消关联、反写
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 当前单据数据包
                 * @return
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
            }
            type CtBeforeTrackEventArgs_T = CtBeforeTrackEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeTrackEventArgs extends CtBeforeTrackEventArgs_T {
            }
            interface CtRollbackSaveEventArgs_S {
            }
            type CtRollbackSaveEventArgs_ST = CtRollbackSaveEventArgs_S & CtWriteBackEventArgs_S;
            interface CtRollbackSaveEventArgs_C extends CtRollbackSaveEventArgs_ST {
                new():CtRollbackSaveEventArgs;
            }
            interface CtRollbackSaveEventArgs$ {
            }
            type CtRollbackSaveEventArgs_T = CtRollbackSaveEventArgs$ & CtWriteBackEventArgs;
            interface CtRollbackSaveEventArgs extends CtRollbackSaveEventArgs_T {
            }
            interface CtBeforeSaveSourceBillEventArgs_S {
            }
            type CtBeforeSaveSourceBillEventArgs_ST = CtBeforeSaveSourceBillEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeSaveSourceBillEventArgs_C extends CtBeforeSaveSourceBillEventArgs_ST {
                /**
                 * 构造函数
                 * @param srcSubMainType 源单主实体，只包含了部分用到的字段
                 * @param srcDataEntities 源单数据包，只包含了部分用到的字段
                 */
                new(srcSubMainType:$.kd.bos.entity.BillEntityType,srcDataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):CtBeforeSaveSourceBillEventArgs;
            }
            interface CtBeforeSaveSourceBillEventArgs$ {
                setNewThread(newThread:boolean):void;
                /**
                 * 源单主实体，只包含了部分用到的字段
                 * @return
                 */
                getSrcSubMainType():$.kd.bos.entity.BillEntityType;
                /**
                 * 当前事件是否由异步线程触发，不在事务内：跨库反写时，会启动一个异步线程，在事务外单独的保存源单反写结果，没有事务保护，不能回滚数据。
                 * 此时插件抛出异常并不能取消反写，回滚数据。因此，此场景下插件要确保不抛出异常
                 * @return
                 */
                isNewThread():boolean;
                /**
                 * 源单数据包，只包含了部分用到的字段
                 * @return
                 */
                getSrcDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type CtBeforeSaveSourceBillEventArgs_T = CtBeforeSaveSourceBillEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeSaveSourceBillEventArgs extends CtBeforeSaveSourceBillEventArgs_T {
            }
            interface CtBeforeCreateArticulationRowEventArgs_S {
            }
            type CtBeforeCreateArticulationRowEventArgs_ST = CtBeforeCreateArticulationRowEventArgs_S & CtWriteBackEventArgs_S;
            interface CtBeforeCreateArticulationRowEventArgs_C extends CtBeforeCreateArticulationRowEventArgs_ST {
                /**
                 * 构造函数
                 * @param entity 当前关联主实体
                 * @param activeRow 关联主实体当前行
                 * @param linkRows 关联主实体行下属的关联子实体行，包含了来源单据行信息
                 */
                new(entity:$.kd.bos.entity.EntityType,activeRow:$.kd.bos.dataentity.entity.DynamicObject,linkRows:$.kd.bos.dataentity.entity.DynamicObjectCollection):CtBeforeCreateArticulationRowEventArgs;
            }
            interface CtBeforeCreateArticulationRowEventArgs$ {
                /**
                 * 当前关联主实体
                 * @return
                 */
                getEntity():$.kd.bos.entity.EntityType;
                /**
                 * 关联主实体当前行
                 * @return
                 */
                getActiveRow():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置由插件自行调整控制字段对各源单行的分配量，取消系统的自动分配处理
                 * @param cancelReDistributeAmount
                 */
                setCancelReDistributeAmount(cancelReDistributeAmount:boolean):void;
                /**
                 * 由插件自行调整控制字段对各源单行的分配量，取消系统的自动分配处理；
                 * @return
                 */
                isCancelReDistributeAmount():boolean;
                /**
                 * 设置是否取消创建本行的关联记录
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 关联主实体行下属的关联子实体行，包含了来源单据行信息
                 * @return
                 */
                getLinkRows():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 是否取消创建本行的关联记录:
                 * 取消后，相当于本行无源单，不会记录业务流程路线记录与反写源单
                 * @return
                 */
                isCancel():boolean;
            }
            type CtBeforeCreateArticulationRowEventArgs_T = CtBeforeCreateArticulationRowEventArgs$ & CtWriteBackEventArgs;
            interface CtBeforeCreateArticulationRowEventArgs extends CtBeforeCreateArticulationRowEventArgs_T {
            }
            interface CtBeforeBuildGroupModeEventArgs_S {
            }
            type CtBeforeBuildGroupModeEventArgs_ST = CtBeforeBuildGroupModeEventArgs_S & CtConvertPluginEventArgs_S;
            interface CtBeforeBuildGroupModeEventArgs_C extends CtBeforeBuildGroupModeEventArgs_ST {
                /**
                 * 构造函数
                 * @param headGroupKey 单据头分组(分单)字段
                 * @param entryGroupKey 单据体分组字段
                 * @param subEntryGroupKey 子单据体分组字段
                 */
                new(headGroupKey:string,entryGroupKey:string,subEntryGroupKey:string):CtBeforeBuildGroupModeEventArgs;
            }
            interface CtBeforeBuildGroupModeEventArgs$ {
                /**
                 * 设置单据头分组(分单)字段
                 * @param headGroupKey 单据头分组(分单)字段
                 */
                setHeadGroupKey(headGroupKey:string):void;
                /**
                 * 子单据体分组字段
                 * @return
                 */
                getSubEntryGroupKey():string;
                /**
                 * 设置单据体分组字段
                 * @param entryGroupKey 单据体分组字段
                 */
                setEntryGroupKey(entryGroupKey:string):void;
                /**
                 * 单据头分组(分单)字段
                 * @return
                 */
                getHeadGroupKey():string;
                /**
                 * 设置子单据体分组字段
                 * @param subEntryGroupKey 子单据体分组字段
                 */
                setSubEntryGroupKey(subEntryGroupKey:string):void;
                /**
                 * 单据体分组字段
                 * @return
                 */
                getEntryGroupKey():string;
            }
            type CtBeforeBuildGroupModeEventArgs_T = CtBeforeBuildGroupModeEventArgs$ & CtConvertPluginEventArgs;
            interface CtBeforeBuildGroupModeEventArgs extends CtBeforeBuildGroupModeEventArgs_T {
            }
        }
        namespace kd.bos.entity.ctbotp.runtime{
            interface CtWriteBackFormula_S {
            }
            interface CtWriteBackFormula_C extends CtWriteBackFormula_S {
                new():CtWriteBackFormula;
            }
            interface CtWriteBackFormula$ {
                /**
                 * 反写条目标识
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @return
                 */
                getFormula():$.kd.bos.entity.botp.CRFormula;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @param formula
                 */
                setFormula(formula:$.kd.bos.entity.botp.CRFormula):void;
                /**
                 * 反写源单字段：把反写值，追加到此字段上
                 * @return
                 */
                getSourceCommitFieldKey():string;
                /**
                 * 反写方式：Add = 0, Lessen = 1, Cover = 2
                 * @param writeBackType
                 */
                setWriteBackType(writeBackType:CtWriteBackType):void;
                /**
                 * 反写条目标识，随机产生的长整数，绝不重复
                 * @return
                 */
                getId():long;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @param condition
                 */
                setCondition(condition:CtCRCondition):void;
                /**
                 * 反写方式：Add = 0, Lessen = 1, Cover = 2
                 * @return
                 */
                getWriteBackType():CtWriteBackType;
                /**
                 * 反写源单字段：把反写值，追加到此字段上
                 * @param sourceCommitFieldKey
                 */
                setSourceCommitFieldKey(sourceCommitFieldKey:string):void;
                /**
                 * 反写方式类型
                 * @return
                 */
                getWriteType():string;
                /**
                 * 反写条目执行顺序
                 * @return
                 */
                getSeq():number;
                /**
                 * 反写执行条件，基于目标单字段：决定是否需要执行此反写条目
                 * @return
                 */
                getCondition():CtCRCondition;
                /**
                 * 反写条目执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 反写方式 (字符串转换)
                 * @param writeType
                 */
                setWriteType(writeType:string):void;
                /**
                 * 是否禁用：可以临时禁用某条反写条目
                 * @param disabled
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 是否禁用：可以临时禁用某条反写条目
                 * @return
                 */
                isDisabled():boolean;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param tgtMainType
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,tgtMainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
            }
            type CtWriteBackFormula_T = CtWriteBackFormula$;
            interface CtWriteBackFormula extends CtWriteBackFormula_T {
            }
            interface CtGetTargetOptionalOrgsArgs_S {
            }
            type CtGetTargetOptionalOrgsArgs_ST = CtGetTargetOptionalOrgsArgs_S & CtPushArgs_S;
            interface CtGetTargetOptionalOrgsArgs_C extends CtGetTargetOptionalOrgsArgs_ST {
                new():CtGetTargetOptionalOrgsArgs;
            }
            interface CtGetTargetOptionalOrgsArgs$ {
            }
            type CtGetTargetOptionalOrgsArgs_T = CtGetTargetOptionalOrgsArgs$ & CtPushArgs;
            interface CtGetTargetOptionalOrgsArgs extends CtGetTargetOptionalOrgsArgs_T {
            }
            interface CtConvertOperationResult_S {
            }
            interface CtConvertOperationResult_C extends CtConvertOperationResult_S {
                new():CtConvertOperationResult;
            }
            interface CtConvertOperationResult$ {
                /**
                 * 下推引擎，运行时间（单位秒）
                 * @return
                 */
                getRunSecond():long;
                getReporter():CtReportManager;
                /**
                 * 设置下推引擎完成执行时间
                 * @param finishedTime 完成执行时间
                 */
                setFinishedTime(finishedTime:Date):void;
                getTargetAccountId():string;
                setCtBillLks(ctBillLks:$.java.util.List):void;
                /**
                 * 申请网控成功的源单：需要在保存目标单后及时释放网控
                 * @return
                 */
                getDataMutexSrcBillIds():$.java.util.Set;
                setReporter(reporter:CtReportManager):void;
                /**
                 * 目标单主实体编码
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 设置目标单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                setBillReports(billReports:$.java.util.List):void;
                isException():boolean;
                setTargetTenantCode(targetTenantCode:string):void;
                /**
                 * 设置下推引擎开始执行时间
                 * @param startTime 开始执行时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置源单主实体编码
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 源单主实体编码
                 * @return
                 */
                getSourceEntityNumber():string;
                getCtBillLks():$.java.util.List;
                /**
                 * 释放缓存
                 *
                 * @param refDataProvider
                 * @param mainType
                 */
                release(refDataProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider,mainType:$.kd.bos.entity.MainEntityType):void;
                setException(exception:boolean):void;
                setTargetCtDataObjects(targetCtDataObjects:$.java.util.List):void;
                /**
                 * 设置提示消息
                 * @param message 提示消息
                 */
                setMessage(message:string):void;
                setTargetAccountId(targetAccountId:string):void;
                setsSyncLogs(sSyncLogs:$.java.util.List):void;
                getTargetCtDataObjects():$.java.util.List;
                /**
                 * 源单转换报告，主要包含转换失败的行报告，转换成功的行，自动略过
                 *
                 * @return
                 */
                getBillReports():$.java.util.List;
                setTargetBillIds(targetBillIds:$.java.util.Set):void;
                /**
                 * 下推引擎，完成执行时间
                 * @return
                 */
                getFinishedTime():Date;
                /**
                 * 是否下推成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 下推大单并保存，保存成功，输出目标单内码
                 * @return
                 */
                getTargetBillIds():$.java.util.Set;
                /**
                 * 下推引擎，开始执行时间
                 * @return
                 */
                getStartTime():Date;
                /**
                 * 设置是否下推成功
                 * @param success 是否下推成功
                 */
                setSuccess(success:boolean):void;
                /**
                 * 提示消息
                 * @return
                 */
                getMessage():string;
                getsSyncLogs():$.java.util.List;
                getTargetTenantCode():string;
            }
            type CtConvertOperationResult_T = CtConvertOperationResult$;
            interface CtConvertOperationResult extends CtConvertOperationResult_T {
            }
            class CtWriteBackType {
                static readonly Add:kd.bos.entity.ctbotp.runtime.CtWriteBackType;
                static readonly Lessen:kd.bos.entity.ctbotp.runtime.CtWriteBackType;
                static readonly Cover:kd.bos.entity.ctbotp.runtime.CtWriteBackType;
                static valueOf(value:number):kd.bos.entity.ctbotp.runtime.CtWriteBackType;
                static valueOf(arg0:string):kd.bos.entity.ctbotp.runtime.CtWriteBackType;
                static values():kd.bos.entity.ctbotp.runtime.CtWriteBackType[];
            }
            interface CtTenantAccount_S {
            }
            type CtTenantAccount_ST = $.java.io.Serializable & CtTenantAccount_S;
            interface CtTenantAccount_C extends CtTenantAccount_ST {
                /**
                 * 构造函数
                 * @param mainTableId 单据主表的表格编码
                 * @param billId 单据内码
                 * @param tableId 表格编码
                 * @param entryId 实体行内码
                 */
                new(tenantId:string,accountId:string):CtTenantAccount;
            }
            interface CtTenantAccount$ {
                getHashcode():number;
                getTenantId():string;
                setHashcode(hashcode:number):void;
                getAccountId():string;
                setTenantId(tenantId:string):void;
                setAccountId(accountId:string):void;
            }
            type CtTenantAccount_T = $.java.io.Serializable & CtTenantAccount$;
            interface CtTenantAccount extends CtTenantAccount_T {
            }
            interface CtTenantTable_S {
            }
            type CtTenantTable_ST = $.java.io.Serializable & CtTenantTable_S;
            interface CtTenantTable_C extends CtTenantTable_ST {
                new():CtTenantTable;
                /**
                 * 构造函数
                 * @param mainTableId 单据主表的表格编码
                 * @param billId 单据内码
                 * @param tableId 表格编码
                 * @param entryId 实体行内码
                 */
                new(tenantId:string,accountId:string):CtTenantTable;
            }
            interface CtTenantTable$ {
                getHashcode():number;
                setHashcode(hashcode:number):void;
                setAccountId(accountId:string):void;
                getAccountId():string;
                getTenantId():string;
                setTenantId(tenantId:string):void;
            }
            type CtTenantTable_T = $.java.io.Serializable & CtTenantTable$;
            interface CtTenantTable extends CtTenantTable_T {
            }
            interface CtBillEntryInfo_S {
            }
            type CtBillEntryInfo_ST = $.java.io.Serializable & CtBillEntryInfo_S;
            interface CtBillEntryInfo_C extends CtBillEntryInfo_ST {
                new():CtBillEntryInfo;
                new(mainEntityKey:string,entryKey:string,sBillIds:$.java.util.List,sEntryIds:$.java.util.List):CtBillEntryInfo;
            }
            interface CtBillEntryInfo$ {
                setMainEntityKey(mainEntityKey:string):void;
                setEntryIds(entryIds:$.java.util.List):void;
                getEntryKey():string;
                setEntryKey(entryKey:string):void;
                getMainEntityKey():string;
                getBillIds():$.java.util.List;
                getEntryIds():$.java.util.List;
                setBillIds(billIds:$.java.util.List):void;
            }
            type CtBillEntryInfo_T = $.java.io.Serializable & CtBillEntryInfo$;
            interface CtBillEntryInfo extends CtBillEntryInfo_T {
            }
            interface CtSourceRowReport_S {
            }
            type CtSourceRowReport_ST = $.java.io.Serializable & CtSourceRowReport_S;
            interface CtSourceRowReport_C extends CtSourceRowReport_ST {
                new():CtSourceRowReport;
            }
            interface CtSourceRowReport$ {
                /**
                 * 设置源单主子单据体行序号
                 * @param subEntrySeq 源单主子单据体行序号
                 */
                setSubEntrySeq(subEntrySeq:number):void;
                /**
                 * 输出行信息，格式：单据(001)，单据体第2行，子单据体第1行
                 * @return
                 */
                getRowInfo(billReport:CtSourceBillReport):string;
                /**
                 * 输出行信息，格式：单据(001)，单据体第2行，子单据体第1行
                 *
                 * @return
                 */
                getRowInfo(billNo:string,entryName:string,subEntryName:string):string;
                /**
                 * 设置源单主单据体行号
                 * @param entrySeq 源单主单据体行号
                 */
                setEntrySeq(entrySeq:number):void;
                /**
                 * 设置源单主子单据体行内码
                 * @param subEntryId 源单主子单据体行内码
                 */
                setSubEntryId(subEntryId:any):void;
                /**
                 * 输出转换失败原因
                 * @return
                 */
                getFailMessage():string;
                /**
                 * 源单主单据体行号
                 * @return
                 */
                getEntrySeq():number;
                /**
                 * 转换失败原因说明
                 * @return
                 */
                getFailMessages():$.java.util.List;
                /**
                 * 源单主子单据体行序号
                 * @return
                 */
                getSubEntrySeq():number;
                /**
                 * 设置源单主单据体行内码
                 * @param entryId 源单主单据体行内码
                 */
                setEntryId(entryId:any):void;
                /**
                 * 源单主子单据体行内码
                 * @return
                 */
                getSubEntryId():any;
                /**
                 * 源单主单据体行内码
                 * @return
                 */
                getEntryId():any;
            }
            type CtSourceRowReport_T = $.java.io.Serializable & CtSourceRowReport$;
            interface CtSourceRowReport extends CtSourceRowReport_T {
            }
            interface CtSourceBillReport_S {
            }
            type CtSourceBillReport_ST = $.java.io.Serializable & CtSourceBillReport_S;
            interface CtSourceBillReport_C extends CtSourceBillReport_ST {
                new():CtSourceBillReport;
            }
            interface CtSourceBillReport$ {
                /**
                 * 设置关联主实体名称
                 * @param linkEntityName 关联主实体名称
                 */
                setLinkEntityName(linkEntityName:string):void;
                /**
                 * 输出行信息，格式：单据(001)
                 * @return
                 */
                getRowInfo():string;
                /**
                 * 输出整单失败原因：如果有行转换成功，则输出""
                 *
                 * @return
                 * @remark
                 * 1. 优先输出整单失败原因；
                 * 2. 其次取第一条分录行失败原因：其他行的失败原因大体和第一行一样，不需要重复输出；即使不一样，拼接在一起输出可读性也不好
                 */
                getFailMessage():string;
                /**
                 * 设置关联主单据体标识
                 * @param entryKey 关联主单据体标识
                 */
                setEntryKey(entryKey:string):void;
                /**
                 * 单据转换结束，把行转换报告，从Map转移到List中，以支持序列化、反序列化；
                 * 为减少数据传输量，每张单仅保留20条失败行信息及原因，其他全部舍弃掉
                 */
                copyReportToList():void;
                /**
                 * 是否完整的转换成功：即没有失败行
                 *
                 * @return
                 */
                isFullSuccess():boolean;
                /**
                 * 设置子单据体名称
                 * @param subEntryName 子单据体名称
                 */
                setSubEntryName(subEntryName:string):void;
                /**
                 * 关联主实体名称
                 * @return
                 */
                getLinkEntityName():string;
                /**
                 * 关联主实体
                 * @return
                 */
                getLinkEntityKey():string;
                /**
                 * 采用的转换规则
                 * @return
                 */
                getRuleName():string;
                /**
                 * 输出单据级转换摘要信息：成功多少行，失败多少行
                 *
                 * @param mainType 传入单据主实体，据此获取下级各单据体、子单据体的名称，生成准确的报告
                 *
                 * @return
                 */
                buildSummary(mainType:$.kd.bos.entity.MainEntityType):string;
                /**
                 * 关联主单据体名称
                 * @return
                 */
                getEntryName():string;
                /**
                 * 设置关联主实体
                 * @param linkEntityKey 关联主实体
                 */
                setLinkEntityKey(linkEntityKey:string):void;
                /**
                 * 关联主实体，转换失败行数
                 * @return
                 */
                getFailRowCount():number;
                /**
                 * 输出单据级转换摘要信息：成功多少行，失败多少行
                 *
                 * @return
                 */
                buildSummary():string;
                /**
                 * 关联主实体总行数
                 * @return
                 */
                getRowCount():number;
                /**
                 * 增加关联主实体行数
                 * @param count
                 */
                addRowCount(count:number):void;
                /**
                 * 从属实体行转换报告，实体 -> 实体的各行报告
                 * @return
                 */
                getDependEntityRowReports():$.java.util.Map;
                /**
                 * 子单据体标识
                 * @return
                 */
                getSubEntryKey():string;
                /**
                 * 源单内码
                 * @return
                 */
                getBillId():any;
                /**
                 * 关联主实体行转换报告
                 * @return
                 */
                getLinkEntityRowReports():$.java.util.List;
                /**
                 * 设置采用的转换规则名称
                 * @param ruleName 转换规则名称
                 */
                setRuleName(ruleName:string):void;
                /**
                 * 整单转换失败消息
                 */
                getFailMessages():$.java.util.List;
                /**
                 * 关联主单据体标识
                 * @return
                 */
                getEntryKey():string;
                /**
                 * 子单据体名称
                 * @return
                 */
                getSubEntryName():string;
                /**
                 * 添加转换失败消息
                 * @param failMessage 失败消息
                 */
                addFailMessage(failMessage:string):void;
                /**
                 * 采用的转换规则内码
                 * @return
                 */
                getRuleId():string;
                /**
                 * 添加分录行转换错误报告
                 *
                 * @param entityKey 分录标识
                 * @param rowReport 分录行错误报告
                 */
                addSourceRowReport(entityKey:string,rowReport:CtSourceRowReport):void;
                /**
                 * 转换有单据体行转换成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置源单内码
                 * @param billId 源单内码
                 */
                setBillId(billId:any):void;
                /**
                 * 设置子单据体标识
                 * @param subEntryKey 子单据体标识
                 */
                setSubEntryKey(subEntryKey:string):void;
                /**
                 * 源单编码
                 * @return
                 */
                getBillNo():string;
                /**
                 * 设置源单编码
                 * @param billNo 源单编码
                 */
                setBillNo(billNo:string):void;
                /**
                 * 设置关联主单据体名称
                 * @param entryName 关联主单据体名称
                 */
                setEntryName(entryName:string):void;
                /**
                 * 设置采用的转换规则内码
                 * @param ruleId 转换规则内码
                 */
                setRuleId(ruleId:string):void;
            }
            type CtSourceBillReport_T = $.java.io.Serializable & CtSourceBillReport$;
            interface CtSourceBillReport extends CtSourceBillReport_T {
            }
            interface CtSyncResult_S {
            }
            type CtSyncResult_ST = $.java.io.Serializable & CtSyncResult_S;
            interface CtSyncResult_C extends CtSyncResult_ST {
                new():CtSyncResult;
            }
            interface CtSyncResult$ {
                setBillMaps(billMaps:$.java.util.Map):void;
                isException():boolean;
                getReporter():CtReportManager;
                /**
                 * 下推大单并保存，保存成功，输出目标单内码
                 * @return
                 */
                getTargetBillIds():$.java.util.Set;
                getCtBillInfos():$.java.util.List;
                /**
                 * 设置下推引擎完成执行时间
                 * @param finishedTime 完成执行时间
                 */
                setFinishedTime(finishedTime:Date):void;
                /**
                 * 下推引擎，完成执行时间
                 * @return
                 */
                getFinishedTime():Date;
                /**
                 * 设置下推引擎开始执行时间
                 * @param startTime 开始执行时间
                 */
                setStartTime(startTime:Date):void;
                setException(exception:boolean):void;
                /**
                 * 目标单主实体编码
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 下推引擎，开始执行时间
                 * @return
                 */
                getStartTime():Date;
                /**
                 * 设置目标单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                setReporter(reporter:CtReportManager):void;
                /**
                 * 设置源单主实体编码
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 提示消息
                 * @return
                 */
                getMessage():string;
                /**
                 * 设置提示消息
                 * @param message 提示消息
                 */
                setMessage(message:string):void;
                getBillMaps():$.java.util.Map;
                /**
                 * 下推成功后，打开目标单使用的布局
                 * @return
                 */
                getTargetBillFormId():string;
                /**
                 * 申请网控成功的源单：需要在保存目标单后及时释放网控
                 * @return
                 */
                getDataMutexSrcBillIds():$.java.util.Set;
                /**
                 * 设置是否下推成功
                 * @param success 是否下推成功
                 */
                setSuccess(success:boolean):void;
                /**
                 * 设置目标单使用的移动端布局 (移动端下推成功后)
                 * @param targetMobFormId 目标单使用的移动端布局
                 */
                setTargetMobFormId(targetMobFormId:string):void;
                /**
                 * 移动端下推成功后，打开目标单使用的移动端布局
                 * @return
                 */
                getTargetMobFormId():string;
                setCtBillInfos(ctBillInfos:$.java.util.List):void;
                /**
                 * 设置目标单使用的布局 (下推成功后)
                 * @param targetBillFormId 目标单使用的布局
                 */
                setTargetBillFormId(targetBillFormId:string):void;
                /**
                 * 是否下推成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 源单主实体编码
                 * @return
                 */
                getSourceEntityNumber():string;
            }
            type CtSyncResult_T = $.java.io.Serializable & CtSyncResult$;
            interface CtSyncResult extends CtSyncResult_T {
            }
            interface CtBFRowLinkDownNode_S {
            }
            type CtBFRowLinkDownNode_ST = $.java.io.Serializable & CtBFRowLinkDownNode_S;
            interface CtBFRowLinkDownNode_C extends CtBFRowLinkDownNode_ST {
                new():CtBFRowLinkDownNode;
                /**
                 * 构造函数
                 * @param rowId 本节点对应的实体行
                 */
                new(rowId:CtBFRowId):CtBFRowLinkDownNode;
            }
            interface CtBFRowLinkDownNode$ {
                /**
                 * 设置直级下游节点
                 * @param tNodes 直级下游节点
                 */
                setTNodes(tNodes:$.java.util.Map):void;
                /**
                 * 本节点对应的实体行
                 */
                getRowId():CtBFRowId;
                /**
                 * 直级下游节点
                 *
                 * @return
                 * @remark
                 * 通常只有一个源头，如果有行合并，则会有多个源头；
                 * 如有多个源头，反写时，就需要按照比例分配反写量
                 */
                getTNodes():$.java.util.Map;
                /**
                 * 获取全部下游节点，包括直级下游、间接下游
                 *
                 * @return
                 */
                findAllChildNodes():$.java.util.List;
                /**
                 * 设置本节点对应的实体行
                 * @param rowId 本节点对应的实体行
                 */
                setRowId(rowId:CtBFRowId):void;
                /**
                 * 在本节点的下游节点中，搜索指定单据节点
                 *
                 * @param tMainTableId 目标单主表的表格编码
                 * @return
                 */
                findTargetNodes(tenantId:string,accountId:string,tMainTableId:long,sbillid:long):$.java.util.List;
            }
            type CtBFRowLinkDownNode_T = $.java.io.Serializable & CtBFRowLinkDownNode$;
            interface CtBFRowLinkDownNode extends CtBFRowLinkDownNode_T {
            }
            class CtWriteBackOpType {
                static readonly Audit:kd.bos.entity.ctbotp.runtime.CtWriteBackOpType;
                static readonly Save:kd.bos.entity.ctbotp.runtime.CtWriteBackOpType;
                static valueOf(value:number):kd.bos.entity.ctbotp.runtime.CtWriteBackOpType;
                static values():kd.bos.entity.ctbotp.runtime.CtWriteBackOpType[];
                static valueOf(arg0:string):kd.bos.entity.ctbotp.runtime.CtWriteBackOpType;
            }
            interface CtGetTargetOptionalOrgsResult_S {
            }
            interface CtGetTargetOptionalOrgsResult_C extends CtGetTargetOptionalOrgsResult_S {
                new():CtGetTargetOptionalOrgsResult;
            }
            interface CtGetTargetOptionalOrgsResult$ {
                /**
                 * 可选的组织清单
                 * @return
                 */
                getOrgIds():$.java.util.Set;
                /**
                 * 下推界面，是否需要显示组织选择下拉列表（如果没有找到可选委托组织，无需显示下拉列表）
                 * @return
                 */
                isShowTargetOrgCombo():boolean;
                /**
                 * 设置是否需要显示组织选择下拉列表 (下推界面)
                 * @param showTargetOrgCombo 是否需要显示组织选择下拉列表
                 */
                setShowTargetOrgCombo(showTargetOrgCombo:boolean):void;
                /**
                 * 设置提示消息
                 * @param message 提示消息
                 */
                setMessage(message:string):void;
                /**
                 * 设置可选的组织清单
                 * @param orgIds 组织内码集
                 */
                setOrgIds(orgIds:$.java.util.Set):void;
                /**
                 * 目标单是否有主组织字段
                 * @return
                 */
                isHasMainOrg():boolean;
                /**
                 * 设置是否执行成功
                 * @param success 是否执行成功
                 */
                setSuccess(success:boolean):void;
                /**
                 * 提示消息
                 * @return
                 */
                getMessage():string;
                /**
                 * 是否有所有组织的新增权
                 * @return
                 */
                isHasAllOrgPerm():boolean;
                /**
                 * 设置是否有所有组织的新增权
                 * @param hasAllOrgPerm 是否有所有组织的新增权
                 */
                setHasAllOrgPerm(hasAllOrgPerm:boolean):void;
                /**
                 * 是否执行成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置目标单是否有主组织字段
                 * @param hasMainOrg 是否有主组织字段
                 */
                setHasMainOrg(hasMainOrg:boolean):void;
            }
            type CtGetTargetOptionalOrgsResult_T = CtGetTargetOptionalOrgsResult$;
            interface CtGetTargetOptionalOrgsResult extends CtGetTargetOptionalOrgsResult_T {
            }
            interface CtSyncArgs_S {
                getSerialVersionUID():long;
            }
            type CtSyncArgs_ST = $.java.io.Serializable & CtSyncArgs_S;
            interface CtSyncArgs_C extends CtSyncArgs_ST {
                new():CtSyncArgs;
            }
            interface CtSyncArgs$ {
                setsTenantCode(sTenantCode:string):void;
                setsEntityKey(sEntityKey:string):void;
                getsTenantCode():string;
                setsSyncLogs(sSyncLogs:$.java.util.List):void;
                setSyncType(syncType:string):void;
                gettEntityKey():string;
                getRuleExtVerId():long;
                getsSyncLogs():$.java.util.List;
                getData():$.java.util.List;
                getTargetBillOp():string;
                settEntityKey(tEntityKey:string):void;
                setsAccountId(sAccountId:string):void;
                getSyncType():string;
                setRuleExtVerId(ruleExtVerId:long):void;
                setCheckPushAgain(checkPushAgain:boolean):void;
                getRuleVerId():long;
                getRuleId():string;
                gettTenantCode():string;
                settAccountId(tAccountId:string):void;
                setRuleId(ruleId:string):void;
                settTenantCode(tTenantCode:string):void;
                isBatchPush():boolean;
                getsEntityKey():string;
                setRuleVerId(ruleVerId:long):void;
                isCheckPushAgain():boolean;
                gettAccountId():string;
                setTargetBillOp(targetBillOp:string):void;
                setData(data:$.java.util.List):void;
                getsAccountId():string;
                setBatchPush(batchPush:boolean):void;
            }
            type CtSyncArgs_T = $.java.io.Serializable & CtSyncArgs$;
            interface CtSyncArgs extends CtSyncArgs_T {
            }
            interface CtSaveOperationResult_S {
            }
            type CtSaveOperationResult_ST = $.java.io.Serializable & CtSaveOperationResult_S;
            interface CtSaveOperationResult_C extends CtSaveOperationResult_ST {
                new():CtSaveOperationResult;
            }
            interface CtSaveOperationResult$ {
                /**
                 * 移动端下推成功后，打开目标单使用的移动端布局
                 * @return
                 */
                getTargetMobFormId():string;
                setCtBillLks(ctBillLks:$.java.util.List):void;
                /**
                 * 设置源单主实体编码
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 设置目标单使用的布局 (下推成功后)
                 * @param targetBillFormId 目标单使用的布局
                 */
                setTargetBillFormId(targetBillFormId:string):void;
                isException():boolean;
                /**
                 * 下推成功后，打开目标单使用的布局
                 * @return
                 */
                getTargetBillFormId():string;
                /**
                 * 设置下推引擎完成执行时间
                 * @param finishedTime 完成执行时间
                 */
                setFinishedTime(finishedTime:Date):void;
                setException(exception:boolean):void;
                /**
                 * 提示消息
                 * @return
                 */
                getMessage():string;
                getCtBillLks():$.java.util.List;
                /**
                 * 目标单主实体编码
                 * @return
                 */
                getTargetEntityNumber():string;
                getReporter():CtReportManager;
                /**
                 * 设置目标单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                settBillNoMap(tBillNoMap:$.java.util.Map):void;
                /**
                 * 下推引擎，完成执行时间
                 * @return
                 */
                getFinishedTime():Date;
                /**
                 * 下推大单并保存，保存成功，输出目标单内码
                 * @return
                 */
                getTargetBillIds():$.java.util.Set;
                /**
                 * 设置目标单使用的移动端布局 (移动端下推成功后)
                 * @param targetMobFormId 目标单使用的移动端布局
                 */
                setTargetMobFormId(targetMobFormId:string):void;
                /**
                 * 设置下推引擎开始执行时间
                 * @param startTime 开始执行时间
                 */
                setStartTime(startTime:Date):void;
                setReporter(reporter:CtReportManager):void;
                /**
                 * 下推引擎，开始执行时间
                 * @return
                 */
                getStartTime():Date;
                gettBillNoMap():$.java.util.Map;
                /**
                 * 是否下推成功
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置提示消息
                 * @param message 提示消息
                 */
                setMessage(message:string):void;
                /**
                 * 设置是否下推成功
                 * @param success 是否下推成功
                 */
                setSuccess(success:boolean):void;
                /**
                 * 申请网控成功的源单：需要在保存目标单后及时释放网控
                 * @return
                 */
                getDataMutexSrcBillIds():$.java.util.Set;
                /**
                 * 源单主实体编码
                 * @return
                 */
                getSourceEntityNumber():string;
            }
            type CtSaveOperationResult_T = $.java.io.Serializable & CtSaveOperationResult$;
            interface CtSaveOperationResult extends CtSaveOperationResult_T {
            }
            interface CtPushArgs_S {
                copyAndSet(args:CtPushArgs,selectedRows:$.java.util.List):CtPushArgs;
            }
            type CtPushArgs_ST = $.java.io.Serializable & AbstractCtConvertServiceArgs_S & CtPushArgs_S;
            interface CtPushArgs_C extends CtPushArgs_ST {
                new():CtPushArgs;
                /**
                 * 构造函数
                 * @param sourceEntityNumber 源单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 * @param selectedRows 待下推的源单数据行
                 */
                new(sourceEntityNumber:string,targetEntityNumber:string,selectedRows:$.java.util.List):CtPushArgs;
            }
            interface CtPushArgs$ {
                isTry():boolean;
                /**
                 * 限定可用的转换规则范围，如果为空，则即时到数据库取所有可用的转换规则进行下推
                 * @return
                 */
                getRuleIds():$.java.util.Set;
                getsTenantCode():string;
                setCheckPushAgain(checkPushAgain:boolean):void;
                settTenantCode(tTenantCode:string):void;
                isBatchPush():boolean;
                setRootJobId(rootJobId:long):void;
                gettAccountId():string;
                /**
                 * 下推默认设置的主组织：优先取此组织，但需要满足主组织字段计算公式、权限要求、职能要求
                 * @return
                 */
                getDefOrgId():long;
                isAsync():boolean;
                setConver(conver:boolean):void;
                /**
                 * 是否下推自动保存，在转换规则和参数都启用的情况下才有效
                 * @return
                 */
                isAutoSave():boolean;
                /**
                 * 设置是否已经通过验权，不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要，如工作流审核通过后自动生成下游单据，不需要验权
                 * @param hasRight 是否已经通过验权
                 */
                setHasRight(hasRight:boolean):void;
                setsAccountId(sAccountId:string):void;
                setShowReport(showReport:boolean):void;
                /**
                 * 是否已经通过验权，不再需要验证下游单据的新建权。这个选项在需要自动下推的场景非常必要，如工作流审核通过后自动生成下游单据，不需要验权
                 * @return
                 */
                isHasRight():boolean;
                isCheckPushAgain():boolean;
                setBatchPush(batchPush:boolean):void;
                settAccountId(tAccountId:string):void;
                isDefaultUser():boolean;
                setTargetBillOp(targetBillOp:string):void;
                setsTenantCode(sTenantCode:string):void;
                setTry(aTry:boolean):void;
                getCurrentOrgId():long;
                getTargetBillOp():string;
                setRuleName(ruleName:string):void;
                setCtBillLks(ctBillLks:$.java.util.List):void;
                setSyncType(syncType:string):void;
                getSyncType():string;
                /**
                 * 设置待下推的源单数据行
                 * @param selectedRows 待下推的源单数据行
                 */
                setSelectedRows(selectedRows:$.java.util.List):void;
                getsAccountId():string;
                setCurrentOrgId(currentOrgId:long):void;
                isShowReport():boolean;
                /**
                 * 设置下推默认设置的主组织
                 * @param defOrgId 组织ID
                 */
                setDefOrgId(defOrgId:long):void;
                setSourceOperate(sourceOperate:string):void;
                /**
                 * 设置是否下推自动保存，在转换规则和参数都启用的情况下才有效
                 * @param autoSave 是否下推自动保存
                 */
                setAutoSave(autoSave:boolean):void;
                gettTenantCode():string;
                setAsync(async_arg:boolean):void;
                getSourceOperate():string;
                isConver():boolean;
                getRootJobId():long;
                /**
                 * 待下推的源单数据行
                 *
                 * @return
                 */
                getSelectedRows():$.java.util.List;
                getRuleName():string;
                setDefaultUser(defaultUser:boolean):void;
                getCtBillLks():$.java.util.List;
            }
            type CtPushArgs_T = $.java.io.Serializable & AbstractCtConvertServiceArgs & CtPushArgs$;
            interface CtPushArgs extends CtPushArgs_T {
            }
            interface CtSaveArgs_S {
            }
            type CtSaveArgs_ST = $.java.io.Serializable & CtSaveArgs_S;
            interface CtSaveArgs_C extends CtSaveArgs_ST {
                new():CtSaveArgs;
            }
            interface CtSaveArgs$ {
                setsEntityKey(sEntityKey:string):void;
                settAccountId(tAccountId:string):void;
                getsTenantCode():string;
                getSyncType():string;
                getsEntityKey():string;
                setsTenantCode(sTenantCode:string):void;
                getRuleVerId():long;
                getsAccountId():string;
                setRuleExtVerId(ruleExtVerId:long):void;
                setRuleVerId(ruleVerId:long):void;
                getRuleId():string;
                gettAccountId():string;
                setTargetBillOp(targetBillOp:string):void;
                getTargetBillOp():string;
                isAsync():boolean;
                setCheckPushAgain(checkPushAgain:boolean):void;
                isCheckPushAgain():boolean;
                getData():$.java.util.List;
                getsSyncLogs():$.java.util.List;
                setData(data:$.java.util.List):void;
                setSyncType(syncType:string):void;
                setsSyncLogs(sSyncLogs:$.java.util.List):void;
                setBatchPush(batchPush:boolean):void;
                isBatchPush():boolean;
                setAsync(async_arg:boolean):void;
                getCustomParams():$.java.util.Map;
                setCustomParams(customParams:$.java.util.Map):void;
                setsAccountId(sAccountId:string):void;
                setRuleId(ruleId:string):void;
                gettEntityKey():string;
                getRuleExtVerId():long;
                settEntityKey(tEntityKey:string):void;
                gettTenantCode():string;
                settTenantCode(tTenantCode:string):void;
            }
            type CtSaveArgs_T = $.java.io.Serializable & CtSaveArgs$;
            interface CtSaveArgs extends CtSaveArgs_T {
            }
            interface CtConvertOpRule_S {
            }
            interface CtConvertOpRule_C extends CtConvertOpRule_S {
                /**
                 * 构造函数
                 * @param ruleId 规则内码
                 * @param ruleName 规则名称
                 */
                new(ruleId:string,ruleName:string):CtConvertOpRule;
            }
            interface CtConvertOpRule$ {
                /**
                 * 规则名称
                 * @return
                 */
                getRuleName():string;
                /**
                 * 设置规则名称
                 * @param ruleName 规则名称
                 */
                setRuleName(ruleName:string):void;
                /**
                 * 指定可选的单据类型
                 * @return
                 */
                getBillTypeIds():$.java.util.List;
                /**
                 * 规则内码
                 * @return
                 */
                getRuleId():string;
                /**
                 * 设置运行时是否隐藏不可选（仅供后台自动下推使用）
                 * @param visibled 运行时是否隐藏不可选
                 */
                setVisibled(visibled:boolean):void;
                /**
                 * 设置是否允许全部单据类型，不需要指定可选的单据类型
                 * @param allBillType 单据类型
                 */
                setAllBillType(allBillType:boolean):void;
                /**
                 * 允许选择全部单据类型，但这些特别类型除外
                 * @return
                 */
                getInvalidBillTypeIds():$.java.util.List;
                getSyncType():string;
                /**
                 * 是否允许全部单据类型，不需要指定可选的单据类型
                 * @return
                 */
                isAllBillType():boolean;
                setSyncType(syncType:string):void;
                /**
                 * 设置规则内码
                 * @param ruleId 规则内码
                 */
                setRuleId(ruleId:string):void;
                /**
                 * 运行时是否隐藏不可选（仅供后台自动下推使用）
                 * @return
                 */
                isVisibled():boolean;
                /**
                 * 设置优先选择的单据类型
                 * @param defBillType 单据类型
                 */
                setDefBillType(defBillType:long):void;
                /**
                 * 优先选择的单据类型
                 * @return
                 */
                getDefBillType():long;
            }
            type CtConvertOpRule_T = CtConvertOpRule$;
            interface CtConvertOpRule extends CtConvertOpRule_T {
            }
            interface CtReportManager_S {
            }
            type CtReportManager_ST = $.java.io.Serializable & CtReportManager_S;
            interface CtReportManager_C extends CtReportManager_ST {
                new():CtReportManager;
            }
            interface CtReportManager$ {
                addAuditSuccessIds(auditSuccessIds:$.java.util.Collection):void;
                getSubmitSuccessIds():$.java.util.Set;
                addFailId(billId:long,errMessage:string):void;
                /**
                 * 下推或保存失败的单据，及其失败原因
                 * @return
                 */
                getFailIds():$.java.util.Map;
                setException(exception:boolean):void;
                isException():boolean;
                setsBillCounts(sBillCounts:number):void;
                getAuditSuccessIds():$.java.util.Set;
                setSuccess(success:boolean):void;
                setErrorMsg(errorMsg:string):void;
                /**
                 * 保存成功后，记录保存成功的目标单
                 * @param ids
                 */
                addSuccessIds(billIds:$.java.util.Collection):void;
                /**
                 * 下推并保存成功的目标单，已经保存入库
                 *
                 * @return
                 */
                getSuccessIds():$.java.util.Set;
                addSubmitSuccessIds(submitSuccessIds:$.java.util.Collection):void;
                getsBillCounts():number;
                isSuccess():boolean;
                getErrorMsg():string;
            }
            type CtReportManager_T = $.java.io.Serializable & CtReportManager$;
            interface CtReportManager extends CtReportManager_T {
            }
            interface AbstractCtConvertServiceArgs_S {
            }
            type AbstractCtConvertServiceArgs_ST = $.java.io.Serializable & AbstractCtConvertServiceArgs_S;
            interface AbstractCtConvertServiceArgs_C extends AbstractCtConvertServiceArgs_ST {
                /**
                 * 空参数构造函数：用于反序列化
                 */
                new():AbstractCtConvertServiceArgs;
                new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string):AbstractCtConvertServiceArgs;
                new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,ruleVerId:long,ruleExtVerId:long):AbstractCtConvertServiceArgs;
            }
            interface AbstractCtConvertServiceArgs$ {
                getRuleExtVerId():long;
                /**
                 * 单据转换，指定采用的规则
                 *
                 * @return
                 */
                getRuleId():string;
                /**
                 * 目标单主实体编码
                 *
                 * @return
                 */
                getTargetEntityNumber():string;
                /**
                 * 当前应用，用此应用验权
                 *
                 * @return
                 */
                getAppId():string;
                /**
                 * 源单主实体编码
                 *
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 设置是否生成单据转换报告
                 *
                 * @param buildConvReport 是否生成单据转换报告
                 */
                setBuildConvReport(buildConvReport:boolean):void;
                setOpInfo(opInfo:CtOpInfo):void;
                /**
                 * 设置目标单主实体编码
                 *
                 * @param targetEntityNumber 目标单主实体编码
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 设置单据转换任务标识
                 *
                 * @param taskId 单据转换任务标识
                 */
                setTaskId(taskId:string):void;
                setRuleVerId(ruleVerId:long):void;
                /**
                 * 是否生成单据转换报告：生成报告需要花费时间，并且需要占用生成结果对象的空间，对于自动化生成，无需报告
                 *
                 * @return
                 */
                isBuildConvReport():boolean;
                /**
                 * 设置应用id
                 *
                 * @param appId 应用ID
                 */
                setAppId(appId:string):void;
                /**
                 * 设置源单主实体编码
                 *
                 * @param sourceEntityNumber 源单主实体编码
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 增加自定义参数
                 *
                 * @param paramName  参数名
                 * @param paramValue 参数值
                 */
                addCustomParam(paramName:string,paramValue:string):void;
                /**
                 * 自定义参数
                 *
                 * @return
                 */
                getCustomParams():$.java.util.Map;
                /**
                 * 单据转换任务标识，可以根据这个任务标识，查到当前进度
                 *
                 * @return
                 */
                getTaskId():string;
                setJobTaskId(jobTaskId:string):void;
                /**
                 * 获取操作信息
                 *
                 * @return
                 */
                getOpInfo():CtOpInfo;
                setRuleExtVerId(ruleExtVerId:long):void;
                getRuleVerId():long;
                /**
                 * 定时调度任务的taskId
                 *
                 * @return
                 */
                getJobTaskId():string;
                /**
                 * 设置单据转换规则
                 *
                 * @param ruleId 单据转换规则ID
                 */
                setRuleId(ruleId:string):void;
            }
            type AbstractCtConvertServiceArgs_T = $.java.io.Serializable & AbstractCtConvertServiceArgs$;
            interface AbstractCtConvertServiceArgs extends AbstractCtConvertServiceArgs_T {
            }
            interface CtDrawArgs_S {
            }
            type CtDrawArgs_ST = AbstractCtConvertServiceArgs_S & CtDrawArgs_S;
            interface CtDrawArgs_C extends CtDrawArgs_ST {
                /**
                 * 空参数构造函数：用于反序列化
                 */
                new():CtDrawArgs;
                /**
                 * 构造函数
                 * @param sourceEntityNumber 源单主实体编码
                 * @param targetEntityNumber 目标单主实体编码
                 * @param ruleId 规则内码
                 * @param selectedRows 所选源单行集合
                 * @param targetPageId 目标单界面PageId
                 */
                new(sourceEntityNumber:string,targetEntityNumber:string,ruleId:string,selectedRows:$.java.util.List,targetPageId:string):CtDrawArgs;
            }
            interface CtDrawArgs$ {
                /**
                 * 设置目标单界面PageId
                 * @param targetPageId 目标单界面PageId
                 */
                setTargetPageId(targetPageId:string):void;
                /**
                 * 覆盖式选单：选单前，清除指定的单据体行
                 * @return
                 */
                getClearEntrys():$.java.util.List;
                /**
                 * 设置需要清除的单据体行
                 * @param clearEntrys 单据体行
                 */
                setClearEntrys(clearEntrys:$.java.util.List):void;
                /**
                 * 源单行
                 * @return
                 */
                getSelectedRows():$.java.util.List;
                /**
                 * 目标单界面PageId
                 * @return
                 * @remark:
                 * 选单操作是在目标单，新增界面上进行的，需要把源单数据，填充到当前界面上
                 * 因此，需要传入当前目标单新增界面的数据包；
                 * 传入PageId后，可以据此到缓存中，获取到界面数据包
                 */
                getTargetPageId():string;
                /**
                 * 基于目标单PageId，到缓存中，读取目标单数据包
                 *
                 * @return
                 */
                getTargetDataEntity(refProvider:$.kd.bos.entity.datamodel.IRefrencedataProvider):$.kd.bos.dataentity.entity.DynamicObject;
            }
            type CtDrawArgs_T = AbstractCtConvertServiceArgs & CtDrawArgs$;
            interface CtDrawArgs extends CtDrawArgs_T {
            }
            interface CtBFRow_S {
            }
            type CtBFRow_ST = $.java.io.Serializable & CtBFRow_S;
            interface CtBFRow_C extends CtBFRow_ST {
                new():CtBFRow;
            }
            interface CtBFRow$ {
                /**
                 * 源单行
                 * @return
                 */
                getSId():CtBFRowId;
                /**
                 * 设置目标单行
                 * @param id 目标单行id
                 */
                setId(id:CtBFRowId):void;
                /**
                 * 目标单行
                 * @return
                 */
                getId():CtBFRowId;
                /**
                 * 设置源单行
                 * @param sid 源单行id
                 */
                setSId(sid:CtBFRowId):void;
            }
            type CtBFRow_T = $.java.io.Serializable & CtBFRow$;
            interface CtBFRow extends CtBFRow_T {
            }
            interface CtBFRowLinkUpNode_S {
            }
            type CtBFRowLinkUpNode_ST = $.java.io.Serializable & CtBFRowLinkUpNode_S;
            interface CtBFRowLinkUpNode_C extends CtBFRowLinkUpNode_ST {
                new():CtBFRowLinkUpNode;
                /**
                 * 构造函数
                 * @param rowId
                 */
                new(rowId:CtBFRowId):CtBFRowLinkUpNode;
            }
            interface CtBFRowLinkUpNode$ {
                /**
                 * 在本节点的来源中，搜索指定源单节点
                 *
                 * @param sMainTableId 源单主表的表格编码
                 * @return
                 */
                findSourceNodes(sMainTableId:long):$.java.util.List;
                /**
                 * 设置来源节点
                 * @param sNodes 来源节点
                 */
                setSNodes(sNodes:$.java.util.Map):void;
                /**
                 * 设置本节点对应的实体行
                 * @param rowId 本节点对应的实体行
                 */
                setRowId(rowId:CtBFRowId):void;
                /**
                 * 获取全部上游节点，包括直级上游、间接上游
                 *
                 * @return
                 */
                findAllSourceNodes():$.java.util.List;
                /**
                 * 来源节点
                 * @return
                 * @remark
                 * 通常只有一个源头，如果有行合并，则会有多个源头；
                 * 如有多个源头，反写时，就需要按照比例分配反写量
                 */
                getSNodes():$.java.util.Map;
                /**
                 * 本节点对应的实体行
                 */
                getRowId():CtBFRowId;
            }
            type CtBFRowLinkUpNode_T = $.java.io.Serializable & CtBFRowLinkUpNode$;
            interface CtBFRowLinkUpNode extends CtBFRowLinkUpNode_T {
            }
            interface CtBFTable_S {
            }
            type CtBFTable_ST = $.java.io.Serializable & CtBFTable_S;
            interface CtBFTable_C extends CtBFTable_ST {
                /**
                 * 构造函数
                 * @param mainTableId 单据主表的表格编码
                 * @param billId 单据内码
                 * @param tableId 表格编码
                 * @param entryId 实体行内码
                 */
                new(tenantId:string,accountId:string,mainEntityKey:string):CtBFTable;
            }
            interface CtBFTable$ {
                setHashcode(hashcode:number):void;
                getHashcode():number;
                getAccountId():string;
                getTenantId():string;
                getMainEntityKey():string;
                setAccountId(accountId:string):void;
                setTenantId(tenantId:string):void;
                setMainEntityKey(mainEntityKey:string):void;
            }
            type CtBFTable_T = $.java.io.Serializable & CtBFTable$;
            interface CtBFTable extends CtBFTable_T {
            }
            interface CtBFRowId_S {
            }
            type CtBFRowId_ST = $.java.io.Serializable & CtBFRowId_S;
            interface CtBFRowId_C extends CtBFRowId_ST {
                /**
                 * 构造函数
                 * @param mainTableId 单据主表的表格编码
                 * @param billId 单据内码
                 * @param tableId 表格编码
                 * @param entryId 实体行内码
                 */
                new(tenantId:string,accountId:string,mainTableId:long,billId:long,tableId:long,entryId:long):CtBFRowId;
            }
            interface CtBFRowId$ {
                /**
                 * 设置表格编码
                 * @param tableId 表格编码
                 */
                setTableId(tableId:long):void;
                /**
                 * 租户
                 */
                getTenantId():string;
                /**
                 * 主实体名称
                 */
                getMainEntityName():string;
                /**
                 * 同步模型
                 */
                getSyncModel():string;
                /**
                 * 表格编码：每个单据的每个实体，都有个唯一的表格编码
                 */
                getTableId():long;
                /**
                 * 哈希码
                 */
                setHashcode(hashcode:number):void;
                /**
                 * 数据中心
                 */
                getAccountId():string;
                /**
                 * 主实体标识
                 */
                getMainEntityKey():string;
                /**
                 * 实体标识
                 */
                setEntityKey(entityKey:string):void;
                /**
                 * 单据主表的表格编码：用于明确单据类型
                 * @return
                 */
                getMainTableId():long;
                /**
                 * 数据中心
                 */
                setAccountId(accountId:string):void;
                /**
                 * 主实体标识
                 */
                setMainEntityKey(mainEntityKey:string):void;
                /**
                 * 单据内码
                 * @return
                 * @remark
                 * 冗余的数据：
                 * 从实体行内码，也能追查到单据内码，但是比较麻烦，在这个对象中，直接存下单据内码，后续处理比较方便
                 */
                getBillId():long;
                /**
                 * 设置单据内码
                 * @param billId 单据内码
                 */
                setBillId(billId:long):void;
                /**
                 * 设置实体行内码
                 * @param entryId 实体行内码
                 */
                setEntryId(entryId:long):void;
                /**
                 * 主实体名称
                 */
                setMainEntityName(mainEntityName:string):void;
                /**
                 * 实体行内码
                 * @return
                 */
                getEntryId():long;
                /**
                 * 同步模型
                 */
                setSyncModel(syncModel:string):void;
                /**
                 * 哈希码
                 */
                getHashcode():number;
                /**
                 * 设置单据主表的表格编码
                 * @param mainTableId 单据主表的表格编码
                 */
                setMainTableId(mainTableId:long):void;
                /**
                 * 租户
                 */
                setTenantId(tenantId:string):void;
                /**
                 * 实体标识
                 */
                getEntityKey():string;
            }
            type CtBFRowId_T = $.java.io.Serializable & CtBFRowId$;
            interface CtBFRowId extends CtBFRowId_T {
            }
            interface CtBFEntryTable_S {
            }
            type CtBFEntryTable_ST = $.java.io.Serializable & CtBFEntryTable_S;
            interface CtBFEntryTable_C extends CtBFEntryTable_ST {
                /**
                 * 构造函数
                 * @param mainTableId 单据主表的表格编码
                 * @param billId 单据内码
                 * @param tableId 表格编码
                 * @param entryId 实体行内码
                 */
                new(tenantId:string,accountId:string,mainEntityKey:string,entryKey:string):CtBFEntryTable;
            }
            interface CtBFEntryTable$ {
                setEntryKey(entryKey:string):void;
                setAccountId(accountId:string):void;
                setMainEntityKey(mainEntityKey:string):void;
                setHashcode(hashcode:number):void;
                getAccountId():string;
                getHashcode():number;
                getTenantId():string;
                setTenantId(tenantId:string):void;
                getEntryKey():string;
                getMainEntityKey():string;
            }
            type CtBFEntryTable_T = $.java.io.Serializable & CtBFEntryTable$;
            interface CtBFEntryTable extends CtBFEntryTable_T {
            }
            interface CtWriteBackRuleElement_S {
            }
            interface CtWriteBackRuleElement_C extends CtWriteBackRuleElement_S {
                /**
                 * 默认构造函数：给属性设置默认值
                 */
                new():CtWriteBackRuleElement;
            }
            interface CtWriteBackRuleElement$ {
                /**
                 * 最近一次检查版本时间
                 * @return
                 */
                getCheckVersionTimeMillis():long;
                getExcessTrue():string;
                /**
                 * 达成关闭条件后，源单行关闭状态值
                 * @param entryCloseFieldSuccesStatus
                 */
                setEntryCloseFieldSuccesStatus(entryCloseFieldSuccesStatus:string):void;
                setExcessTrue(excessSelectTrue:string):void;
                /**
                 * 超额检查公式
                 * @return
                 */
                getExcessCheckConditon():CtCRCondition;
                /**
                 * 达成整单关闭条件后，源单关闭状态值
                 * @param billCloseFieldSuccesStatus
                 */
                setBillCloseFieldSuccesStatus(billCloseFieldSuccesStatus:string):void;
                /**
                 * 回滚反写后，恢复的源单行关闭状态值
                 * @param entryCloseFieldFailStatus
                 */
                setEntryCloseFieldFailStatus(entryCloseFieldFailStatus:string):void;
                /**
                 * 超额检查公式
                 * @param excessCheckConditon
                 */
                setExcessCheckConditon(excessCheckConditon:CtCRCondition):void;
                setOp(op:string):void;
                setExcessCheck(excessCheckType:string):void;
                /**
                 * 源单整单关闭状态字段
                 * @return
                 */
                getBillCloseFieldKey():string;
                /**
                 * 运行时版本，格式：yyyy-MM-dd hh:mm:ss
                 * @return
                 */
                getCacheVersion():string;
                /**
                 * 最近一次检查版本时间
                 * @param checkVersionTimeMillis
                 */
                setCheckVersionTimeMillis(checkVersionTimeMillis:long):void;
                setOriVersion(oriVersion:long):void;
                /**
                 * 唯一标识：自动产生；对外号称ruleId
                 * @return
                 */
                getId():string;
                setCustStatus(custStatus:string):void;
                getExcessFalse():string;
                /**
                 * 源单行关闭状态字段
                 * @return
                 */
                getEntryCloseFieldKey():string;
                /**
                 * 回滚反写后，恢复的源单关闭状态值
                 * @return
                 */
                getBillCloseFieldFailStatus():string;
                /**
                 * 源单整单关闭状态字段
                 * @param billCloseFieldKey
                 */
                setBillCloseFieldKey(billCloseFieldKey:string):void;
                /**
                 * 业务规则：在反写完毕后，对源单其他字段进行同步刷新
                 *
                 * @return
                 */
                getBizRules():$.java.util.List;
                /**
                 * 源头单据
                 * @return
                 */
                getSourceEntityNumber():string;
                /**
                 * 回滚反写后，恢复的源单行关闭状态值
                 * @return
                 */
                getEntryCloseFieldFailStatus():string;
                /**
                 * 条件为假选择的超额控制模式
                 * @param excessSelectFalse
                 */
                setExcessSelectFalse(excessSelectFalse:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):void;
                getCloseType():string;
                /**
                 * 扩展反写规则的版本：系统在保存扩展规则时，自动更新
                 *
                 * @return
                 */
                getExtVersion():long;
                getDistribute():string;
                /**
                 * 扩展反写规则的版本
                 * @param extVersion
                 */
                setExtVersion(extVersion:long):void;
                /**
                 * 超额模式选择条件
                 * @return
                 */
                getExcessTypeSelectCondition():CtCRCondition;
                /**
                 * 用户调整的状态：0 = 草稿；1 = 启用；2 = 禁用
                 * @return
                 * @remark
                 * 用户状态的存取：
                 * 1. 使用单独的物理表格，存储用户状态 t_botp_writeBackRule_S.fcuststatus；
                 * 2. 读取规则元数据插件WriteBackRuleMetaDaoPlugin，使用物理字段中状态值，替换本对象从xml中读取的状态值；
                 * 3. 存储规则时，在元数据插件中，把本对象中的状态，同步更新到用户状态表格中；
                 * 4. 加载运行时反写规则时，WriteBackRuleMetaDaoPlugin插件，去掉已禁用的扩展；
                 * 5. 打包安装规则时，不打包用户状态字段值，避免覆盖现场用户设置的状态
                 */
                getCustStatus():string;
                /**
                 * 下游单据
                 * @return
                 */
                getTargetEntityNumber():string;
                setSysStatus(sysStatus:string):void;
                /**
                 * 合并后反写超量分配方式：TopDown = 0, Weight = 1
                 * @param distributeType
                 */
                setDistributeType(distributeType:kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType):void;
                /**
                 * 源头单据
                 * @param sourceEntityNumber
                 */
                setSourceEntityNumber(sourceEntityNumber:string):void;
                /**
                 * 超额检查模式：StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
                 * @return
                 */
                getExcessCheckType():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                /**
                 * 条件为真时选择的超额控制模式
                 * @return
                 */
                getExcessSelectTrue():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                /**
                 * 超额模式选择条件
                 * @param excessTypeSelectCondition
                 */
                setExcessTypeSelectCondition(excessTypeSelectCondition:CtCRCondition):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param checkResult
                 * @return
                 */
                check(parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):boolean;
                /**
                 * 执行反写的操作；本属性专用于序列化
                 * @return
                 */
                getOp():string;
                /**
                 * 源单行关闭条件
                 * @param closeCheckCondition
                 */
                setCloseCheckCondition(closeCheckCondition:CtCRCondition):void;
                /**
                 * 反写公式集合
                 * @return
                 */
                getFormulas():$.java.util.List;
                /**
                 * 源单整体关闭方式：AllRowsClosed(0),OneRowClosed(1);
                 * @param billCloseType
                 */
                setBillCloseType(billCloseType:kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType):void;
                /**
                 * 回滚反写后，恢复的源单关闭状态值
                 * @param billCloseFieldFailStatus
                 */
                setBillCloseFieldFailStatus(billCloseFieldFailStatus:string):void;
                /**
                 * 超额检查模式：StrictControl(0),CanExcessOneTime(1),CanExcellAlways(2),SelectByFormula(3)
                 * @param excessCheckType
                 */
                setExcessCheckType(excessCheckType:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):void;
                /**
                 * 下游单据
                 * @param targetEntityNumber
                 */
                setTargetEntityNumber(targetEntityNumber:string):void;
                /**
                 * 合并后反写超量分配方式：TopDown = 0, Weight = 1
                 * @return
                 */
                getDistributeType():kd.bos.entity.ctbotp.plugin.tracker.CtDistributeType;
                /**
                 * 运行时版本，格式：yyyy-MM-dd hh:mm:ss
                 * @param cacheVersion
                 */
                setCacheVersion(cacheVersion:string):void;
                /**
                 * 超额提示信息
                 * @return
                 */
                getExcessCheckMessage():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 源单行关闭状态字段
                 * @param entryCloseFieldKey
                 */
                setEntryCloseFieldKey(entryCloseFieldKey:string):void;
                setId(id:string):void;
                setCloseType(billCloseType:string):void;
                /**
                 * 出厂时的状态：0 = 正常；1 = 禁用；出厂时的禁用状态最优先
                 * @return
                 * @remark
                 * 系统出厂状态的存取：
                 * 1. 通过物理表格字段存储系统出厂状态，忽略XML中的值及其差量
                 * 2. 暂时不提供用户修改出厂状态的入口（只能预插SQL语句更改），因此，忽略掉用户自行扩展的规则状态，不考虑差量化
                 * 3. 取数时，使用规则对应的出厂状态值，直接替换XML中的值
                 * 4. 存储时，把规则的出厂状态值，存回字段
                 * 5. 上述存取功能，通过DesignWriteBackRuleMeta实体对象实现
                 */
                getSysStatus():string;
                /**
                 * 源单行关闭条件
                 * @return
                 */
                getCloseCheckCondition():CtCRCondition;
                /**
                 * 源单整体关闭方式：AllRowsClosed(0),OneRowClosed(1);
                 * @return
                 */
                getBillCloseType():kd.bos.entity.ctbotp.plugin.tracker.CtBillCloseType;
                /**
                 * 执行反写的操作：Save = 0, Audit = 1
                 * @return
                 */
                getOpType():CtWriteBackOpType;
                /**
                 * 达成整单关闭条件后，源单关闭状态值
                 * @return
                 */
                getBillCloseFieldSuccesStatus():string;
                /**
                 * 超额提示信息
                 * @param excessCheckMessage
                 */
                setExcessCheckMessage(excessCheckMessage:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 判断反写规则是否正常启用
                 * @return
                 */
                isNormual():boolean;
                getExcessCheck():string;
                /**
                 * 规则的名称
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 原生反写规则的版本：系统自动产生，每次保存时，都自动更新；
                 * @return
                 * @remark
                 *
                 * 单据保存执行反写时，会把当时使用的反写规则，压入规则版本库，以作为后续冲销数据依据；
                 * 产生的反写快照，记录的是反写规则版本，而不是反写规则标识；
                 *
                 * 此属性值，在原生的规则保存时更新；
                 * 与元数据对象中的时间版本FVersion，不是一回事
                 */
                getOriVersion():long;
                setDistribute(distributeType:string):void;
                /**
                 * 条件为真时选择的超额控制模式
                 * @param excessSelectTrue
                 */
                setExcessSelectTrue(excessSelectTrue:kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType):void;
                setExcessFalse(excessSelectFalse:string):void;
                /**
                 * 规则的名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 达成关闭条件后，源单行关闭状态值
                 * @return
                 */
                getEntryCloseFieldSuccesStatus():string;
                /**
                 * 条件为假选择的超额控制模式
                 * @return
                 */
                getExcessSelectFalse():kd.bos.entity.ctbotp.plugin.tracker.CtExcessCheckType;
                /**
                 * 执行反写的操作：Save = 0, Audit = 1
                 * @param opType
                 */
                setOpType(opType:CtWriteBackOpType):void;
            }
            type CtWriteBackRuleElement_T = CtWriteBackRuleElement$;
            interface CtWriteBackRuleElement extends CtWriteBackRuleElement_T {
            }
            interface CtWriteBackBizRule_S {
            }
            interface CtWriteBackBizRule_C extends CtWriteBackBizRule_S {
                new():CtWriteBackBizRule;
            }
            interface CtWriteBackBizRule$ {
                /**
                 * 条件失败时执行的业务规则
                 * @param bizRuleFalse
                 */
                setBizRuleFalse(bizRuleFalse:CtCRBizRuleElement):void;
                /**
                 * 检查配置是否合理
                 *
                 * @param srcMainType
                 * @param srcEntityKey
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(srcMainType:$.kd.bos.entity.MainEntityType,srcEntityKey:string,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 前置条件
                 * @return
                 */
                getPreCondition():CtCRCondition;
                /**
                 * 执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 条件成立时执行的业务规则
                 * @return
                 */
                getBizRuleTrue():CtCRBizRuleElement;
                /**
                 * 是否启用
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 前置条件
                 * @param preCondition
                 */
                setPreCondition(preCondition:CtCRCondition):void;
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
                /**
                 * 条件失败时执行的业务规则
                 * @return
                 */
                getBizRuleFalse():CtCRBizRuleElement;
                /**
                 * 是否启用
                 * @return
                 */
                isEnabled():boolean;
                /**
                 * 唯一标识
                 * @param value
                 */
                setId(value:string):void;
                /**
                 * 执行顺序
                 * @return
                 */
                getSeq():number;
                /**
                 * 条件成立时执行的业务规则
                 * @param bizRuleTrue
                 */
                setBizRuleTrue(bizRuleTrue:CtCRBizRuleElement):void;
            }
            type CtWriteBackBizRule_T = CtWriteBackBizRule$;
            interface CtWriteBackBizRule extends CtWriteBackBizRule_T {
            }
            interface CtOpInfo_S {
            }
            type CtOpInfo_ST = $.java.io.Serializable & CtOpInfo_S;
            interface CtOpInfo_C extends CtOpInfo_ST {
                new():CtOpInfo;
            }
            interface CtOpInfo$ {
                setOpKey(opKey:string):void;
                getOpName():$.kd.bos.dataentity.entity.LocaleString;
                setOpType(opType:string):void;
                setOpDesc(opDesc:$.kd.bos.dataentity.entity.LocaleString):void;
                getOpType():string;
                setOpName(opName:$.kd.bos.dataentity.entity.LocaleString):void;
                getOpKey():string;
                getOpDesc():$.kd.bos.dataentity.entity.LocaleString;
            }
            type CtOpInfo_T = $.java.io.Serializable & CtOpInfo$;
            interface CtOpInfo extends CtOpInfo_T {
            }
            interface CtCRBizRuleElement_S {
            }
            interface CtCRBizRuleElement_C extends CtCRBizRuleElement_S {
                new():CtCRBizRuleElement;
            }
            interface CtCRBizRuleElement$ {
                /**
                 * 服务类型，据此寻找服务元模型，获取服务执行类，以及配置界面
                 * @return
                 */
                getActionId():string;
                /**
                 * 服务配置参数：各种具体服务的配置参数，包括格式都是不同的；
                 * 这里并不关注这种差异，只是提供存储的载体，由服务执行类自行解析服务配置参数，实现功能
                 * @return
                 */
                getParameters():string;
                /**
                 * 服务执行类名
                 * @param runActionClass
                 */
                setRunActionClass(runActionClass:string):void;
                /**
                 * 服务描述，介绍服务的用途
                 * @return
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否启用
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 服务执行条件
                 * @param preCondition
                 */
                setPreCondition(preCondition:CtCRCondition):void;
                /**
                 * 服务执行条件
                 * @return
                 */
                getPreCondition():CtCRCondition;
                /**
                 * 服务类型
                 * @param actionId
                 */
                setActionId(actionId:string):void;
                /**
                 * 自动产生的唯一标识
                 * @param value
                 */
                setId(value:string):void;
                /**
                 * 服务执行类名，必须派生自CRBizRuleAction
                 * @return
                 */
                getRunActionClass():string;
                /**
                 * 检查配置是否合理
                 *
                 * @param mainType
                 * @param parentPoint
                 * @param checkResult
                 * @return
                 */
                check(mainType:$.kd.bos.entity.MainEntityType,parentPoint:$.kd.bos.entity.botp.CheckPoint,checkResult:$.kd.bos.entity.botp.CheckResult):void;
                /**
                 * 自动产生的唯一标识，据此与扩展对象，进行差量化对比定位
                 * @return
                 */
                getId():string;
                /**
                 * 是否启用
                 * @return
                 */
                isEnabled():boolean;
                /**
                 * 执行顺序
                 * @param seq
                 */
                setSeq(seq:number):void;
                /**
                 * 服务描述
                 * @param description
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 服务配置参数
                 * @param parameters
                 */
                setParameters(parameters:string):void;
                /**
                 * 执行顺序
                 * @return
                 */
                getSeq():number;
            }
            type CtCRBizRuleElement_T = CtCRBizRuleElement$;
            interface CtCRBizRuleElement extends CtCRBizRuleElement_T {
            }
            interface CtConvertConst_S {
                readonly ConvPageCacheKey_ConvertOperationResult_Simple:string;
                readonly ConvPageCacheKey_AttachmentPanel:string;
                readonly FOMR_CALL_SOURCE_TYPE_TRACK_UP:string;
                readonly BOTP_TRACK_SEARCH_ENTRY:string;
                readonly ConvPageCacheKey_NullBillnoBills:string;
                readonly RequireDataMutex:string;
                readonly TRACK_OPTION_ONLY_BILL:string;
                readonly Push_Target_Bill_FormId:string;
                readonly ConvExtDataKey_AttachmentMappingSourceRowIds:string;
                readonly DataMutex_ISSTRICT:string;
                readonly OutFormula:string;
                readonly Push_Target_Bills_MobFormId:string;
                readonly ConvExtDataKey_SourceRows:string;
                readonly FOMR_CALL_SOURCE_TYPE_DRAW:string;
                readonly BOTP_CHILDVIEW_FROM_CONVERTRESULTFORM:string;
                readonly FOMR_CALL_SOURCE_TYPE_TRACK_DOWN:string;
                readonly Push_Target_Bill_MobFormId:string;
                readonly DATAMUTEX_OPKEY_SAVE:string;
                readonly Push_Target_Bills_FormId:string;
                readonly ConvExtDataKey_IsNewEntity:string;
                readonly ConvPageCacheKey_ConvertOperationResult:string;
                readonly FirstRelationOrgId:string;
                readonly TRACK_OPTION_ONLY_DIRT:string;
                readonly TargetMainOrgId:string;
                readonly DATAMUTEX_OPKEY_SAVE_COVER:string;
                readonly BOTPTAG_OF_DATASOURCE:string;
                readonly ConvPageCacheKey_CurrBillIndex:string;
                readonly TRACK_SHOW_BILL_EDIT_STATUS:string;
                readonly ConvExtDataKey_SourceAttachmentPanelInfos:string;
                readonly TRACK_SHOW_BILL_CUST_PLUGIN:string;
                readonly ConvExtDataKey_SourceRowsGroupKey:string;
                readonly FOMR_CALL_SOURCE_TYPE_PUSH:string;
                readonly FOMR_CALL_SOURCE_TYPE_TRACK:string;
                readonly HasRight:string;
                readonly PushByBill:string;
                readonly DataMutex_OPKEY_CONVERT:string;
            }
            interface CtConvertConst_C extends CtConvertConst_S {
                new():CtConvertConst;
            }
            interface CtConvertConst$ {
            }
            type CtConvertConst_T = CtConvertConst$;
            interface CtConvertConst extends CtConvertConst_T {
            }
        }
        namespace kd.bos.entity.ctbotp.sync{
            interface SyncQueryArgs_S {
                create():SyncQueryArgs;
            }
            type SyncQueryArgs_ST = $.java.io.Serializable & SyncQueryArgs_S;
            interface SyncQueryArgs_C extends SyncQueryArgs_ST {
                new():SyncQueryArgs;
            }
            interface SyncQueryArgs$ {
                setSyncType(arg0:string):void;
                setRootJobId(arg0:long):void;
                getsAccountId():string;
                addSEntityKey(arg0:string):this;
                addTAccountId(arg0:string):this;
                getsEntityKey():string;
                getRootJobId():long;
                settEntityKey(arg0:string):void;
                getsTenantCode():string;
                setsTenantCode(arg0:string):void;
                addTEntityKey(arg0:string):this;
                settTenantCode(arg0:string):void;
                gettTenantCode():string;
                getsBillIds():$.java.util.List;
                gettEntityKey():string;
                setsAccountId(arg0:string):void;
                addSTenantCode(arg0:string):this;
                setsBillIds(arg0:$.java.util.List):void;
                gettAccountId():string;
                addSAccountId(arg0:string):this;
                setsEntityKey(arg0:string):void;
                addTTenantCode(arg0:string):this;
                addSBillIds(arg0:$.java.util.List):this;
                settAccountId(arg0:string):void;
                getSyncType():string;
            }
            type SyncQueryArgs_T = $.java.io.Serializable & SyncQueryArgs$;
            interface SyncQueryArgs extends SyncQueryArgs_T {
            }
        }
        namespace kd.bos.entity.datamodel{
            interface BasedataItem_S {
            }
            interface BasedataItem_C extends BasedataItem_S {
                /**
                 * 无参构造方法
                 */
                new():BasedataItem;
                /**
                 * 构造方法
                 *
                 * @param fieldKey 字段标识
                 * @param entityNumber 实体编码
                 * @param refBDType 基础资料实体类型
                 * @param searchKey 搜索字段标识
                 */
                new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,searchKey:string):BasedataItem;
                /**
                 * 构造方法
                 *
                 * @param fieldKey 字段标识
                 * @param entityNumber 实体编码
                 * @param refBDType 基础资料实体类型
                 * @param orgId 组织id
                 * @param searchKey 搜索字段标识
                 * @param searchValue 搜索字段值
                 */
                new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,orgId:long,searchKey:string,searchValue:string):BasedataItem;
                /**
                 * 构造方法
                 *
                 * @param fieldKey 字段标识
                 * @param entityNumber 实体编码
                 * @param refBDType 基础资料实体类型
                 * @param orgId 组织id
                 * @param searchKey 搜索字段标识
                 * @param searchValue 搜索字段值
                 * @param bizTag 业务标签
                 */
                new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,orgId:long,searchKey:string,searchValue:string,bizTag:string):BasedataItem;
                /**
                 * 构造方法
                 *
                 * @param fieldKey 字段标识
                 * @param entityNumber 实体编码
                 * @param refBDType 基础资料实体类型
                 * @param orgId 组织id
                 * @param searchKey 搜索字段标识
                 * @param searchValue 搜索字段值
                 * @param bizTag 业务标签
                 * @param versionControl 版本控制字段
                 */
                new(fieldKey:string,entityNumber:string,refBDType:BasedataEntityType,orgId:long,searchKey:string,searchValue:string,bizTag:string,versionControl:string):BasedataItem;
            }
            interface BasedataItem$ {
                /**
                 * 搜索字段名
                 *
                 * @return
                 */
                getSearchKey():string;
                /**
                 * 搜索字段值
                 *
                 * @return
                 */
                getSearchValue():string;
                /**
                 * 获取业务标签
                 *
                 * @return 业务标签
                 */
                getBizTag():string;
                /**
                 * 设置搜索字段值
                 *
                 * @param searchValue 搜索字段值
                 */
                setSearchValue(searchValue:string):void;
                /**
                 * 设置业务标签，系统默认不设置
                 *
                 * @param bizTag 业务标签
                 */
                setBizTag(bizTag:string):void;
                /**
                 * 基础资料类型，多类别基础资料可能会
                 *
                 * @return
                 */
                getEntityNumber():string;
                /**
                 * 设置基础资料版本控制字段
                 *
                 * @param versionControl 版本控制字段
                 */
                setVersionControl(versionControl:string):void;
                /**
                 * 引用的基础资料模型
                 *
                 * @return
                 */
                getRefBDType():BasedataEntityType;
                /**
                 * 获取基础资料版本控制字段
                 *
                 * @return 版本控制字段
                 */
                getVersionControl():string;
                /**
                 * 设置搜索字段标识
                 *
                 * @param searchKey 搜索字段标识
                 */
                setSearchKey(searchKey:string):void;
                /**
                 * 获取组织id
                 *
                 * @param orgId 组织id
                 */
                setOrgId(orgId:long):void;
                /**
                 * 主组织
                 *
                 * @return
                 */
                getOrgId():long;
                /**
                 * 设置基础资料实体类型对象
                 *
                 * @param refBDType 基础资料实体
                 */
                setRefBDType(refBDType:BasedataEntityType):void;
                /**
                 * 基础资料字段：不同的字段可能会有不同的过滤条件，需要分开过滤取数
                 *
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 设置字段标识
                 *
                 * @param fieldKey 字段标识
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 设置基础资料实体编码
                 *
                 * @param entityNumber 实体编码
                 */
                setEntityNumber(entityNumber:string):void;
            }
            type BasedataItem_T = BasedataItem$;
            interface BasedataItem extends BasedataItem_T {
            }
            interface RowDataEntity_S {
            }
            interface RowDataEntity_C extends RowDataEntity_S {
                /**
                 * 构造函数
                 *
                 * @param rowIndex 行索引
                 * @param dataEntity 行数据
                 */
                new(rowIndex:number,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):RowDataEntity;
            }
            interface RowDataEntity$ {
                /**
                 * 获取数据包
                 *
                 * @return 数据包
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取行索引
                 *
                 * @return 行索引
                 */
                getRowIndex():number;
                /**
                 * 获取父行索引
                 *
                 * @return 父行索引
                 */
                getParentRowIndex():number;
                /**
                 * 更新数据包
                 * @param dataEntity
                 */
                setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
            }
            type RowDataEntity_T = RowDataEntity$;
            interface RowDataEntity extends RowDataEntity_T {
            }
            interface NumberPrecision_S {
            }
            type NumberPrecision_ST = $.java.io.Serializable & NumberPrecision_S;
            interface NumberPrecision_C extends NumberPrecision_ST {
                /**
                 * 空构造方法
                 */
                new():NumberPrecision;
                /**
                 * 构造方法
                 *
                 * @param result 汇总结果
                 */
                new(result:$.java.math.BigDecimal):NumberPrecision;
                /**
                 * 构造方法
                 *
                 * @param formatObject 格式化参数对象
                 */
                new(formatObject:kd.bos.entity.format.FormatObject):NumberPrecision;
                /**
                 * 构造方法
                 *
                 * @param precision 精度
                 * @param sign 货币符号
                 * @param isShowSign 是否显示货币符号
                 * @param result 汇总结果
                 */
                new(precision:number,sign:string,isShowSign:boolean,result:$.java.math.BigDecimal):NumberPrecision;
                /**
                 * 构造方法
                 *
                 * @param precision 精度
                 * @param sign 货币符号
                 * @param isShowSign 是否显示货币符号
                 * @param result 汇总结果
                 * @param formatObject 格式化参数对象
                 */
                new(precision:number,sign:string,isShowSign:boolean,result:$.java.math.BigDecimal,formatObject:kd.bos.entity.format.FormatObject):NumberPrecision;
            }
            interface NumberPrecision$ {
                /**
                 * 设置汇总结果
                 *
                 * @param result 汇总结果
                 */
                setResult(result:$.java.math.BigDecimal):void;
                /**
                 * 获取货币符号
                 *
                 * @return 货币符号
                 */
                getSign():string;
                /**
                 * 是否显示货币符号
                 *
                 * @return 是否显示货币符号
                 */
                isShowSign():boolean;
                setGroupingUsed(isGroupingUsed:boolean):void;
                /**
                 * 设置精度
                 *
                 * @param precision 精度
                 */
                setPrecision(precision:number):void;
                /**
                 * 获取格式化参数对象
                 *
                 * @return 格式化参数对象
                 */
                getFormatObject():kd.bos.entity.format.FormatObject;
                isStripTrailingZeros():boolean;
                /**
                 * @return 汇总结果
                 */
                getResult():$.java.math.BigDecimal;
                /**
                 * 设置货币符号
                 *
                 * @param sign 货币符号
                 */
                setSign(sign:string):void;
                isGroupingUsed():boolean;
                /**
                 * 追加汇总结果
                 *
                 * @param result 汇总结果
                 */
                addResult(result:$.java.math.BigDecimal):void;
                /**
                 * 设置是否显示货币符号
                 *
                 * @param isShowSign 是否显示货币符号
                 */
                setShowSign(isShowSign:boolean):void;
                setStripTrailingZeros(stripTrailingZeros:boolean):void;
                /**
                 * 初始化参数，例如sign（货币符号）、isShowSign（是否显示货币符号）等
                 *
                 * @param map 参数字典
                 */
                initFromMap(map:$.java.util.Map):void;
                /**
                 * 设置格式化参数对象
                 *
                 * @param formatObject 格式化参数对象
                 */
                setFormatObject(formatObject:kd.bos.entity.format.FormatObject):void;
                /**
                 * 获取精度
                 *
                 * @return 精度
                 */
                getPrecision():number;
                /**
                 * 获取格式化数据结果
                 *
                 * @return 格式化数据
                 */
                getFmtString():string;
            }
            type NumberPrecision_T = $.java.io.Serializable & NumberPrecision$;
            interface NumberPrecision extends NumberPrecision_T {
            }
            interface ListField_S {
            }
            type ListField_ST = $.java.io.Serializable & ListField_S;
            interface ListField_C extends ListField_ST {
                /**
                 * 构造函数
                 */
                new():ListField;
                /**
                 * 构造函数，复制传入的列
                 *
                 * @param listField 源字段
                 */
                new(listField:ListField):ListField;
                /**
                 * 构造函数
                 *
                 * @param key 列标识
                 */
                new(key:string):ListField;
            }
            interface ListField$ {
                /**
                 * 设置复选框不勾选时列显示内容
                 *
                 * @param xTitle 复选框不勾选显示内容
                 */
                setXTitle(xTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 返回复选框不勾选时列显示内容
                 *
                 * @return 复选框不勾选显示内容
                 */
                getXTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 返回列字段所在的实体名
                 *
                 * @return 实体名
                 */
                getEntityName():string;
                /**
                 * 设置复选框显示风格
                 *
                 * @param checkBoxItemShowStyle 复选框风格
                 */
                setCheckBoxItemShowStyle(checkBoxItemShowStyle:number):void;
                /**
                 * 设置列头标题
                 *
                 * @param localeString 列头标题
                 */
                setHeader(localeString:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取本列绑定的原始字段属性对象
                 *
                 * @return 列对应的原始属性对象
                 */
                getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置本列关联的完整字段标识，带单据体分录前缀
                 *
                 * @param fieldName 字段名，ORM使用，加分录
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取本列是否为选择列表的返回列
                 *
                 * @return 是否F7返回字段
                 */
                isLookup():boolean;
                /**
                 * 返回是否可见
                 *
                 * @return 不可见返回false
                 */
                isVisible():boolean;
                /**
                 * 设置本列的标识
                 *
                 * @param key 字段标识
                 */
                setKey(key:string):void;
                /**
                 * 获取列格式化掩码
                 *
                 * @return 格式化掩码
                 */
                getMask():string;
                /**
                 * 构建列格式化处理类
                 *
                 * @param dt      单据主实体
                 * @param mainOrg 主组织字段标识
                 * @param forQing 使用用于轻分析
                 * @return
                 */
                getColumnDesc(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,mainOrg:string,forQing:boolean):kd.bos.entity.list.column.AbstractColumnDesc;
                /**
                 * 设置列格式化掩码
                 *
                 * @param mask 格式化掩码
                 */
                setMask(mask:string):void;
                /**
                 * 获取本列关联的字段
                 *
                 * @return 字段标识
                 */
                getListFieldKey():string;
                /**
                 * 返回本列是否是序号字段
                 *
                 * @return 返回true是序号字段
                 */
                isSeq():boolean;
                /**
                 * 获取下拉列表列显示风格
                 *
                 * @return 下拉列表显示类型：文字，图片
                 */
                getShowStyle():number;
                /**
                 * 是否是 当前审批人字段列、动态文本列表字段、凭证号列表字段 这几种类型的列
                 *
                 * @return 是否是审批人、动态文本、凭证号列表字段
                 */
                isComplex():boolean;
                /**
                 * 设置是否为列表业务字段
                 *
                 * @param listBusinessField 不是列表业务字段为false
                 */
                setListBusinessField(listBusinessField:boolean):void;
                /**
                 * 获取列格式化字符
                 *
                 * @return 格式化字符
                 */
                getDisplayFormatString():string;
                /**
                 * 移动列表字段不显示尾零
                 *
                 * @return 移动列表字段是否不显示尾零
                 */
                isMobNoDisplayScaleZero():boolean;
                /**
                 * 获取列排序类型
                 *
                 * @return 排序类型：升序，降序，不排序
                 */
                getSortType():kd.bos.entity.filter.SortType;
                /**
                 * 获取列头标题
                 *
                 * @return 列头标题
                 */
                getHeader():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 返回复选框显示风格
                 *
                 * @return 复选框显示风格
                 */
                getCheckBoxItemShowStyle():number;
                /**
                 * 返回为零是否显示
                 *
                 * @return 返回true即为零显示
                 */
                isZeroShow():boolean;
                /**
                 * 返回汇总类型: 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 *
                 * @return 汇总类型
                 */
                getSummary():number;
                /**
                 * 设置是否为设计器设计的列
                 *
                 * @param isClient 设置为true为设计器设计的列
                 */
                setClient(isClient:boolean):void;
                /**
                 * 设置本列是否是序号字段
                 *
                 * @param isSeq 设置为true是序号字段
                 */
                setSeq(isSeq:boolean):void;
                /**
                 * 获取本列的标识
                 *
                 * @return 字段标识
                 */
                getKey():string;
                /**
                 * 设置列排序类型
                 *
                 * @param sortType 排序类型：升序，降序，不排序
                 */
                setSortType(sortType:kd.bos.entity.filter.SortType):void;
                /**
                 * 设置列字段所在的实体名
                 *
                 * @param entityName 实体名
                 */
                setEntityName(entityName:string):void;
                /**
                 * 设置本列是否为选择列表的返回列
                 *
                 * @param isLookup 是否F7返回字段
                 */
                setLookup(isLookup:boolean):void;
                /**
                 * 设置本列关联的字段
                 *
                 * @param listFieldKey 字段标识
                 */
                setListFieldKey(listFieldKey:string):void;
                /**
                 * 给本列绑定原始字段属性对象
                 *
                 * @param fieldProp 列对应的原始属性对象
                 */
                setSrcFieldProp(fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 获取本列在列表取数模型中的属性对象
                 *
                 * @return 列对应的结果集属性对象
                 */
                getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取本列关联的完整字段标识，带单据体分录前缀
                 *
                 * @return 字段名，ORM使用，加分录
                 */
                getFieldName():string;
                /**
                 * 设置为零是否显示
                 *
                 * @param zeroShow 设置false则值为零显示空白
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 设置复选框勾选时列显示内容
                 *
                 * @param oTitle 复选框勾选显示内容
                 */
                setOTitle(oTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置汇总类型
                 *
                 * @param summary 汇总类型
                 */
                setSummary(summary:number):void;
                /**
                 * 设置下拉列表列显示风格
                 *
                 * @param showStyle 下拉列表显示类型：文字，图片
                 */
                setShowStyle(showStyle:number):void;
                /**
                 * 设置移动列表字段是否不显示尾零
                 *
                 * @param mobNoDisplayScaleZero 移动列表字段是否不显示尾零
                 */
                setMobNoDisplayScaleZero(mobNoDisplayScaleZero:boolean):void;
                /**
                 * 返回是否为设计器设计的列
                 *
                 * @return 返回true为设计器设计的列
                 */
                isClient():boolean;
                /**
                 * 设置本列的父控制列
                 *
                 * @param controlField 父列
                 */
                setControlField(controlField:ListField):void;
                /**
                 * 返回本列的父控制列
                 *
                 * @return 父列
                 */
                getControlField():this;
                /**
                 * 设置是否可见
                 *
                 * @param visible 不可见设置为false
                 */
                setVisible(visible:boolean):void;
                /**
                 * 返回复选框勾选时列显示内容
                 *
                 * @return 复选框勾选显示内容
                 */
                getOTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 返回是否列表业务字段
                 *
                 * @return 不是列表业务字段返回false
                 */
                isListBusinessField():boolean;
                /**
                 * 设置本列关联的列表取数模型属性对象
                 *
                 * @param fieldProp 列对应的结果集属性对象
                 */
                setFieldProp(fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 设置列格式化字符
                 *
                 * @param displayFormatString 格式化字符
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 获取列类型，用于前端
                 *
                 * @return 字段类型，给前端
                 */
                getColType():string;
                /**
                 * 设置列类型，用于前端
                 *
                 * @param colType 字段类型，给前端
                 */
                setColType(colType:string):void;
            }
            type ListField_T = $.java.io.Serializable & ListField$;
            interface ListField extends ListField_T {
            }
            interface IDataProvider_S {
            }
            interface IDataProvider_C extends IDataProvider_S {
            }
            interface IDataProvider$ {
                /**
                 * 动态实体类型、对象主键，获取动态实体对象集合
                 *
                 * @param dt       动态实体类型
                 * @param pkValues 主键值集合
                 * @return map集合
                 */
                loadReferenceDataBatch(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,pkValues:any[]):$.java.util.Map;
                /**
                 * 动态实体类型、过滤条件，获取动态实体对象集合
                 *
                 * @param dt       动态实体类型
                 * @param qFilters 过滤条件
                 * @return map集合
                 */
                loadReferenceDataBatch(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,qFilters:$.java.util.List):$.java.util.Map;
                /**
                 * 动态实体类型、对象主键，获取动态实体对象
                 *
                 * @param dt      动态实体类型
                 * @param pkValue 主键值
                 * @return map集合
                 */
                loadReferenceData(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,pkValue:any):$.kd.bos.dataentity.entity.DynamicObject;
            }
            type IDataProvider_T = IDataProvider$;
            interface IDataProvider extends IDataProvider_T {
            }
            interface IFilterModel_S {
            }
            interface IFilterModel_C extends IFilterModel_S {
            }
            interface IFilterModel$ {
                /**
                 * 删除共享方案用户数据，如果某个共享方案的用户数据为空，删除共享方案数据
                 *
                 * @param schemeid 过滤方案id
                 * @param errorMessage 错误信息
                 * @return 是否删除成功
                 */
                deleteShareUser(schemeid:string,errorMessage:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取常用过滤选中的基础资料和下拉列表值
                 *
                 * @return 常用过滤选中的基础资料和下拉列表值
                 */
                getSelectedValues():$.java.util.Map;
                /**
                 * @return 过滤数据解析与存储中间类
                 */
                getFilterObject():kd.bos.entity.filter.FilterObject;
                /**
                 * @return 常用过滤数据解析生成的过滤参数
                 */
                getCommonFilterParameter(fastFilterList:$.java.util.List):kd.bos.entity.filter.FilterParameter;
                /**
                 * @return 表单，所有用户的过滤方案列表
                 */
                getAllSchemeList():$.java.util.List;
                /**
                 * @return 过滤模型对应的实体编码
                 */
                getFormId():string;
                /**
                 * 设置过滤方案为默认方案
                 *
                 * @param isDefault 是否默认方案
                 * @param schemeId 过滤方案id
                 */
                setDefaultScheme(isDefault:boolean,schemeId:string):void;
                /**
                 * 设置过滤参数，是否开启或查询本地缓存
                 *
                 * @param filterModelContext 过滤上下文参数
                 */
                setFilterModelContext(filterModelContext:kd.bos.entity.filter.FilterModelContext):void;
                /**
                 * @return 快速过滤数据解析生成的过滤参数
                 */
                getFastFilterParameter(fastFilterList:$.java.util.List):kd.bos.entity.filter.FilterParameter;
                /**
                 * 修改F7方案
                 *
                 * @param SchemeId     方案标识
                 * @param isDefault    是否默认方案
                 * @param errorMessage 保存时的错误信息
                 * @return 是否保存成功
                 */
                updateF7Scheme?(SchemeId:string,isDefault:boolean,errorMessage:$.java.lang.StringBuilder):boolean;
                /**
                 * @return 当前表单当前用户的被共享过滤方案列表
                 */
                getAllSharedSchemeList():$.java.util.List;
                /**
                 * @return 当前表单当前用户的被共享过滤方案列表
                 */
                getSharedSchemeList():$.java.util.List;
                /**
                 * 获取字段排序参数
                 *
                 * @param orderByFilterList 排序过滤参数
                 * @return 字段排序参数
                 */
                getOrderByFilterParameter(orderByFilterList:$.java.util.List):kd.bos.entity.filter.OrderByParameter;
                /**
                 * @return 过滤对象
                 */
                getSortObject():kd.bos.entity.filter.SortObject;
                /**
                 * @return F7表单，当前用户的过滤方案列表
                 */
                getF7SchemeList?():$.java.util.List;
                /**
                 * 设置字段过滤比较符字典
                 *
                 * @param fieldCompareTypeMap 字段过滤比较符字典
                 */
                setFieldCompareTypeMap(fieldCompareTypeMap:$.java.util.Map):void;
                /**
                 * @return 当前表单当前用户的过滤方案列表
                 */
                getCurrenctUserSchemeList():$.java.util.List;
                /**
                 * 方案是否存在
                 *
                 * @param name 方案名称
                 * @return
                 */
                isExistsScheme(name:string):boolean;
                /**
                 * 保存方案
                 *
                 * @param filterScheme
                 *            方案数据
                 * @param errorMessage
                 *            保存时的错误信息
                 * @return 是否保存成功
                 */
                saveScheme(filterScheme:kd.bos.entity.filter.FilterScheme,errorMessage:$.java.lang.StringBuilder):boolean;
                /**
                 * @param sortObject 过滤对象
                 */
                setSortObject(sortObject:kd.bos.entity.filter.SortObject):void;
                /**
                 * @return F7, 当前表单当前用户的被共享过滤方案列表
                 */
                getF7SharedSchemeList?():$.java.util.List;
                /**
                 * @return 主业务组织过滤是否为不限
                 */
                isMainOrgNoLimit():boolean;
                /**
                 * @return 当前表单当前用户的过滤方案列表
                 */
                getSchemeList():$.java.util.List;
                /**
                 * @param formId
                 *            过滤模型对应的实体编码
                 */
                setFormId(formId:string):void;
                /**
                 * 修改方案
                 *
                 * @param SchemeId     方案标识
                 * @param isDefault    是否默认方案
                 * @param errorMessage 保存时的错误信息
                 * @return 是否保存成功
                 */
                updateScheme(SchemeId:string,isDefault:boolean,errorMessage:$.java.lang.StringBuilder):boolean;
                /**
                 * @return 是否包括使用状态
                 */
                isContainUsedStatus():boolean;
                /**
                 * 删除方案
                 *
                 * @param schemeid
                 *            方案标识
                 * @param errorMessage
                 *            保存时的错误信息
                 * @return 是否保存成功
                 */
                deleteScheme(schemeid:string,errorMessage:$.java.lang.StringBuilder):boolean;
                /**
                 * @return 是否包括单据状态
                 */
                isContainBillStatus():boolean;
                /**
                 * @return 过滤模型对应的实体
                 */
                getDataType():MainEntityType;
                /**
                 * 获取共享方案字典
                 *
                 * @param userId 用户id
                 * @param schemeIdList 方案id集合
                 * @return 共享方案字典，例如 {"方案id","是否默认方案"}
                 */
                getShareSchemeMap(userId:long,schemeIdList:$.java.util.List):$.java.util.Map;
                /**
                 * 插入共享方案表和共享用户表数据
                 *
                 * @param schemeId 方案id
                 * @param userId 用户id
                 */
                insertShareScheme4Fixed(schemeId:string,userId:long):void;
                updateAllScheme?(SchemeId:string,isDefault:boolean,errorMessage:$.java.lang.StringBuilder):boolean;
                /**
                 * 将方案过滤条件解析成qfilter
                 *
                 * @param schemeFilterList 方案过滤条件
                 * @param andFilter        二次过滤条件
                 * @return
                 */
                getSchemeFilterParameter(schemeFilterList:$.java.util.List,andFilter:$.java.util.List):kd.bos.entity.filter.FilterParameter;
                /**
                 * @return 是否包括主业务组织过滤
                 */
                isContainMainOrg():boolean;
                /**
                 * 获取共享方案字典
                 *
                 * @param schemeIdList 方案id集合
                 * @param userId 用户id
                 * @return 共享方案字典
                 */
                getShareSchemeByIdList(schemeIdList:$.java.util.List,userId:long):$.java.util.Map;
                /**
                 * 获取过滤方案
                 *
                 * @param schemeId 过滤方案id
                 * @return 过滤方案
                 */
                getScheme(schemeId:string):kd.bos.entity.filter.FilterScheme;
                /**
                 * 获取字段过滤比较符字典
                 *
                 * @return 字段过滤比较符字典
                 */
                getFieldCompareTypeMap():$.java.util.Map;
                /**
                 * 清除暂存的过滤条件
                 */
                clearScheme():void;
                /**
                 * @param dataType
                 *            过滤模型对应的实体
                 */
                setDataType(dataType:MainEntityType):void;
                /**
                 * 获取选中的主业务组织
                 *
                 * @return 选中的主业务组织
                 */
                getSelectedMainOrgIds():$.java.util.List;
                /**
                 * 根据过滤方案表方案id获取共享方案表的id
                 *
                 * @param schemeId 过滤方案id
                 * @return 共享方案id
                 */
                getSharedSchemeId(schemeId:string):long;
                /**
                 * 根据方案标识加载指定过滤方案
                 *
                 * @param schemeId
                 *            方案标识
                 * @return 指定方案
                 */
                load(schemeId:string):kd.bos.entity.filter.FilterScheme;
                /**
                 * @return 方案过滤数据解析生成的过滤参数
                 */
                getSchemeFilterParameter(schemeFilterList:$.java.util.List):kd.bos.entity.filter.FilterParameter;
                /**
                 * 加载默认方案
                 */
                loadInitDefaultScheme():void;
            }
            type IFilterModel_T = IFilterModel$;
            interface IFilterModel extends IFilterModel_T {
            }
            interface DefaultValueCalculator_S {
                getCurrentDateOrgTZ(orgValue:any,isDateTime:boolean,isDateTimeProp:boolean):Date;
            }
            interface DefaultValueCalculator_C extends DefaultValueCalculator_S {
                new():DefaultValueCalculator;
                new(model:IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowIndex:number):DefaultValueCalculator;
            }
            interface DefaultValueCalculator$ {
                /**
                 * 计算默认值，升级版，可以获取常量、变量、函数、公式等
                 *
                 * @param model
                 * @param dataEntity 字段当前行数据包
                 * @param property   字段
                 * @param defValue2  默认值配置
                 * @return
                 */
                getValue2(model:IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,property:$.kd.bos.dataentity.metadata.IDataEntityProperty,defValue2:kd.bos.entity.property.FieldDefValue):any;
                /**
                 * 计算默认值，基本版，只支持解析几个特定的变量值
                 *
                 * @param property 属性
                 * @param defVal 默认值
                 * @return 返回值
                 */
                getValue(property:$.kd.bos.dataentity.metadata.IDataEntityProperty,defVal:any):any;
            }
            type DefaultValueCalculator_T = DefaultValueCalculator$;
            interface DefaultValueCalculator extends DefaultValueCalculator_T {
            }
            interface IListModel_S {
            }
            type IListModel_ST = IListModelContext_S & IListModelListener_S & IListModel_S;
            interface IListModel_C extends IListModel_ST {
            }
            interface IListModel$ {
                /**
                 * 查询引出数据
                 *
                 * @param start
                 *            起始行
                 * @param limit
                 *            批数
                 */
                queryExportData(start:number,limit:number):void;
                /**
                 * 获取单据张数
                 *
                 * @return
                 */
                getBillDataCount():number;
                /**
                 * 轻分析数据读取接口
                 *
                 * @param start 开始行
                 * @param limit 行数
                 * @return
                 */
                getQingData(start:number,limit:number):$.java.util.Map;
                /**
                 * 查询最大条数+1的条数
                 *
                 * @return
                 */
                queryMaxCount():number;
                /**
                 * 获取列表一页数据
                 *
                 * @param start 开始行
                 * @param limit 行数
                 * @return
                 */
                getData(start:number,limit:number):$.java.util.Map;
                /**
                 * 查询真实条数
                 *
                 * @return
                 */
                getRealCount():number;
                /**
                 * 获取列表上下文参数，如应用id，页面id等
                 *
                 * @return 列表上下文参数
                 */
                getListModelContext():ListModelContext;
                /**
                 * 判断是否超过最大条数
                 *
                 * @return
                 */
                isExceedMaxCount():boolean;
            }
            type IListModel_T = IListModel$ & IListModelContext & IListModelListener;
            interface IListModel extends IListModel_T {
            }
            interface BillListConfig_S {
                readonly BillListConfigKey:string;
            }
            type BillListConfig_ST = $.java.io.Serializable & BillListConfig_S;
            interface BillListConfig_C extends BillListConfig_ST {
                new():BillListConfig;
            }
            interface BillListConfig$ {
                isOnlyPK4SelectedAllRows():boolean;
                setOnlyPK4SelectedAllRows(onlyPK4SelectedAllRows:boolean):void;
                setOnlyPK4SelectedAllRowsWithThis(onlyPK4SelectedAllRows:boolean):this;
            }
            type BillListConfig_T = $.java.io.Serializable & BillListConfig$;
            interface BillListConfig extends BillListConfig_T {
            }
            interface IRefrencedataProvider_S {
            }
            interface IRefrencedataProvider_C extends IRefrencedataProvider_S {
            }
            interface IRefrencedataProvider$ {
                /**
                 * 填充引用的关联数据
                 * @param objects 原始数据包，向其中填写引用的基础资料数据
                 * @param dataEntityType 原始数据包对应的实体对象
                 */
                fillReferenceData(objects:any[],dataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):void;
            }
            type IRefrencedataProvider_T = IRefrencedataProvider$;
            interface IRefrencedataProvider extends IRefrencedataProvider_T {
            }
            interface ListSelectedRowCollection_S {
            }
            type ListSelectedRowCollection_ST = $.java.util.ArrayList & ListSelectedRowCollection_S;
            interface ListSelectedRowCollection_C extends ListSelectedRowCollection_ST {
                new():ListSelectedRowCollection;
            }
            interface ListSelectedRowCollection$ {
                clearNonPKFields():this;
                /**
                 * 返回单据主键集合
                 *
                 * @return 列表选择行的主键集合，无序
                 */
                getPrimaryKeyValues():any[];
                /**
                 * 获取当前选择的行号集合
                 *
                 * @return 当前选择的行号
                 */
                getRowKeys():number[];
                /**
                 * 返回列表合并行选择数据，有合并行返回第一行数据
                 *
                 * @return 新的数据集合，已去掉了同一单据内的重复行
                 */
                getBillListSelectedRowCollection():this;
                /**
                 * 返回子单据体行主键集合
                 *
                 * @return 子表体主键集合
                 */
                getSubEntryPrimaryKeyValues():any[];
                /**
                 * 返回单据、单据体主键集合
                 *
                 * @return 表头表体主健集合，输出每行数据的单据主键和单据体主键值
                 */
                getPKEntryIdValues():$.java.util.List;
                /**
                 * 返回单据体分录行主键集合
                 *
                 * @return 单据体主键集合，无序
                 */
                getEntryPrimaryKeyValues():any[];
            }
            type ListSelectedRowCollection_T = $.java.util.ArrayList & ListSelectedRowCollection$;
            interface ListSelectedRowCollection extends ListSelectedRowCollection_T {
            }
            interface IListModelListener_S {
            }
            interface IListModelListener_C extends IListModelListener_S {
            }
            interface IListModelListener$ {
                /**
                 * 添加操作列事件监听器
                 *
                 * @param listener 注册的操作列事件监听器
                 */
                addOperationColumnListeners(consumer:(t:any)=>void):void;
                /**
                 * 添加模式列表文本监听器
                 *
                 * @param listener 注册的模式列表文本监听器
                 */
                addTemplateTextColumnListeners(consumer:(t:any)=>void):void;
            }
            type IListModelListener_T = IListModelListener$;
            interface IListModelListener extends IListModelListener_T {
            }
            interface IBillModel_S {
            }
            type IBillModel_ST = IBillModel_S & IDataModel_S;
            interface IBillModel_C extends IBillModel_ST {
            }
            interface IBillModel$ {
                /**
                 * 下推完毕，传入生成的目标单数据包
                 *
                 * @param newObject 下推生成的单据
                 */
                push(newObject:any):void;
                /**
                 * 获取当前单据主键
                 *
                 * @return 返回当前单据主键
                 */
                getPKValue():any;
                /**
                 * 获取主组织id
                 * @return 主组织id
                 */
                getMainOrgId?():long;
                /**
                 * 返回当前是否正在引入单据
                 *
                 * @return 返回true，正在引入单据
                 */
                isFromImport?():boolean;
                /**
                 * 返回当前是否正在通过WebApi服务灌入单据
                 *
                 * @return 返回true，正在通过WebApi灌入单据
                 */
                isFromWebApi?():boolean;
            }
            type IBillModel_T = IBillModel$ & IDataModel;
            interface IBillModel extends IBillModel_T {
            }
            interface IListModelContext_S {
            }
            interface IListModelContext_C extends IListModelContext_S {
            }
            interface IListModelContext$ {
                /**
                 * 返回当前列表是否为选择模式
                 *
                 * @return 返回true是选择模式
                 */
                isLookup():boolean;
                /**
                 * 获取列表绑定的单据主实体
                 *
                 * @return 单据主实体
                 */
                getDataEntityType():EntityType;
                /**
                 * 是否需要查询关键字段
                 *
                 * @return
                 */
                isNeedKeyFields():boolean;
                /**
                 * 获取合计值
                 *
                 * @return
                 */
                getSummaryResults():$.java.util.List;
                /**
                 * 是否需要重新合计
                 *
                 * @return
                 */
                isNeedResum():boolean;
                /**
                 * 设置是否全选
                 *
                 * @param isSelectedAllRows
                 */
                setSelectedAllRows(isSelectedAllRows:boolean):void;
                /**
                 * 设置最大返回条数
                 *
                 * @param maxReturnData
                 */
                setMaxReturnData(maxReturnData:number):void;
                /**
                 * 设置默认排序
                 *
                 * @param defaultOrder
                 */
                setDefaultOrder?(defaultOrder:boolean):void;
                /**
                 * 获取列表绑定的单据实体编码
                 *
                 * @return 单据实体编码
                 */
                getEntityId():string;
                /**
                 * 是否是选择全局，选择全部只查PK
                 *
                 * @return
                 */
                isSelectedAllRows():boolean;
            }
            type IListModelContext_T = IListModelContext$;
            interface IListModelContext extends IListModelContext_T {
            }
            interface FmtField_S {
            }
            interface FmtField_C extends FmtField_S {
                /**
                 * 构造方法
                 *
                 * @param fieldProp 字段实体属性
                 * @param fieldName 字段标识
                 * @param controlFieldName 控制字段名
                 */
                new(fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldName:string,controlFieldName:string):FmtField;
            }
            interface FmtField$ {
                /**
                 * 获取控制字段名称
                 *
                 * @return 控制字段名称
                 */
                getControlFieldName():string;
                /**
                 * 获取控制字段标识
                 *
                 * @return 控制字段标识
                 */
                getControlFieldKey():string;
                /**
                 * 设置控制字段标识
                 *
                 * @param controlFieldKey 控制字段标识
                 */
                setControlFieldKey(controlFieldKey:string):void;
                /**
                 * 获取字段实体属性
                 *
                 * @return 字段实体属性
                 */
                getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取字段标识
                 *
                 * @return 字段标识
                 */
                getFieldName():string;
                /**
                 * 获取字段精度值
                 *
                 * @return 精度值
                 */
                getScale():number;
                /**
                 * 设置字段精度值
                 *
                 * @param scale 精度值
                 */
                setScale(scale:number):void;
            }
            type FmtField_T = FmtField$;
            interface FmtField extends FmtField_T {
            }
            interface IDefValueProvider_S {
            }
            interface IDefValueProvider_C extends IDefValueProvider_S {
            }
            interface IDefValueProvider$ {
                /**
                 * 获取组织字段默认值
                 *
                 * @param model 数据模型对象
                 * @param fieldProp 组织字段
                 * @param o 数据改变实体描述
                 * @return 默认值
                 */
                getOrgDefValue(model:IDataModel,fieldProp:kd.bos.entity.property.OrgProp,o:kd.bos.entity.datamodel.events.ChangeData):any;
                /**
                 * 获取组织默认值
                 *
                 * @param model 数据模型对象
                 * @param fieldProp 组织字段
                 * @return 组织默认值
                 */
                getOrgDefValue(model:IDataModel,fieldProp:kd.bos.entity.property.OrgProp):any;
                /**
                 * 取高级的默认值设置，升级版，支持函数、公式
                 * @param fieldProp 字段属性
                 * @return 默认值
                 */
                getDefValue2(fieldProp:kd.bos.entity.property.IFieldHandle):kd.bos.entity.property.FieldDefValue;
                /**
                 * 根据业务单元间协作关系，获取组织默认值
                 *
                 * @param model 数据模型对象
                 * @param fieldProp 组织字段
                 * @return 组织默认值
                 */
                getOrgDefValueByConfig(model:IDataModel,fieldProp:kd.bos.entity.property.OrgProp):any;
                /**
                 * 获取表单当前打开所在的应用ID
                 *
                 * @param model 数据模型对象
                 * @return 应用id
                 */
                getAppId(model:IDataModel):string;
                /**
                 * 取基本的默认值设置
                 * @param fieldProp 字段属性
                 * @return 默认
                 */
                getDefValue(fieldProp:kd.bos.entity.property.IFieldHandle):any;
            }
            type IDefValueProvider_T = IDefValueProvider$;
            interface IDefValueProvider extends IDefValueProvider_T {
            }
            class RaiseEventType {
                static readonly ItemRemoved:kd.bos.entity.datamodel.RaiseEventType;
                static readonly FieldChanged:kd.bos.entity.datamodel.RaiseEventType;
                static readonly Initialized:kd.bos.entity.datamodel.RaiseEventType;
                static readonly ItemReset:kd.bos.entity.datamodel.RaiseEventType;
                static readonly ItemAdded:kd.bos.entity.datamodel.RaiseEventType;
                static readonly ItemAdding:kd.bos.entity.datamodel.RaiseEventType;
                static readonly Reset:kd.bos.entity.datamodel.RaiseEventType;
                static readonly SelectRowChanged:kd.bos.entity.datamodel.RaiseEventType;
                static readonly NormalEvent:kd.bos.entity.datamodel.RaiseEventType;
                static valueOf(arg0:string):kd.bos.entity.datamodel.RaiseEventType;
                static values():kd.bos.entity.datamodel.RaiseEventType[];
                static forValue(value:number):kd.bos.entity.datamodel.RaiseEventType;
                getValue():number;
            }
            interface IEntryFilter_S {
            }
            interface IEntryFilter_C extends IEntryFilter_S {
            }
            interface IEntryFilter$ {
                /**
                 * 获取符合过滤条件的分录行数
                 * @param entryKey
                 * @return
                 */
                getFilterEntryRowCount?(entryKey:string):number;
                /**
                 * 过滤后，按过滤后的行序号取rk值，取含(startRowIndex)至不含(endRowIndex)中间的数据
                 * @param entryKey 单据体
                 * @param startRowIndex 过滤后的开始位置
                 * @param endRowIndex 过滤后的结束位置
                 * @return
                 */
                getFilterEntryRowKeys?(entryKey:string,startRowIndex:number,endRowIndex:number):$.java.util.List;
                /**
                 * 过滤后，按过滤后的行序号取数
                 * @param entryKey
                 * @param startRowIndex
                 * @param endRowIndex
                 * @return
                 */
                getFilterEntryRows?(entryKey:string,startRowIndex:number,endRowIndex:number):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 查询单据体某字段的去重列表数据
                 * @param entryKey  分录标识
                 * @param queryParam 过滤条件
                 * @param startRowIndex 起始序号
                 * @param endRowIndex 结束序号
                 * @return
                 */
                searchEntryFieldData?(entryKey:string,queryParam:kd.bos.entity.property.entryfilter.EntryQueryParam,startRowIndex:number,endRowIndex:number):$.java.util.List;
                /**
                 * 对真实索引值按过滤后的序号顺序排序
                 * @param entryKey
                 * @param rowkeyList 真实rk值，从0开始
                 * @return 按过滤后的序号顺序排序
                 */
                filterSortByRowKeys?(entryKey:string,rowkeyList:$.java.util.List):$.java.util.List;
                /**
                 * 根据真实索引值获取过滤后的索引位置
                 * @param entryKey
                 * @param rowkeyList 真实rk值，从0开始
                 * @return 过滤后所在的位置，从0开始
                 */
                getFilterIndexByRowKeys?(entryKey:string,rowkeyList:$.java.util.List):$.java.util.List;
                /**
                 * 单据体是否进入过滤排序模式
                 * @param entryKey
                 * @return
                 */
                isFilterAndSortModel?(entryKey:string):boolean;
                /**
                 * 前端更改过滤条件，开始重新过滤数据
                 * @param queryParam
                 */
                filterEntry?(entryKey:string,queryParam:kd.bos.entity.property.entryfilter.EntryQueryParam):void;
                /**
                 * 获取单据体查询参数(含过滤条件和排序规则)
                 * @param entryKey
                 * @return
                 */
                getEntryQueryParam?(entryKey:string):kd.bos.entity.property.entryfilter.EntryQueryParam;
            }
            type IEntryFilter_T = IEntryFilter$;
            interface IEntryFilter extends IEntryFilter_T {
            }
            interface ListSelectedRow_S {
            }
            type ListSelectedRow_ST = $.java.io.Serializable & ListSelectedRow_S;
            interface ListSelectedRow_C extends ListSelectedRow_ST {
                /**
                 * 构造函数，无参数，关键属性单独赋值
                 */
                new():ListSelectedRow;
                /**
                 * 构造函数，传入单据主键值
                 *
                 * @param primaryKeyValue 单据主键值
                 */
                new(primaryKeyValue:any):ListSelectedRow;
                /**
                 * 构造函数，传入单据主键值
                 *
                 * @param primaryKeyValue 单据主键值
                 * @param isPkLongType 主键是否为长整型
                 */
                new(primaryKeyValue:any,isPkLongType:boolean):ListSelectedRow;
            }
            interface ListSelectedRow$ {
                /**
                 * 获取本行数据所在分页的索引
                 *
                 * @return 行数据所在页
                 */
                getPageIndex():number;
                /**
                 * 返回数据状态字段值
                 *
                 * @return 数据状态字段值
                 */
                getBillStatus():string;
                /**
                 * 返回基础资料名称字段值
                 *
                 * 单据没有名称字段，返回null
                 *
                 * @return 基础资料名称字段值
                 */
                getName():string;
                /**
                 * 设置单据体标识
                 *
                 * 和{@link #setEntryPrimaryKeyValue(Object)}组合使用，指定哪个单据体的那条数据
                 * 如果设置了单据体分录数据内码，必须同步设置本属性值
                 *
                 * @param entryEntityKey 单据体标识
                 */
                setEntryEntityKey(entryEntityKey:string):void;
                /**
                 * 获取子单据体标识
                 *
                 * @return 子单据体标识
                 */
                getSubEntryEntityKey():string;
                /**
                 * 设置子单据体标识
                 *
                 * @param subEntryEntityKey 子单据体标识
                 */
                setSubEntryEntityKey(subEntryEntityKey:string):void;
                /**
                 * 获取本行在列表当前分页上的索引，从0开始
                 *
                 * @return 行数据在当前页的索引
                 */
                getRowKey():number;
                /**
                 * 设置子分录主键是否为长整数类型
                 *
                 * @param isSubEntryPkLongType 设置为true是长整数类型
                 */
                setSubEntryPkLongType(isSubEntryPkLongType:boolean):void;
                /**
                 * 设置单据体分录行主键值
                 *
                 * @param entryPrimaryKeyValue 单据体分录行主键值
                 */
                setEntryPrimaryKeyValue(entryPrimaryKeyValue:any):void;
                /**
                 * 设置单据主键是否为长整数类型
                 *
                 * @param isPkLongType 设置为true是长整数类型
                 */
                setPkLongType(isPkLongType:boolean):void;
                /**
                 * 获取子单据体分录行数据主键值
                 *
                 * @return 子单据体主键
                 */
                getSubEntryPrimaryKeyValue():any;
                /**
                 * 设置单据主键值
                 *
                 * @param primaryKeyValue 单据主键
                 */
                setPrimaryKeyValue(primaryKeyValue:any):void;
                clearNonPKFields():this;
                /**
                 * 获取基础资料编码字段值
                 *
                 * 单据没有编码字段，返回null
                 *
                 * @return 基础资料编码字段值
                 */
                getNumber():string;
                /**
                 * 返回子分录主键是否为长整数类型
                 *
                 * @return 返回true是长整数类型
                 */
                isSubEntryPkLongType():boolean;
                /**
                 * 返回主业务组织内码
                 *
                 * @return 主业务组织内码
                 */
                getMainOrgId():long;
                /**
                 * 设置子单据体分录行数据主键值
                 *
                 * @param subEntryPrimaryKeyValue 子单据体主键
                 */
                setSubEntryPrimaryKeyValue(subEntryPrimaryKeyValue:any):void;
                /**
                 * 获取单据主键值
                 *
                 * @return 单据主键
                 */
                getPrimaryKeyValue():any;
                /**
                 * 返回分录主键是否为长整数类型
                 *
                 * @return 返回true是长整数类型
                 */
                isEntryPkLongType():boolean;
                /**
                 * 返回查询主实体主键值
                 *
                 * 适用于多实体联合查询
                 *
                 * @return 查询主实体主键值
                 */
                getQueryEntityPrimayKeyValue():any;
                /**
                 * 设置分录主键是否为长整数类型
                 *
                 * @param isEntryPkLongType 设置为true是长整数类型
                 */
                setEntryPkLongType(isEntryPkLongType:boolean):void;
                /**
                 * 获取单据体分录行主键值
                 *
                 * @return 单据体分录行主键值
                 */
                getEntryPrimaryKeyValue():any;
                /**
                 * 返回单据主键是否为长整数类型
                 *
                 * @return 返回true是长整数类型
                 */
                isPkLongType():boolean;
                /**
                 * 获取单据体标识
                 *
                 * 和{@link #getEntryPrimaryKeyValue()}组合使用，标识哪个单据体的那条数据
                 *
                 * @return 单据体标识
                 */
                getEntryEntityKey():string;
                /**
                 * 返回单据编号字段值
                 *
                 * 基础资料没有编号字段，返回null。基础资料可使用{@link #getNumber()}获取编码字段值
                 *
                 * @return 单据编号字段值
                 */
                getBillNo():string;
            }
            type ListSelectedRow_T = $.java.io.Serializable & ListSelectedRow$;
            interface ListSelectedRow extends ListSelectedRow_T {
            }
            interface DynamicTextListField_S {
            }
            type DynamicTextListField_ST = DynamicTextListField_S & ListField_S;
            interface DynamicTextListField_C extends DynamicTextListField_ST {
                /**
                 * 构造函数
                 *
                 * @param key 列标识
                 * @param listFields 子列集合
                 * @param formatExpression 字段格式化表达式
                 */
                new(key:string,listFields:$.java.util.List,formatExpression:string):DynamicTextListField;
            }
            interface DynamicTextListField$ {
                /**
                 * 返回字段格式化表达式
                 *
                 * @return 字段格式化表达式
                 */
                getFormatExpression():string;
                /**
                 * 设置字段格式化表达式
                 *
                 * @param formatExpression
                 *            字段格式化表达式
                 */
                setFormatExpression(formatExpression:string):void;
                /**
                 * 设置子列集合
                 *
                 * @param listFields 子列集合
                 */
                setListFields(listFields:$.java.util.List):void;
                /**
                 * 返回子列集合
                 *
                 * @return 子列集合
                 */
                getListFields():$.java.util.List;
            }
            type DynamicTextListField_T = DynamicTextListField$ & ListField;
            interface DynamicTextListField extends DynamicTextListField_T {
            }
            interface ListModelContext_S {
            }
            interface ListModelContext_C extends ListModelContext_S {
                new():ListModelContext;
            }
            interface ListModelContext$ {
                setMainOrgId(mainOrgId:long):void;
                getExportQueryType():QueryType;
                /**
                 * 设置多币别合计字段集合
                 *
                 * @param mulCurrencyFields
                 */
                setMulCurrencyFields(mulCurrencyFields:$.java.util.List):void;
                setCheckRightAppId(checkRightAppId:string):void;
                getBillListConfig():BillListConfig;
                setBillListConfig(billListConfig:BillListConfig):void;
                isAsyncSum():boolean;
                getAppId():string;
                /**
                 * 获取多币别合计字段集合
                 *
                 * @return
                 */
                getMulCurrencyFields():$.java.util.List;
                isDefaultOrderByForce():boolean;
                setAsyncSum(asyncSum:boolean):void;
                /**
                 * 设置是否强制使用默认排序
                 *
                 * @param defaultOrderByForce 是否强制使用默认排序
                 */
                setDefaultOrderByForce(defaultOrderByForce:boolean):void;
                getCheckRightAppId():string;
                getRootPageId():string;
                setRootPageId(rootPageId:string):void;
                getMainOrgId():long;
                setExportQueryType(exportQueryType:QueryType):void;
                setAppId(appId:string):void;
            }
            type ListModelContext_T = ListModelContext$;
            interface ListModelContext extends ListModelContext_T {
            }
            interface ITreeModel_S {
            }
            interface ITreeModel_C extends ITreeModel_S {
            }
            interface ITreeModel$ {
                /**
                 * 向左树添加子节点
                 *
                 * @param currNodeId 父节点
                 * @param newNode 新的子节点
                 */
                addNode(currNodeId:any,newNode:kd.bos.entity.tree.TreeNode):void;
                /**
                 * 返回根节点是否可见
                 *
                 * @return 返回false根节点不可见
                 */
                isRootVisable():boolean;
                /**
                 * 刷新节点，重新加载子节点
                 *
                 * @param nodeId 节点
                 * @return
                 */
                refreshNode(nodeId:any):kd.bos.entity.tree.TreeNode;
                /**
                 * 设置节点默认查询层级
                 *
                 * @param defaultQueryLevel 查询层级
                 */
                setDefaultQueryLevel(defaultQueryLevel:number):void;
                /**
                 * 向左树添加子节点集合
                 *
                 * @param currNodeId 父节点
                 * @param newNodeList 子节点集合
                 */
                addNodes?(currNodeId:any,newNodeList:$.java.util.List):void;
                /**
                 * 设置当期焦点节点
                 * @param currentNodeId
                 */
                setCurrentNodeId(currentNodeId:any):void;
                /**
                 * 获取左树列表的查询条件
                 *
                 * @return
                 */
                getTreeListFilter():$.java.util.List;
                /**
                 * 获取当前焦点节点
                 *
                 * @return 节点
                 */
                getCurrentNodeId():any;
                /**
                 * 设置根节点
                 *
                 * @param root 根节点
                 */
                setRoot(root:kd.bos.entity.tree.TreeNode):void;
                /**
                 * 返回节点默认查询层级
                 *
                 * @return 查询层级
                 */
                getDefaultQueryLevel():number;
                /**
                 * 创建左树根节点返回
                 *
                 * @return 新建的根节点
                 */
                createRootNode():kd.bos.entity.tree.TreeNode;
                /**
                 * 左树节点查询条件
                 *
                 * @return 查询条件
                 */
                getTreeFilter():$.java.util.List;
                /**
                 * 设置点击节点时展开下级节点
                 *
                 * @param nodeClickExpand 设置为true在点击时展开下级节点
                 */
                setNodeClickExpand?(nodeClickExpand:boolean):void;
                /**
                 * 设置节点显示格式，{name}表示名称，{code}表示编码。
                 *
                 * 格式样式如："{name}-{code}", 或者"{name}"，"{code}"
                 *
                 * @param textFormat 格式："{name}"或"{code}"
                 */
                setTextFormat(textFormat:string):void;
                /**
                 * 删除节点
                 *
                 * @param node 要被删除的节点
                 * @param includeChild 是否包含子节点，设置为false如果有子节点则删除失败；设置为true则把子节点一并删除
                 */
                deleteNode(node:kd.bos.entity.tree.TreeNode,includeChild:boolean):void;
                /**
                 * 删除分组
                 *
                 * @param nodeId
                 *            要删除的节点id，不能为空
                 * @return 操作结果
                 */
                deleteGroup(nodeId:any[]):kd.bos.entity.operate.IOperationResult;
                /**
                 * 获取分组信息
                 *
                 * @return 分组信息
                 */
                getGroupProp():kd.bos.entity.property.GroupProp;
                /**
                 * 获取左树的根节点
                 *
                 * @return 根节点
                 */
                getRoot():kd.bos.entity.tree.TreeNode;
                /**
                 * 点击节点时是否展开下级节点
                 *
                 * @return 返回true在点击节点时展开下级节点
                 */
                isNodeClickExpand():boolean;
                /**
                 * 设置根节点是否可见
                 *
                 * @param rootVisable 设置为false根节点不可见
                 */
                setRootVisable(rootVisable:boolean):void;
            }
            type ITreeModel_T = ITreeModel$;
            interface ITreeModel extends ITreeModel_T {
            }
            interface IDataModel_S {
            }
            type IDataModel_ST = $.kd.bos.dataentity.entity.ISupportInitialize & IDataModel_S & IDataProvider_S & IEntryFilter_S & IEntryOperate_S & kd.bos.entity.cache.TableCache_S;
            interface IDataModel_C extends IDataModel_ST {
            }
            interface IDataModel$ {
                /**
                 * 获取子单据体实体字段对应值
                 *
                 * @param propName       字段属性名
                 * @param rowIndex       子单据体行索引，从0开始
                 * @param parentRowIndex 父单据体行索引，从0开始
                 * @return 子单据体实体字段对应值
                 */
                getValue(propName:string,rowIndex:number,parentRowIndex:number):any;
                /**
                 * 设置字段值
                 * <p>
                 * 相比于使用setValue，使用initValue方法不触发PropertyChange值更新事件
                 *
                 * @param propName 字段
                 * @param value    字段值
                 * @param rowIndex 分录行索引，从0开始
                 */
                initValue(propName:string,value:any,rowIndex:number):void;
                /**
                 * 界面是否已经加载了数据包？
                 * 界面刚构建时，不会同步构建数据包，只有在前端调用了loadData服务之后，才有数据包
                 *
                 * @return 返回false，当前数据包还没有准备好
                 */
                isDataLoaded?():boolean;
                /**
                 * 给子分录基础资料字段按内码赋值
                 *
                 * @param key            基础资料字段
                 * @param id             内码
                 * @param row            分录行索引
                 * @param parentRowIndex 父分录行索引
                 * @param qFilters       基础资料数据筛选条件
                 */
                setItemValueByID(key:string,id:any,row:number,parentRowIndex:number,qFilters:$.java.util.List):void;
                /**
                 * 获取分录字段值
                 *
                 * @param propName 字段属性名称
                 * @param rowIndex 分录行索引，从0开始
                 * @return 分录字段值
                 */
                getValue(propName:string,rowIndex:number):any;
                /**
                 * 获取服务
                 *
                 * @param clazz 服务接口
                 * @return 服务实例
                 */
                getService(clazz:$.java.lang.Class):any;
                /**
                 * 批量插入新分录行
                 *
                 * @param entryKey 分录
                 * @param row      开始行索引，从0开始
                 * @param rowCount 插入行数
                 * @return 成功插入的行索引
                 */
                batchInsertEntryRow(entryKey:string,row:number,rowCount:number):number[];
                /**
                 * 获取根数据包，可以指定在缓存情况是否含分录
                 *
                 * @param includeEntry 是否包含分录，设置为true会从缓存中恢复所有分录行放在根数据包中
                 * @return 根数据包
                 */
                getDataEntity(includeEntry:boolean):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 输出数据包中发生了修改的实体、字段
                 *
                 * @return 发生了改动的字段提示
                 */
                getChangeDesc?():string;
                /**
                 * 设置字段值：供Web Api导入数据场景调用（可能会针对webapi导入特征对传入的值进行检查、格式化等处理，其他场景勿调用）
                 *
                 * @param prop            字段属性对象
                 * @param dataEntity      需改动字段值的数据包
                 * @param value           字段值
                 * @param checkImportable 是否检查字段"功能控制 -是否允许导入"选项
                 */
                setFieldValueForWebApi?(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,value:any,checkImportable:boolean):void;
                /**
                 * 获取字段在主实体中对应的属性对象
                 *
                 * @param name 字段标识
                 * @return 字段对应的属性对象
                 */
                getProperty(name:string):$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置分录字段值
                 *
                 * @param propName 字段属性名
                 * @param value    字段值
                 * @param rowIndex 分录行索引，从0开始
                 */
                setValue(propName:string,value:any,rowIndex:number):void;
                /**
                 * 设置根实体字段值
                 *
                 * @param propName 字段属性名
                 * @param value    字段值
                 */
                setValue(propName:string,value:any):void;
                /**
                 * 添加上下文变量
                 *
                 * @param name  变量名
                 * @param value 变量值
                 */
                putContextVariable(name:string,value:any):void;
                /**
                 * 获取根实体字段值
                 *
                 * @param propName 字段属性名称
                 * @return 根实体字段值
                 */
                getValue(propName:string):any;
                /**
                 * 删除上下文变量
                 *
                 * @param name 变量名
                 */
                removeContextVariable(name:string):void;
                /**
                 * 返回数据是否发生了变化
                 *
                 * @return 数据发生了变化则返回true
                 */
                getDataChanged():boolean;
                /**
                 * 获取复杂属性的数据模型
                 * @param type
                 * @param baseObj
                 * @return
                 */
                getBasePropEditDataModel?(type_arg:MainEntityType,baseObj:$.kd.bos.dataentity.entity.DynamicObject):this;
                /**
                 * 获取上下文变量
                 *
                 * @param name 变量名
                 * @return 变量值
                 */
                getContextVariable(name:string):any;
                /**
                 * 设置子分录字段值
                 *
                 * @param propName       字段属性名
                 * @param value          字段值
                 * @param rowIndex       子分录行索引，从0开始
                 * @param parentRowIndex 父分录行索引，从0开始
                 */
                setValue(propName:string,value:any,rowIndex:number,parentRowIndex:number):void;
                /**
                 * 设置字段值
                 * <p>
                 * 相比于使用setValue，使用initValue方法不触发PropertyChange值更新事件
                 *
                 * @param propName       字段
                 * @param value          字段值
                 * @param rowIndex       分录行索引
                 * @param parentRowIndex 父分录行索引
                 */
                initValue(propName:string,value:any,rowIndex:number,parentRowIndex:number):void;
                /**
                 * 设置字段值
                 * <p>
                 * 相比于使用setValue，使用initValue方法不触发PropertyChange值更新事件
                 *
                 * @param propName 字段
                 * @param value    字段值
                 */
                initValue(propName:string,value:any):void;
                /**
                 * 设置用户配置信息，自动保存到用户配置表
                 *
                 * @param userID  用户
                 * @param key     配置项的标识
                 * @param setting 配置项的内容
                 * @return 设置成功返回true
                 */
                setCurrUserSetting(userID:long,key:string,setting:string):boolean;
                /**
                 * 创建空的数据包
                 */
                createNewData():any;
                /**
                 * 提交当前实体数据到缓存
                 */
                updateCache():void;
                /**
                 * 获取动态表单主实体
                 *
                 * @return 动态表单主实体
                 */
                getDataEntityType():MainEntityType;
                /**
                 * 清除缓存数据
                 */
                release?():void;
                /**
                 * 获取根数据包,当在缓存情况下不包含分录
                 *
                 * @return 根数据包
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取当前用户的配置信息
                 *
                 * @param key 配置项的标识
                 * @return 配置项的内容
                 */
                getCurrUserSetting(key:string):string;
                /**
                 * 创建数据包
                 * <p>
                 * 直接采用传入数据包作为新的数据包
                 *
                 * @param newObject 传入数据包
                 */
                createNewData(newObject:any):any;
            }
            type IDataModel_T = $.kd.bos.dataentity.entity.ISupportInitialize & IDataModel$ & IDataProvider & IEntryFilter & IEntryOperate & kd.bos.entity.cache.TableCache;
            interface IDataModel extends IDataModel_T {
            }
            interface IRegisterFlexPropertyListener_S {
            }
            interface IRegisterFlexPropertyListener_C extends IRegisterFlexPropertyListener_S {
            }
            interface IRegisterFlexPropertyListener$ {
                registerProperty(registerFlexPropertyArgs:kd.bos.entity.datamodel.events.RegisterFlexPropertyArgs):void;
            }
            type IRegisterFlexPropertyListener_T = IRegisterFlexPropertyListener$;
            interface IRegisterFlexPropertyListener extends IRegisterFlexPropertyListener_T {
            }
            interface ORMUtil_S {
                /**
                 * 读取数据，并允许使用缓存。
                 *
                 * @param pkArray 主键数组
                 * @param dt      动态实体类型
                 * @return 一批实体对象。不保证给定的主键都能够找到对应的实体。
                 * @loadReferenceData 是否加载引用属性
                 */
                loadFromCache(pkArray:any[],dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,loadReferenceData:boolean):$.java.util.Map;
                /**
                 * 获得所有国家
                 *
                 * @return
                 */
                getCountrys():$.java.util.List;
                /**
                 * 根据长名称获取行政区划
                 *
                 * @param fullname 长名称
                 * @return 行政区划
                 */
                getAdminDivisionByName(fullname:string):any;
                /**
                 * description 〈根据行政区划id获取行政区划信息〉
                 *
                 * @param adminId 行政区划id
                 * @return kd.bos.dataentity.entity.DynamicObject 行政区划信息
                 */
                getAdminDivisionInfoById(adminId:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获得国家对应的行政级次
                 *
                 * @param countryId 国家id
                 * @return
                 */
                getAdmindivisionLevelsByCountryId(countryId:string):$.java.util.List;
                /**
                 * 根据国家地区ID获取省级行政区划（用于移动端）
                 *
                 * @param countryId
                 * @return
                 */
                getProvincesByCountryIdForMobile(countryId:string):$.java.util.List;
                /**
                 * @param chinese 中文
                 * @return java.lang.String 拼音
                 * @throws
                 * @description 〈中文转拼音〉
                 * @date 2020/9/18 9:04
                 * @author RD_haoxin_wang
                 */
                toPinyin(chinese:string):string;
                /**
                 * 读取数据库数据
                 *
                 * @param pkArray 主键数组
                 * @param type 动态对象实体类型
                 * @param loadReferenceData 是否加载引用
                 * @return 动态对象数组
                 */
                load(pkArray:any[],type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,loadReferenceData:boolean):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 通过国家id获得省级行政区划
                 *
                 * @param countryId 国家id
                 * @return
                 */
                getProvincesByCountryId(countryId:string):$.java.util.List;
                /**
                 * 加载动态对象的引用属性
                 *
                 * @param dataEntitys 动态对象数组
                 * @param type 动态对象实体类型
                 */
                loadRefence(dataEntitys:any[],type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):void;
                /**
                 * 通过上级行政区划id查询行政区划
                 *
                 * @param parentId
                 * @return
                 */
                getAdminDivisionsByParentId(parentId:string):$.java.util.List;
                /**
                 * 根据行政区划id获取全名称，如国家/省/市/区 等
                 *
                 * @param adminId 行政区划id
                 * @return 全名称
                 */
                getAdminDivisionFullName(adminId:string):any;
                /**
                 * 通过行政区划id查询行政区划全称
                 *
                 * @param adminId·
                 * @return {countryId: 10001, countryName: 'China', adminvisionStr:'广东省/深圳市/南山区'}
                 */
                getAdminDivisionInfo(adminId:string):$.java.util.Map;
            }
            interface ORMUtil_C extends ORMUtil_S {
                new():ORMUtil;
            }
            interface ORMUtil$ {
            }
            type ORMUtil_T = ORMUtil$;
            interface ORMUtil extends ORMUtil_T {
            }
            interface IEntryOperate_S {
            }
            interface IEntryOperate_C extends IEntryOperate_S {
            }
            interface IEntryOperate$ {
                /**
                 * 分录按条件合计
                 * @param fieldKey 合计字段
                 * @param valueList 值更新
                 */
                totalEntriesByCondition?(fieldKey:string,valueList:$.java.util.List):void;
                /**
                 * 清除单据体分录数据包
                 *
                 * @param entrykey 单据体标识
                 */
                deleteEntryData(entrykey:string):void;
                /**
                 * 单据体分录行下移
                 *
                 * @param entryKey 单据体标识
                 * @param rowIndex 要移动的批量行号
                 */
                moveEntryRowDown(entryKey:string,rowIndex:number):number;
                getEntryRowEntity(entryKey:string,rowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取单据体当前分录行号
                 *
                 * @param entryKey 单据体标识
                 * @return 分录行行号，从0开始
                 */
                getEntryCurrentRowIndex(entryKey:string):number;
                /**
                 * 获取单据体分录行数量
                 *
                 * @param entryKey 单据体标识
                 * @return 返回总行数
                 */
                getEntryRowCount(entryKey:string):number;
                /**
                 * 批量新建单据体分录行
                 *
                 * @param entityKey 单据体标识
                 * @param rowCount  批量创建行数
                 */
                batchCreateNewEntryRow(entityKey:string,rowCount:number):number[];
                /**
                 * 获取单据体（或子单据体）分录对应的数据集合
                 * <p>
                 * 如果是子单据体，则获取的是父单据体当前行下的子单据体分录行数据集合
                 *
                 * @param entryKey 单据体标识
                 * @return 分录数据集合
                 */
                getEntryEntity(entryKey:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 新建单据体分录数据行，也适用于子单据体
                 *
                 * @param entrykey 单据体标识
                 */
                createNewEntryRow(entrykey:string):number;
                /**
                 * 单据体分录行置底
                 *
                 * @param entryKey  单据体标识
                 * @param rowIndexs 要置底的行号
                 */
                setEntryRowBottom(entryKey:string,rowIndexs:number[]):void;
                /**
                 * 插入单据体分录行，在插入位置上面插入行
                 *
                 * @param entrykey 单据体标识
                 * @param row      新行插入位置，从0开始
                 * @return
                 */
                insertEntryRow(entrykey:string,row:number):number;
                /**
                 * 在指定位置，批量追加单据体分录行
                 * <p>
                 * 树形单据体，基础资料字段F7返回数据时，需要在分录中间追加同级行。而树形单据体的插入行是插入下级行，所以单独抽出了
                 *
                 * @param entryKey 单据体标识
                 * @param row      新行插入位置，从0开始
                 * @param count    批量插入总行数
                 * @return
                 */
                appendEntryRow(entryKey:string,row:number,count:number):number[];
                /**
                 * 获取单据体分录行数据包
                 *
                 * @param entryKey      单据体标识
                 * @param startRowIndex 开始行行号，从0开始
                 * @param endRowInex    结束行行号
                 * @return
                 */
                getEntryEntity(entryKey:string,startRowIndex:number,endRowInex:number):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 单据体分录行置顶
                 *
                 * @param entryKey  单据体标识
                 * @param rowIndexs 要置顶的行号
                 */
                setEntryRowTop(entryKey:string,rowIndexs:number[]):void;
                /**
                 * 聚合分录行移动到某行下
                 *
                 * @param entryKey  单据体标识
                 * @param formIndexs 聚合分录行数组(序号从零开始起算)
                 * @param toIndex 移动到目标行下面(序号从零开始起算)
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 * @return 是否成功移动
                 */
                togetherMoveEntryRow(entryKey:string,formIndexs:number[],toIndex:number,direct:string):boolean;
                /**
                 * 批量删除单据体分录行
                 *
                 * @param entryKey 单据体标识
                 * @param rows     要批量删除的行
                 */
                deleteEntryRows(entryKey:string,rows:number[]):void;
                /**
                 * 表格之间行拖拽，与前端交互接口。(平台提供事件方法，具体业务逻辑由二开实现）
                 * @param fromInfo 起始拖拽表的信息
                 * @param toInfo 结束拖拽表的信息
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 */
                dragRowGridToGrid?(fromInfo:kd.bos.entity.datamodel.events.DragRowGridToGridEventArgs$FromDragRowInfo,toInfo:kd.bos.entity.datamodel.events.DragRowGridToGridEventArgs$ToDragRowInfo,direct:string):void;
                /**
                 * 聚合分录行移动到某行下
                 *
                 * @param entryKey  单据体标识
                 * @param formIndexs 聚合分录行数组(序号从零开始起算)
                 * @param toIndex 移动到目标行下面(序号从零开始起算)
                 * @return 是否成功移动
                 */
                togetherMoveEntryRow(entryKey:string,formIndexs:number[],toIndex:number):boolean;
                /**
                 * 批量分录行上移
                 *
                 * @param entryKey  单据体标识
                 * @param rowIndexs 要移动的批量行号
                 */
                moveEntryRowsUp(entryKey:string,rowIndexs:number[]):void;
                /**
                 * 复制单据体
                 *
                 * @param entryKey        单据体标识
                 * @param row             选择的分录行号
                 * @param isCopyLinkEntry 是否复制关联单据体
                 * @param nextPos         是否复制到下一行
                 */
                copyEntryRow(entryKey:string,row:number[],isCopyLinkEntry:boolean,nextPos:boolean):void;
                /**
                 * 以指定的行模板，批量新建单据体分录行
                 *
                 * @param entityKey           单据体标识
                 * @param dataentity_template 行数据模板
                 * @param rowCount            新建行数
                 */
                batchCreateNewEntryRow(entityKey:string,dataentity_template:$.kd.bos.dataentity.entity.DynamicObject,rowCount:number):number[];
                /**
                 * 设置单据体当前分录行号
                 *
                 * @param entryKey 单据体标识
                 * @param row      当前行行号，从0开始
                 */
                setEntryCurrentRowIndex(entryKey:string,row:number):void;
                /**
                 * 获取当前节点后面的同级节点
                 * <p>
                 * 专用于树形单据体
                 *
                 * @param entryKey    单据体标识
                 * @param row         行号
                 * @param includeSelf 是否包含指定行
                 * @return 行数
                 */
                getEntryNextRows(entryKey:string,row:number,includeSelf:boolean):number[];
                /**
                 * 复制单据体分录行
                 *
                 * @param entryKey        单据体标识
                 * @param row             选择的分录行号
                 * @param isCopyLinkEntry 是否复制关联单据体
                 */
                copyEntryRow(entryKey:string,row:number[],isCopyLinkEntry:boolean):void;
                /**
                 * 获取树形单据体，从指定行开始，同层级的后续行数
                 * <p>
                 * 树形单据体，基础资料字段F7返回数据后，需要判断后面有没有足够同级行
                 * 不够就appendEntryRow（不能insert，因为insert是插入下级行）
                 *
                 * @param entryKey 单据体标识
                 * @param row      行号，从0开始
                 * @return 行数
                 */
                getEntryNextRowCount(entryKey:string,row:number):number;
                /**
                 * 删除单据体分录行
                 *
                 * @param entryKey 单据体标识
                 * @param rowIndex 要删除的行
                 */
                deleteEntryRow(entryKey:string,rowIndex:number):void;
                /**
                 * 新建单据体分录数据行，也适用于子单据体
                 *
                 * @param entrykey 单据体标识
                 * @param obj      预先准备好的新分录行数据包
                 * @return
                 */
                createNewEntryRow(entrykey:string,obj:$.kd.bos.dataentity.entity.DynamicObject):number;
                /**
                 * 获取单据体的当前分页信息
                 *
                 * @param entryKey 单据体标识
                 * @return 单据体分页信息
                 */
                getEntryPageInfo(entryKey:string):$.kd.bos.dataentity.entity.EntryInfo;
                /**
                 * 新建单据体分录行
                 *
                 * @param entityKey 单据体标识
                 * @param row       新行行号，从0开始。可以是-1，表示加入到末尾。
                 * @param obj       可选，传入外部准备好的新分录行数据包
                 */
                createNewEntryRow(entityKey:string,row:number,obj:$.kd.bos.dataentity.entity.DynamicObject):number;
                /**
                 * 单据体批量填充
                 * @param entryKey 单据体标识
                 * @param currentRow 当前起始行
                 * @param selProps 填充字段
                 * @param values 填充值
                 * @param batchFillNull 是否批量填充空白行
                 * @return 实际填充成功的行数
                 */
                batchFillEntry?(entryKey:string,currentRow:number,selProps:$.java.util.List,values:any[],batchFillNull:boolean):number;
                /**
                 * 单据体分录行上移
                 *
                 * @param entryKey 单据体标识
                 * @param rowIndex 要移动的行号
                 */
                moveEntryRowUp(entryKey:string,rowIndex:number):number;
                /**
                 * 单据体分录行批量下移
                 *
                 * @param entryKey  单据体标识
                 * @param rowIndexs 要移动的批量行号
                 */
                moveEntryRowsDown(entryKey:string,rowIndexs:number[]):void;
                /**
                 * 获取子单据体分录行数据包
                 *
                 * @param entryKey       子单据体标识
                 * @param rowIndex       分录行号
                 * @param parentRowIndex 父行行号
                 * @return 分录行数据包
                 */
                getEntryRowEntity(entryKey:string,rowIndex:number,parentRowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
            }
            type IEntryOperate_T = IEntryOperate$;
            interface IEntryOperate extends IEntryOperate_T {
            }
            interface ApproverListField_S {
            }
            type ApproverListField_ST = ApproverListField_S & ListField_S;
            interface ApproverListField_C extends ApproverListField_ST {
                /**
                 * 构造函数
                 *
                 * @param key 列标识
                 */
                new(key:string):ApproverListField;
            }
            interface ApproverListField$ {
                /**
                 * 设置审批节点显示类型：1.显示审批人/审批节点，2.仅显示节点，3.仅显示处理人，默认仅显示处理人
                 * @param showApproverType
                 */
                setShowApproverType(showApproverType:string):void;
                /**
                 * 获取审批节点显示类型：1.显示审批人/审批节点，2.仅显示节点，3.仅显示处理人，默认仅显示处理人
                 * @return
                 */
                getShowApproverType():string;
            }
            type ApproverListField_T = ApproverListField$ & ListField;
            interface ApproverListField extends ApproverListField_T {
            }
            class QueryType {
                static readonly IdQuery:kd.bos.entity.datamodel.QueryType;
                static readonly SqlQuery:kd.bos.entity.datamodel.QueryType;
                static values():kd.bos.entity.datamodel.QueryType[];
                static valueOf(arg0:string):kd.bos.entity.datamodel.QueryType;
            }
            interface FmtInfoUtils_S {
                readonly Prop_Show_Currency_Symbol:string;
                readonly Prop_Currency_Symbol:string;
                readonly Prop_Price_Precision:string;
                readonly Prop_Unit_Precision:string;
                readonly Prop_Currency_Number:string;
                readonly Key_AppParams_MaterialPrecision:string;
                readonly Prop_Today:string;
                readonly Prop_Convert_Type:string;
                readonly Prop_Precision:string;
                readonly Prop_Amount_Precision:string;
                readonly Prop_Time_Zone:string;
                /**
                 * 批量获取时  请先使用getMultiUnitPrecisionMapping获取映射关系作为mapping参数
                 * @param prop
                 * @param unitObj
                 * @param materielObj
                 * @param mapping
                 * @return
                 */
                getUnitFmt(prop:kd.bos.entity.property.UnitProp,unitObj:$.kd.bos.dataentity.entity.DynamicObject,materielObj:$.kd.bos.dataentity.entity.DynamicObject,mapping:$.java.util.Map):$.java.util.Map;
                /**
                 * 根据组织获取时区相关信息，从动态对象中获取组织id，在根据该组织查询时区信息
                 *
                 * @param org 动态对象
                 * @return 时区信息
                 */
                getTimeZone(org:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * @deprecated
                 * @param unitSym
                 * @param material
                 * @return
                 */
                getUnitFmt(unitSym:$.kd.bos.dataentity.entity.DynamicObject,material:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 是否启用物料单位精度
                 *
                 * @param dataModel 数据模型接口
                 * @return 是否启用
                 */
                applyMaterialPrecision(dataModel:IDataModel):boolean;
                /**
                 * 获取金额精度、单价精度、货币符号、货币编号等信息
                 *
                 * @param currencySym 动态对象
                 * @return 精度、货币等信息
                 */
                getCurrencyFmt(currencySym:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 根据物料获取对应多计量单位精度关系
                 * @param prop
                 * @param unitObj
                 * @param materielObj
                 * @return
                 */
                getUnitFmt(prop:kd.bos.entity.property.UnitProp,unitObj:$.kd.bos.dataentity.entity.DynamicObject,materielObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 获取计量单位精度信息
                 *
                 * @param unitSym 动态对象
                 * @return 计量单位精度信息
                 */
                getUnitFmt(unitSym:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 获取默认币别格式化信息
                 *
                 * @return 币别格式化信息
                 */
                getMainCurrencyFmt():$.java.util.Map;
                /**
                 * 是否启用物料多计量单位
                 * @return
                 */
                applyMaterialPrecision():boolean;
                /**
                 * 内部使用  获取物料多计量单位 精度映射关系
                 * 结构：   物料pkid：{"计量单位2 pkid":精度1，"计量单位2 pkid":精度2}
                 * @param materielObjs
                 * @return
                 */
                getMultiUnitPrecisionMapping(materielObjs:$.java.util.List):$.java.util.Map;
            }
            interface FmtInfoUtils_C extends FmtInfoUtils_S {
                new():FmtInfoUtils;
            }
            interface FmtInfoUtils$ {
            }
            type FmtInfoUtils_T = FmtInfoUtils$;
            interface FmtInfoUtils extends FmtInfoUtils_T {
            }
            interface VoucherNoListField_S {
            }
            type VoucherNoListField_ST = ListField_S & VoucherNoListField_S;
            interface VoucherNoListField_C extends VoucherNoListField_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            列标识
                 */
                new(key:string):VoucherNoListField;
            }
            interface VoucherNoListField$ {
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置凭证id字段
                 * @param voucherFieldId
                 */
                setVoucherFieldId(voucherFieldId:string):void;
            }
            type VoucherNoListField_T = ListField & VoucherNoListField$;
            interface VoucherNoListField extends VoucherNoListField_T {
            }
            interface TableValueSetter_S {
            }
            interface TableValueSetter_C extends TableValueSetter_S {
                /**
                 * 构造函数
                 *
                 * @param fields 字段集合：需要给这些字段赋值
                 */
                new(fields:string[]):TableValueSetter;
            }
            interface TableValueSetter$ {
                /**
                 * 添加字段及其字段值
                 *
                 * @param fld 字段
                 * @param values 字段值，如果字段在单据体分录上，可以一次性批量传入多行的字段值
                 * @return 表值设置对象
                 */
                addField(fld:string,...values:any[]):this;
                /**
                 * 按行添加字段值
                 *
                 * @param fld 字段
                 * @param v 字段值
                 * @param row 行号，从0开始
                 * @return 表值设置对象
                 */
                set(fld:string,v:any,row:number):this;
                /**
                 * 按行添加字段值
                 *
                 * 必须按构造函数传入的的字段顺序传入字段值
                 *
                 * @param values 字段值
                 * @return 表值设置对象
                 */
                addRow(...values:any[]):this;
            }
            type TableValueSetter_T = TableValueSetter$;
            interface TableValueSetter extends TableValueSetter_T {
            }
            interface AbstractFormDataModel_S {
                readonly SEQ_FIELD_NAME:string;
            }
            type AbstractFormDataModel_ST = $.kd.bos.entity.datamodel.IDataModel & $.kd.bos.entity.datamodel.IRefrencedataProvider & AbstractFormDataModel_S;
            interface AbstractFormDataModel_C extends AbstractFormDataModel_ST {
                /**
                 * 构造函数
                 *
                 * @param entityType 实体类型
                 */
                new(entityType:$.kd.bos.entity.MainEntityType):AbstractFormDataModel;
                /**
                 * 构造函数
                 *
                 * @param entityName 实体对象编码
                 * @param pageId 页面pageId
                 * @param services 服务字典
                 */
                new(entityName:string,pageId:string,services:$.java.util.Map):AbstractFormDataModel;
                /**
                 * 构造函数
                 *
                 * @param entityName 实体对象编码
                 * @param pageId 页面pageId
                 * @param services 服务字典
                 * @param appId 应用标识
                 * @param permissionItem 权限项
                 */
                new(entityName:string,pageId:string,services:$.java.util.Map,appId:string,permissionItem:string):AbstractFormDataModel;
            }
            interface AbstractFormDataModel$ {
                getEntityEntity(entryKey:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 带值生成批量分录，只能使用此函数，禁止创建空行后再单行赋值
                 *
                 * @param entryKey
                 * @param values
                 * @return
                 */
                batchCreateNewEntryRow(entryKey:string,values:TableValueSetter):number[];
                importEntry(key:string,uploadFile:string):void;
                /**
                 * 该方法没有暂时没有实现
                 */
                create():void;
                /**
                 * 获取页面pageId
                 *
                 * @return 页面pageId
                 */
                getPageId():string;
                /**
                 * 获取实体类型
                 *
                 * @return 实体类型
                 */
                getMainEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 返回某个实体指定行的记录，如果是子单据体，根据上级单据体确定索引。
                 *
                 * @param entryKey 分录对应实体
                 * @param rowIndex 行索引
                 * @return 分录行动态实体
                 */
                getEntryEntity(entryKey:string,rowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置分录当前行（焦点行）
                 *
                 * @param entryKey 分录标识
                 * @param row 行号
                 * @param sendClientAction 该参数实际未使用
                 */
                setEntryCurrentRowIndex(entryKey:string,row:number,sendClientAction:boolean):void;
                getCallManager():SetValueCallManager;
                /**
                 * 获取树形单据体指定行号的动态对象
                 *
                 * @param entryProp 分录对象
                 * @param index 行号
                 * @return 动态对象
                 */
                getTreeEntryEntityRow(entryProp:$.kd.bos.entity.property.EntryProp,index:number):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取分录焦点行的动态对象（数据包）
                 *
                 * @param entryKey 分录标识
                 * @return 动态对象（数据包）
                 */
                getEntryCurrentRow(entryKey:string):$.kd.bos.dataentity.entity.DynamicObject;
                setCombinedValue(combinedKey:string,valueKey:string,value:any,row:number):void;
            }
            type AbstractFormDataModel_T = $.kd.bos.entity.datamodel.IDataModel & $.kd.bos.entity.datamodel.IRefrencedataProvider & AbstractFormDataModel$;
            interface AbstractFormDataModel extends AbstractFormDataModel_T {
            }
            interface IParameterModel_S {
            }
            interface IParameterModel_C extends IParameterModel_S {
            }
            interface IParameterModel$ {
                /**
                 * 获取绑定表单ID
                 * @return 绑定表单ID
                 */
                getBindFormId():string;
                /**
                 * 设置绑定表单ID
                 * @param bindFormId 绑定表单ID
                 */
                setBindFormId?(bindFormId:string):void;
                /**
                 * 获取参数云ID
                 * @return 参数云ID
                 */
                getParamCloudId():string;
                /**
                 * 获取会计账簿ID
                 * @return 会计账簿ID
                 */
                getAcctingBookId():long;
                /**
                 * 获取账簿ID
                 * @return 账簿ID
                 */
                getAcctBookId():long;
                /**
                 * 获取组织ID
                 * @return 组织ID
                 */
                getOrgId():long;
                /**
                 * 获取视图类型
                 * @return 视图类型
                 */
                getViewType():string;
                /**
                 * 设置绑定单据类型ID
                 * @param bindBillTypeId 绑定单据类型ID
                 */
                setBindBillTypeId?(bindBillTypeId:long):void;
                /**
                 * 获取扩展维度
                 * @return 扩展维度
                 */
                getExtend():string;
                /**
                 * 获取参数应用ID
                 * @return 参数应用ID
                 */
                getParamAppId():string;
                /**
                 * 获取绑定单据类型ID
                 * @return 绑定单据类型ID
                 */
                getBindBillTypeId():long;
            }
            type IParameterModel_T = IParameterModel$;
            interface IParameterModel extends IParameterModel_T {
            }
            interface SetValueCallManager_S {
            }
            type SetValueCallManager_ST = $.java.lang.Iterable & SetValueCallManager_S;
            interface SetValueCallManager_C extends SetValueCallManager_ST {
                new():SetValueCallManager;
            }
            interface SetValueCallManager$ {
                Contains(arg0:any):boolean;
                /**
                 * 完成调用，出栈
                 */
                Pop():void;
                Push(arg0:any):boolean;
            }
            type SetValueCallManager_T = $.java.lang.Iterable & SetValueCallManager$;
            interface SetValueCallManager extends SetValueCallManager_T {
            }
            interface IRegisterPropertyListener_S {
            }
            interface IRegisterPropertyListener_C extends IRegisterPropertyListener_S {
            }
            interface IRegisterPropertyListener$ {
                registerComplexProperty(arg0:kd.bos.entity.datamodel.events.RegisterPropertyArgs):kd.bos.entity.datamodel.events.RegisterPropertyArgs;
                registerSimpleProperty(arg0:kd.bos.entity.datamodel.events.RegisterPropertyArgs):kd.bos.entity.datamodel.events.RegisterPropertyArgs;
            }
            type IRegisterPropertyListener_T = IRegisterPropertyListener$;
            interface IRegisterPropertyListener extends IRegisterPropertyListener_T {
            }
            interface IBaseModel_S {
            }
            type IBaseModel_ST = IBaseModel_S & IBillModel_S;
            interface IBaseModel_C extends IBaseModel_ST {
            }
            interface IBaseModel$ {
            }
            type IBaseModel_T = IBaseModel$ & IBillModel;
            interface IBaseModel extends IBaseModel_T {
            }
        }
        namespace kd.bos.entity.datamodel.events{
            interface IDataModelListener_S {
            }
            interface IDataModelListener_C extends IDataModelListener_S {
            }
            interface IDataModelListener$ {
                /**
                 * 复制数据包完成后触发此事件
                 *
                 * 插件可在此事件，填充不允许复制的字段值
                 *
                 * @param e 事件参数
                 */
                afterCopyData(e:$.java.util.EventObject):void;
                /**
                 * 批量引入数据之前触发此事件，只触发一次
                 *
                 * 插件可在此事件，分析引入数据源，批量读取依赖的基础资料数据
                 *
                 * @param e 事件参数，含引入数据源
                 */
                initImportData(e:InitImportDataEventArgs):void;
                /**
                 * 引入数据填写之前触发的事件
                 *
                 * 批量引入时，每张单据都触发一次
                 * 插件可以对本次引入的源单数据包，进行修订；或者取消本单引入
                 *
                 * @param e 事件参数，含引入数据源
                 */
                beforeImportData(e:BeforeImportDataEventArgs):void;
                /**
                 * 单据引入，批量匹配依赖的基础数据事件
                 *
                 * 引入源数据包中，基础资料字段通常填写数据编码，引入过程需要先把编码转为内码后再填写到字段上
                 * 默认情况，平台会自动根据组织和编码搜索基础数据的内码，不需要插件干预
                 * 某些特殊基础数据，编码不唯一，此时需要插件来完成数据编码到内码的转换，否则会引入失败
                 *
                 * @param e 事件参数，含需由插件完成转换的基础数据
                 */
                queryImportBasedata(e:QueryImportBasedataEventArgs):void;
                /**
                 * 获取主实体对象时触发此事件
                 *
                 * 插件可在此事件，向主实体动态注册新属性，以实现给表单动态添加字段的效果
                 * 特别注意：主实体对象是共享的，不允许直接修改主实体对象本身。必须先复制，然后在拷贝的主实体对象上动态注册新属性
                 *
                 * @param e 事件参数，含默认的主实体对象
                 */
                getEntityType(e:GetEntityTypeEventArgs):void;
                /**
                 * 加载数据包事件，在单据从数据库读取数据时触发
                 *
                 * 插件可在此事件，自行完成取数
                 *
                 * @param e 事件参数，插件可以通过此参数传入自取的模型数据包
                 */
                loadData(e:LoadDataEventArgs):void;
                /**
                 * 数据包创建之后的事件
                 *
                 * 插件在此，对已创建好的模型数据包进一步加工，比如调整字段默认值，增加单据体默认行等
                 *
                 * 示例：<pre>{@code
                 * public class DemoFormPlugin extends AbstractFormPlugin {
                 * &#64Override
                 * public void afterCreateNewData(EventObject e) {
                 * }
                 * }}</pre>
                 * @param e 事件参数，未含特别参数
                 */
                afterCreateNewData(e:$.java.util.EventObject):void;
                /**
                 * 引入数据填写完毕之后，保存前触发的事件
                 *
                 * 批量引入时，每张单据都触发一次
                 * 插件可以对已完成引入，但还未保存的数据包，进行最后的修改
                 *
                 * @param e 事件参数，含引入数据源
                 */
                afterImportData(e:ImportDataEventArgs):void;
                /**
                 * 单据体引入过程中，解析Excel文件至JSON数据包解析完毕，即将转换为动态对象之前的事件 ，可在这个事件中修改/校验当前批次解析到的数据包
                 *
                 * @param e 事件参数
                 */
                beforeImportEntry(e:BeforeImportEntryEventArgs):void;
                /**
                 * 创建数据包事件，一般在页面初始化时调用
                 *
                 * 插件可在此事件，自行构建模型数据包，后续平台将把插件构建的数据包显示在界面上
                 * 如果插件不处理此事件，平台会自行构建空白的模型数据包，并给每个字段填好默认值
                 *
                 * 示例：<pre>{@code
                 * public class DemoFormPlugin extends AbstractFormPlugin {
                 *     @Override
                 *     public void createNewData(BizDataEventArgs e) {
                 *
                 *    }
                 * }
                 * }</pre>
                 *
                 * @param e 事件参数，插件可通过此参数传入自行创建的表单界面数据包
                 */
                createNewData(e:BizDataEventArgs):void;
            }
            type IDataModelListener_T = IDataModelListener$;
            interface IDataModelListener extends IDataModelListener_T {
            }
            interface BeforeSetItemValueEventArgs_S {
            }
            interface BeforeSetItemValueEventArgs_C extends BeforeSetItemValueEventArgs_S {
                /**
                 * 构造函数
                 *
                 * @param property 字段
                 * @param dataEntity 数据包
                 * @param value 字段值
                 */
                new(property:$.kd.bos.dataentity.metadata.IDataEntityProperty,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,value:any):BeforeSetItemValueEventArgs;
            }
            interface BeforeSetItemValueEventArgs$ {
                /**
                 * 返回插件设置的基础资料额外的检索参数
                 *
                 * 和检索字段 {@link #getSearchKey()} 配合使用
                 *
                 * @return 检索参数
                 */
                getSearchArgs():string[];
                /**
                 * 返回赋值数据包
                 *
                 * @return 数据包
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置基础资料额外的检索字段
                 *
                 * @param searchKey 检索字段
                 */
                setSearchKey(searchKey:string):void;
                /**
                 * 设置基础资料过滤条件
                 *
                 * @param qFilters 过滤条件
                 */
                setQFilters(qFilters:$.java.util.List):void;
                /**
                 * 设置基础资料额外的检索参数
                 *
                 * @param searchArgs 检索参数
                 */
                setSearchArgs(searchArgs:string[]):void;
                /**
                 * 设置赋值数据包
                 *
                 * @param dataEntity 数据包
                 */
                setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 返回赋值字段
                 *
                 * @return 字段属性对象
                 */
                getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 返回插件设置的基础资料额外检索字段
                 *
                 * 和检索参数 {@link #getSearchArgs()}配合使用，事件执行完毕后，系统会动态拼接成 "searchKey in (searchArgs)" 的取数条件对基础资料进行过滤
                 *
                 * @return 检索字段
                 */
                getSearchKey():string;
                /**
                 * 返回字段值，可能是基础数据内码或编码
                 *
                 * @return 字段值
                 */
                getValue():any;
                /**
                 * 返回插件设置的基础资料过滤条件
                 *
                 * @return 过滤条件
                 */
                getQFilters():$.java.util.List;
                /**
                 * 设置赋值字段
                 *
                 * @param property 字段属性对象
                 */
                setProperty(property:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 设置字段值
                 *
                 * @param value 字段值
                 */
                setValue(value:any):void;
            }
            type BeforeSetItemValueEventArgs_T = BeforeSetItemValueEventArgs$;
            interface BeforeSetItemValueEventArgs extends BeforeSetItemValueEventArgs_T {
            }
            interface BeforeDeleteRowEventArgs_S {
            }
            type BeforeDeleteRowEventArgs_ST = BeforeDeleteRowEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface BeforeDeleteRowEventArgs_C extends BeforeDeleteRowEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param rowIndexs 分录行集合
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,rowIndexs:number[]):BeforeDeleteRowEventArgs;
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param rowIndex 分录行
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,rowIndex:number):BeforeDeleteRowEventArgs;
            }
            interface BeforeDeleteRowEventArgs$ {
                /**
                 * 设置是否取消删除行
                 *
                 * @param cancel 是否取消删除行
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 返回被删的分录行索引集合
                 *
                 * @return 分录行索引集合，行索引从0开始
                 */
                getRowIndexs():number[];
                /**
                 * 返回分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
            }
            type BeforeDeleteRowEventArgs_T = BeforeDeleteRowEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface BeforeDeleteRowEventArgs extends BeforeDeleteRowEventArgs_T {
            }
            interface AfterAddRowEventArgs_S {
            }
            type AfterAddRowEventArgs_ST = AfterAddRowEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface AfterAddRowEventArgs_C extends AfterAddRowEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param rowDataEntities 分录行数据集合
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,rowDataEntities:RowDataEntity[]):AfterAddRowEventArgs;
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param rowDataEntities 分录行数据集合
                 * @param insertRow 插入行索引
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,rowDataEntities:RowDataEntity[],insertRow:number):AfterAddRowEventArgs;
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param rowDataEntities 分录行数据集合
                 * @param insertRow 插入行索引
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,rowDataEntities:RowDataEntity[],insertRow:number,insertBehind:boolean):AfterAddRowEventArgs;
            }
            interface AfterAddRowEventArgs$ {
                /**
                 * 获取分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
                /**
                 * 获取新添加的分录行数据集合
                 *
                 * @return 分录行数据集合
                 */
                getRowDataEntities():RowDataEntity[];
                /**
                 * 获取插入行索引
                 *
                 * @return 插入行索引
                 */
                getInsertRow():number;
                /**
                 * 是否在当前行号后面插入
                 */
                isInsertBehind():boolean;
            }
            type AfterAddRowEventArgs_T = AfterAddRowEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface AfterAddRowEventArgs extends AfterAddRowEventArgs_T {
            }
            interface DragRowGridToGridEventArgs$ToDragRowInfo_S {
            }
            type DragRowGridToGridEventArgs$ToDragRowInfo_ST = $.java.io.Serializable & DragRowGridToGridEventArgs$ToDragRowInfo_S;
            interface DragRowGridToGridEventArgs$ToDragRowInfo_C extends DragRowGridToGridEventArgs$ToDragRowInfo_ST {
                new():DragRowGridToGridEventArgs$ToDragRowInfo;
            }
            interface DragRowGridToGridEventArgs$ToDragRowInfo$ {
                setRow(arg0:number):void;
                getRow():number;
                setPageId(arg0:string):void;
                setPr(arg0:number):void;
                getPageId():string;
                getKey():string;
                getPr():number;
                setKey(arg0:string):void;
            }
            type DragRowGridToGridEventArgs$ToDragRowInfo_T = $.java.io.Serializable & DragRowGridToGridEventArgs$ToDragRowInfo$;
            interface DragRowGridToGridEventArgs$ToDragRowInfo extends DragRowGridToGridEventArgs$ToDragRowInfo_T {
            }
            interface BeforeBatchFillEntryArgs$RowItem_S {
            }
            interface BeforeBatchFillEntryArgs$RowItem_C extends BeforeBatchFillEntryArgs$RowItem_S {
                new():BeforeBatchFillEntryArgs$RowItem;
            }
            interface BeforeBatchFillEntryArgs$RowItem$ {
                getSelProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                getRow():number;
                build(arg0:$.kd.bos.dataentity.metadata.IDataEntityProperty,arg1:any,arg2:number):this;
                getValue():any;
            }
            type BeforeBatchFillEntryArgs$RowItem_T = BeforeBatchFillEntryArgs$RowItem$;
            interface BeforeBatchFillEntryArgs$RowItem extends BeforeBatchFillEntryArgs$RowItem_T {
            }
            interface BeforeImportDataEventArgs_S {
            }
            type BeforeImportDataEventArgs_ST = BeforeImportDataEventArgs_S & ImportDataEventArgs_S;
            interface BeforeImportDataEventArgs_C extends BeforeImportDataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param sourceData 源数据
                 * @param basedataPks 基础资料数据
                 */
                new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map):BeforeImportDataEventArgs;
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param sourceData 元数据
                 * @param basedataPks 基础资料数据
                 * @param option 可选参数
                 */
                new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map,option:$.java.util.Map):BeforeImportDataEventArgs;
            }
            interface BeforeImportDataEventArgs$ {
                /**
                 * 插件是否取消了触发afterImportData事件
                 *
                 * @return 默认返回true，触发afterImportData事件
                 */
                isFireAfterImportData():boolean;
                /**
                 * 取消字段是否允许引入的选项控制
                 *
                 * 字段上有个功能控制-是否允许引入选项，默认只有勾选了该选项后，该字段才允许引入
                 *
                 * @param checkImportable 设置为false取消引入选项控制
                 */
                setCheckImportable(checkImportable:boolean):void;
                /**
                 * 指定是否触发afterImportData事件、执行实体服务规则
                 *
                 * 默认是触发的，可以指定不触发，提升性能
                 *
                 * @param fireAfterImportData 设置false不触发afterImportData事件
                 */
                setFireAfterImportData(fireAfterImportData:boolean):void;
                /**
                 * 插件是否取消了字段是否允许引入的选项控制
                 *
                 * @return 默认返回true，检查字段是否允许录入
                 */
                isCheckImportable():boolean;
            }
            type BeforeImportDataEventArgs_T = BeforeImportDataEventArgs$ & ImportDataEventArgs;
            interface BeforeImportDataEventArgs extends BeforeImportDataEventArgs_T {
            }
            interface IDataModelChangeListener_S {
            }
            interface IDataModelChangeListener_C extends IDataModelChangeListener_S {
            }
            interface IDataModelChangeListener$ {
                /**
                 * 删除分录行前事件
                 *
                 * @param e 事件参数
                 */
                beforeDeleteRow(e:BeforeDeleteRowEventArgs):void;
                beforeDeleteEntry(e:BeforeDeleteEntryEventArgs):void;
                /**
                 * 基础资料字段赋值前事件
                 *
                 * 插件可设置基础数据过滤条件
                 *
                 * @param e 事件参数
                 */
                beforeSetItemValue(e:BeforeSetItemValueEventArgs):void;
                /**
                 * 分录行置顶
                 *
                 * @param e 事件参数
                 */
                afterSetEntryTop(e:AfterMoveEntryEventArgs):void;
                /**
                 * 聚合分录行移动后事件
                 *
                 * @param e 事件参数
                 */
                afterTogetherMoveEntryRow(e:AfterTogetherMoveEntryRowEventArgs):void;
                /**
                 * 表格之间行拖拽
                 * @param e
                 */
                dragRowGridToGrid(e:DragRowGridToGridEventArgs):void;
                /**
                 * 创建新分录行后事件
                 *
                 * @param e 事件参数
                 */
                afterAddRow(e:AfterAddRowEventArgs):void;
                /**
                 * 分录行下移后事件
                 *
                 * @param e 事件参数
                 */
                afterMoveEntryDown(e:AfterMoveEntryEventArgs):void;
                /**
                 * 本插件是否支持批量触发值更新事件
                 *
                 * 历史版本propertyChanged事件是单行触发的，插件通常只需要处理单行字段值，很多插件也只处理了第一个字段值
                 * 但实际上，该事件是支持批量触发的（批量选择基础资料数据返回），事件参数会包含批量修改的多行字段值
                 * 插件支持批量处理后，需重写本方法，返回true
                 *
                 * 补充说明：默认返回false，认为本插件没有准备好批量处理，会迫使平台只能逐个单元格修改字段值，从而降低性能。这可能会导致用户大批量选择基础资料字段值返回时处理相当慢
                 */
                isSupportBatchPropChanged():boolean;
                /**
                 * 分录行上移后事件
                 *
                 * @param e 事件参数
                 */
                afterMoveEntryUp(e:AfterMoveEntryEventArgs):void;
                /**
                 * 创建新分录行前事件
                 *
                 * 此事件未实际触发
                 *
                 * @param e 事件参数
                 */
                beforeAddRow(e:BeforeAddRowEventArgs):void;
                /**
                 * 删除分录行后事件
                 *
                 * @param e 事件参数
                 */
                afterDeleteRow(e:AfterDeleteRowEventArgs):void;
                /**
                 * 分录行置底
                 *
                 * @param e 事件参数
                 */
                afterSetEntryBottom(e:AfterMoveEntryEventArgs):void;
                /**
                 * 初始化的时候，触发事件
                 * @param e 实体中属性值改变事件，按变化的多个行批量一次触发
                 */
                initPropertyChanged(e:PropertyChangedArgs):void;
                /**
                 * 字段值改变后事件
                 *
                 * 插件可同步更新其他字段值
                 * 不建议在此事件回滚字段值，可能会导致数据不一致：如果业务规则或其他插件已经基于本字段值进行了计算，无法一并回滚
                 *
                 * 特别提醒：本事件支持批量触发，需和 {@link #isSupportBatchPropChanged()} 配合
                 *
                 * @param e 事件参数，含字段值改变前后的值
                 */
                propertyChanged(e:PropertyChangedArgs):void;
                /**
                 * 聚合分录行移动前事件
                 *
                 * @param e 事件参数
                 */
                beforeTogetherMoveEntryRow(e:BeforeTogetherMoveEntryRowEventArgs):void;
                /**
                 * 清空分录数据后事件
                 *
                 * @param e 事件参数
                 */
                afterDeleteEntry(e:AfterDeleteEntryEventArgs):void;
                /**
                 * 分录合计
                 * @param e 事件参数
                 */
                totalEntriesByCondition(e:TotalEntriesEventArgs):void;
                /**
                 * 字段值改变前事件
                 *
                 * @param e 事件参数，含被改变的属性及新值
                 */
                beforePropertyChanged(e:PropertyChangedArgs):void;
                /**
                 * 填充分录
                 *
                 * @param e 事件参数
                 */
                beforeBatchFillEntry(e:BeforeBatchFillEntryArgs):void;
            }
            type IDataModelChangeListener_T = IDataModelChangeListener$;
            interface IDataModelChangeListener extends IDataModelChangeListener_T {
            }
            interface InitImportDataEventArgs_S {
            }
            type InitImportDataEventArgs_ST = $.java.util.EventObject & InitImportDataEventArgs_S;
            interface InitImportDataEventArgs_C extends InitImportDataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param sourceDataList 源数据
                 * @param customOption 构造函数
                 * @param fieldImportOrder 字段引入顺序
                 */
                new(source:any,sourceDataList:$.java.util.List,customOption:$.java.util.Map,fieldImportOrder:$.java.util.List):InitImportDataEventArgs;
            }
            interface InitImportDataEventArgs$ {
                /**
                 * 获取字段引入顺序
                 *
                 * 插件可通过此属性设置字段引入顺序
                 *
                 * @return 字段引入顺序
                 */
                getFieldImportOrder():$.java.util.List;
                /**
                 * 获取自定义参数
                 *
                 * @return 自定义参数
                 */
                getOption():$.java.util.Map;
                /**
                 * 获取整单下所有分录、子分录的错误信息
                 *
                 * @param excelIndexFromHead excel文件中的行号
                 * @return 具体行对应的错误信息
                 */
                getCancelMessage(excelIndexFromHead:number):$.java.util.Map;
                /**
                 * 获取全量错误提示
                 * @return
                 */
                getCancelMessageWithHeadRow():$.java.util.Map;
                /**
                 * 替换整单的所有错误提示信息
                 *
                 * @param sourceDataIndex 单头数据索引
                 * @param entryRowIndex 分录数据索引
                 * @param subEntryRowIndex 子分录数据索引
                 * @param errorMsgs 所有错误提示
                 */
                setCancelMessages(sourceDataIndex:number,entryRowIndex:number,subEntryRowIndex:number,errorMsgs:$.java.util.List):void;
                /**
                 * 获取Excel文件中的行号
                 *
                 * @param sourceDataIndex 单头数据索引
                 * @param entryRowIndex 分录数据索引
                 * @param subEntryRowIndex 父分录数据索引
                 * @return Excel文件中的行号
                 */
                getExcelRowIndex(sourceDataIndex:number,entryRowIndex:number,subEntryRowIndex:number):number;
                /**
                 * 获取Excel文件中的行号
                 *
                 * @param sourceDataIndex 单头数据索引
                 * @return Excel文件中的行号
                 */
                getExcelRowIndexFromHead(sourceDataIndex:number):number;
                /**
                 * 返回批量引入所有的源数据包
                 *
                 * @return 源数据
                 */
                getSourceDataList():$.java.util.List;
                /**
                 * 追加整单的所有错误提示信息
                 *
                 * @param sourceDataIndex 单头数据索引
                 * @param entryRowIndex 分录数据索引
                 * @param subEntryRowIndex 子分录数据索引
                 * @param errorMsg 追加错误信息
                 */
                addCancelMessage(sourceDataIndex:number,entryRowIndex:number,subEntryRowIndex:number,errorMsg:string):void;
            }
            type InitImportDataEventArgs_T = $.java.util.EventObject & InitImportDataEventArgs$;
            interface InitImportDataEventArgs extends InitImportDataEventArgs_T {
            }
            interface FillPredictor_S {
                isEqual(targetRef:any):FillPredictor;
            }
            interface FillPredictor_C extends FillPredictor_S {
            }
            interface FillPredictor$ {
                negate?():this;
                satisfy(arg0:any):boolean;
                or?(other:FillPredictor):this;
                and?(other:FillPredictor):this;
            }
            type FillPredictor_T = FillPredictor$;
            interface FillPredictor extends FillPredictor_T {
            }
            interface BeforeImportEntryEventArgs_S {
            }
            type BeforeImportEntryEventArgs_ST = $.java.util.EventObject & BeforeImportEntryEventArgs_S;
            interface BeforeImportEntryEventArgs_C extends BeforeImportEntryEventArgs_ST {
                /**
                 * 构造方法
                 *
                 * @param source 事件源
                 * @param entryDataMap 分录数据字典
                 */
                new(source:any,entryDataMap:$.java.util.Map):BeforeImportEntryEventArgs;
            }
            interface BeforeImportEntryEventArgs$ {
                /**
                 * 获取分录数据字典
                 *
                 * @return 分录数据字典
                 */
                getEntryDataMap():$.java.util.Map;
            }
            type BeforeImportEntryEventArgs_T = $.java.util.EventObject & BeforeImportEntryEventArgs$;
            interface BeforeImportEntryEventArgs extends BeforeImportEntryEventArgs_T {
            }
            interface ImportDataEventArgs_S {
            }
            type ImportDataEventArgs_ST = $.java.util.EventObject & ImportDataEventArgs_S;
            interface ImportDataEventArgs_C extends ImportDataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param sourceData 源数据
                 * @param basedataPks 基础资料数据
                 */
                new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map):ImportDataEventArgs;
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param sourceData 源数据
                 * @param basedataPks 基础资料数据
                 * @param option 可选项
                 */
                new(source:any,sourceData:$.java.util.Map,basedataPks:$.java.util.Map,option:$.java.util.Map):ImportDataEventArgs;
            }
            interface ImportDataEventArgs$ {
                /**
                 * 返回源数据
                 *
                 * @return 源数据
                 */
                getSourceData():$.java.util.Map;
                /**
                 * 插件是否取消本单引入
                 *
                 * @return 默认返回false。返回true即取消引入
                 */
                isCancel():boolean;
                /**
                 * 添加取消引入原因
                 *
                 * @param entryRowIndex 分录行
                 * @param subEntryRowIndex 子分录行
                 * @param cancelMessage 取消原因
                 */
                addCancelMessage(entryRowIndex:number,subEntryRowIndex:number,cancelMessage:string):void;
                /**
                 * 取消本单引入
                 *
                 * @param cancel 设置为true，取消引入
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 返回按行区分的取消引入原因
                 *
                 * @return 各行取消原因
                 */
                getCancelMessages():$.java.util.Map;
                /**
                 * 返回可选参数
                 *
                 * @return 可选参数
                 */
                getOption():$.java.util.Map;
                /**
                 * 设置取消引入原因
                 *
                 * @param entryRowIndex 分录行
                 * @param subEntryRowIndex 子分录行
                 * @param msgs 取消原因
                 */
                setCancelMessages(entryRowIndex:number,subEntryRowIndex:number,msgs:$.java.util.List):void;
                /**
                 * 返回基础资料数据
                 *
                 * @return 基础资料数据
                 */
                getBasedataPks():$.java.util.Map;
                /**
                 * 返回取消本单引入的原因说明：把所有行的提示拼接起来返回
                 *
                 * @return 拼接后的取消引入原因
                 */
                getCancelMessage():string;
            }
            type ImportDataEventArgs_T = $.java.util.EventObject & ImportDataEventArgs$;
            interface ImportDataEventArgs extends ImportDataEventArgs_T {
            }
            interface BeforeAddRowEventArgs_S {
            }
            interface BeforeAddRowEventArgs_C extends BeforeAddRowEventArgs_S {
                new():BeforeAddRowEventArgs;
            }
            interface BeforeAddRowEventArgs$ {
            }
            type BeforeAddRowEventArgs_T = BeforeAddRowEventArgs$;
            interface BeforeAddRowEventArgs extends BeforeAddRowEventArgs_T {
            }
            interface QueryImportBasedataEventArgs_S {
            }
            type QueryImportBasedataEventArgs_ST = $.java.util.EventObject & QueryImportBasedataEventArgs_S;
            interface QueryImportBasedataEventArgs_C extends QueryImportBasedataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param rowMapper 源数据和单据映射对象
                 * @param searchResult 依赖的基础数据
                 */
                new(rowMapper:any,searchResult:$.java.util.Map):QueryImportBasedataEventArgs;
            }
            interface QueryImportBasedataEventArgs$ {
                /**
                 * 返回依赖的基础数据
                 *
                 * 插件需要为本方法返回的各条基础数据，逐一填入匹配的数据内码
                 *
                 * @return 基础数据
                 */
                getSearchResult():$.java.util.Map;
            }
            type QueryImportBasedataEventArgs_T = $.java.util.EventObject & QueryImportBasedataEventArgs$;
            interface QueryImportBasedataEventArgs extends QueryImportBasedataEventArgs_T {
            }
            interface RegisterFlexPropertyArgs_S {
            }
            interface RegisterFlexPropertyArgs_C extends RegisterFlexPropertyArgs_S {
                new(dataEntityProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):RegisterFlexPropertyArgs;
                new(dataEntityProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,dimensionProp:kd.bos.entity.property.BasedataProp,baseProp:kd.bos.entity.property.BasedataProp,entityType:MainEntityType):RegisterFlexPropertyArgs;
            }
            interface RegisterFlexPropertyArgs$ {
                getEntityType():MainEntityType;
                /**
                 * @return 弹性域实际对应的基础资料(科目，币别等)
                 */
                getBaseProp():kd.bos.entity.property.BasedataProp;
                /**
                 * @return 弹性域维度信息字段,关联到(t_gl_assist_bd或t_gl_assist_txt)
                 */
                getDimensionProp():kd.bos.entity.property.BasedataProp;
                /**
                 * @return 弹性域属性元数据字段(由t_bas_flex_property构造)
                 */
                getDataEntityProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
            }
            type RegisterFlexPropertyArgs_T = RegisterFlexPropertyArgs$;
            interface RegisterFlexPropertyArgs extends RegisterFlexPropertyArgs_T {
            }
            interface PackageDataEvent_S {
            }
            type PackageDataEvent_ST = $.java.util.EventObject & PackageDataEvent_S;
            interface PackageDataEvent_C extends PackageDataEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 */
                new(source:any):PackageDataEvent;
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param formatValue 单元格数据
                 */
                new(source:any,formatValue:any):PackageDataEvent;
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param rowData 行数据
                 * @param formatValue 单元格数据
                 */
                new(source:any,rowData:$.kd.bos.dataentity.entity.DynamicObject,formatValue:any):PackageDataEvent;
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param rowData 行数据
                 * @param formatValue 单元格数据
                 * @param rowIndex 当前行号
                 */
                new(source:any,rowData:$.kd.bos.dataentity.entity.DynamicObject,formatValue:any,rowIndex:number):PackageDataEvent;
            }
            interface PackageDataEvent$ {
                /**
                 * 设置不显示超链接的字段
                 *
                 * 只有部分场景用到此设置
                 *
                 * @param noLinkKey 字段集合
                 */
                setNoLinkKey(noLinkKey:$.java.util.List):void;
                /**
                 * 设置格式化后的单元格数据
                 *
                 * @param formatValue 单元格数据
                 */
                setFormatValue(formatValue:any):void;
                /**
                 * 获取插件设置的不显示超链接的字段
                 *
                 * 列表插件未处理此参数，在单据体表格格式化时用到
                 *
                 * @return 字段集合
                 */
                getNoLinkKey():$.java.util.List;
                /**
                 * 设置当前行数据
                 *
                 * @param rowData 当前行数据
                 */
                setRowData(rowData:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 获取字段edit属性。key=字段标识，value=edit属性map对象
                 * @return
                 */
                getCellFmtMap():$.java.util.Map;
                /**
                 * 获取插件是否允许选择行
                 *
                 * @return 默认返回true，允许选择行
                 */
                isCanSelectRow():boolean;
                /**
                 * 获取插件设置的不融合的字段
                 *
                 * @return 字段集合
                 */
                getNoMergeKey():$.java.util.List;
                /**
                 * 是否取消本行数据(rowData)输出
                 *
                 * @return true（取消）or false（未取消）
                 */
                isCancel():boolean;
                /**
                 * 获取当前单元格所在的列标识
                 *
                 * @return 返回列标识
                 */
                getColKey():string;
                /**
                 * 获取格式化的单元格数据
                 *
                 * @return 单元格数据
                 */
                getFormatValue():any;
                /**
                 * 设置不允许选择行
                 *
                 * 只有单据体表格绑定时用到此设置
                 *
                 * @param canSelectRow 设置false，不允许选择行
                 */
                setCanSelectRow(canSelectRow:boolean):void;
                /**
                 * 获取当前行号
                 * @return
                 */
                getRowIndex():number;
                /**
                 * 获取动态设置下拉项
                 */
                getComboList():$.java.util.List;
                /**
                 * 设置当前行号
                 * @param rowIndex
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 设置字段edit属性。key=字段标识，value=edit属性map对象
                 * @param cellFmtMap
                 */
                setCellFmtMap(cellFmtMap:$.java.util.Map):void;
                /**
                 * 设置动态设置下拉项
                 * @param comboList
                 */
                setComboList(comboList:$.java.util.List):void;
                /**
                 * 设置是否取消本行数据(rowData)输出
                 *
                 * @param cancel
                 *            true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取当前行数据
                 *
                 * @return 当前行数据
                 */
                getRowData():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置不融合的字段
                 *
                 * 只有部分场景用到此设置
                 *
                 * @param noMergeKey 字段集合
                 */
                setNoMergeKey(noMergeKey:$.java.util.List):void;
            }
            type PackageDataEvent_T = $.java.util.EventObject & PackageDataEvent$;
            interface PackageDataEvent extends PackageDataEvent_T {
            }
            interface DragRowGridToGridEventArgs_S {
            }
            type DragRowGridToGridEventArgs_ST = $.java.io.Serializable & DragRowGridToGridEventArgs_S;
            interface DragRowGridToGridEventArgs_C extends DragRowGridToGridEventArgs_ST {
                /**
                 * 构造函数
                 * @param fromInfo 起始拖拽表的信息
                 * @param toInfo 结束拖拽表的信息
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 */
                new(fromInfo:DragRowGridToGridEventArgs$FromDragRowInfo,toInfo:DragRowGridToGridEventArgs$ToDragRowInfo,direct:string):DragRowGridToGridEventArgs;
            }
            interface DragRowGridToGridEventArgs$ {
                /**
                 * 获取起始拖拽表的信息
                 * @return
                 */
                getFromInfo():DragRowGridToGridEventArgs$FromDragRowInfo;
                /**
                 * 获取拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 * @return
                 */
                getDirect():string;
                /**
                 * 获取结束拖拽表的信息
                 * @return
                 */
                getToInfo():DragRowGridToGridEventArgs$ToDragRowInfo;
            }
            type DragRowGridToGridEventArgs_T = $.java.io.Serializable & DragRowGridToGridEventArgs$;
            interface DragRowGridToGridEventArgs extends DragRowGridToGridEventArgs_T {
            }
            interface AfterTogetherMoveEntryRowEventArgs_S {
            }
            type AfterTogetherMoveEntryRowEventArgs_ST = AfterTogetherMoveEntryRowEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface AfterTogetherMoveEntryRowEventArgs_C extends AfterTogetherMoveEntryRowEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param property 分录属性对象
                 * @param formIndexs 聚合分录行数组(序号从零开始起算)
                 * @param toIndex 移动到目标行下面(序号从零开始起算)
                 * @param allFormIndexs 树形单据体：获取树形单据体指定行的所有子行(包含自己)，普通单据体：等于formIndexs
                 * @param rowCount 分录总行数
                 */
                new(property:kd.bos.entity.property.EntryProp,formIndexs:number[],toIndex:number,allFormIndexs:number[],rowCount:number):AfterTogetherMoveEntryRowEventArgs;
                /**
                 * 构造函数
                 *
                 * @param property 分录属性对象
                 * @param formIndexs 聚合分录行数组(序号从零开始起算)
                 * @param toIndex 移动到目标行下面(序号从零开始起算)
                 * @param allFormIndexs 树形单据体：获取树形单据体指定行的所有子行(包含自己)，普通单据体：等于formIndexs
                 * @param rowCount 分录总行数
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 */
                new(property:kd.bos.entity.property.EntryProp,formIndexs:number[],toIndex:number,allFormIndexs:number[],rowCount:number,direct:string):AfterTogetherMoveEntryRowEventArgs;
            }
            interface AfterTogetherMoveEntryRowEventArgs$ {
                /**
                 * 返回分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
                /**
                 * 获取树形单据体：获取树形单据体指定行的所有子行(包含自己)，普通单据体：等于formIndexs
                 * @return
                 */
                getAllFormIndexs():number[];
                /**
                 * 获取聚合分录行数组(序号从零开始起算)
                 * @return
                 */
                getFormIndexs():number[];
                /**
                 * 获取拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 * @return
                 */
                getDirect():string;
                /**
                 * 获取移动到目标行下面(序号从零开始起算)
                 * @return
                 */
                getToIndex():number;
                /**
                 * 返回分录的总行数
                 *
                 * @return 分录总行数
                 */
                getRowCount():number;
            }
            type AfterTogetherMoveEntryRowEventArgs_T = AfterTogetherMoveEntryRowEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface AfterTogetherMoveEntryRowEventArgs extends AfterTogetherMoveEntryRowEventArgs_T {
            }
            interface BeforeTogetherMoveEntryRowEventArgs_S {
            }
            type BeforeTogetherMoveEntryRowEventArgs_ST = BeforeTogetherMoveEntryRowEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface BeforeTogetherMoveEntryRowEventArgs_C extends BeforeTogetherMoveEntryRowEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param formIndexs 聚合分录行数组(序号从零开始起算)
                 * @param toIndex 移动到目标行下面(序号从零开始起算)
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,formIndexs:number[],toIndex:number):BeforeTogetherMoveEntryRowEventArgs;
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 * @param formIndexs 聚合分录行数组(序号从零开始起算)
                 * @param toIndex 移动到目标行下面(序号从零开始起算)
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 */
                new(entryProp:kd.bos.entity.property.EntryProp,formIndexs:number[],toIndex:number,direct:string):BeforeTogetherMoveEntryRowEventArgs;
            }
            interface BeforeTogetherMoveEntryRowEventArgs$ {
                /**
                 * 获取拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 * @return
                 */
                getDirect():string;
                /**
                 * 设置是否取消移动行
                 *
                 * @param cancel 是否取消移动行
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取聚合分录行数组(序号从零开始起算)
                 * @return
                 */
                getFormIndexs():number[];
                /**
                 * 返回分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
                /**
                 * 获取移动到目标行下面(序号从零开始起算)
                 * @return
                 */
                getToIndex():number;
            }
            type BeforeTogetherMoveEntryRowEventArgs_T = BeforeTogetherMoveEntryRowEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface BeforeTogetherMoveEntryRowEventArgs extends BeforeTogetherMoveEntryRowEventArgs_T {
            }
            interface TotalEntriesEventArgs_S {
            }
            interface TotalEntriesEventArgs_C extends TotalEntriesEventArgs_S {
                new(fieldKey:string,valueList:$.java.util.List):TotalEntriesEventArgs;
            }
            interface TotalEntriesEventArgs$ {
                setValueList(valueList:$.java.util.List):void;
                setFieldKey(fieldKey:string):void;
                getValueList():$.java.util.List;
                getFieldKey():string;
            }
            type TotalEntriesEventArgs_T = TotalEntriesEventArgs$;
            interface TotalEntriesEventArgs extends TotalEntriesEventArgs_T {
            }
            interface PropertyChangedArgs_S {
            }
            type PropertyChangedArgs_ST = PropertyChangedArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface PropertyChangedArgs_C extends PropertyChangedArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param property 字段属性
                 * @param changeSet 改变数据集合
                 */
                new(property:$.kd.bos.dataentity.metadata.IDataEntityProperty,changeSet:ChangeData[]):PropertyChangedArgs;
            }
            interface PropertyChangedArgs$ {
                /**
                 * 返回发生改变的字段
                 *
                 * @return 字段属性对象
                 */
                getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 返回发生改变的数据
                 *
                 * 通常本属性只返回一条数据，当批量触发字段值改变事件时，本属性会返回多条数据
                 *
                 * @return 改变数据集合
                 */
                getChangeSet():ChangeData[];
            }
            type PropertyChangedArgs_T = PropertyChangedArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface PropertyChangedArgs extends PropertyChangedArgs_T {
            }
            interface LoadDataEventArgs_S {
            }
            type LoadDataEventArgs_ST = $.java.util.EventObject & LoadDataEventArgs_S;
            interface LoadDataEventArgs_C extends LoadDataEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param pkId 数据内码
                 */
                new(source:any,pkId:any):LoadDataEventArgs;
            }
            interface LoadDataEventArgs$ {
                /**
                 * 返回要加载的单据内码
                 *
                 * @return 单据内码
                 */
                getPkId():any;
                /**
                 * 返回插件传回的界面数据包
                 *
                 * @return 数据包
                 */
                getDataEntity():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 设置界面显示的数据包
                 *
                 * 插件可调用此方法，传回自定义的界面数据包
                 *
                 * @param dataEntity 数据包
                 */
                setDataEntity(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
            }
            type LoadDataEventArgs_T = $.java.util.EventObject & LoadDataEventArgs$;
            interface LoadDataEventArgs extends LoadDataEventArgs_T {
            }
            interface ChangeData_S {
            }
            type ChangeData_ST = ChangeData_S & RowDataEntity_S;
            interface ChangeData_C extends ChangeData_ST {
                /**
                 * 构造函数
                 *
                 * @param rowIndex 行索引
                 * @param dataEntity 行数据
                 * @param oldValue 新值
                 * @param newValue 旧值
                 */
                new(rowIndex:number,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,oldValue:any,newValue:any):ChangeData;
            }
            interface ChangeData$ {
                /**
                 * 获取旧值
                 * @return 旧值
                 */
                getOldValue():any;
                /**
                 * 获取新值
                 * @return 新值
                 */
                getNewValue():any;
            }
            type ChangeData_T = ChangeData$ & RowDataEntity;
            interface ChangeData extends ChangeData_T {
            }
            interface BeforeBatchFillEntryArgs_S {
                build(selProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,value:any,row:number):BeforeBatchFillEntryArgs$RowItem;
            }
            interface BeforeBatchFillEntryArgs_C extends BeforeBatchFillEntryArgs_S {
                new():BeforeBatchFillEntryArgs;
            }
            interface BeforeBatchFillEntryArgs$ {
                setPredicate(predicate:FillPredictor):void;
                getPredicate():FillPredictor;
            }
            type BeforeBatchFillEntryArgs_T = BeforeBatchFillEntryArgs$;
            interface BeforeBatchFillEntryArgs extends BeforeBatchFillEntryArgs_T {
            }
            interface DragRowGridToGridEventArgs$FromDragRowInfo_S {
            }
            type DragRowGridToGridEventArgs$FromDragRowInfo_ST = $.java.io.Serializable & DragRowGridToGridEventArgs$FromDragRowInfo_S;
            interface DragRowGridToGridEventArgs$FromDragRowInfo_C extends DragRowGridToGridEventArgs$FromDragRowInfo_ST {
                new():DragRowGridToGridEventArgs$FromDragRowInfo;
            }
            interface DragRowGridToGridEventArgs$FromDragRowInfo$ {
                setKey(arg0:string):void;
                getPr():number;
                getPageId():string;
                getKey():string;
                getRows():$.java.util.List;
                setRows(arg0:$.java.util.List):void;
                setPageId(arg0:string):void;
                setPr(arg0:number):void;
            }
            type DragRowGridToGridEventArgs$FromDragRowInfo_T = $.java.io.Serializable & DragRowGridToGridEventArgs$FromDragRowInfo$;
            interface DragRowGridToGridEventArgs$FromDragRowInfo extends DragRowGridToGridEventArgs$FromDragRowInfo_T {
            }
            interface AfterDeleteRowEventArgs_S {
            }
            type AfterDeleteRowEventArgs_ST = AfterDeleteRowEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface AfterDeleteRowEventArgs_C extends AfterDeleteRowEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param property 分录属性对象
                 * @param rowIndexs 删除的分录行索引集合
                 */
                new(property:kd.bos.entity.property.EntryProp,rowIndexs:number[]):AfterDeleteRowEventArgs;
                /**
                 * 构造函数
                 *
                 * @param property 分录属性对象
                 * @param rowIndexs 删除的分录行索引集合
                 * @param previousRowKey 删除分录最前面的上一行
                 */
                new(property:kd.bos.entity.property.EntryProp,rowIndexs:number[],previousRowKey:number):AfterDeleteRowEventArgs;
            }
            interface AfterDeleteRowEventArgs$ {
                /**
                 * 设置删除分录最前面的上一行
                 * @param previousRowKey
                 */
                setPreviousRowKey(previousRowKey:number):void;
                /**
                 * 获取被删的分录行索引集合
                 *
                 * @return 分录行索引集合
                 */
                getRowIndexs():number[];
                /**
                 * 获取分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
                /**
                 * 获取删除分录最前面的上一行
                 * @return
                 */
                getPreviousRowKey():number;
            }
            type AfterDeleteRowEventArgs_T = AfterDeleteRowEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface AfterDeleteRowEventArgs extends AfterDeleteRowEventArgs_T {
            }
            interface GetEntityTypeEventArgs_S {
            }
            interface GetEntityTypeEventArgs_C extends GetEntityTypeEventArgs_S {
                /**
                 * 构造函数
                 *
                 * @param mainEntityType 主实体
                 */
                new(mainEntityType:MainEntityType):GetEntityTypeEventArgs;
            }
            interface GetEntityTypeEventArgs$ {
                /**
                 * 获取原始的主实体（插件未修改）
                 *
                 * @return 主实体
                 */
                getOriginalEntityType():MainEntityType;
                /**
                 * 设置改动后的主实体
                 *
                 * @param newEntityType 改动后的主实体
                 */
                setNewEntityType(newEntityType:MainEntityType):void;
                /**
                 * 获取插件改动后的主实体
                 *
                 * @return 主实体
                 */
                getNewEntityType():MainEntityType;
            }
            type GetEntityTypeEventArgs_T = GetEntityTypeEventArgs$;
            interface GetEntityTypeEventArgs extends GetEntityTypeEventArgs_T {
            }
            interface AfterDeleteEntryEventArgs_S {
            }
            type AfterDeleteEntryEventArgs_ST = AfterDeleteEntryEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface AfterDeleteEntryEventArgs_C extends AfterDeleteEntryEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param prop 分录属性对象
                 */
                new(prop:kd.bos.entity.property.EntryProp):AfterDeleteEntryEventArgs;
            }
            interface AfterDeleteEntryEventArgs$ {
                /**
                 * 返回分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
            }
            type AfterDeleteEntryEventArgs_T = AfterDeleteEntryEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface AfterDeleteEntryEventArgs extends AfterDeleteEntryEventArgs_T {
            }
            interface AfterMoveEntryEventArgs_S {
            }
            type AfterMoveEntryEventArgs_ST = AfterMoveEntryEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface AfterMoveEntryEventArgs_C extends AfterMoveEntryEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param property 分录属性对象
                 * @param rowIndexs 上移前，原始的行索引集合
                 * @param rowCount 分录总行数
                 */
                new(property:kd.bos.entity.property.EntryProp,rowIndexs:number[],rowCount:number):AfterMoveEntryEventArgs;
            }
            interface AfterMoveEntryEventArgs$ {
                /**
                 * 返回移动前的行索引集合
                 *
                 * @return 行索引集合
                 */
                getRowIndexs():number[];
                /**
                 * 返回分录的总行数
                 *
                 * @return 分录总行数
                 */
                getRowCount():number;
                /**
                 * 返回本批分录行，各上移了多少行
                 *
                 * 默认均上移1行，树形单据体可能会上移多行
                 *
                 * @return 各分录行的上移行数
                 */
                getSteps():$.java.util.List;
                /**
                 * 返回分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
            }
            type AfterMoveEntryEventArgs_T = AfterMoveEntryEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface AfterMoveEntryEventArgs extends AfterMoveEntryEventArgs_T {
            }
            interface BeforeDeleteEntryEventArgs_S {
            }
            type BeforeDeleteEntryEventArgs_ST = BeforeDeleteEntryEventArgs_S & kd.bos.entity.plugin.manager.IConditionEvent_S;
            interface BeforeDeleteEntryEventArgs_C extends BeforeDeleteEntryEventArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param entryProp 分录属性对象
                 */
                new(entryProp:kd.bos.entity.property.EntryProp):BeforeDeleteEntryEventArgs;
            }
            interface BeforeDeleteEntryEventArgs$ {
                /**
                 * 返回分录属性对象
                 *
                 * @return 分录属性对象
                 */
                getEntryProp():kd.bos.entity.property.EntryProp;
                /**
                 * 取消清空单据体
                 *
                 * @param cancel 传入true取消清空行为
                 */
                setCancel(cancel:boolean):void;
            }
            type BeforeDeleteEntryEventArgs_T = BeforeDeleteEntryEventArgs$ & kd.bos.entity.plugin.manager.IConditionEvent;
            interface BeforeDeleteEntryEventArgs extends BeforeDeleteEntryEventArgs_T {
            }
            interface BeforePackageDataEvent_S {
            }
            type BeforePackageDataEvent_ST = $.java.util.EventObject & BeforePackageDataEvent_S;
            interface BeforePackageDataEvent_C extends BeforePackageDataEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 */
                new(source:any):BeforePackageDataEvent;
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param pageData 数据集合
                 */
                new(source:any,pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):BeforePackageDataEvent;
            }
            interface BeforePackageDataEvent$ {
                /**
                 * 设置数据集合
                 *
                 * @param pageData 数据集合
                 */
                setPageData(pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                /**
                 * 返回列表的数据集合
                 *
                 * 插件可修改其中字段值，从而影响列表显示
                 *
                 * @return 数据集合
                 */
                getPageData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            type BeforePackageDataEvent_T = $.java.util.EventObject & BeforePackageDataEvent$;
            interface BeforePackageDataEvent extends BeforePackageDataEvent_T {
            }
            interface BizDataEventArgs_S {
            }
            interface BizDataEventArgs_C extends BizDataEventArgs_S {
                new():BizDataEventArgs;
            }
            interface BizDataEventArgs$ {
                /**
                 * 插件取消实体服务规则的执行
                 *
                 * 此选项实际未被使用，插件要取消实体服务规则执行，需调用 {@link #setFireAfterCreateNewData(boolean)}}
                 *
                 * @param value 设置为false取消实体规则执行
                 */
                setIsExecuteRule(value:boolean):void;
                /**
                 * 插件取消后续的afterCreateNewData事件，以及实体服务规则的执行
                 *
                 * @param fireAfterCreateNewData 设置为false取消事件触发
                 */
                setFireAfterCreateNewData(fireAfterCreateNewData:boolean):void;
                /**
                 * 设置界面显示的数据包
                 *
                 * 插件调用此方法，传入自行构建的界面数据包
                 *
                 * @param dataEntity 数据包
                 */
                setDataEntity(dataEntity:any):void;
                /**
                 * 返回插件是否取消了afterCreateNewData事件的触发
                 *
                 * 插件传入整理好的数据之后，通常不需要再触发afterCreateNewData事件，以免在此事件中改动已经整理好的数据包
                 * 取消了afterCreateNewData事件，同时也不会执行实体服务规则
                 *
                 * @return 默认返回true，触发事件
                 */
                isFireAfterCreateNewData():boolean;
                /**
                 * 返回插件传回的数据包
                 *
                 * @return 数据包
                 */
                getDataEntity():any;
                /**
                 * 返回插件是否取消了实体服务规则的执行
                 *
                 * @return 默认返回true
                 */
                getIsExecuteRule():boolean;
            }
            type BizDataEventArgs_T = BizDataEventArgs$;
            interface BizDataEventArgs extends BizDataEventArgs_T {
            }
            interface RegisterPropertyArgs_S {
            }
            interface RegisterPropertyArgs_C extends RegisterPropertyArgs_S {
                new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):RegisterPropertyArgs;
                new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.java.util.List):RegisterPropertyArgs;
                new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.kd.bos.orm.query.QFilter):RegisterPropertyArgs;
                new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.java.util.List,arg2:$.java.util.List):RegisterPropertyArgs;
                new(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,arg1:$.kd.bos.orm.query.QFilter,arg2:$.kd.bos.orm.query.QFilter,arg3:string):RegisterPropertyArgs;
            }
            interface RegisterPropertyArgs$ {
                getIncludePropertiesWithNotCompare():$.java.util.List;
                getQFilter():$.kd.bos.orm.query.QFilter;
                getDimensionPropName():string;
                getIncludeProperties():$.java.util.List;
                getDynamicObjectType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                getNotCompareQFilter():$.kd.bos.orm.query.QFilter;
            }
            type RegisterPropertyArgs_T = RegisterPropertyArgs$;
            interface RegisterPropertyArgs extends RegisterPropertyArgs_T {
            }
        }
        namespace kd.bos.entity.devportal{
            interface AppFunctionPacketElement_S {
            }
            interface AppFunctionPacketElement_C extends AppFunctionPacketElement_S {
                /**
                 * 构造函数
                 */
                new():AppFunctionPacketElement;
            }
            interface AppFunctionPacketElement$ {
            }
            type AppFunctionPacketElement_T = AppFunctionPacketElement$;
            interface AppFunctionPacketElement extends AppFunctionPacketElement_T {
            }
            interface AppMenuElement_S {
            }
            interface AppMenuElement_C extends AppMenuElement_S {
                /**
                 * 构造函数
                 */
                new():AppMenuElement;
            }
            interface AppMenuElement$ {
            }
            type AppMenuElement_T = AppMenuElement$;
            interface AppMenuElement extends AppMenuElement_T {
            }
            interface AppElement_S {
            }
            interface AppElement_C extends AppElement_S {
                /**
                 * 构造函数
                 */
                new():AppElement;
            }
            interface AppElement$ {
            }
            type AppElement_T = AppElement$;
            interface AppElement extends AppElement_T {
            }
        }
        namespace kd.bos.entity.earlywarn{
            interface EarlyWarnContext_S {
            }
            interface EarlyWarnContext_C extends EarlyWarnContext_S {
                new(warnSchedule:kd.bos.entity.earlywarn.warnschedule.WarnSchedule,earlyWarn:kd.bos.entity.earlywarn.warn.EarlyWarnElement,earlyWarnLogId:long):EarlyWarnContext;
            }
            interface EarlyWarnContext$ {
                putCustomData(key:string,value:any):this;
                getWarnSchedule():kd.bos.entity.earlywarn.warnschedule.WarnSchedule;
                getPlainWarnData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                getWarnDataList():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                getCustomData(key:string):any;
                getCustomConditionData(key:string):any;
                setWarnDataList(warnDataList:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                getCustomConditionDataMap():$.java.util.Map;
                getEarlyWarn():kd.bos.entity.earlywarn.warn.EarlyWarnElement;
                getEarlyWarnLogId():long;
                putCustomConditionData(key:string,value:any):this;
                setPlainWarnData(plainWarnData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                getCustomDataMap():$.java.util.Map;
            }
            type EarlyWarnContext_T = EarlyWarnContext$;
            interface EarlyWarnContext extends EarlyWarnContext_T {
            }
        }
        namespace kd.bos.entity.earlywarn.log{
            class WarnScheduleOperationType {
                static readonly Task:kd.bos.entity.earlywarn.log.WarnScheduleOperationType;
                static readonly Manual:kd.bos.entity.earlywarn.log.WarnScheduleOperationType;
                static getBy(name:string):kd.bos.entity.earlywarn.log.WarnScheduleOperationType;
                static values():kd.bos.entity.earlywarn.log.WarnScheduleOperationType[];
                static valueOf(arg0:string):kd.bos.entity.earlywarn.log.WarnScheduleOperationType;
            }
            class WarnScheduleStatus {
                static readonly Failure:kd.bos.entity.earlywarn.log.WarnScheduleStatus;
                static readonly Running:kd.bos.entity.earlywarn.log.WarnScheduleStatus;
                static readonly Success:kd.bos.entity.earlywarn.log.WarnScheduleStatus;
                static values():kd.bos.entity.earlywarn.log.WarnScheduleStatus[];
                static valueOf(arg0:string):kd.bos.entity.earlywarn.log.WarnScheduleStatus;
                static getBy(status:string):kd.bos.entity.earlywarn.log.WarnScheduleStatus;
                getStatus():string;
            }
        }
        namespace kd.bos.entity.earlywarn.warn{
            class EarlyWarnDataSourceType {
                static readonly BASEDATA:kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                static readonly REPORT:kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                static readonly CUSTOM:kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                static readonly BILL:kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                static getByModelType(type_arg:string):kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                static values():kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType[];
                static valueOf(arg0:string):kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                static getByName(name:string):kd.bos.entity.earlywarn.warn.EarlyWarnDataSourceType;
                getName():string;
            }
            interface YzjPublicNumberInfo_S {
            }
            interface YzjPublicNumberInfo_C extends YzjPublicNumberInfo_S {
                new(pubName:string,pubNumber:string,pubId:string,pubAppId:string,pubApiUrl:string,pubAccessUrl:string):YzjPublicNumberInfo;
            }
            interface YzjPublicNumberInfo$ {
                getPubNumber():string;
                getPubAppId():string;
                getPubAccessUrl():string;
                getPubApiUrl():string;
                getPubName():string;
                getPubId():string;
            }
            type YzjPublicNumberInfo_T = YzjPublicNumberInfo$;
            interface YzjPublicNumberInfo extends YzjPublicNumberInfo_T {
            }
            interface EarlyWarnConditionCheckResult_S {
                readonly CODE_SUCCESS:number;
                readonly CODE_FAILURE:number;
                failure(message:string):EarlyWarnConditionCheckResult;
                success(message:string):EarlyWarnConditionCheckResult;
            }
            type EarlyWarnConditionCheckResult_ST = $.java.io.Serializable & EarlyWarnConditionCheckResult_S;
            interface EarlyWarnConditionCheckResult_C extends EarlyWarnConditionCheckResult_ST {
                new():EarlyWarnConditionCheckResult;
                new(code:number,message:string):EarlyWarnConditionCheckResult;
            }
            interface EarlyWarnConditionCheckResult$ {
                setCode(code:number):void;
                isSuccess():boolean;
                getMessage():string;
                getCode():number;
                setMessage(message:string):void;
            }
            type EarlyWarnConditionCheckResult_T = $.java.io.Serializable & EarlyWarnConditionCheckResult$;
            interface EarlyWarnConditionCheckResult extends EarlyWarnConditionCheckResult_T {
            }
            interface EarlyWarnElement_S {
            }
            type EarlyWarnElement_ST = $.java.io.Serializable & EarlyWarnElement_S;
            interface EarlyWarnElement_C extends EarlyWarnElement_ST {
                new():EarlyWarnElement;
            }
            interface EarlyWarnElement$ {
                setDataSourceType(dataSourceType:string):void;
                getWriteOuts():$.java.util.List;
                getMessageCompilers():$.java.util.List;
                setId(id:string):void;
                getConditionFormId():string;
                getCustomReceiver():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnCustomReceiver;
                getDataSources():$.java.util.List;
                setDataSourceId(dataSourceId:string):void;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                getMessageHandlers():$.java.util.List;
                getNumber():string;
                getMessageHandler():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnMessageHandler;
                getDataSourceType():string;
                setMessageHandlers(messageHandlers:$.java.util.List):void;
                getMessageCompiler():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnMessageCompiler;
                getDataSourceTypeObj():EarlyWarnDataSourceType;
                getCustomReceivers():$.java.util.List;
                setMessageCompilers(messageCompilers:$.java.util.List):void;
                getDataSource():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnDataSource;
                setWriteOuts(writeOuts:$.java.util.List):void;
                setCustomReceivers(customReceivers:$.java.util.List):void;
                getDataSourceId():string;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                getWriteOutPlugIn():kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnWriteOut;
                setNumber(number_arg:string):void;
                setConditionFormId(conditionFormId:string):void;
                /**
                 * 获取单选下拉列表中选择的插件进行执行
                 * @param selectedPlugin 选择的插件
                 * @return 消息接收人ID
                 */
                getSelectedCustomReceiver(selectedPlugin:string):kd.bos.entity.earlywarn.warn.plugin.IEarlyWarnCustomReceiver;
                getId():string;
                setDataSources(dataSources:$.java.util.List):void;
            }
            type EarlyWarnElement_T = $.java.io.Serializable & EarlyWarnElement$;
            interface EarlyWarnElement extends EarlyWarnElement_T {
            }
            interface EarlyWarnMessageInfo_S {
            }
            interface EarlyWarnMessageInfo_C extends EarlyWarnMessageInfo_S {
                new():EarlyWarnMessageInfo;
            }
            interface EarlyWarnMessageInfo$ {
                getContentUrl():string;
                setContentUrl(contentUrl:string):void;
                getMobContentUrl():string;
                setMobContentUrl(mobContentUrl:string):void;
            }
            type EarlyWarnMessageInfo_T = EarlyWarnMessageInfo$;
            interface EarlyWarnMessageInfo extends EarlyWarnMessageInfo_T {
            }
        }
        namespace kd.bos.entity.earlywarn.warn.events{
            interface CustomReceiversArgs_S {
            }
            interface CustomReceiversArgs_C extends CustomReceiversArgs_S {
                new(groupData:$.kd.bos.dataentity.entity.DynamicObjectCollection,groupField:string):CustomReceiversArgs;
            }
            interface CustomReceiversArgs$ {
                setGroupData(groupData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                getGroupData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                setGroupField(groupField:string):void;
                getGroupField():string;
            }
            type CustomReceiversArgs_T = CustomReceiversArgs$;
            interface CustomReceiversArgs extends CustomReceiversArgs_T {
            }
            interface MergeMessageArgs_S {
            }
            interface MergeMessageArgs_C extends MergeMessageArgs_S {
                new():MergeMessageArgs;
                new(messageContent:kd.bos.entity.earlywarn.warnschedule.MessageContent,contentFields:kd.bos.entity.earlywarn.warnschedule.MessageContentFields,currentData:$.kd.bos.dataentity.entity.DynamicObjectCollection,context:EarlyWarnContext):MergeMessageArgs;
            }
            interface MergeMessageArgs$ {
                getContentFields():kd.bos.entity.earlywarn.warnschedule.MessageContentFields;
                getCurrentData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                setContext(context:EarlyWarnContext):void;
                setCurrentData(currentData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                getMessageContent():kd.bos.entity.earlywarn.warnschedule.MessageContent;
                getContext():EarlyWarnContext;
                setContentFields(contentFields:kd.bos.entity.earlywarn.warnschedule.MessageContentFields):void;
                setMessageContent(messageContent:kd.bos.entity.earlywarn.warnschedule.MessageContent):void;
            }
            type MergeMessageArgs_T = MergeMessageArgs$;
            interface MergeMessageArgs extends MergeMessageArgs_T {
            }
        }
        namespace kd.bos.entity.earlywarn.warn.plugin{
            interface IEarlyWarnCustomReceiver_S {
            }
            interface IEarlyWarnCustomReceiver_C extends IEarlyWarnCustomReceiver_S {
            }
            interface IEarlyWarnCustomReceiver$ {
                /**
                 * 获取分组消息接收人
                 * @param customReceiversArgs 自定义接收人参数
                 * @return 人员id集合
                 */
                getGroupMessageReceivers?(customReceiversArgs:kd.bos.entity.earlywarn.warn.events.CustomReceiversArgs):$.java.util.Set;
            }
            type IEarlyWarnCustomReceiver_T = IEarlyWarnCustomReceiver$;
            interface IEarlyWarnCustomReceiver extends IEarlyWarnCustomReceiver_T {
            }
            interface IEarlyWarnWriteOut_S {
            }
            interface IEarlyWarnWriteOut_C extends IEarlyWarnWriteOut_S {
            }
            interface IEarlyWarnWriteOut$ {
                /**
                 * 用户写出数据
                 * @param list 过滤之后的数据
                 * @param context 预警执行上下文
                 */
                writeOut(list:$.kd.bos.dataentity.entity.DynamicObjectCollection,context:EarlyWarnContext):void;
            }
            type IEarlyWarnWriteOut_T = IEarlyWarnWriteOut$;
            interface IEarlyWarnWriteOut extends IEarlyWarnWriteOut_T {
            }
            interface IEarlyWarnDataSource_S {
            }
            interface IEarlyWarnDataSource_C extends IEarlyWarnDataSource_S {
            }
            interface IEarlyWarnDataSource$ {
                /**
                 * 消息配置页面可选字段树
                 * @param dataSource 数据源
                 * @return 根节点
                 */
                getSingleMessageFieldTree(dataSource:string):$.kd.bos.entity.tree.TreeNode;
                /**
                 * 构建过滤数据
                 * @param dataSource 数据源
                 * @param filterCondition 过滤条件
                 * @param context 引擎执行上下文
                 * @return 过滤条件
                 */
                buildFilter(dataSource:string,filterCondition:$.kd.bos.entity.filter.FilterCondition,context:EarlyWarnContext):$.java.util.List;
                /**
                 * 消息配置页面可选字段树
                 * @param dataSource 数据源
                 * @return 根节点
                 */
                getMergeMessageFieldTree(dataSource:string):$.kd.bos.entity.tree.TreeNode;
                /**
                 * 监控方案通用过滤获取通用过滤条件展示数据
                 * @param dataSource 数据源
                 * @return 通用过滤条件,条件格式参照 EntityTypeUtil.getFilterColumns的返回数据
                 */
                getCommonFilterColumns(dataSource:string):$.java.util.List;
                /**
                 * 获取数据
                 * @param dataSource 数据源
                 * @param filters    过滤条件
                 * @param context  引擎执行上下文
                 * @return 过滤得到的数据
                 */
                getData(dataSource:string,filters:$.java.util.List,context:EarlyWarnContext):$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            type IEarlyWarnDataSource_T = IEarlyWarnDataSource$;
            interface IEarlyWarnDataSource extends IEarlyWarnDataSource_T {
            }
            interface IEarlyWarnConditionForm_S {
            }
            interface IEarlyWarnConditionForm_C extends IEarlyWarnConditionForm_S {
            }
            interface IEarlyWarnConditionForm$ {
                /**
                 * 获取自定义表单参数
                 * @return 自定义表单参数
                 */
                getCustomParams():$.java.util.Map;
                /**
                 * 检查自定义表单参数是否有效
                 * @return 错误信息
                 */
                checkCustomParams():EarlyWarnConditionCheckResult;
            }
            type IEarlyWarnConditionForm_T = IEarlyWarnConditionForm$;
            interface IEarlyWarnConditionForm extends IEarlyWarnConditionForm_T {
            }
            interface IEarlyWarnMessageCompiler_S {
            }
            interface IEarlyWarnMessageCompiler_C extends IEarlyWarnMessageCompiler_S {
            }
            interface IEarlyWarnMessageCompiler$ {
                /**
                 * 构建单条消息邮件发送方式的附件内容
                 * @param data 数据
                 * @param context 预警引擎执行上下文
                 * @return
                 */
                getSingleEmailMessageAttachment?(data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):$.kd.bos.workflow.engine.msg.info.MessageAttachment;
                /**
                 * 构建合并消息多语言配置
                 * @param mulilangConfigs
                 * @param fields
                 * @param context
                 * @return
                 */
                buildMergeMulilangConfig?(mulilangConfigs:$.java.util.List,fields:$.java.util.List,titleFields:$.java.util.List,context:EarlyWarnContext):$.java.util.List;
                /**
                 * 是否存在多语言配置
                 * @param context
                 * @param mulilangConfigTemplates
                 * @return
                 */
                isExistMulilangConfig?(context:EarlyWarnContext,mulilangConfigTemplates:$.java.util.List):boolean;
                /**
                 * 构建分组合并消息多语言配置
                 * @param muilangContentFieldMap
                 * @param list
                 * @param context
                 * @return
                 */
                buildGroupMergeMulilangConfig?(muilangContentFieldMap:$.java.util.Map,list:$.kd.bos.dataentity.entity.DynamicObjectCollection,titleFields:$.java.util.List,context:EarlyWarnContext):$.java.util.List;
                /**
                 * 构建合并消息
                 * @param expression 表达式
                 * @param fields 参数列表
                 * @param context 预警引擎执行上下文
                 * @return 转换后合并消息
                 */
                getMergeMessage(expression:string,fields:$.java.util.List,context:EarlyWarnContext):string;
                /**
                 * 构建合并消息的标题
                 * @param expression 表达式
                 * @param fields 参数列表
                 * @param dataList 数据
                 * @param context 预警引擎执行上下文
                 * @return
                 */
                getMergeTitle?(expression:string,fields:$.java.util.List,dataList:$.kd.bos.dataentity.entity.DynamicObjectCollection,context:EarlyWarnContext):string;
                /**
                 * 构建单条消息多语言配置
                 * @param mulilangConfig
                 * @param fields
                 * @param data
                 * @param context
                 * @return
                 */
                buildSingleMulilangConfig?(mulilangConfig:kd.bos.designer.earlywarn.utils.MulilangConfig,fields:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):kd.bos.designer.earlywarn.utils.MulilangConfig;
                /**
                 * 构建单个消息
                 * @param expression 表达式
                 * @param fields 参数列表
                 * @param data 数据
                 * @param context 预警引擎执行上下文
                 * @return 转换后的消息
                 */
                getSingleMessage(expression:string,fields:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):string;
                /**
                 * 构建单条消息的标题
                 * @param expression 表达式
                 * @param fields 参数列表
                 * @param data 数据
                 * @param context 预警引擎执行上下文
                 * @return 转换后的消息
                 */
                getSingleTitle?(expression:string,fields:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):string;
                /**
                 * 构建分组合并消息（新）
                 * @param mergeMessageArgs 合并消息参数
                 * @return
                 */
                getGroupMergeMessage?(mergeMessageArgs:kd.bos.entity.earlywarn.warn.events.MergeMessageArgs):string;
                /**
                 * 构建单条消息邮件发送方式的附件内容
                 * @param context 预警引擎执行上下文
                 * @return
                 */
                getMergeEmailMessageAttachment?(context:EarlyWarnContext):$.kd.bos.workflow.engine.msg.info.MessageAttachment;
            }
            type IEarlyWarnMessageCompiler_T = IEarlyWarnMessageCompiler$;
            interface IEarlyWarnMessageCompiler extends IEarlyWarnMessageCompiler_T {
            }
            interface IEarlyWarnMessageHandler_S {
            }
            interface IEarlyWarnMessageHandler_C extends IEarlyWarnMessageHandler_S {
            }
            interface IEarlyWarnMessageHandler$ {
                /**
                 * 获取云之家消息渠道发送消息的公众号
                 * @param publicNumberInfos 云之家消息渠道所有公众号信息
                 * @return 云之家消息渠道发送消息的公众号信息
                 */
                getYZJMessagePublicNumber?(publicNumberInfos:$.java.util.List):YzjPublicNumberInfo;
                /**
                 * 构建单个消息移动端处理链接
                 * @param context 预警引擎执行上下文
                 * @return 转换后的消息
                 */
                mergeMessageBuilder(context:EarlyWarnContext):EarlyWarnMessageInfo;
                /**
                 * 构建单条消息PC端处理链接
                 * @param data 数据
                 * @param context 预警引擎执行上下文
                 * @return 转换后的消息
                 */
                singleMessageBuilder(data:$.kd.bos.dataentity.entity.DynamicObject,context:EarlyWarnContext):EarlyWarnMessageInfo;
            }
            type IEarlyWarnMessageHandler_T = IEarlyWarnMessageHandler$;
            interface IEarlyWarnMessageHandler extends IEarlyWarnMessageHandler_T {
            }
        }
        namespace kd.bos.entity.earlywarn.warnschedule{
            interface MessageContent_S {
            }
            type MessageContent_ST = $.java.io.Serializable & MessageContent_S;
            interface MessageContent_C extends MessageContent_ST {
                new():MessageContent;
                new(messageHead:string):MessageContent;
            }
            interface MessageContent$ {
                getMessageEnd():string;
                setTableColumns(tableColumns:$.java.util.List):void;
                setMessageEnd(messageEnd:string):void;
                getMessageHead():string;
                setMessageHead(messageHead:string):void;
                getTableColumns():$.java.util.List;
            }
            type MessageContent_T = $.java.io.Serializable & MessageContent$;
            interface MessageContent extends MessageContent_T {
            }
            interface WarnMessageConfig_S {
            }
            type WarnMessageConfig_ST = $.java.io.Serializable & WarnMessageConfig_S;
            interface WarnMessageConfig_C extends WarnMessageConfig_ST {
                new():WarnMessageConfig;
            }
            interface WarnMessageConfig$ {
                getSendTypes():$.java.util.List;
                setMergeContent(mergeContent:string):void;
                setSendTypes(sendTypes:$.java.util.List):void;
                getSingleContent():string;
                getReceiverTypes():$.java.util.List;
                setSingleContent(singleContent:string):void;
                setGroupField(groupField:string):void;
                setReceiverTypes(receiverTypes:$.java.util.List):void;
                getGroupField():string;
                setQuickProcessing(quickProcessing:boolean):void;
                getMulilangConfigs():$.java.util.List;
                isMergeSendMessage():boolean;
                getSendTypeNumbers():string;
                getMergeMessageContent():MessageContent;
                getTitle():string;
                isQuickProcessing():boolean;
                setTitle(title:string):void;
                setMulilangConfigs(mulilangConfigs:$.java.util.List):void;
                setMergeMessageContent(mergeMessageContent:MessageContent):void;
                setMergeSendMessage(mergeSendMessage:boolean):void;
                getMergeContent():string;
            }
            type WarnMessageConfig_T = $.java.io.Serializable & WarnMessageConfig$;
            interface WarnMessageConfig extends WarnMessageConfig_T {
            }
            interface FormulaCondition_S {
            }
            interface FormulaCondition_C extends FormulaCondition_S {
                new():FormulaCondition;
            }
            interface FormulaCondition$ {
                getTranslation():string;
                getDescription():string;
                setExpression(expression:string):void;
                setDescription(description:string):void;
                setTranslation(translation:string):void;
                getExpression():string;
            }
            type FormulaCondition_T = FormulaCondition$;
            interface FormulaCondition extends FormulaCondition_T {
            }
            interface RunCycle_S {
            }
            type RunCycle_ST = $.java.io.Serializable & RunCycle_S;
            interface RunCycle_C extends RunCycle_ST {
                new():RunCycle;
            }
            interface RunCycle$ {
                getStartDate():string;
                getRunCycleRangeType():kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType;
                setWhichNumber(whichNumber:string):void;
                setPeriodType(periodType:string):void;
                getPeriod():number;
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                getExecuteType():string;
                getMonitorFrequency():string;
                getWhichNumber():string;
                getPeriodValues():$.java.util.List;
                getEndDate():string;
                setRunTime(runTime:number):void;
                setExecuteType(executeType:string):void;
                setStartDate(startDate:string):void;
                getMonitorPeriodRange():string;
                getRunTimeStr():string;
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                setEndDate(endDate:string):void;
                getRunTime():number;
                getCronExpression():string;
                getRangeType():string;
                setRangeType(rangeType:string):void;
                setPeriodValues(periodValues:$.java.util.List):void;
                setCronExpr(cronExpr:string):void;
                getCronExpr():string;
                getPeriodType():string;
                setPeriod(period:number):void;
                getStartDateObj():Date;
                getEndDateObj():Date;
            }
            type RunCycle_T = $.java.io.Serializable & RunCycle$;
            interface RunCycle extends RunCycle_T {
            }
            interface MessageContentFields_S {
            }
            interface MessageContentFields_C extends MessageContentFields_S {
                new():MessageContentFields;
            }
            interface MessageContentFields$ {
                addMessageTableField(field:string):void;
                getMessageEndFields():$.java.util.List;
                setMessageTableFields(messageTableFields:$.java.util.List):void;
                getMessageHeadFields():$.java.util.List;
                addMessageEndField(field:string):void;
                setMessageEndFields(messageEndFields:$.java.util.List):void;
                addMessageHeadField(field:string):void;
                getMessageTableFields():$.java.util.List;
                setMessageHeadFields(messageHeadFields:$.java.util.List):void;
            }
            type MessageContentFields_T = MessageContentFields$;
            interface MessageContentFields extends MessageContentFields_T {
            }
            interface WarnCondition_S {
            }
            type WarnCondition_ST = $.java.io.Serializable & WarnCondition_S;
            interface WarnCondition_C extends WarnCondition_ST {
                new():WarnCondition;
            }
            interface WarnCondition$ {
                getFormulaCondition():FormulaCondition;
                getCustomDataJson():string;
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                getCustomDataMap():$.java.util.Map;
                setCustomDataJson(customDataJson:string):void;
                setFilterCondition(filterCondition:$.kd.bos.entity.filter.FilterCondition):void;
                setFormulaCondition(formulaCondition:FormulaCondition):void;
            }
            type WarnCondition_T = $.java.io.Serializable & WarnCondition$;
            interface WarnCondition extends WarnCondition_T {
            }
            interface WarnSchedule_S {
            }
            type WarnSchedule_ST = $.java.io.Serializable & WarnSchedule_S;
            interface WarnSchedule_C extends WarnSchedule_ST {
                new():WarnSchedule;
            }
            interface WarnSchedule$ {
                /**
                 * 设置编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 名称
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否禁止校验数据完整性
                 * @param disableIntegrity
                 */
                setDisableIntegrity(disableIntegrity:boolean):void;
                /**
                 * 设置调度计划Id
                 * @param planId
                 */
                setPlanId(planId:string):void;
                /**
                 * 调度计划Id
                 * @return
                 */
                getPlanId():string;
                /**
                 * 设置业务预警对象id
                 * @param earlyWarnId
                 */
                setEarlyWarnId(earlyWarnId:string):void;
                /**
                 * 编码
                 * @return
                 */
                getNumber():string;
                /**
                 * 禁止校验数据完整性
                 * @return
                 */
                isDisableIntegrity():boolean;
                /**
                 * 设置名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 调度中心id
                 * @return
                 */
                getJobId():string;
                /**
                 * 设置监控消息配置
                 * @param messageConfig
                 * <p>
                 *     <strong>WarnMessageConfig 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.WarnMessageConfig}</strong>
                 * </p>
                 */
                setMessageConfig(messageConfig:WarnMessageConfig):void;
                /**
                 * 是否启用
                 * @param enable
                 */
                setEnable(enable:boolean):void;
                /**
                 * 业务预警对象id
                 * @return
                 */
                getEarlyWarnId():string;
                /**
                 * 监控消息配置
                 * @return
                 * <p>
                 *     <strong>WarnMessageConfig 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.WarnMessageConfig}</strong>
                 * </p>
                 */
                getMessageConfig():WarnMessageConfig;
                /**
                 * 监控周期
                 * @return
                 * <p>
                 *     <strong>RunCycle 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.RunCycle}</strong>
                 * </p>
                 */
                getRunCycle():RunCycle;
                /**
                 * 上次同步任务调度中心时间
                 * @return
                 */
                getLastSyncTime():Date;
                /**
                 * 设置调度中心id
                 * @param jobId
                 */
                setJobId(jobId:string):void;
                /**
                 * 应用id
                 * @return
                 */
                getBizAppId():string;
                /**
                 * 设置上次同步任务调度中心时间
                 * @param lastSyncTime
                 */
                setLastSyncTime(lastSyncTime:Date):void;
                /**
                 * 设置应用id
                 * @param bizAppId
                 */
                setBizAppId(bizAppId:string):void;
                /**
                 * 唯一标识
                 * @return
                 */
                getId():string;
                /**
                 * 设置监控周期
                 * @param runCycle
                 * <p>
                 *     <strong>RunCycle 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.RunCycle}</strong>
                 * </p>
                 */
                setRunCycle(runCycle:RunCycle):void;
                /**
                 * 是否按条件发送分录
                 * @param byEntry
                 */
                setByEntry(byEntry:boolean):void;
                /**
                 * 设置唯一标识
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 设置监控条件
                 * @param warnCondition
                 * <p>
                 *     <strong>WarnCondition 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.WarnCondition}</strong>
                 * </p>
                 */
                setWarnCondition(warnCondition:WarnCondition):void;
                /**
                 * 监控条件
                 * @return
                 * <p>
                 *     <strong>WarnCondition 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.WarnCondition}</strong>
                 * </p>
                 */
                getWarnCondition():WarnCondition;
                /**
                 * 是否启用
                 * @return
                 */
                isEnable():boolean;
                /**
                 * 按条件发送分录
                 * @return
                 */
                isByEntry():boolean;
            }
            type WarnSchedule_T = $.java.io.Serializable & WarnSchedule$;
            interface WarnSchedule extends WarnSchedule_T {
            }
        }
        namespace kd.bos.entity.earlywarn.warnschedule.messageconfig{
            interface WarnMessageReceiver_S {
            }
            type WarnMessageReceiver_ST = $.java.io.Serializable & WarnMessageReceiver_S;
            interface WarnMessageReceiver_C extends WarnMessageReceiver_ST {
                new():WarnMessageReceiver;
            }
            interface WarnMessageReceiver$ {
                /**
                 * 设置字段名称
                 * @param fieldName
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 设置关系接
                 * @param relation
                 */
                setRelation(relation:string):void;
                /**
                 * 设置关系类型（部门：包含下级、不包含下级；变量：RelationReceiverTypeEnum）
                 * @param relationshipType
                 */
                setRelationshipType(relationshipType:string):void;
                /**
                 * 所属数据源
                 * @return
                 */
                getDataSource():string;
                /**
                 * 关系类型（部门：包含下级、不包含下级；变量：RelationReceiverTypeEnum）
                 * @return
                 */
                getRelationshipType():string;
                /**
                 * 关系名称
                 * @return
                 */
                getRelationName():string;
                /**
                 * 接收人类型对象
                 * @return
                 * <p>
                 *     <strong>WarnMessageReceiverTypeEnum 参数详细信息 {@link kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum}</strong>
                 * </p>
                 */
                getReceiverTypeObj():WarnMessageReceiverTypeEnum;
                /**
                 * 设置关系名称
                 * @param relationName
                 */
                setRelationName(relationName:string):void;
                /**
                 * 接收人类型
                 * @return
                 */
                getReceiverType():string;
                /**
                 * 设置接收人类型
                 * @param receiverType
                 */
                setReceiverType(receiverType:string):void;
                /**
                 * 显示名称
                 * @return
                 */
                getName():string;
                /**
                 * 字段
                 * @return
                 */
                getField():string;
                /**
                 * 设置名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 设置主键
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 字段名称
                 * @return
                 */
                getFieldName():string;
                /**
                 * 关系接
                 * @return
                 */
                getRelation():string;
                /**
                 * 设置所属数据源
                 * @param dataSource
                 */
                setDataSource(dataSource:string):void;
                /**
                 * 范围
                 * @return
                 */
                getScope():string;
                /**
                 * 设置范围
                 * @param scope
                 */
                setScope(scope:string):void;
                /**
                 * 主键
                 * @return
                 */
                getId():string;
                /**
                 * 设置字段
                 * @param field
                 */
                setField(field:string):void;
            }
            type WarnMessageReceiver_T = $.java.io.Serializable & WarnMessageReceiver$;
            interface WarnMessageReceiver extends WarnMessageReceiver_T {
            }
            class WarnMessageReceiverTypeEnum {
                static readonly CustomReceiver:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static readonly UserGroup:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static readonly Org:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static readonly User:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static readonly ExternalPerson:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static readonly RelationPerson:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static readonly Role:kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static getName(id:string):string;
                static valueOf(arg0:string):kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static getBy(id:string):kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum;
                static values():kd.bos.entity.earlywarn.warnschedule.messageconfig.WarnMessageReceiverTypeEnum[];
                /**
                 * 获取旧界面的接收人类型（人员、用户变量、自定义接收人）
                 * @return
                 */
                static getOldReceiverType():any[];
                getName():string;
                getId():string;
            }
        }
        namespace kd.bos.entity.earlywarn.warnschedule.runcycle{
            class RunCycleRangeType {
                static readonly DateRange:kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType;
                static readonly FromStartDate:kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType;
                static getByName(value:string):kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType;
                static valueOf(arg0:string):kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType;
                static values():kd.bos.entity.earlywarn.warnschedule.runcycle.RunCycleRangeType[];
                getName():string;
                getValue():number;
            }
        }
        namespace kd.bos.entity.filter{
            interface FilterCondition_S {
            }
            interface FilterCondition_C extends FilterCondition_S {
                new():FilterCondition;
            }
            interface FilterCondition$ {
                /**
                 * 设置元数据行信息
                 * @param filterRow 元数据行信息
                 */
                setFilterRow(filterRow:$.java.util.List):void;
                /**
                 * 获取元数据行信息
                 * @return 元数据行信息
                 */
                getFilterRow():$.java.util.List;
                /**
                 * 设置是否应用到列表
                 *
                 * @param forList 是否应用到列表
                 */
                setForList(forList:boolean):void;
                /**
                 * 添加过滤元数据
                 * @param simpleFilterRow 过滤元数据
                 */
                addFilterRow(simpleFilterRow:SimpleFilterRow):void;
                /**
                 * 设置过滤表达式
                 * @param filter 过滤表达式
                 */
                setFilter(filter:string):void;
                /**
                 * 获取解析过后的过滤表达式
                 * @return 解析过后的过滤表达式
                 */
                getFilter():string;
                /**
                 * 获取是否应用到列表
                 *
                 * @return 是否应用到列表
                 */
                isForList():boolean;
                /**
                 * 将过滤元数据转为ListMap
                 * @return 元数据转化后的ListMap
                 */
                createMetaData():$.java.util.List;
            }
            type FilterCondition_T = FilterCondition$;
            interface FilterCondition extends FilterCondition_T {
            }
            interface SimpleFilterRow_S {
            }
            type SimpleFilterRow_ST = $.java.lang.Cloneable & IIsvFlag_S & SimpleFilterRow_S;
            interface SimpleFilterRow_C extends SimpleFilterRow_ST {
                /**
                 * 构造函数
                 */
                new():SimpleFilterRow;
                /**
                 * 构造函数
                 *
                 * @param leftBracket
                 *            左括号
                 * @param compareType
                 *            比较符
                 * @param fieldName
                 *            字段名
                 * @param rightBracket
                 *            右括号
                 * @param logic
                 *            比较符
                 * @param value
                 *            值
                 */
                new(leftBracket:string,compareType:string,fieldName:string,rightBracket:string,logic:string,value:$.java.util.List):SimpleFilterRow;
                new(id:string,leftBracket:string,compareType:string,fieldName:string,rightBracket:string,logic:string,value:$.java.util.List):SimpleFilterRow;
            }
            interface SimpleFilterRow$ {
                /**
                 * 获取比较符描述
                 *
                 * @return 比较符描述
                 */
                getCompareTypeDesc():string;
                /**
                 * 设置过滤值集合
                 *
                 * @param value 过滤值集合
                 */
                setValue(value:$.java.util.List):void;
                clone():this;
                /**
                 * 设置逻辑比较符
                 *
                 * @param logic 逻辑比较符
                 */
                setLogic(logic:string):void;
                /**
                 * 获取基础资料字段的id集合
                 *
                 * @return 基础资料字段的id集合
                 */
                getBaseDataIds():$.java.util.List;
                /**
                 * 设置字段名
                 *
                 * @param fieldName 字段名
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 设置实体编码
                 *
                 * @param entityNumber 实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置比较符
                 *
                 * @param compareType 比较符
                 */
                setCompareType(compareType:string):void;
                /**
                 * 设置比较符描述
                 *
                 * @param compareTypeDesc 比较符描述
                 */
                setCompareTypeDesc(compareTypeDesc:string):void;
                /**
                 * 获取比较符
                 *
                 * @return 比较符
                 */
                getCompareType():string;
                /**
                 * 设置PK
                 *
                 * @param value pk
                 */
                setId(value:string):void;
                /**
                 * 获取实体编码
                 *
                 * @return 实体编码
                 */
                getEntityNumber():string;
                /**
                 * 获取逻辑比较符
                 *
                 * @return 逻辑比较符
                 */
                getLogic():string;
                /**
                 * 获取过滤值集合
                 *
                 * @return 过滤值集合
                 */
                getValue():$.java.util.List;
                /**
                 * 获取字段名
                 *
                 * @return 字段名
                 */
                getFieldName():string;
                /**
                 * 获取左括号
                 *
                 * @return 左括号
                 */
                getLeftBracket():string;
                setLock(lock:boolean):void;
                /**
                 * 设置左括号
                 *
                 * @param leftBracket 左括号
                 */
                setLeftBracket(leftBracket:string):void;
                /**
                 * 获取右括号
                 *
                 * @return 右括号
                 */
                getRightBracket():string;
                isLock():boolean;
                /**
                 * 设置右括号
                 *
                 * @param rightBracket 右括号
                 */
                setRightBracket(rightBracket:string):void;
                /**
                 * 设置基础资料的id集合
                 *
                 * @param baseDataIds 基础资料字段的id集合
                 */
                setBaseDataIds(baseDataIds:$.java.util.List):void;
                /**
                 * 获取PK
                 *
                 * @return pk
                 */
                getId():string;
            }
            type SimpleFilterRow_T = $.java.lang.Cloneable & IIsvFlag & SimpleFilterRow$;
            interface SimpleFilterRow extends SimpleFilterRow_T {
            }
            interface FilterValue_S {
            }
            interface FilterValue_C extends FilterValue_S {
                /**
                 * 获取过滤值
                 */
                new():FilterValue;
            }
            interface FilterValue$ {
                /**
                 * 获取主键，元数据差量化使用
                 *
                 * @return 主键
                 */
                getId():string;
                /**
                 * 设置主键
                 *
                 * @param id 主键
                 */
                setId(id:string):void;
                /**
                 * 获取过滤值，一般是一个数组
                 *
                 * @return 过滤值
                 */
                getValue():any;
                /**
                 * 设置过滤值
                 *
                 * @param value 过滤值
                 */
                setValue(value:any):void;
            }
            type FilterValue_T = FilterValue$;
            interface FilterValue extends FilterValue_T {
            }
            interface CompareTypeValue_S {
            }
            type CompareTypeValue_ST = $.java.io.Serializable & $.java.lang.Cloneable & CompareTypeValue_S;
            interface CompareTypeValue_C extends CompareTypeValue_ST {
                /**
                 * 构造函数
                 * @param fieldName
                 * @param compareTypeId
                 * @param value
                 */
                new(fieldName:string,compareTypeId:CompareTypeEnum,value:any):CompareTypeValue;
            }
            interface CompareTypeValue$ {
                /**
                 * 设置字段比较名
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 字段比较值
                 */
                setValue(value:any):void;
                /**
                 * 字段比较值
                 * @return
                 */
                getValue():any;
                /**
                 * 字段比较名
                 * @return
                 */
                getFieldName():string;
                /**
                 * 字段比较符
                 * @return
                 */
                getCompareTypeId():CompareTypeEnum;
                /**
                 * 字段比较符
                 */
                setCompareTypeId(compareTypeId:CompareTypeEnum):void;
            }
            type CompareTypeValue_T = $.java.io.Serializable & $.java.lang.Cloneable & CompareTypeValue$;
            interface CompareTypeValue extends CompareTypeValue_T {
            }
            interface OrderByParameter_S {
            }
            interface OrderByParameter_C extends OrderByParameter_S {
                new():OrderByParameter;
            }
            interface OrderByParameter$ {
                addOrderByField(orderByField:OrderByField):void;
                getOrderByFields():$.java.util.List;
            }
            type OrderByParameter_T = OrderByParameter$;
            interface OrderByParameter extends OrderByParameter_T {
            }
            interface ControlFilters_S {
            }
            interface ControlFilters_C extends ControlFilters_S {
            }
            interface ControlFilters$ {
                /**
                 * 获取快速搜素过滤值
                 *
                 * @param fieldName
                 * @return
                 */
                getFastFilter(fieldName:string):$.java.util.List;
                /**
                 * 快速搜索内容
                 *
                 * @return
                 */
                getSearchText():string;
                /**
                 * 获取二次过滤条件
                 *
                 * @return
                 */
                getAndFilter():$.java.util.List;
                /**
                 * 获取当前列表过滤条件原始值比较符
                 */
                getCurrentControlFilter():ControlFilter;
                /**
                 * 设置二次过滤条件
                 *
                 * @param andFilter
                 */
                setAndFilter(andFilter:$.java.util.List):void;
                /**
                 * 过滤字段名与列表过滤条件原始值映射
                 */
                getFiltersListMap():$.java.util.Map;
            }
            type ControlFilters_T = ControlFilters$;
            interface ControlFilters extends ControlFilters_T {
            }
            interface F7FilterParam_S {
            }
            interface F7FilterParam_C extends F7FilterParam_S {
                /**
                 * 构造函数
                 */
                new():F7FilterParam;
                /**
                 * 构造函数
                 */
                new(entityId:string,isShowUsed:boolean,isEnable:boolean,isContainMainOrg:boolean,isNoLimit:boolean,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService):F7FilterParam;
            }
            interface F7FilterParam$ {
            }
            type F7FilterParam_T = F7FilterParam$;
            interface F7FilterParam extends F7FilterParam_T {
            }
            interface GetMainOrgIdsParameter_S {
            }
            interface GetMainOrgIdsParameter_C extends GetMainOrgIdsParameter_S {
                /**
                 * 构造函数
                 *
                 * @param bdProp         字段属性
                 * @param entityTypeId   实体类型Id
                 * @param appId          应用Id
                 * @param qFilter        过滤条件
                 * @param selectFields   查询字段值
                 * @param orderBy        过滤排序
                 * @param top            取前多少个值
                 * @param permissionItem 权限项目 {@link PermItemConst}
                 */
                new(bdProp:kd.bos.entity.property.IBasedataField,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,selectFields:string,orderBy:string,top:number,permissionItem:string):GetMainOrgIdsParameter;
                /**
                 * 构造函数
                 *
                 * @param bdProp         字段属性
                 * @param entityTypeId   实体类型Id
                 * @param appId          应用Id
                 * @param qFilter        过滤条件
                 * @param selectFields   查询字段值
                 * @param orderBy        过滤排序
                 * @param start          起始条数
                 * @param top            取前多少个值
                 * @param permissionItem 权限项目 {@link PermItemConst}
                 */
                new(bdProp:kd.bos.entity.property.IBasedataField,entityTypeId:string,appId:string,qFilter:$.kd.bos.orm.query.QFilter,selectFields:string,orderBy:string,start:number,top:number,permissionItem:string):GetMainOrgIdsParameter;
            }
            interface GetMainOrgIdsParameter$ {
                getPermissionItem():string;
                getStart():number;
                /**
                 * 实体类型Id
                 *
                 * @return
                 */
                getEntityTypeId():string;
                getOrderBy():string;
                getTop():number;
                /**
                 * 获取应用Id
                 *
                 * @return 应用Id
                 */
                getAppId():string;
                /**
                 * 获取过滤条件
                 *
                 * @return 过滤条件
                 */
                getqFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 获取查询字段
                 *
                 * @return 查询字段
                 */
                getSelectFields():string;
                /**
                 * 输入的基础资料属性
                 *
                 * @return
                 */
                getBdProp():kd.bos.entity.property.IBasedataField;
            }
            type GetMainOrgIdsParameter_T = GetMainOrgIdsParameter$;
            interface GetMainOrgIdsParameter extends GetMainOrgIdsParameter_T {
            }
            interface IFilterValueSetter_S {
            }
            interface IFilterValueSetter_C extends IFilterValueSetter_S {
            }
            interface IFilterValueSetter$ {
                /**
                 * 获取基础资料字段的id值
                 *
                 * @param simpleFilterRow 过滤行数据
                 * @return
                 */
                getBaseDataFieldIds(simpleFilterRow:$.kd.bos.entity.filter.SimpleFilterRow):$.java.util.List;
                /**
                 * 将过滤行元数据解析为过滤值列表
                 *
                 * @param simpleFilterRow
                 * @return
                 */
                getFieldValue(simpleFilterRow:$.kd.bos.entity.filter.SimpleFilterRow):$.java.util.List;
            }
            type IFilterValueSetter_T = IFilterValueSetter$;
            interface IFilterValueSetter extends IFilterValueSetter_T {
            }
            interface FilterScriptBuilder_S {
                /**
                 * 是否为字符型字段
                 * @param fieldType
                 * @return
                 */
                isStringField(fieldType:number):boolean;
                /**
                 * 是否为数值型字段
                 *
                 * @param fieldType
                 * @return
                 */
                isNumberField(fieldType:number):boolean;
            }
            interface FilterScriptBuilder_C extends FilterScriptBuilder_S {
                /**
                 * 构造函数
                 */
                new():FilterScriptBuilder;
            }
            interface FilterScriptBuilder$ {
                /**
                 * 构建过滤对象的SQL
                 *
                 * @param filterObj
                 * @return 数组, return[0] = 执行脚本；return[1] = 脚本描述
                 */
                buildFilterScript(filterObj:FilterObject):string[];
                /**
                 * 依赖的数据服务
                 * @param timeService
                 */
                setTimeService(timeService:$.kd.bos.service.ITimeService):void;
                /**
                 * 依赖的数据服务
                 * @param userService
                 */
                setUserService(userService:kd.bos.service.IUserService):void;
            }
            type FilterScriptBuilder_T = FilterScriptBuilder$;
            interface FilterScriptBuilder extends FilterScriptBuilder_T {
            }
            interface CompareType_S {
                /**
                 * 根据属性创建比较符实例对象
                 *
                 * @param id               比较符标识
                 * @param name             名称
                 * @param contantClass     解析类
                 * @param isNeedInput      是否需要输入
                 * @param compareInputType 输入类型
                 * @return
                 */
                createContant(id:string,name:$.kd.bos.dataentity.entity.LocaleString,contantClass:string,isNeedInput:boolean,compareInputType:CompareInputType):CompareType;
            }
            type CompareType_ST = $.java.io.Serializable & $.java.lang.Cloneable & CompareType_S;
            interface CompareType_C extends CompareType_ST {
                /**
                 * 构造函数
                 */
                new():CompareType;
                /**
                 * 构造函数
                 *
                 * @param compareType 比较符类型
                 */
                new(compareType:CompareType):CompareType;
            }
            interface CompareType$ {
                /**
                 * 设置比较值录入控件类型
                 *
                 * @param inputCtlType
                 */
                setInputCtlType(inputCtlType:number):void;
                /**
                 * @return 是不是介于比较符
                 */
                isBetween():boolean;
                /**
                 * 获取比较符分组
                 *
                 * @return
                 */
                getGroupId():number;
                /**
                 * 设置比较符标识
                 *
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 是否需要输入
                 *
                 * @return
                 */
                isNeedInput():boolean;
                /**
                 * 是否可见
                 *
                 * @return
                 */
                isVisible():boolean;
                /**
                 * 设置提示词
                 */
                setMarkedWord(markedWord:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 是否支持多选
                 *
                 * @return
                 */
                isMulti():boolean;
                /**
                 * 是否是在...之中
                 */
                isAmongAt():boolean;
                /**
                 * 获取比较符名称
                 *
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置比较符名称
                 *
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置比较符分组
                 *
                 * @param groupId
                 */
                setGroupId(groupId:number):void;
                /**
                 * 设置是否为数字
                 *
                 * @param isNumber
                 */
                setNumber(isNumber:boolean):void;
                /**
                 * 是否为数字
                 *
                 * @return
                 */
                isNumber():boolean;
                /**
                 * 设置比较符解析类
                 *
                 * @param className
                 */
                setClassName(className:string):void;
                /**
                 * 设置比较符操作
                 *
                 * @param operate
                 */
                setOperate(operate:string):void;
                /**
                 * 获取比较符操作
                 *
                 * @return
                 */
                getOperate():string;
                /**
                 * 比较值录入控件类型，枚举值：-1 = 无需录入, 0 = 手工书写；其他类型已经废弃( 1 = 下拉选择, 2 = ?)
                 *
                 * @return
                 */
                getInputCtlType():number;
                /**
                 * 设置是否可见
                 *
                 * @param isVisible
                 */
                setVisible(isVisible:boolean):void;
                /**
                 * 设置是不是介于比较符
                 *
                 * @param isBetween 是否介于比较符
                 */
                setBetween(isBetween:boolean):void;
                /**
                 * 是否是在...之中，或者不在...之中
                 */
                setAmongAt(amongAt:boolean):void;
                /**
                 * 设置比较符值
                 *
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 获取比较符标识
                 *
                 * @return
                 */
                getId():string;
                /**
                 * 获取提示词
                 */
                getMarkedWord():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置是否支持多选
                 *
                 * @param isMulti
                 */
                setMulti(isMulti:boolean):void;
                /**
                 * 获取比较符值
                 *
                 * @return
                 */
                getValue():string;
                /**
                 * 是不是字段比较符
                 *
                 * @return
                 */
                isFieldCompare():boolean;
                /**
                 * 设置字段比较符
                 *
                 * @param isFieldCompare
                 */
                setFieldCompare(isFieldCompare:boolean):void;
                /**
                 * 设置是否需要输入
                 *
                 * @param isNeedInput
                 */
                setNeedInput(isNeedInput:boolean):void;
                /**
                 * 比较符解析类
                 *
                 * @return
                 */
                getClassName():string;
            }
            type CompareType_T = $.java.io.Serializable & $.java.lang.Cloneable & CompareType$;
            interface CompareType extends CompareType_T {
            }
            interface FilterKeyValueCollections_S {
            }
            interface FilterKeyValueCollections_C extends FilterKeyValueCollections_S {
                /**
                 * 构造函数
                 */
                new():FilterKeyValueCollections;
                /**
                 * 构造函数
                 *
                 * @param filterKey
                 *            字段名
                 * @param filterList
                 *            字段过滤元数据集合
                 */
                new(filterKey:string,filterList:$.java.util.List):FilterKeyValueCollections;
            }
            interface FilterKeyValueCollections$ {
                /**
                 * 获取字段过滤元数据集合
                 *
                 * @return
                 */
                getFilterValueCollection():$.java.util.List;
                /**
                 * 过滤字段名
                 *
                 * @return
                 */
                getFilterKey():string;
            }
            type FilterKeyValueCollections_T = FilterKeyValueCollections$;
            interface FilterKeyValueCollections extends FilterKeyValueCollections_T {
            }
            interface SortField_S {
            }
            interface SortField_C extends SortField_S {
                new():SortField;
                new(caption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string):SortField;
            }
            interface SortField$ {
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                setKey(key:string):void;
                getSeq():number;
                setEntityCaption(entityCaption:$.kd.bos.dataentity.entity.LocaleString):void;
                setSubFieldSeq(subFieldSeq:number):void;
                getEntityCaption():$.kd.bos.dataentity.entity.LocaleString;
                getKey():string;
                getEntityKey():string;
                setSeq(seq:number):void;
                setEntityKey(entityKey:string):void;
                setFieldName(fieldName:string):void;
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                getFieldName():string;
                getSubFieldSeq():number;
            }
            type SortField_T = SortField$;
            interface SortField extends SortField_T {
            }
            interface FilterRow_S {
            }
            interface FilterRow_C extends FilterRow_S {
                /**
                 * 构造函数
                 *
                 * @param dataType
                 *            实体对象类型
                 * @param filterObject
                 *            实体元数据缓存类
                 * @param fieldField
                 *            过滤字段解析类
                 * @param leftBracket
                 *            左括号
                 * @param compareType
                 *            过滤比较符对象
                 * @param valueList
                 *            过滤值
                 * @param rightBracket
                 *            右括号
                 * @param logic
                 *            逻辑比较符
                 */
                new(dataType:MainEntityType,filterObject:FilterObject,fieldField:FilterField,leftBracket:string,compareType:CompareType,valueList:$.java.util.List,rightBracket:string,logic:LogicOperate):FilterRow;
            }
            interface FilterRow$ {
                /**
                 * @return 过滤值
                 */
                getValue():$.java.util.List;
                /**
                 * @param fieldField
                 *            过滤字段
                 */
                setFilterField(fieldField:FilterField):void;
                /**
                 * @param leftBracket
                 *            左括号
                 */
                setLeftBracket(leftBracket:string):void;
                /**
                 * 获取过滤条件解析结果
                 */
                getFilterResult():FilterResult;
                /**
                 * @param logic
                 *            逻辑处理：And,Or
                 */
                setLogic(logic:LogicOperate):void;
                /**
                 * @return 左括号
                 */
                getLeftBracket():string;
                /**
                 * 获取ORM使用的完整字段名（带单据体标识）
                 *
                 * @return
                 */
                getORMFieldName():string;
                /**
                 * @return 逻辑处理：And,Or
                 */
                getLogic():LogicOperate;
                /**
                 * @param rightBracket
                 *            右括号
                 */
                setRightBracket(rightBracket:string):void;
                /**
                 * 是否需要解析
                 * @param isNeedParse
                 */
                setNeedParse(isNeedParse:boolean):void;
                /**
                 * @param compareType
                 *            比较符
                 */
                setCompareType(compareType:CompareType):void;
                /**
                 * @return 行索引
                 */
                getRowIndex():number;
                /**
                 * 是否是int类型
                 */
                isInt(value:string,bThrowErr:boolean):boolean;
                /**
                 * @return 过滤字段
                 */
                getFilterField():FilterField;
                /**
                 * @param valueList
                 *            过滤值集合
                 */
                setValue(valueList:$.java.util.List):void;
                /**
                 * @return 实体
                 */
                getDataType():MainEntityType;
                /**
                 * @param dataType
                 *            实体
                 */
                setDataType(dataType:MainEntityType):void;
                /**
                 * @return 右括号
                 */
                getRightBracket():string;
                /**
                 * @return 比较符
                 */
                getCompareType():CompareType;
            }
            type FilterRow_T = FilterRow$;
            interface FilterRow extends FilterRow_T {
            }
            interface PermissionFilterUtil_S {
            }
            interface PermissionFilterUtil_C extends PermissionFilterUtil_S {
                new():PermissionFilterUtil;
            }
            interface PermissionFilterUtil$ {
            }
            type PermissionFilterUtil_T = PermissionFilterUtil$;
            interface PermissionFilterUtil extends PermissionFilterUtil_T {
            }
            interface CompareTypeDto_S {
            }
            type CompareTypeDto_ST = $.java.io.Serializable & CompareTypeDto_S;
            interface CompareTypeDto_C extends CompareTypeDto_ST {
                /**
                 * 构造函数
                 */
                new():CompareTypeDto;
                /**
                 * 构造函数
                 *
                 * @param id
                 *            比较符标识
                 * @param name
                 *            比较符名称
                 * @param isNeedInput
                 *            是否需要输入
                 * @param value
                 *            比较符的值
                 * @param groupId
                 *            所属组标识
                 * @param inputCtlType
                 *            关联控件类型
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,isNeedInput:boolean,value:string,groupId:number,inputCtlType:number):CompareTypeDto;
                /**
                 * 构造函数
                 *
                 * @param id
                 *            比较符标识
                 * @param name
                 *            比较符名称
                 * @param isNeedInput
                 *            是否需要输入
                 * @param value
                 *            比较符的值
                 * @param groupId
                 *            所属组标识
                 * @param inputCtlType
                 *            关联控件类型
                 * @param isFieldCompare
                 *            是否是字段比较
                 * @param isMulti
                 *            是否多选
                 * @param isNumber
                 *            是否是数字类型
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,isNeedInput:boolean,value:string,groupId:number,inputCtlType:number,isFieldCompare:boolean,isMulti:boolean,isNumber:boolean,isBetween:boolean):CompareTypeDto;
            }
            interface CompareTypeDto$ {
            }
            type CompareTypeDto_T = $.java.io.Serializable & CompareTypeDto$;
            interface CompareTypeDto extends CompareTypeDto_T {
            }
            interface FilterKeyValue_S {
            }
            interface FilterKeyValue_C extends FilterKeyValue_S {
                /**
                 * 构造函数
                 */
                new():FilterKeyValue;
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段名
                 * @param values
                 *            值
                 */
                new(key:string,values:$.java.util.List):FilterKeyValue;
            }
            interface FilterKeyValue$ {
                /**
                 * 获取PK,序列化使用
                 *
                 * @return PK
                 */
                getId():string;
                /**
                 * 获取字段名
                 *
                 * @return 字段名
                 */
                getKey():string;
                /**
                 * 获取值
                 *
                 * @return 值
                 */
                getValue():$.java.util.List;
            }
            type FilterKeyValue_T = FilterKeyValue$;
            interface FilterKeyValue extends FilterKeyValue_T {
            }
            interface LocaleFilterScheme_S {
            }
            type LocaleFilterScheme_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.LocaleValue & ILocaleFilterScheme_S & LocaleFilterScheme_S;
            interface LocaleFilterScheme_C extends LocaleFilterScheme_ST {
                new():LocaleFilterScheme;
            }
            interface LocaleFilterScheme$ {
            }
            type LocaleFilterScheme_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.LocaleValue & ILocaleFilterScheme & LocaleFilterScheme$;
            interface LocaleFilterScheme extends LocaleFilterScheme_T {
            }
            interface OrderByField_S {
            }
            interface OrderByField_C extends OrderByField_S {
                new(fieldName:string,sortType:SortType):OrderByField;
            }
            interface OrderByField$ {
                getSortType():SortType;
                getFieldName():string;
            }
            type OrderByField_T = OrderByField$;
            interface OrderByField extends OrderByField_T {
            }
            interface FilterBuilder_S {
                /**
                 * 根据过滤字段工具类缓存对象以及字段名获取工具类对象
                 *
                 * @param filterObject 过滤字段工具类缓存对象 {@link FilterObject}
                 * @param fieldName    字段名
                 * @return 过滤工具类对象
                 */
                getFilterField(filterObject:FilterObject,fieldName:string):FilterField;
                /**
                 * 获取过滤字段
                 *
                 * @param dataType
                 *            实体
                 * @param fieldName
                 *            字段名称
                 * @return 字段信息
                 */
                getFilterField(dataType:MainEntityType,fieldName:string):FilterField;
            }
            interface FilterBuilder_C extends FilterBuilder_S {
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体对象
                 */
                new(dataType:MainEntityType):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param filterBuilderParameter
                 */
                new(filterBuilderParameter:FilterBuilderParameter):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体对象
                 * @param filterObject
                 *            过滤条件中间缓存对象
                 */
                new(dataType:MainEntityType,filterObject:FilterObject):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体对象 {@link MainEntityType}
                 * @param isCheckInput
                 *            是否检查输入
                 */
                new(dataType:MainEntityType,isCheckInput:boolean):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体对象 {@link MainEntityType}
                 * @param filterCondition
                 *            通用过滤元数据 {@link FilterCondition}
                 */
                new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体对象 {@link MainEntityType}
                 * @param filterCondition
                 *            通用过滤元数据 {@link FilterCondition}
                 * @param isCheckInput
                 *            是否进行输入校验，即进行真正的解析，如果是false，只会解析出过滤条件描述，不会生成QFilter
                 */
                new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,isCheckInput:boolean):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体类型
                 * @param filterCondition
                 *            过滤条件元数据
                 * @param model
                 *            模型（用于字段比较）取数
                 */
                new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,model:kd.bos.entity.datamodel.IDataModel):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType
                 *            实体类型
                 * @param filterCondition
                 *            过滤条件元数据
                 * @param isCheckInput
                 *            是否进行输入校验，即进行真正的解析，如果是false，只会解析出过滤条件描述，不会生成QFilter
                 */
                new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,isCheckInput:boolean,filterFields:$.java.util.List):FilterBuilder;
                /**
                 * 过滤条件解析类构造函数
                 *
                 * @param dataType          实体类型
                 * @param filterCondition   过滤条件元数据
                 * @param filterValueSetter 字段取值接口
                 * @param isCheckInput      是否进行输入校验，即进行真正的解析，如果是false，只会解析出过滤条件描述，不会生成QFilter
                 * @param filterFields      过滤字段解析需要的工具类集合 {@link FilterField}
                 */
                new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition,filterValueSetter:IFilterValueSetter,isCheckInput:boolean,filterFields:$.java.util.List):FilterBuilder;
            }
            interface FilterBuilder$ {
                /**
                 * 获取是否主业务组织
                 *
                 * @return 是否主业务组织
                 */
                isContainMainOrg():boolean;
                /**
                 * 设置过滤条件中间缓存对象
                 *
                 * @param filterObject
                 *            过滤条件中间缓存对象
                 */
                setFilterObject(filterObject:FilterObject):void;
                /**
                 * 获取转换字段集合
                 */
                getConvertFieldsMap():$.java.util.Map;
                /**
                 * 获取解析的过滤查询相关字段
                 *
                 * @return
                 */
                getUsedFilterFields():$.java.util.List;
                /**
                 * 添加过滤字段
                 *
                 * @param fieldName
                 *            字段名称
                 * @param compare
                 *            比较符
                 * @param left
                 *            左括号
                 * @param right
                 *            右括号
                 * @param value
                 *            过滤值
                 * @param logic
                 *            逻辑：And,Or
                 */
                addFilterField(fieldName:string,compare:string,left:string,right:string,value:$.java.util.List,logic:string,entityNumber:string):void;
                /**
                 * 获取过滤条件中间缓存对象
                 *
                 * @return 过滤条件中间缓存对象
                 */
                getFilterObject():FilterObject;
                /**
                 * 获取是否包括单据状态
                 *
                 * @return 是否包括单据状态
                 */
                isContainBillStatus():boolean;
                /**
                 * 获取解析的过滤条件，一行是一个QFilter
                 *
                 * @return 解析的过滤条件，一行是一个QFilter
                 */
                getQFilters():$.java.util.List;
                /**
                 * 获取解析的过滤查询相关的不等于字段
                 *
                 * @return
                 */
                getUsedFilterFieldsWithNotCompare():$.java.util.List;
                /**
                 * 添加弹性域字段
                 *
                 * @param flexField
                 */
                addFlexField(flexField:string):void;
                /**
                 * 获取如果包括主业务组织，主业务组织过滤条件是否为不限
                 *
                 * @return 如果包括主业务组织，主业务组织过滤条件是否为不限
                 */
                isMainOrgNoLimit():boolean;
                /**
                 * 解析过滤元数据
                 *
                 * @param returnSql
                 *            是否返回SQL
                 */
                buildFilter(returnSql:boolean):void;
                /**
                 * 获取解析的条件语句描述,SQL形式
                 *
                 * @return 解析的条件语句描述,SQL形式
                 */
                getFilterString():string;
                /**
                 * 获取解析的条件语句描述,中文形式
                 *
                 * @return 解析的条件语句描述,中文形式
                 */
                getFilterStringDesc():string;
                /**
                 * 添加自定义比较符
                 */
                addCustomCompareTypes(fieldName:string,compareTypes:$.java.util.List):void;
                /**
                 * 获取过滤条件
                 *
                 * @return 过滤条件
                 */
                getQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 添加过滤字段
                 *
                 * @param fieldName
                 *            字段名称
                 * @param compare
                 *            比较符
                 * @param left
                 *            左括号
                 * @param right
                 *            右括号
                 * @param value
                 *            过滤值
                 * @param logic
                 *            逻辑：And,Or
                 */
                addFilterField(fieldName:string,compare:string,left:string,right:string,value:$.java.util.List,logic:string):void;
                /**
                 * 获取弹性域扩展属性结果集合
                 *
                 * @return
                 */
                getFlexPropExtendResultMap():$.java.util.Map;
                /**
                 * 解析条件，输出脚本表达式与表达式说明
                 *
                 * @return return[0] =脚本表达式，return[1] = 表达式说明
                 */
                buildFilterScript():string[];
                /**
                 * 解析过滤元数据
                 */
                buildFilter():void;
                /**
                 * 设置用户获取服务类
                 *
                 * @param userService
                 *            用户服务
                 */
                setUserService(userService:kd.bos.service.IUserService):void;
                /**
                 * 获取是否包括使用状态
                 *
                 * @return 是否包括使用状态
                 */
                isContainUsedStatus():boolean;
            }
            type FilterBuilder_T = FilterBuilder$;
            interface FilterBuilder extends FilterBuilder_T {
            }
            interface FilterObject_S {
            }
            interface FilterObject_C extends FilterObject_S {
                /**
                 * 构造函数
                 */
                new():FilterObject;
                /**
                 * 构造函数
                 *
                 * @param dataType
                 *            实体
                 */
                new(dataType:MainEntityType):FilterObject;
                /**
                 * 构造函数
                 *
                 * @param dataType
                 *            实体
                 */
                new(dataType:MainEntityType,isCheckInput:boolean):FilterObject;
            }
            interface FilterObject$ {
                /**
                 * @return 实体
                 */
                getDataType():MainEntityType;
                /**
                 * @return 过滤字段集合
                 */
                getAllFilterFields():$.java.util.Map;
                /**
                 * 获取选择的字段
                 */
                getSelectFieldsWithNotCompare():$.java.util.List;
                /**
                 * 解析条件，输出脚本表达式与表达式说明
                 *
                 * @return return[0] =脚本表达式，return[1] = 表达式说明
                 */
                buildFilterScript():string[];
                /**
                 * 获取字段名与过滤工具类映射
                 *
                 * @return 字段名与过滤工具类映射
                 */
                getCompareFilterFields():$.java.util.Map;
                /**
                 * @param filterRows
                 *            过滤行集合
                 */
                setFilterRows(filterRows:$.java.util.List):void;
                /**
                 * @param qFilter
                 *            过滤条件
                 */
                setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 解析过滤条件
                 */
                buildFilter():void;
                /**
                 * @param dataType
                 *            实体
                 */
                setDataType(dataType:MainEntityType):void;
                /**
                 * 获取字段名与过滤工具类映射
                 *
                 * @return 字段名与过滤工具类映射
                 */
                getFilterFields():$.java.util.Map;
                /**
                 * 获取选择的字段
                 */
                getSelectFields():$.java.util.List;
                /**
                 * 获取是否检查输入开关
                 *
                 * @return 是否检查输入开关
                 */
                isCheckInput():boolean;
                /**
                 * @return 解析后的过滤表达式
                 */
                getFilter():string;
                /**
                 * 解析过滤条件
                 *
                 * @param returnSql
                 *            是否返回SQL
                 */
                buildFilter(returnSql:boolean):void;
                /**
                 * @return 过滤行集合
                 */
                getFilterRows():$.java.util.List;
                /**
                 * @return 解析后的过滤条件
                 */
                getQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * @param filter
                 *            过滤表达式
                 */
                setFilter(filter:string):void;
                /**
                 * 获取过滤结果
                 *
                 * @return 过滤结果
                 */
                getFilterResult():FilterResult;
            }
            type FilterObject_T = FilterObject$;
            interface FilterObject extends FilterObject_T {
            }
            interface FilterMetadata_S {
            }
            interface FilterMetadata_C extends FilterMetadata_S {
                /**
                 * 构造函数
                 */
                new():FilterMetadata;
            }
            interface FilterMetadata$ {
            }
            type FilterMetadata_T = FilterMetadata$;
            interface FilterMetadata extends FilterMetadata_T {
            }
            interface FilterScheme_S {
            }
            interface FilterScheme_C extends FilterScheme_S {
                new():FilterScheme;
            }
            interface FilterScheme$ {
                /**
                 * 默认方案
                 */
                setDefault(isDefault:boolean):void;
                /**
                 * 获取数据包状态
                 */
                getDataEntityState():$.kd.bos.dataentity.entity.DataEntityState;
                /**
                 * 是否是下一个分录方案
                 */
                setNextEntryScheme(isNextEntryScheme:boolean):void;
                /**
                 * 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 多语言过滤方案
                 */
                getLocaleFilterScheme():LocaleFilterScheme;
                /**
                 * 默认方案
                 */
                isDefault():boolean;
                /**
                 * 方案名称
                 */
                setSchemeName(schemeName:string):void;
                /**
                 * 方案描述
                 */
                setDescription(description:string):void;
                /**
                 * 方案名称
                 */
                getSchemeName():string;
                /**
                 * 序号
                 */
                setSeq(seq:number):void;
                /**
                 * 方案内容
                 */
                setScheme(scheme:string):void;
                /**
                 * 表单id
                 */
                setFormId(formId:string):void;
                /**
                 * 方案内容
                 */
                getScheme():string;
                /**
                 * 是否共享
                 */
                isShare():boolean;
                /**
                 * 创建时间
                 */
                setCreateTime(createTime:Date):void;
                /**
                 * 设置数据包状态
                 */
                setDataEntityState(dataEntityState:$.kd.bos.dataentity.entity.DataEntityState):void;
                /**
                 * isF7
                 */
                setF7(isF7:boolean):void;
                /**
                 * 方案id
                 */
                getId():string;
                /**
                 * 表单id
                 */
                getFormId():string;
                /**
                 * 修改时间
                 */
                setModifyTime(modifyTime:Date):void;
                /**
                 * 方案描述
                 */
                getDescription():string;
                /**
                 * isF7
                 */
                isF7():boolean;
                /**
                 * 设置多语言过滤方案
                 */
                setLocaleFilterScheme(localeFilterScheme:LocaleFilterScheme):void;
                /**
                 * 创建时间
                 */
                getCreateTime():Date;
                /**
                 * 分录标识
                 */
                setEntryEntity(entryEntity:string):void;
                /**
                 * 是否共享
                 */
                setShare(isShare:boolean):void;
                /**
                 * 修改时间
                 */
                getModifyTime():Date;
                /**
                 * 全局方案
                 */
                setFixed(isFixed:boolean):void;
                /**
                 * 全局方案
                 */
                isFixed():boolean;
                /**
                 * 是否是下一个分录方案
                 */
                isNextEntryScheme():boolean;
                /**
                 * 方案id
                 */
                setId(id:string):void;
                /**
                 * 多语言名称
                 */
                getLocaleName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 用户id
                 */
                getUserId():long;
                /**
                 * 分录标识
                 */
                getEntryEntity():string;
                /**
                 * 序号
                 */
                getSeq():number;
            }
            type FilterScheme_T = FilterScheme$;
            interface FilterScheme extends FilterScheme_T {
            }
            interface ControlFilter_S {
            }
            interface ControlFilter_C extends ControlFilter_S {
                /**
                 * 构造函数
                 *
                 * @param fieldName 字段名
                 * @param value 过滤值
                 */
                new(fieldName:string,value:$.java.util.List):ControlFilter;
            }
            interface ControlFilter$ {
                /**
                 * 获取过滤字段名
                 *
                 * @return 过滤字段名
                 */
                getFieldName():string;
                /**
                 * 获取过滤值
                 *
                 * @return 过滤值
                 */
                getValue():$.java.util.List;
                /**
                 * 设置过滤比较符
                 *
                 * @param compareType 过滤比较符
                 */
                setCompareType(compareType:string):void;
                /**
                 * 获取过滤比较符
                 *
                 * @return 过滤比较符
                 */
                getCompareType():string;
            }
            type ControlFilter_T = ControlFilter$;
            interface ControlFilter extends ControlFilter_T {
            }
            interface FieldName_S {
            }
            interface FieldName_C extends FieldName_S {
                /**
                 * 构造函数
                 *  @param fieldName 字段标识
                 *  @param fieldCaption 字段名称
                 */
                new(fieldName:string,fieldCaption:$.kd.bos.dataentity.entity.LocaleString):FieldName;
                /**
                 * 构造函数
                 *  @param fieldCaption 字段名称
                 *  @param fieldName 字段标识
                 *  @param entityId 分录标识
                 *  @param compareGroupId 比较符组标识
                 */
                new(fieldCaption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string,entityId:string,compareGroupId:string):FieldName;
            }
            interface FieldName$ {
                /**
                 * @return 字段标识
                 */
                getFieldName():string;
                /**
                 * @return 字段名称
                 */
                getFieldCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @return 所属分录标识
                 */
                getEntityId():string;
                /**
                 * @return 比较符所在组标识
                 */
                getCompareGroupId():string;
                /**
                 * @param fieldName 字段标识
                 */
                setFieldName(fieldName:string):void;
                /**
                 * @param compareGroupId 比较符组标识
                 */
                setCompareGroupId(compareGroupId:string):void;
                /**
                 * @param entityId 所属分录标识
                 */
                setEntityId(entityId:string):void;
                /**
                 * @param fieldCaption 字段名称
                 */
                setFieldCaption(fieldCaption:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type FieldName_T = FieldName$;
            interface FieldName extends FieldName_T {
            }
            interface AbstractFilterContantParser_S {
            }
            type AbstractFilterContantParser_ST = AbstractFilterContantParser_S & IConditionVariableAnalysis_S;
            interface AbstractFilterContantParser_C extends AbstractFilterContantParser_ST {
                new():AbstractFilterContantParser;
            }
            interface AbstractFilterContantParser$ {
            }
            type AbstractFilterContantParser_T = AbstractFilterContantParser$ & IConditionVariableAnalysis;
            interface AbstractFilterContantParser extends AbstractFilterContantParser_T {
            }
            interface ConditionVariableContext_S {
            }
            interface ConditionVariableContext_C extends ConditionVariableContext_S {
                /**
                 * 构造函数
                 * @param filterObject
                 * @param filterRow
                 */
                new(filterObject:FilterObject,filterRow:FilterRow):ConditionVariableContext;
            }
            interface ConditionVariableContext$ {
                /**
                 * 输出条件表达式脚本
                 *
                 * @return
                 */
                getScript():string;
                /**
                 * 输出QFilter条件
                 *
                 * @return
                 */
                getQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 设置QFilter条件
                 */
                setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 比较符号
                 *
                 * @return
                 */
                getOperater():string;
                /**
                 * 设置条件中文描述
                 */
                setFilterDesc(filterDesc:string):void;
                /**
                 * 设置读取用户信息的服务
                 */
                setUserService(userService:kd.bos.service.IUserService):void;
                /**
                 * 设置条件表达式脚本
                 */
                setScript(script:string):void;
                /**
                 * 设置输出SQL过滤条件子句
                 */
                setFilter(filter:string):void;
                /**
                 * 单据主实体
                 *
                 * @return
                 */
                getMainType():MainEntityType;
                /**
                 * ORM字段完整名
                 *
                 * @return
                 */
                getFieldName():string;
                /**
                 * 输出SQL过滤条件子句
                 *
                 * @return
                 */
                getFilter():string;
                /**
                 * 用户录入的比较值
                 *
                 * @return
                 */
                getConstantValue():number;
                /**
                 * 确定生成的条件，是否使用参数对象
                 *
                 * @return
                 */
                isParam():boolean;
                /**
                 * 当前过滤行
                 *
                 * @return
                 */
                getFilterRow():FilterRow;
                /**
                 * 设置变量参数值
                 */
                setParam(param:$.java.util.List):void;
                /**
                 * 设置确定生成的条件，是否使用参数对象
                 */
                setParam(isParam:boolean):void;
                /**
                 * 输出条件中文描述
                 *
                 * @return
                 */
                getFilterDesc():string;
                /**
                 * 输出变量参数值
                 *
                 * @return
                 */
                getParam():$.java.util.List;
                /**
                 * 数据库字段值类型：整数、字符等，据此确定是否需要增加单引号
                 *
                 * @return
                 */
                getColType():number;
                /**
                 * 读取用户信息的服务
                 *
                 * @return
                 */
                getUserService():kd.bos.service.IUserService;
                /**
                 * 过滤对象：包含了全部过滤行、全部过滤字段等信息
                 *
                 * @return
                 */
                getFilterObject():FilterObject;
                /**
                 * 设置用户录入的比较值
                 */
                setConstantValue(constantValue:number):void;
                /**
                 * 获取时区信息的服务
                 */
                getInteService():$.kd.bos.inte.api.IInteService;
            }
            type ConditionVariableContext_T = ConditionVariableContext$;
            interface ConditionVariableContext extends ConditionVariableContext_T {
            }
            interface FilterContantParserArgs_S {
            }
            interface FilterContantParserArgs_C extends FilterContantParserArgs_S {
                /**
                 * 构造函数
                 *
                 * @param fieldName
                 *            ORM字段名
                 * @param filterRow
                 *            过滤行数据
                 * @param filterRows
                 *            过滤所有行数据集合
                 * @param mainEntityType
                 *            过滤对象的实例类型
                 */
                new(fieldName:string,filterRow:FilterRow,filterRows:$.java.util.List,mainEntityType:MainEntityType):FilterContantParserArgs;
            }
            interface FilterContantParserArgs$ {
                /**
                 * 通过字段名获取FilterRow,如果字段名重复，按照视图摆放顺序，取第一个
                 *
                 * @param fieldName
                 *            字段名
                 * @return 过滤字段
                 */
                getFilterRow(fieldName:string):FilterRow;
                /**
                 * 获取过滤行数据
                 *
                 * @return 过滤行数据
                 */
                getFilterRow():FilterRow;
                /**
                 * 获取过滤所有行数据集合
                 *
                 * @return 过滤所有行数据集合
                 */
                getFilterRows():$.java.util.List;
                /**
                 * 获取过滤对象的实例类型
                 *
                 * @return 过滤对象的实例类型
                 */
                getMainEntityType():MainEntityType;
                /**
                 * 获取ORM字段名
                 *
                 * @return ORM字段名
                 */
                getFieldName():string;
                /**
                 * 通过字段名获取过滤字段,存在多个重复字段名的情况下使用
                 *
                 * @param fieldName
                 *            字段名
                 * @return 过滤字段
                 */
                getFilterRows(fieldName:string):$.java.util.List;
            }
            type FilterContantParserArgs_T = FilterContantParserArgs$;
            interface FilterContantParserArgs extends FilterContantParserArgs_T {
            }
            interface BuildBaseDataPropertyQFiltersResult_S {
            }
            interface BuildBaseDataPropertyQFiltersResult_C extends BuildBaseDataPropertyQFiltersResult_S {
                new(isNeedControlOrgFilter:boolean,qFilters:$.java.util.List):BuildBaseDataPropertyQFiltersResult;
            }
            interface BuildBaseDataPropertyQFiltersResult$ {
                getQFilters():$.java.util.List;
                isNeedControlOrgFilter():boolean;
            }
            type BuildBaseDataPropertyQFiltersResult_T = BuildBaseDataPropertyQFiltersResult$;
            interface BuildBaseDataPropertyQFiltersResult extends BuildBaseDataPropertyQFiltersResult_T {
            }
            interface FilterBuilderParameter_S {
            }
            interface FilterBuilderParameter_C extends FilterBuilderParameter_S {
                /**
                 * @param dataType          实体类型
                 * @param filterCondition   过滤条件元数据
                 */
                new(dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):FilterBuilderParameter;
            }
            interface FilterBuilderParameter$ {
                /**
                 * 是否需要解析
                 */
                isNeedParse():boolean;
                /**
                 * 字段取值接口
                 */
                getFilterValueSetter():IFilterValueSetter;
                /**
                 * 过滤条件元数据
                 */
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 是否需要解析基础资料id
                 */
                isNeedParseBaseDataIds():boolean;
                /**
                 * 设置是否需要解析
                 */
                setNeedParse(needParse:boolean):this;
                /**
                 * 设置是否进行输入校验
                 */
                setCheckInput(checkInput:boolean):this;
                /**
                 * 设置过滤条件值解析器
                 * @param filterValueSetter
                 * @return
                 */
                setFilterValueSetter(filterValueSetter:IFilterValueSetter):this;
                /**
                 * 过滤字段解析需要的工具类集合 {@link FilterField}
                 */
                getFilterFields():$.java.util.List;
                /**
                 * 获取弹性域字段
                 */
                getFlexFields():$.java.util.Set;
                /**
                 * 设置是否需要解析基础资料id
                 */
                setNeedParseBaseDataIds(needParseBaseDataIds:boolean):this;
                /**
                 * 实体类型
                 */
                getDataType():MainEntityType;
                /**
                 * 添加弹性域字段
                 *
                 * @param flexField
                 */
                addFlexField(flexField:string):this;
                /**
                 * 设置过滤字段
                 */
                setFilterFields(filterFields:$.java.util.List):this;
                /**
                 * 是否进行输入校验，即进行真正的解析，如果是false，只会解析出过滤条件描述，不会生成QFilter
                 */
                isCheckInput():boolean;
            }
            type FilterBuilderParameter_T = FilterBuilderParameter$;
            interface FilterBuilderParameter extends FilterBuilderParameter_T {
            }
            interface SortObject_S {
            }
            interface SortObject_C extends SortObject_S {
                new():SortObject;
                new(dataType:MainEntityType):SortObject;
            }
            interface SortObject$ {
                setSetting(sortSettingList:$.java.util.List):void;
                deleteSortRows(filedName:string):void;
                getSortRows():$.java.util.List;
                getSetting():string;
                setSelectEntity(entityKey:string):void;
                addField(caption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string):SortField;
                addField(field:SortField):void;
                addSortRow(sortField:$.java.util.List):void;
                getSQLString():string;
                addSortRow(sortField:SortField,sortType:SortType):boolean;
                deleteSortRows(rowIndex:number):void;
                deleteSortRows():void;
            }
            type SortObject_T = SortObject$;
            interface SortObject extends SortObject_T {
            }
            interface CreateFilterColumnParameter_S {
            }
            interface CreateFilterColumnParameter_C extends CreateFilterColumnParameter_S {
                new(isNeedCompareTypeField:boolean):CreateFilterColumnParameter;
            }
            interface CreateFilterColumnParameter$ {
                setNeedBasedataCompareType(needBasedataCompareType:boolean):void;
                isNeedCompareTypeField():boolean;
                isNeedBasedataCompareType():boolean;
            }
            type CreateFilterColumnParameter_T = CreateFilterColumnParameter$;
            interface CreateFilterColumnParameter extends CreateFilterColumnParameter_T {
            }
            interface FilterModelContext_S {
            }
            interface FilterModelContext_C extends FilterModelContext_S {
                new(isOrQuery:boolean):FilterModelContext;
            }
            interface FilterModelContext$ {
                isOrQuery():boolean;
            }
            type FilterModelContext_T = FilterModelContext$;
            interface FilterModelContext extends FilterModelContext_T {
            }
            interface FilterKeyValueCollection_S {
            }
            interface FilterKeyValueCollection_C extends FilterKeyValueCollection_S {
                /**
                 * 构造函数
                 */
                new():FilterKeyValueCollection;
            }
            interface FilterKeyValueCollection$ {
                /**
                 * 获取字段过滤元数据实例集合
                 *
                 * @return
                 */
                getFilterKeyValues():$.java.util.List;
            }
            type FilterKeyValueCollection_T = FilterKeyValueCollection$;
            interface FilterKeyValueCollection extends FilterKeyValueCollection_T {
            }
            interface FilterParameter_S {
            }
            type FilterParameter_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & FilterParameter_S;
            interface FilterParameter_C extends FilterParameter_ST {
                /**
                 * 构造函数
                 */
                new():FilterParameter;
                /**
                 * 构造函数
                 */
                new(qFilter:$.kd.bos.orm.query.QFilter,orderBy:string):FilterParameter;
                /**
                 * 构造函数
                 */
                new(qFilters:$.java.util.List,orderBy:string):FilterParameter;
                /**
                 * 构造函数
                 */
                new(selectFields:$.java.util.List,qFilter:$.kd.bos.orm.query.QFilter,orderBy:string):FilterParameter;
                /**
                 * 构造函数
                 */
                new(selectFields:$.java.util.List,qFilters:$.java.util.List,orderBy:string):FilterParameter;
            }
            interface FilterParameter$ {
                /**
                 * 设置过滤条件
                 */
                setQFilters(qFilters:$.java.util.List):void;
                /**
                 * 设置sqlParameter
                 */
                setParam(param:$.java.util.List):void;
                /**
                 * 合并过滤条件
                 */
                mergeFilter(filter:FilterParameter):void;
                /**
                 * @return 排序
                 */
                getOrderBy():string;
                /**
                 * 获取sqlParameter
                 */
                getParam():$.java.util.List;
                /**
                 * 获取选择字段
                 */
                getSelectFieldsWithNotCompare():$.java.util.List;
                /**
                 * @param qFilter
                 *            过滤条件
                 */
                setFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 获取选择字段
                 */
                getSelectFields():$.java.util.List;
                /**
                 * 获取过滤条件
                 */
                getQFilters():$.java.util.List;
                /**
                 * 设置选择字段
                 */
                setSelectFieldsWithNotCompare(selectFieldsWithNotCompare:$.java.util.List):void;
                /**
                 * 获取选择实体
                 */
                getSelectEntity():string;
                /**
                 * 设置选择实体
                 */
                setSelectEntity(selectEntity:string):void;
                /**
                 * 获取转换字段
                 */
                getConvertFieldsMap():$.java.util.Map;
                /**
                 * @param orderBy 排序字段
                 */
                setOrderBy(orderBy:string):void;
                /**
                 * 设置选择字段
                 */
                setSelectFields(selectFields:$.java.util.List):void;
                /**
                 * 设置转换字段
                 */
                setConvertFieldsMap(convertFieldsMap:$.java.util.Map):void;
            }
            type FilterParameter_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & FilterParameter$;
            interface FilterParameter extends FilterParameter_T {
            }
            class LogicOperate {
                static readonly OR:kd.bos.entity.filter.LogicOperate;
                static readonly AND:kd.bos.entity.filter.LogicOperate;
                static values():kd.bos.entity.filter.LogicOperate[];
                static valueOf(arg0:string):kd.bos.entity.filter.LogicOperate;
                /**
                 * 获取逻辑拼接符的名称
                 * @return
                 */
                getName():string;
                /**
                 * 获取逻辑拼接符的值
                 * @return
                 */
                getValue():number;
            }
            class SortType {
                static readonly NotOrder:kd.bos.entity.filter.SortType;
                static readonly ASC:kd.bos.entity.filter.SortType;
                static readonly DESC:kd.bos.entity.filter.SortType;
                static valueOf(arg0:string):kd.bos.entity.filter.SortType;
                static values():kd.bos.entity.filter.SortType[];
                /**
                 * 获取排序方式的值
                 * @return
                 */
                getValue():number;
            }
            interface CompareCategory_S {
            }
            type CompareCategory_ST = $.java.lang.Cloneable & CompareCategory_S;
            interface CompareCategory_C extends CompareCategory_ST {
                new():CompareCategory;
            }
            interface CompareCategory$ {
            }
            type CompareCategory_T = $.java.lang.Cloneable & CompareCategory$;
            interface CompareCategory extends CompareCategory_T {
            }
            interface FilterSchemeL_S {
            }
            type FilterSchemeL_ST = $.java.io.Serializable & FilterSchemeL_S;
            interface FilterSchemeL_C extends FilterSchemeL_ST {
                new():FilterSchemeL;
            }
            interface FilterSchemeL$ {
                getName():string;
                setName(name:string):void;
                setDescription(description:string):void;
                getDataEntityState():$.kd.bos.dataentity.entity.DataEntityState;
                getLocaleId():string;
                setDataEntityState(dataEntityState:$.kd.bos.dataentity.entity.DataEntityState):void;
                setPkId(pkId:string):void;
                setSchemeId(schemeId:string):void;
                getSchemeId():string;
                setLocaleId(localeId:string):void;
                getId():string;
                getPkId():string;
                getDescription():string;
                setId(id:string):void;
            }
            type FilterSchemeL_T = $.java.io.Serializable & FilterSchemeL$;
            interface FilterSchemeL extends FilterSchemeL_T {
            }
            class CompareTypeEnum {
                static readonly LESSOREQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ORGNOTIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSLESSOREQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly IN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ORGNOTEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CURRENTUSERDEPTSWITHDISABLE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly GREATEROREQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTONEMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly OPTIONVALUEFILTER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ORGEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly THISYEAR:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CURRENTUSERDEPTS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ORGIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSNOTIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CHECKBOXEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FIELDSMALLEROREQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NOTCURRENTUSER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSNOTEQUALS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LESSTHANOREQUALTODAY:kd.bos.entity.filter.CompareTypeEnum;
                static readonly TODAYBEFORE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly MORETHANTODAY:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FUTUREONEMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSGREATER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTQUARTER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSNOTLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FIELDEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSLESS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSISNOTNULL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly TOMORROW:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CURRENTUSERINCHARGEDEPT:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSGREATEROREQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly COMBOBOXISNULL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ISNULL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly MULTICOMBOBOXLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly MORETHANOREQUALTODAY:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NEXTQUARTER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LESS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CURRENTUSERINCHARGEDEPTS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NEXTWEEK:kd.bos.entity.filter.CompareTypeEnum;
                static readonly COMBOBOXISNOTNULL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NOTLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTNDAYS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTTHREEMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSLIFTLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly EQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSRIGHTLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSEQUALS:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FIELDSMALLER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly TODAY:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NDAYSBEFORE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly THISWEEK:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CURRENTUSERDEPT:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTWEEK:kd.bos.entity.filter.CompareTypeEnum;
                static readonly THISMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LEFTLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly YESTERDAY:kd.bos.entity.filter.CompareTypeEnum;
                static readonly RIGHTLIKE:kd.bos.entity.filter.CompareTypeEnum;
                static readonly THISQUARTER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FIELDGREATER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly BETWEEN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FUTURETHREEMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CHECKBOXNOTIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CHECKBOXIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly GREATER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ISNOTNULL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly ITEMCLASSISNULL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LASTYEAR:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NOTIN:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CURRENTUSER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FIELDNOTEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly LESSTHANTODAY:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NEXTMONTH:kd.bos.entity.filter.CompareTypeEnum;
                static readonly TODAYAFTER:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NOTEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly CHECKBOXNOTEQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly FIELDGREATEROREQUAL:kd.bos.entity.filter.CompareTypeEnum;
                static readonly NEXTYEAR:kd.bos.entity.filter.CompareTypeEnum;
                static values():kd.bos.entity.filter.CompareTypeEnum[];
                static valueOf(arg0:string):kd.bos.entity.filter.CompareTypeEnum;
                /**
                 * 根据比较符id获取过滤比较符
                 * @param id 比较符id
                 * @return
                 */
                static createCompareTypeEnum(id:string):kd.bos.entity.filter.CompareTypeEnum;
                /**
                 * 获取比较符id
                 *
                 * @return 比较符id
                 */
                getId():string;
            }
            interface FilterField_S {
                readonly FBASEDATAID2:string;
                readonly FBASEDATAID:string;
                /**
                 * 输出ORM完整属性名，包含单据体前缀
                 *
                 * @param prop 属性对象
                 * @return ORM完整属性名，包含单据体前缀
                 * @remark ORM取数时，单据体字段必须加上单据体前缀，否则会找不到字段
                 */
                buildPropORMFullName(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):string;
                /**
                 * 根据多类别基础资料创建
                 *
                 * @param mainType  单据主实体
                 * @param fieldName 字段名，格式：基础资料.引用属性1.引用属性2
                 * @param baseEntityId 字段名，格式：基础资料.引用属性1.引用属性2
                 * @return
                 */
                createForItemClassProp(mainType:MainEntityType,fieldName:string,baseEntityId:string):FilterField;
                /**
                 * 公共静态方法：传入字段标识，创建对应的过滤字段
                 *
                 * @param mainType     单据主实体
                 * @param ormFieldName 字段名，格式：基础资料.单据体.引用属性1.引用属性2
                 * @return
                 */
                createByOrmFieldName(mainType:MainEntityType,ormFieldName:string):FilterField;
                /**
                 * 公共静态方法：传入字段标识，创建对应的过滤字段
                 *
                 * @param mainType  单据主实体
                 * @param fieldName 字段名，格式：基础资料.引用属性1.引用属性2
                 * @return
                 */
                create(mainType:MainEntityType,fieldName:string):FilterField;
                /**
                 * 输出ORM完整属性名，包含单据体前缀
                 */
                buildPropORMFullNameByName(name:string,iDataEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):string;
            }
            interface FilterField_C extends FilterField_S {
                /**
                 * 构造函数
                 *
                 * @remark
                 * 用于反序列化
                 */
                new():FilterField;
                /**
                 * 构造函数
                 *
                 * @param caption
                 *            字段标题
                 * @param fieldName
                 *            字段标识，不包含单据体前缀
                 * @param entityKey
                 *            字段所在的单据体
                 * @param compareGroupID
                 *            比较符号集
                 * @param fieldType
                 *            数据库字段类型
                 *            是否常量：专用于主组织
                 *
                 * @remark 用于在设计时，基于单据设计时元数据，创建出过滤字段，实现过滤条件的设计
                 */
                new(caption:$.kd.bos.dataentity.entity.LocaleString,fieldName:string,entityKey:string,compareGroupID:string,fieldType:number):FilterField;
                /**
                 * 构造函数
                 *
                 * @param srcFieldProp
                 *            单据字段
                 * @param refProp1
                 *            引用属性1
                 * @param refProp2
                 *            引用属性2
                 * @param refEntityId
                 *            字段对应的实体标识
                 *
                 * @remark 用于在运行时，根据运行时主实体、字段标识，动态还原过滤字段，实现运行时条件解析
                 */
                new(mainType:MainEntityType,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProp1:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProp2:$.kd.bos.dataentity.metadata.IDataEntityProperty,refEntityId:string):FilterField;
            }
            interface FilterField$ {
                /**
                 * 是否是敏感字段
                 */
                isDesensitizeField():boolean;
                /**
                 * 基础资料引用属性
                 */
                getRefPropKey():string;
                /**
                 * 基础资料引用属性1
                 */
                getRefPropKey2():string;
                /**
                 * 检查字段是否有对应的数据库字段
                 */
                isFieldPropAliasEmpty():boolean;
                /**
                 * @return 比较符集合
                 */
                getCompareTypes():$.java.util.List;
                /**
                 * 过滤字段，f7点击时，打开的基础资料
                 */
                setRefEntityId(refEntityId:string):void;
                /**
                 * 单据字段
                 * @return
                 */
                getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 基于本对象，生成前端过滤表格中用到的过滤字段
                 *
                 * @return
                 * @remark 本方法，仅用于给过滤表格控件生成过滤字段列表；
                 * 通用列表上的过滤字段控件，由列表界面设计元数据生成
                 */
                createFilterColumn(createFilterColumnParameter:CreateFilterColumnParameter):$.java.util.Map;
                /**
                 * 字段标识
                 *
                 * @return
                 */
                getFieldName():string;
                /**
                 * @return // 默认比较符(多个值)
                 */
                getDefaultMultiCompareType():CompareType;
                /**
                 * @param compareTypes
                 *            比较符集合
                 */
                setCompareTypes(compareTypes:$.java.util.List):void;
                /**
                 * 字段枚举集
                 * @return
                 */
                getComboItems():$.java.util.List;
                /**
                 * @param compareTypeId
                 *            比较符标识
                 * @return 比较符
                 */
                getCompareType(compareTypeId:string):CompareType;
                /**
                 * 基础资料引用属性1
                 */
                getRefPropKey1():string;
                /**
                 * 字段数据类型，DBType, java.sql.Types
                 */
                setFieldType(fieldType:number):void;
                /**
                 * @param defaultCompareID
                 *            字段默认比较符组标识
                 */
                setDefaultMultiCompareTypeId(defaultCompareID:string):void;
                /**
                 * 输出完整的字段名称
                 */
                getFullFieldCaption():string;
                /**
                 * @return 字段数据类型，DBType, java.sql.Types
                 */
                getFieldType():number;
                /**
                 * @param compareGroupID
                 *            比较符组标识
                 */
                setCompareGroupID(compareGroupID:string):void;
                /**
                 * 过滤字段
                 * @return
                 */
                getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 基于本对象，生成前端过滤表格中用到的过滤字段
                 *
                 * @return
                 * @remark 本方法，仅用于给过滤表格控件生成过滤字段列表；
                 * 通用列表上的过滤字段控件，由列表界面设计元数据生成
                 */
                createFilterColumn(isNeedCompareTypeField:boolean):$.java.util.Map;
                /**
                 * 获取主实体
                 */
                getMainType():MainEntityType;
                /**
                 * 字段完整的ORM属性名，需使用实体名作为前缀
                 * @return
                 */
                getFullFieldName():string;
                /**
                 * 字段完整的ORM属性名，需使用实体名作为前缀
                 */
                setFullFieldName(fullFieldName:string):void;
                /**
                 * 获取过滤字段的所有比较符
                 *
                 * @return
                 */
                getAllCompareTypes():$.java.util.List;
                /**
                 * @return 所属分录
                 */
                getEntityKey():string;
                /**
                 * 获取全部的自定义比较符
                 */
                getCustomCompareTypes():$.java.util.List;
                /**
                 * @param caption
                 *            字段名称
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取字段值
                 */
                getValueFast(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):any;
                /**
                 * 设置主实体
                 */
                setMainType(mainType:MainEntityType):void;
                /**
                 * 添加自定义比较符
                 */
                addCustomCompareType(compareType:CompareType):void;
                /**
                 * 源字段标识
                 */
                getSrcFieldKey():string;
                /**
                 * 是否是加密字段
                 */
                isEncryptField():boolean;
                /**
                 * 基础资料第二层引用属性
                 *
                 * @return
                 */
                getRefProp2():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 基础资料引用属性
                 */
                setRefPropKey(refPropKey:string):void;
                /**
                 * 字段枚举集
                 */
                setComboItems(comboItems:$.java.util.List):void;
                /**
                 * 获取最后一级属性
                 */
                getLatestParent():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 创建过滤列
                 */
                createFilterColumn():$.java.util.Map;
                /**
                 * 获取字段所在实体的标识，对于查询实体来说是子实体或者是子实体.分录的情况
                 *
                 * @return
                 */
                getSubEntityName():string;
                /**
                 * @return 序号
                 */
                getSeq():number;
                /**
                 * 字段名称
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @return 过滤字段类型，发给前端
                 */
                getFilterControlType():string;
                /**
                 * @param seq
                 *            序号
                 */
                setSeq(seq:number):void;
                /**
                 * 将基础资料转为id
                 *
                 * @return
                 */
                convertToId():this;
                /**
                 * 是否是虚拟过滤字段（没有对应的实体字段），默认为false
                 * @return
                 */
                isVirtualFilterField():boolean;
                /**
                 * 添加自定义比较符
                 */
                addCustomCompareTypes(compareTypes:$.java.util.List):void;
                /**
                 * 过滤字段，f7点击时，打开的基础资料
                 * @return
                 */
                getRefEntityId():string;
                /**
                 * 获取关联属性
                 * @return
                 */
                getJoinProperty():kd.bos.entity.list.JoinProperty;
                /**
                 * 基础资料字段过滤字段控件类型
                 */
                getBaseDataFilterControlType():string;
                /**
                 * 是否为脱敏字段且不支持查询
                 *
                 * @return 是否为脱敏字段且不支持查询
                 */
                isDesenAndNoSearch():boolean;
                /**
                 * @return // 默认比较符(单个值)
                 */
                getDefaultCompareType():CompareType;
                /**
                 * @return 列表快速搜索过滤条件或常用过滤条件选择了多个值时使用的比较符（比如文本是LIKE(59)）
                 */
                getDefaultMultiCompareTypeId():string;
                /**
                 * @param defaultCompareID
                 *            字段默认比较符组标识
                 */
                setDefaultCompareTypeId(defaultCompareID:string):void;
                /**
                 * @return 列表常用过滤条件选择了一个值时使用的比较符
                 */
                getDefaultCompareTypeId():string;
                /**
                 * 是否是多选基础资料
                 */
                isMulBasedata():boolean;
                /**
                 * @return 比较符组标识
                 */
                getCompareGroupID():string;
                /**
                 * @param fieldName
                 *            字段标识
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 基础资料引用属性1
                 * @return
                 */
                getRefProp1():$.kd.bos.dataentity.metadata.IDataEntityProperty;
            }
            type FilterField_T = FilterField$;
            interface FilterField extends FilterField_T {
            }
            interface FilterUtil_S {
            }
            interface FilterUtil_C extends FilterUtil_S {
                new():FilterUtil;
            }
            interface FilterUtil$ {
            }
            type FilterUtil_T = FilterUtil$;
            interface FilterUtil extends FilterUtil_T {
            }
            interface IConditionVariableAnalysis_S {
            }
            interface IConditionVariableAnalysis_C extends IConditionVariableAnalysis_S {
            }
            interface IConditionVariableAnalysis$ {
                /**
                 * 将常量解析成QFilter
                 *
                 * @param ctx
                 *            解析上下文
                 */
                getVariableFilter(ctx:ConditionVariableContext):void;
                /**
                 * 将常量解析成脚本
                 *
                 * @param ctx
                 *            解析上下文
                 */
                getScriptFilter(ctx:ConditionVariableContext):void;
            }
            type IConditionVariableAnalysis_T = IConditionVariableAnalysis$;
            interface IConditionVariableAnalysis extends IConditionVariableAnalysis_T {
            }
            interface ColumnParam_S {
            }
            interface ColumnParam_C extends ColumnParam_S {
                /**
                 * 无参构造函数
                 */
                new():ColumnParam;
                /**
                 * 构造函数
                 */
                new(isPermGroup:boolean):ColumnParam;
            }
            interface ColumnParam$ {
            }
            type ColumnParam_T = ColumnParam$;
            interface ColumnParam extends ColumnParam_T {
            }
            interface FilterResult_S {
            }
            interface FilterResult_C extends FilterResult_S {
                /**
                 * 构造函数
                 *
                 * @param filterGroup
                 *            过滤条件描述分组
                 * @param qFilter
                 *            过滤条件
                 */
                new(filterGroup:string[],qFilter:$.kd.bos.orm.query.QFilter):FilterResult;
                /**
                 * 构造函数
                 *
                 * @param filterGroup
                 *            过滤条件描述分组
                 * @param qFilters
                 *            过滤条件解析结果集合
                 */
                new(filterGroup:string[],qFilters:$.java.util.List):FilterResult;
                /**
                 * 构造函数
                 *
                 * @param filterGroup
                 *            过滤条件描述分组
                 * @param qFilter
                 *            过滤条件
                 * @param qFilters
                 *            过滤条件解析结果集合
                 */
                new(filterGroup:string[],qFilter:$.kd.bos.orm.query.QFilter,qFilters:$.java.util.List):FilterResult;
            }
            interface FilterResult$ {
                /**
                 * 获取过滤条件描述数据，主要是两个，第一个是SQL描述，第二个是中文描述
                 *
                 * @return 过滤条件描述数据
                 */
                getFilterGroup():string[];
                /**
                 * 获取过滤比较符
                 *
                 * @return 过滤比较符 {@link kd.bos.entity.filter.LogicOperate}
                 */
                getLogicOperate():LogicOperate;
                /**
                 * 获取过滤条件，每个数组元素对应每行FilterRow {@link kd.bos.entity.filter.FilterRow}的解析结果
                 *
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 获取过滤条件
                 *
                 * @return 过滤条件
                 */
                getQFilter():$.kd.bos.orm.query.QFilter;
            }
            type FilterResult_T = FilterResult$;
            interface FilterResult extends FilterResult_T {
            }
            class CompareInputType {
                static readonly INTEGER:kd.bos.entity.filter.CompareInputType;
                static values():kd.bos.entity.filter.CompareInputType[];
                static valueOf(arg0:string):kd.bos.entity.filter.CompareInputType;
            }
            interface ILocaleFilterScheme_S {
            }
            type ILocaleFilterScheme_ST = $.kd.bos.dataentity.entity.ILocaleValue & ILocaleFilterScheme_S;
            interface ILocaleFilterScheme_C extends ILocaleFilterScheme_ST {
            }
            interface ILocaleFilterScheme$ {
                setLocaleValue_en?(value:FilterSchemeL):void;
                setLocaleValue?(value:FilterSchemeL):void;
                setLocaleValue_zh_TW?(value:FilterSchemeL):void;
                getLocaleValue_en?():FilterSchemeL;
                getLocaleValue_zh_TW?():FilterSchemeL;
                getLocaleValue_zh_CN?():FilterSchemeL;
                getLocaleValue?():FilterSchemeL;
                setLocaleValue_zh_CN?(value:FilterSchemeL):void;
            }
            type ILocaleFilterScheme_T = $.kd.bos.dataentity.entity.ILocaleValue & ILocaleFilterScheme$;
            interface ILocaleFilterScheme extends ILocaleFilterScheme_T {
            }
            interface MobileSearchFilterValues_S {
                deSerialize(arg0:string):MobileSearchFilterValues;
            }
            interface MobileSearchFilterValues_C extends MobileSearchFilterValues_S {
                new():MobileSearchFilterValues;
                new(arg0:string,arg1:$.java.util.List,arg2:string):MobileSearchFilterValues;
            }
            interface MobileSearchFilterValues$ {
                getSearchText():string;
                setSearchText(arg0:string):void;
                createMapFilterValues():$.java.util.Map;
                getEntryEntity():string;
                setFastFilterValues(arg0:FilterKeyValueCollections):void;
                isEmpty():boolean;
                setEntryEntity(arg0:string):void;
                getFastFilterValues():FilterKeyValueCollections;
                serialize():string;
            }
            type MobileSearchFilterValues_T = MobileSearchFilterValues$;
            interface MobileSearchFilterValues extends MobileSearchFilterValues_T {
            }
        }
        namespace kd.bos.entity.flex{
            interface FlexBDValueCondition_S {
            }
            interface FlexBDValueCondition_C extends FlexBDValueCondition_S {
                new():FlexBDValueCondition;
            }
            interface FlexBDValueCondition$ {
                /**
                 * 获取表达式
                 * @return
                 */
                getExpression():string;
                /**
                 * 设置表达式
                 * @param expression
                 */
                setExpression(expression:string):void;
                /**
                 * 获取过滤条件
                 * @return
                 */
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 设置过滤条件
                 * @param filterCondition
                 */
                setFilterCondition(filterCondition:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 设置描述
                 * @param description
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 构造完整公式
                 * @param mainType
                 * @return
                 */
                buildFullFormula(mainType:MainEntityType):string;
                /**
                 * 获取描述
                 * @return
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
            }
            type FlexBDValueCondition_T = FlexBDValueCondition$;
            interface FlexBDValueCondition extends FlexBDValueCondition_T {
            }
            interface FlexEntireData_S {
            }
            interface FlexEntireData_C extends FlexEntireData_S {
                new():FlexEntireData;
            }
            interface FlexEntireData$ {
                /**
                 * 设置弹性域数据并根据idndex排序
                 * @param flexDatas 弹性域数据
                 */
                setFlexDatas(flexDatas:$.java.util.List):void;
                /**
                 * 将当前弹性域数据添加到集合中
                 *
                 * @param entityType 主实体
                 * @param data       数据包
                 */
                setFlexData(entityType:MainEntityType,data:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 获取弹性域数据
                 * @return
                 */
                getFlexDatas():$.java.util.List;
                /**
                 * 合并Flex数据（横表数据）
                 * @return
                 */
                concatFlexData():string;
                /**
                 * 获取ID
                 * @return
                 */
                getId():long;
                /**
                 * 获取弹性域值
                 * @return
                 */
                getFlexValue():$.java.util.Map;
                /**
                 * 设置ID
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 设置排序后的弹性域数据
                 * @param flexDatasSorted
                 */
                setSortedFlexDatas(flexDatasSorted:$.java.util.List):void;
            }
            type FlexEntireData_T = FlexEntireData$;
            interface FlexEntireData extends FlexEntireData_T {
            }
            interface FlexEntityMetaUtils_S {
                /**
                 * 获取弹性域实体
                 * @param id
                 * @return
                 */
                getFlexType(id:number):FlexType;
                /**
                 * 获取弹性域属性
                 * @param flexTypeId
                 * @return
                 */
                getFlexProperties(flexTypeId:number):$.java.util.List;
                /**
                 * 是否开启输入日志
                 * @return
                 */
                isOutLog():boolean;
                /**
                 * 基础资料上弹性域实体类型
                 *
                 * @param args
                 * @return
                 */
                getBasedataPropFlexEntityType(args:CreateFlexMetaArgs):FlexEntityType;
                /**
                 * 弹性域缓存是否释放
                 * @return
                 */
                isFlexCacheRelease():boolean;
                /**
                 * 暂未实现
                 */
                clearFlexEntityMeta():void;
                /**
                 * 构造弹性域维度
                 * @param flexFieldKey
                 * @param flexProperty
                 * @return
                 */
                createProperty(flexFieldKey:string,flexProperty:FlexProperty):$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 输出日志
                 *
                 * @param className 类名
                 * @param method    方法
                 * @param info      日志信息
                 */
                outLog(className:string,method:string,info:string):void;
                /**
                 * 按弹性域属性内码取弹性域属性
                 *
                 * @param propertyIds
                 *            属性内码 T_BAS_FLEX_PROPERTY.FENTRYID
                 * @return
                 */
                getFlexProperty(propertyIds:$.java.util.List):$.java.util.List;
                /**
                 * 基础资料上弹性域实体类型
                 *
                 * @param flexFieldKey
                 * @param propertyIds
                 * @return
                 */
                getBasedataPropFlexEntityType(formNumber:string,flexFieldKey:string,flexTypeId:number,propertyIds:$.java.util.List):FlexEntityType;
                /**
                 * 列表是否批量加载
                 * @return
                 */
                isFlexListBatchLoad():boolean;
                /**
                 * 根据flexField取flexproperty
                 *
                 * @param flexField
                 *            弹性域字段名称，该名称所有弹性域属性唯一
                 * @return
                 */
                getFlexProperty(flexField:string):FlexProperty;
            }
            interface FlexEntityMetaUtils_C extends FlexEntityMetaUtils_S {
                new():FlexEntityMetaUtils;
            }
            interface FlexEntityMetaUtils$ {
            }
            type FlexEntityMetaUtils_T = FlexEntityMetaUtils$;
            interface FlexEntityMetaUtils extends FlexEntityMetaUtils_T {
            }
            interface FlexProperty$DisplayStyle_S {
            }
            interface FlexProperty$DisplayStyle_C extends FlexProperty$DisplayStyle_S {
                new(arg0:FlexProperty,arg1:string):FlexProperty$DisplayStyle;
            }
            interface FlexProperty$DisplayStyle$ {
                getDisplayProperty():FlexProperty$DisplayProperty;
                setDisplayProperty(arg0:FlexProperty$DisplayProperty):void;
                getType():string;
            }
            type FlexProperty$DisplayStyle_T = FlexProperty$DisplayStyle$;
            interface FlexProperty$DisplayStyle extends FlexProperty$DisplayStyle_T {
            }
            interface FlexProperty_S {
            }
            type FlexProperty_ST = $.java.io.Serializable & FlexProperty_S;
            interface FlexProperty_C extends FlexProperty_ST {
                new():FlexProperty;
            }
            interface FlexProperty$ {
                /**
                 * 设置启用
                 * @param enable
                 */
                setEnable(enable:string):void;
                /**
                 * 获取状态
                 * @return
                 */
                getStatus():string;
                /**
                 * 获取弹性域属性名称
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @return the id
                 */
                getId():long;
                /**
                 * 设置值类型
                 *
                 * @param valueType 1：基础资料 2：辅助资料 3：文本
                 */
                setValueType(valueType:string):void;
                /**
                 * 获取组织职能编码
                 * @return
                 */
                getOrgFuncNumber():string;
                /**
                 * 获取基础资料过滤条件
                 * @return
                 */
                getFlexBDValueCondition():FlexBDValueCondition;
                /**
                 * 获取字段的数据类型
                 * @return
                 */
                getDataType():string;
                /**
                 * 设置基础资料值条件
                 * @param basedataValueCondition
                 */
                setBasedataValueCondition(basedataValueCondition:string):void;
                /**
                 * 设置弹性域类型
                 * @param flexId
                 */
                setFlexId(flexId:number):void;
                /**
                 * 获取弹性域属性编码
                 * @return
                 */
                getNumber():string;
                /**
                 * 设置辅助资料类型
                 * @param assistantType
                 */
                setAssistantType(assistantType:string):void;
                /**
                 * 获取基础资料值条件
                 * @return
                 */
                getBasedataValueCondition():string;
                /**
                 * 获取显示样式类型，弹出或固定
                 * @return
                 */
                getDisplayStyle():FlexProperty$DisplayStyle;
                /**
                 * 获取字段名
                 * @return
                 */
                getFlexField():string;
                /**
                 * 获取显示属性
                 * @return
                 */
                getDisplayProp():string;
                /**
                 * 设置弹性域属性编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取弹性域类型
                 * @return
                 */
                getFlexTypeId():long;
                /**
                 * 获取维度ID
                 * @return
                 */
                getPropId():number;
                /**
                 * 获取属性的顺序
                 * @return
                 */
                getIndex():number;
                /**
                 * 设置状态
                 * @param status
                 */
                setStatus(status:string):void;
                /**
                 * 获取值类型
                 *
                 * @return 1：基础资料 2：辅助资料 3：文本
                 */
                getValueType():string;
                /**
                 * 设置弹性域属性名称（通用语言）
                 * @param glName
                 */
                setGLName(glName:string):void;
                /**
                 * 设置属性的顺序
                 * @param index
                 */
                setIndex(index:number):void;
                /**
                 * 设置弹性域实体
                 * @param flexType
                 */
                setFlexType(flexType:FlexType):void;
                /**
                 * 设置显示样式类型
                 * @param displayStyle
                 */
                setDisplayStyle(displayStyle:FlexProperty$DisplayStyle):void;
                /**
                 * 设置字段名
                 * @param flexField
                 */
                setFlexField(flexField:string):void;
                /**
                 * 获取值最大长度
                 * @return
                 */
                getDatamaxlen():number;
                /**
                 *  获取组织职能id
                 * @return
                 */
                getOrgFunc():long;
                /**
                 * 设置组织职能编码
                 * @param orgFuncNumber
                 */
                setOrgFuncNumber(orgFuncNumber:string):void;
                /**
                 * 设置值最大长度
                 * @param datamaxlen
                 */
                setDatamaxlen(datamaxlen:number):void;
                /**
                 * 获取字段的数据类型和值最大长度
                 * @return
                 * @param <T>
                 */
                getDataTypeObject():any;
                /**
                 * 设置弹性域类型
                 * @param flexTypeId
                 */
                setFlexTypeId(flexTypeId:long):void;
                /**
                 * 设置组织职能id
                 * @param orgFunc
                 */
                setOrgFunc(orgFunc:long):void;
                /**
                 * @param id the id to set
                 */
                setId(id:long):void;
                /**
                 * 获取值来源 仅对基础资料和辅助资料类型有意义.基础资料的form
                 * @return
                 */
                getValueSource():string;
                /**
                 * 获取辅助资料类型
                 * @return
                 */
                getAssistantType():string;
                getFlexType():FlexType;
                /**
                 * 设置维度ID
                 * @param propId
                 */
                setPropId(propId:number):void;
                /**
                 * 设置弹性域属性名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取弹性域属性名称（通用语言）
                 * @return
                 */
                getGLName():string;
                /**
                 * 设置显示属性
                 * @param displayProp
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 设置字段的数据类型
                 * @param dataType
                 */
                setDataType(dataType:string):void;
                /**
                 * 获取启用
                 * @return
                 */
                getEnable():string;
                /**
                 * 设置值来源 仅对基础资料和辅助资料类型有意义.基础资料的form
                 * @param valueSource
                 */
                setValueSource(valueSource:string):void;
            }
            type FlexProperty_T = $.java.io.Serializable & FlexProperty$;
            interface FlexProperty extends FlexProperty_T {
            }
            interface FlexType_S {
            }
            type FlexType_ST = FlexType_S & kd.bos.dataentity.entity.ClrDataEntity_S;
            interface FlexType_C extends FlexType_ST {
                new():FlexType;
            }
            interface FlexType$ {
                /**
                 * 获取显示格式
                 * @return 1:弹出式
                 */
                getDisplayFormat():number;
                /**
                 * 设置ID
                 * @param id
                 */
                setId(id:number):void;
                /**
                 * 设置表单标识
                 * @param formNumber
                 *            the formNumber to set
                 */
                setFormNumber(formNumber:string):void;
                /**
                 * 获取弹性域类型
                 * @return
                 */
                getFlexTypeId():long;
                /**
                 * 设置显示分隔符
                 * @param separator
                 */
                setSeparator(separator:string):void;
                /**
                 * 获取表单标识
                 * @return the formNumber
                 */
                getFormNumber():string;
                /**
                 * 设置显示属性
                 * @param displayProperty
                 */
                setDisplayProperty(displayProperty:string):void;
                /**
                 * 获取基础资料服务
                 * @return
                 */
                getBasedataService():string;
                /**
                 * 设置基础资料服务
                 * @param basedataService
                 */
                setBasedataService(basedataService:string):void;
                /**
                 * 设置弹性域属编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置维度数据表
                 * @param flexDataTable
                 */
                setFlexDataTable(flexDataTable:string):void;
                /**
                 * 获取弹性域编码
                 * @return
                 */
                getNumber():string;
                /**
                 * 获取uuid
                 * @return
                 */
                getFormUUID():string;
                /**
                 * 获取弹性域名称
                 * @return the name
                 */
                getName():string;
                /**
                 * 获取显示分隔符
                 * @return
                 */
                getSeparator():string;
                /**
                 * 获取维度数据表
                 * @return
                 */
                getFlexDataTable():string;
                /**
                 * 获取显示属性
                 * @return
                 */
                getDisplayProperty():string;
                /**
                 * 设置弹性域类型
                 * @param flexTypeId
                 */
                setFlexTypeId(flexTypeId:long):void;
                /**
                 * 获取弹性域名称
                 * @param name
                 *            the name to set
                 */
                setName(name:string):void;
                /**
                 * 设置显示格式
                 * @param displayFormat 1:弹出式
                 */
                setDisplayFormat(displayFormat:number):void;
            }
            type FlexType_T = FlexType$ & kd.bos.dataentity.entity.ClrDataEntity;
            interface FlexType extends FlexType_T {
            }
            class FlexProperty$DisplayProperty {
                static readonly NumberAndName:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static readonly FullName:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static readonly NumberAndFullName:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static readonly SimpleName:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static readonly LongNumber:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static readonly Name:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static readonly Number:kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static forValue(arg0:string):kd.bos.entity.flex.FlexProperty$DisplayProperty;
                static values():kd.bos.entity.flex.FlexProperty$DisplayProperty[];
                static valueOf(arg0:string):kd.bos.entity.flex.FlexProperty$DisplayProperty;
                getValue():string;
            }
            interface CreateFlexMetaArgs_S {
            }
            interface CreateFlexMetaArgs_C extends CreateFlexMetaArgs_S {
                new(formNumber:string,flexFieldKey:string,flexTypeId:number,propertyIds:$.java.util.List):CreateFlexMetaArgs;
            }
            interface CreateFlexMetaArgs$ {
                getPropertyIds():$.java.util.List;
                getFormNumber():string;
                getFlexFieldKey():string;
                getShowFrequentIds():$.java.util.List;
                getFlexTypeId():number;
                setShowFrequentIds(showFrequentIds:$.java.util.List):void;
            }
            type CreateFlexMetaArgs_T = CreateFlexMetaArgs$;
            interface CreateFlexMetaArgs extends CreateFlexMetaArgs_T {
            }
        }
        namespace kd.bos.entity.format{
            interface TimeFormat_S {
            }
            type TimeFormat_ST = AbstractFormat_S & TimeFormat_S;
            interface TimeFormat_C extends TimeFormat_ST {
                new():TimeFormat;
            }
            interface TimeFormat$ {
            }
            type TimeFormat_T = AbstractFormat & TimeFormat$;
            interface TimeFormat extends TimeFormat_T {
            }
            interface FormatFactory_S {
            }
            interface FormatFactory_C extends FormatFactory_S {
                new():FormatFactory;
            }
            interface FormatFactory$ {
            }
            type FormatFactory_T = FormatFactory$;
            interface FormatFactory extends FormatFactory_T {
            }
            class FormatTypes {
                static readonly Number:kd.bos.entity.format.FormatTypes;
                static readonly Time:kd.bos.entity.format.FormatTypes;
                static readonly Date:kd.bos.entity.format.FormatTypes;
                static readonly Currency:kd.bos.entity.format.FormatTypes;
                static values():kd.bos.entity.format.FormatTypes[];
                static valueOf(arg0:string):kd.bos.entity.format.FormatTypes;
                /**
                 * 获取格式化分类值
                 * @return
                 */
                getValue():number;
                /**
                 * 设置格式化分类值
                 * @param value
                 */
                setValue(value:number):void;
            }
            interface CurrencyFormat_S {
            }
            type CurrencyFormat_ST = CurrencyFormat_S & NumberFormat_S;
            interface CurrencyFormat_C extends CurrencyFormat_ST {
                /**
                 * 无参构造函数
                 */
                new():CurrencyFormat;
            }
            interface CurrencyFormat$ {
            }
            type CurrencyFormat_T = CurrencyFormat$ & NumberFormat;
            interface CurrencyFormat extends CurrencyFormat_T {
            }
            interface FormatObject_S {
            }
            type FormatObject_ST = $.java.io.Serializable & $.java.lang.Cloneable & FormatObject_S;
            interface FormatObject_C extends FormatObject_ST {
                /**
                 * 无参构造函数
                 */
                new():FormatObject;
                /**
                 * 构造函数
                 *
                 * @param currencyFormat 货币格式化参数
                 * @param numberFormat   数字格式化参数
                 * @param dateFormat     日期格式化参数
                 * @param timeFormat     时间格式化参数
                 */
                new(currencyFormat:CurrencyFormatObject,numberFormat:NumberFormatObject,dateFormat:DateFormatObject,timeFormat:TimeFormatObject):FormatObject;
            }
            interface FormatObject$ {
            }
            type FormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & FormatObject$;
            interface FormatObject extends FormatObject_T {
            }
            interface IFormat_S {
            }
            interface IFormat_C extends IFormat_S {
            }
            interface IFormat$ {
            }
            type IFormat_T = IFormat$;
            interface IFormat extends IFormat_T {
            }
            interface AbstractFormat_S {
            }
            type AbstractFormat_ST = AbstractFormat_S & IFormat_S;
            interface AbstractFormat_C extends AbstractFormat_ST {
                new():AbstractFormat;
            }
            interface AbstractFormat$ {
            }
            type AbstractFormat_T = AbstractFormat$ & IFormat;
            interface AbstractFormat extends AbstractFormat_T {
            }
            interface DateFormatObject_S {
            }
            type DateFormatObject_ST = $.java.io.Serializable & $.java.lang.Cloneable & DateFormatObject_S;
            interface DateFormatObject_C extends DateFormatObject_ST {
                /**
                 * 无参构造函数
                 */
                new():DateFormatObject;
                /**
                 * 构造函数
                 * @param dateFormat 时间格式化
                 */
                new(dateFormat:string):DateFormatObject;
                /**
                 * 构造函数
                 *
                 * @param dateFormat 时间格式化
                 * @param timeArea   时区
                 */
                new(dateFormat:string,timeArea:string):DateFormatObject;
                /**
                 * 构造函数
                 *
                 * @param dateFormat 时间格式化
                 * @param timeArea   时区
                 * @param localeStr  区域属性
                 */
                new(dateFormat:string,timeArea:string,localeStr:string):DateFormatObject;
            }
            interface DateFormatObject$ {
            }
            type DateFormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & DateFormatObject$;
            interface DateFormatObject extends DateFormatObject_T {
            }
            interface DateFormat_S {
            }
            type DateFormat_ST = DateFormat_S & TimeFormat_S;
            interface DateFormat_C extends DateFormat_ST {
                new():DateFormat;
            }
            interface DateFormat$ {
            }
            type DateFormat_T = DateFormat$ & TimeFormat;
            interface DateFormat extends DateFormat_T {
            }
            interface NumberFormatObject_S {
            }
            type NumberFormatObject_ST = $.java.io.Serializable & $.java.lang.Cloneable & NumberFormatObject_S;
            interface NumberFormatObject_C extends NumberFormatObject_ST {
                /**
                 * 无参构造函数
                 */
                new():NumberFormatObject;
                /**
                 * 构造函数
                 *
                 * @param decimalPoint   小数点：一般为.
                 * @param numSeparator   分组符号：一般为逗号,
                 * @param zeroShow       零显示：0.7或者.7
                 * @param numGroupFormat 分组形式：多少位分组，比如123,456,789，这是三位一分，还有多种情况
                 * @param negativeFormat 负数格式：一般有 -1.1, - 1.1, 1.1-, 1.1 -, (1.1)，还有多种情况
                 */
                new(decimalPoint:string,numSeparator:string,zeroShow:string,numGroupFormat:string,negativeFormat:string):NumberFormatObject;
            }
            interface NumberFormatObject$ {
            }
            type NumberFormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & NumberFormatObject$;
            interface NumberFormatObject extends NumberFormatObject_T {
            }
            interface TimeFormatObject_S {
            }
            type TimeFormatObject_ST = $.java.io.Serializable & $.java.lang.Cloneable & TimeFormatObject_S;
            interface TimeFormatObject_C extends TimeFormatObject_ST {
                /**
                 * 无参构造函数
                 */
                new():TimeFormatObject;
                /**
                 * 构造函数
                 *
                 * @param timeFormat 时间格式化
                 * @param am         上午
                 * @param pm         下午
                 */
                new(timeFormat:string,am:string,pm:string):TimeFormatObject;
                /**
                 * 构造函数
                 *
                 * @param timeFormat 时间格式化
                 * @param am         上午
                 * @param pm         下午
                 * @param timeArea   时区
                 */
                new(timeFormat:string,am:string,pm:string,timeArea:string):TimeFormatObject;
                /**
                 * 构造函数
                 *
                 * @param timeFormat 时间格式化
                 * @param am         上午
                 * @param pm         下午
                 * @param timeArea   时区
                 * @param localeStr  区域属性
                 */
                new(timeFormat:string,am:string,pm:string,timeArea:string,localeStr:string):TimeFormatObject;
            }
            interface TimeFormatObject$ {
            }
            type TimeFormatObject_T = $.java.io.Serializable & $.java.lang.Cloneable & TimeFormatObject$;
            interface TimeFormatObject extends TimeFormatObject_T {
            }
            interface CurrencyFormatObject_S {
            }
            type CurrencyFormatObject_ST = CurrencyFormatObject_S & NumberFormatObject_S;
            interface CurrencyFormatObject_C extends CurrencyFormatObject_ST {
                /**
                 * 无参构造函数
                 */
                new():CurrencyFormatObject;
                /**
                 * 构造函数
                 *
                 * @param currPosFormat  整数格式
                 * @param decimalPoint   小数位置
                 * @param numSeparator   分组符号：一般为逗号
                 * @param zeroShow       零是否显示：0.7或者.7
                 * @param numGroupFormat 分组形式：多少位分组，比如123,456,789，这是三位一分，还有多种情况
                 * @param negativeFormat 负数格式：一般有 -1.1, - 1.1, 1.1-, 1.1 -, (1.1)，还有多种情况
                 */
                new(currPosFormat:string,decimalPoint:string,numSeparator:string,zeroShow:string,numGroupFormat:string,negativeFormat:string):CurrencyFormatObject;
                /**
                 * 构造函数
                 *
                 * @param cnyShowPrefix  货币显示前缀
                 * @param currPosFormat  整数格式
                 * @param decimalPoint   小数位置
                 * @param numSeparator   分组符号：一般为逗号
                 * @param zeroShow       零是否显示：0.7或者.7
                 * @param numGroupFormat 分组形式：多少位分组，比如123,456,789，这是三位一分，还有多种情况
                 * @param negativeFormat 负数格式：一般有 -1.1, - 1.1, 1.1-, 1.1 -, (1.1)，还有多种情况
                 */
                new(cnyShowPrefix:string,currPosFormat:string,decimalPoint:string,numSeparator:string,zeroShow:string,numGroupFormat:string,negativeFormat:string):CurrencyFormatObject;
            }
            interface CurrencyFormatObject$ {
            }
            type CurrencyFormatObject_T = CurrencyFormatObject$ & NumberFormatObject;
            interface CurrencyFormatObject extends CurrencyFormatObject_T {
            }
            class CurrencyPrefixType {
                static readonly CurrencyNumber:kd.bos.entity.format.CurrencyPrefixType;
                static readonly CurrencySymbol:kd.bos.entity.format.CurrencyPrefixType;
                static readonly CurrencyNone:kd.bos.entity.format.CurrencyPrefixType;
                static values():kd.bos.entity.format.CurrencyPrefixType[];
                static valueOf(arg0:string):kd.bos.entity.format.CurrencyPrefixType;
                /**
                 * 获取货币格式化显示前缀类型对应值
                 * @return
                 */
                getValue():string;
                /**
                 * 取货币格式化显示前缀类型名称
                 * @return
                 */
                getLable():string;
                /**
                 * 设置货币格式化显示前缀类型值
                 * @param value
                 */
                setValue(value:string):void;
            }
            interface NumberFormat_S {
            }
            type NumberFormat_ST = AbstractFormat_S & NumberFormat_S;
            interface NumberFormat_C extends NumberFormat_ST {
                new():NumberFormat;
            }
            interface NumberFormat$ {
            }
            type NumberFormat_T = AbstractFormat & NumberFormat$;
            interface NumberFormat extends NumberFormat_T {
            }
            interface IUseRegion_S {
            }
            interface IUseRegion_C extends IUseRegion_S {
            }
            interface IUseRegion$ {
                setUseRegion(arg0:boolean):void;
            }
            type IUseRegion_T = IUseRegion$;
            interface IUseRegion extends IUseRegion_T {
            }
        }
        namespace kd.bos.entity.formula{
            interface VarValueParser_S {
            }
            interface VarValueParser_C extends VarValueParser_S {
                new():VarValueParser;
            }
            interface VarValueParser$ {
            }
            type VarValueParser_T = VarValueParser$;
            interface VarValueParser extends VarValueParser_T {
            }
            interface OutValue_S {
            }
            interface OutValue_C extends OutValue_S {
                new():OutValue;
            }
            interface OutValue$ {
                get():any;
                set(arg0:any):void;
            }
            type OutValue_T = OutValue$;
            interface OutValue extends OutValue_T {
            }
            interface BOSExpression_S {
            }
            interface BOSExpression_C extends BOSExpression_S {
                /**
                 * 有参构造
                 * @param expression 原始表达式
                 */
                new(expression:string):BOSExpression;
            }
            interface BOSExpression$ {
                /**
                 * 解析过程有没有出错
                 *
                 * @return
                 */
                isError():boolean;
                /**
                 * 原始表达式
                 *
                 * @return
                 */
                getExpression():string;
                /**
                 * 解析后的表达式对象
                 *
                 * @return
                 */
                getExpr():$.kd.bos.formula.excel.Expr;
                /**
                 * 解析出错原因
                 *
                 * @return
                 */
                getErrMessage():string;
                /**
                 * 表达式中包含的变量
                 *
                 * @return
                 */
                getVars():$.java.util.Set;
                /**
                 * 表达式中包含的函数
                 *
                 * @return
                 */
                getFuncs():$.java.util.Set;
            }
            type BOSExpression_T = BOSExpression$;
            interface BOSExpression extends BOSExpression_T {
            }
            interface CalcExprParser_S {
            }
            interface CalcExprParser_C extends CalcExprParser_S {
                new():CalcExprParser;
            }
            interface CalcExprParser$ {
            }
            type CalcExprParser_T = CalcExprParser$;
            interface CalcExprParser extends CalcExprParser_T {
            }
            interface ExpressionContext_S {
            }
            interface ExpressionContext_C extends ExpressionContext_S {
            }
            interface ExpressionContext$ {
                /**
                 * 尝试获取批量执行结果：如果未执行批量运算，返回false
                 *
                 * @param BatchFuncRunParam 函数执行参数包
                 * @param value 输出批量执行结果
                 *
                 * @return 如果查到了批量运算，返回true，同时把执行结果放在value参数中输出
                 */
                tryGetBatchRunResult?(funcParams:kd.bos.entity.function_.BatchFuncRunParam,value:OutValue):boolean;
                /**
                 * 获取变量值
                 *
                 * @param key 变量名
                 * @param value 输出参数，输出取到的变量值
                 * @return 如果变量取值成功，返回true；如果变量不存在，返回false
                 */
                tryGetValue(key:string,value:OutValue):boolean;
                /**
                 * 获取批量执行，能接收的最大结果条数：限制批量查询结果大小，避免在本地存储超量结果导致内存溢出
                 * @return
                 */
                getBatchResultMaxCount?():number;
            }
            type ExpressionContext_T = ExpressionContext$;
            interface ExpressionContext extends ExpressionContext_T {
            }
            interface RowDataModel_S {
                /**
                 * 从单据主实体中，寻找变量对应的字段返回：变量名，可能包含了单据体前缀，或者是基础资料的引用属性，本函数会对变量按"."进行分解，找出原始字段属性返回
                 *
                 * @param mainType 主实体
                 * @param var 变量
                 * @return 变量在实体中对应的属性
                 */
                findProperty(mainType:MainEntityType,var_arg:string):$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 比较两个实体的等级，如果e1是父级，返回-1; 如果e1是子级，则返回1;
                 *
                 * @param e1 第一个实体
                 * @param e2 第二个实体
                 * @return 实体等级比较的结果
                 */
                compareEntityLevel(e1:EntityType,e2:EntityType):number;
            }
            interface RowDataModel_C extends RowDataModel_S {
                /**
                 * 构造函数之一：基于model获取字段值
                 *
                 * @param entityKey 焦点实体
                 * @param model     数据模型
                 */
                new(entityKey:string,model:kd.bos.entity.datamodel.IDataModel):RowDataModel;
                /**
                 * 构造函数之二：基于实体模型，通过解析实体间的依赖关系，获取目标字段值
                 *
                 * @param entityKey      焦点实体
                 * @param mainEntityType 主实体模型
                 */
                new(entityKey:string,mainEntityType:MainEntityType):RowDataModel;
            }
            interface RowDataModel$ {
                /**
                 * 获取当前数据模型
                 * @return
                 */
                getModel():kd.bos.entity.datamodel.IDataModel;
                /**
                 * 焦点行
                 *
                 * @return 焦点行
                 */
                getActiveRow():any;
                /**
                 * 焦点实体名
                 *
                 * @return 实体key
                 */
                getEntityKey():string;
                /**
                 * 主实体
                 *
                 * @return 主实体类型
                 */
                getMainEntityType():MainEntityType;
                /**
                 * 取字段值，已废弃
                 *
                 * @param var      字段
                 * @param rowIndex 字段所在实体行
                 * @return
                 * @remark 本函数完全基于model取数，在某些场景下，并没有model传入，此方法不适用；
                 * 另外，也不能支持读取嵌套属性值，如"dept.number"
                 * @deprecated 请改用 getValue(var)
                 */
                get(var_arg:string,rowIndex:number):any;
                /**
                 * 设置焦点实体的当前数据行
                 * @param activeRow 焦点实体的当前数据行
                 */
                setRowContext(activeRow:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 尝试取变量值
                 *
                 * @param var   变量名
                 * @param value 输出变量值
                 * @return 如果取值失败，返回false
                 */
                tryGetValue(var_arg:string,value:OutValue):boolean;
                /**
                 * 焦点实体级别：0 = 单据头，1 = 单据体，2 = 子单据体
                 *
                 * @return 实体级别
                 * @deprecated 请使用getEntityLevel()
                 */
                getSourceLevel():number;
                /**
                 * 取变量值
                 *
                 * @param var 变量，如"dept.number"、"entryentity1.id"
                 * @return 如果在当前实体上取字段值，返回单值；如果在子实体中取值，返回值集合
                 */
                getValue(var_arg:string):any;
                /**
                 * 焦点实体
                 *
                 * @return 实体类型
                 */
                getEntityType():EntityType;
                /**
                 * 设置焦点实体的当前数据行
                 * @param activeRow 焦点实体的当前数据行
                 * @param rowIndex 当前实体行序号
                 */
                setRowContext(activeRow:any,rowIndex:number):void;
                /**
                 * 焦点实体
                 *
                 * @return 实体key
                 * @deprecated 请使用getEntityKey()
                 */
                getSource():string;
                /**
                 * 填写变量值
                 *
                 * @param var   变量，如 "billnoResManager.loadKDString("等，不支持给嵌套的属性赋值（如", "602753689555305472", SubSystemType.SL)dept.number"）
                 * @param value 变量值
                 * @remark 不需要传入rowIndex:
                 * 1. 如果不是基于model进行赋值，直接根据实体关系，找到目标实体，操作数据包，用不上rowIndex
                 * 2. 如果是基于model赋值，但因为目标字段，可能不在当前实体上，传入当前实体rowIndex毫无意义；
                 * 3. 因此，需要在调用model赋值前，通过model获取字段所在实体的rowIndex，无需在此传入；
                 * 4. 因此，如果有赋值处理，需要自行在外围处理好model参数的当前行索引
                 */
                setValue(var_arg:string,value:any):void;
            }
            type RowDataModel_T = RowDataModel$;
            interface RowDataModel extends RowDataModel_T {
            }
            interface ExpressionParameter_S {
            }
            interface ExpressionParameter_C extends ExpressionParameter_S {
                /**
                 * 有参构造
                 * @param express 表达式
                 * @param rowDataModel 行数据模型
                 */
                new(express:string,rowDataModel:RowDataModel):ExpressionParameter;
                /**
                 * 有参构造
                 * @param express 表达式
                 * @param rowDataModel 行数据模型
                 * @param fcunLib 函数
                 */
                new(express:string,rowDataModel:RowDataModel,fcunLib:kd.bos.entity.function_.FunctionManage):ExpressionParameter;
                /**
                 * 有参构造
                 * @param express 解析后的表达式
                 * @param rowDataModel 行数据模型
                 * @param fcunLib 函数
                 */
                new(express:BOSExpression,rowDataModel:RowDataModel,fcunLib:kd.bos.entity.function_.FunctionManage):ExpressionParameter;
            }
            interface ExpressionParameter$ {
            }
            type ExpressionParameter_T = ExpressionParameter$;
            interface ExpressionParameter extends ExpressionParameter_T {
            }
            interface BOSExpressionContext_S {
            }
            type BOSExpressionContext_ST = BOSExpressionContext_S & ExpressionContext_S;
            interface BOSExpressionContext_C extends BOSExpressionContext_ST {
                /**
                 * 有参构造
                 * @param rowDataModel 行数据模型
                 */
                new(rowDataModel:RowDataModel):BOSExpressionContext;
            }
            interface BOSExpressionContext$ {
            }
            type BOSExpressionContext_T = BOSExpressionContext$ & ExpressionContext;
            interface BOSExpressionContext extends BOSExpressionContext_T {
            }
        }
        namespace kd.bos.entity.function_{
            interface BillFuncTypesLoader_S {
            }
            interface BillFuncTypesLoader_C extends BillFuncTypesLoader_S {
                new():BillFuncTypesLoader;
            }
            interface BillFuncTypesLoader$ {
            }
            type BillFuncTypesLoader_T = BillFuncTypesLoader$;
            interface BillFuncTypesLoader extends BillFuncTypesLoader_T {
            }
            interface FunctionFeatures_S {
            }
            type FunctionFeatures_ST = $.java.lang.annotation.Annotation & FunctionFeatures_S;
            interface FunctionFeatures_C extends FunctionFeatures_ST {
            }
            interface FunctionFeatures$ {
            }
            type FunctionFeatures_T = $.java.lang.annotation.Annotation & FunctionFeatures$;
            interface FunctionFeatures extends FunctionFeatures_T {
            }
            interface BOSBatchFunction_S {
            }
            interface BOSBatchFunction_C extends BOSBatchFunction_S {
            }
            interface BOSBatchFunction$ {
            }
            type BOSBatchFunction_T = BOSBatchFunction$;
            interface BOSBatchFunction extends BOSBatchFunction_T {
            }
            interface FunctionGroup_S {
            }
            interface FunctionGroup_C extends FunctionGroup_S {
                new():FunctionGroup;
            }
            interface FunctionGroup$ {
            }
            type FunctionGroup_T = FunctionGroup$;
            interface FunctionGroup extends FunctionGroup_T {
            }
            interface BOSUDFunction_S {
            }
            type BOSUDFunction_ST = $.kd.bos.formula.excel.UDFunction & BOSUDFunction_S;
            interface BOSUDFunction_C extends BOSUDFunction_ST {
            }
            interface BOSUDFunction$ {
            }
            type BOSUDFunction_T = $.kd.bos.formula.excel.UDFunction & BOSUDFunction$;
            interface BOSUDFunction extends BOSUDFunction_T {
            }
            interface BatchFuncParser_S {
            }
            interface BatchFuncParser_C extends BatchFuncParser_S {
                new():BatchFuncParser;
            }
            interface BatchFuncParser$ {
            }
            type BatchFuncParser_T = BatchFuncParser$;
            interface BatchFuncParser extends BatchFuncParser_T {
            }
            interface ExprFuncCreator_S {
            }
            interface ExprFuncCreator_C extends ExprFuncCreator_S {
                new():ExprFuncCreator;
            }
            interface ExprFuncCreator$ {
            }
            type ExprFuncCreator_T = ExprFuncCreator$;
            interface ExprFuncCreator extends ExprFuncCreator_T {
            }
            interface FunctionType_S {
            }
            interface FunctionType_C extends FunctionType_S {
                new():FunctionType;
            }
            interface FunctionType$ {
            }
            type FunctionType_T = FunctionType$;
            interface FunctionType extends FunctionType_T {
            }
            interface FunctionManage_S {
            }
            interface FunctionManage_C extends FunctionManage_S {
                new():FunctionManage;
            }
            interface FunctionManage$ {
            }
            type FunctionManage_T = FunctionManage$;
            interface FunctionManage extends FunctionManage_T {
            }
            interface UDFunctionVisitor_S {
            }
            type UDFunctionVisitor_ST = $.kd.bos.formula.excel.Visitor & UDFunctionVisitor_S;
            interface UDFunctionVisitor_C extends UDFunctionVisitor_ST {
                new():UDFunctionVisitor;
            }
            interface UDFunctionVisitor$ {
            }
            type UDFunctionVisitor_T = $.kd.bos.formula.excel.Visitor & UDFunctionVisitor$;
            interface UDFunctionVisitor extends UDFunctionVisitor_T {
            }
            interface BatchFuncRunParam_S {
            }
            interface BatchFuncRunParam_C extends BatchFuncRunParam_S {
                /**
                 * 构造函数
                 *
                 * @param funcName 函数名
                 * @param funcParamVals 函数参数值
                 */
                new(funcName:string,funcParamVals:any[]):BatchFuncRunParam;
            }
            interface BatchFuncRunParam$ {
            }
            type BatchFuncRunParam_T = BatchFuncRunParam$;
            interface BatchFuncRunParam extends BatchFuncRunParam_T {
            }
            interface FunctionTypes_S {
            }
            interface FunctionTypes_C extends FunctionTypes_S {
                new():FunctionTypes;
            }
            interface FunctionTypes$ {
            }
            type FunctionTypes_T = FunctionTypes$;
            interface FunctionTypes extends FunctionTypes_T {
            }
        }
        namespace kd.bos.entity.list{
            interface IQuery_S {
                /**
                 * 获取预取数据数量
                 *
                 * @return
                 */
                getPreGetPageCount():number;
            }
            interface IQuery_C extends IQuery_S {
            }
            interface IQuery$ {
                /**
                 * 取数接口
                 *
                 * @param queryBuilder 查询上下文
                 * @return
                 */
                getData(queryBuilder:QueryBuilder):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 设置给ORM解析的实体列表
                 *
                 * @param dataEntityTypes
                 */
                setDataEntityTypes(dataEntityTypes:$.java.util.List):void;
                /**
                 * 获取查询结果
                 *
                 * @return
                 */
                getQueryResult():QueryResult;
                /**
                 * 获取ORM解析的实体列表
                 *
                 * @return
                 */
                getDataEntityTypes():$.java.util.List;
                /**
                 * 获取树形列表左树结点
                 *
                 * @param groupProp  分组属性
                 * @param filters    过滤条件
                 * @param format     长编码格式化模版
                 * @param parentId   父结点id
                 * @param longNumber 长编码字段标识
                 * @param queryParas 查询参数值
                 * @return
                 */
                getGroupNodes(groupProp:kd.bos.entity.property.GroupProp,filters:$.java.util.List,format:string,parentId:any,longNumber:string,queryParas:$.java.util.Map):$.java.util.List;
                /**
                 * 获取长编码id集合
                 *
                 * @param groupProp  分组属性
                 * @param longNumber 长编码字段标识
                 * @return
                 */
                getChildsId(groupProp:kd.bos.entity.property.GroupProp,longNumber:string):$.java.util.List;
            }
            type IQuery_T = IQuery$;
            interface IQuery extends IQuery_T {
            }
            interface GroupByField_S {
            }
            type GroupByField_ST = $.java.io.Serializable & GroupByField_S;
            interface GroupByField_C extends GroupByField_ST {
                /**
                 * 构建函数
                 *
                 * @param groupBy 分组字段标识
                 * @param sums    合计字段列表
                 */
                new(groupBy:string,sums:$.java.util.List):GroupByField;
            }
            interface GroupByField$ {
            }
            type GroupByField_T = $.java.io.Serializable & GroupByField$;
            interface GroupByField extends GroupByField_T {
            }
            interface FormatFieldData_S {
            }
            interface FormatFieldData_C extends FormatFieldData_S {
                /**
                 * 构造函数
                 *
                 * @param fieldKey   列表字段key
                 * @param fieldValue 列表字段的格式化后的值
                 */
                new(fieldKey:string,fieldValue:any):FormatFieldData;
            }
            interface FormatFieldData$ {
                /**
                 * 获取对应映射的列表字段的格式化后的字段描述（供引出、套打使用）
                 */
                getFieldValueDesc():any;
                /**
                 * 获取对应映射的列表字段key
                 */
                getFieldKey():string;
                /**
                 * 获取对应映射的列表字段的格式化后的值
                 */
                getFieldValue():any;
            }
            type FormatFieldData_T = FormatFieldData$;
            interface FormatFieldData extends FormatFieldData_T {
            }
            interface GroupBySummaryResult_S {
            }
            type GroupBySummaryResult_ST = GroupBySummaryResult_S & TimeoutSummaryResult_S;
            interface GroupBySummaryResult_C extends GroupBySummaryResult_ST {
                /**
                 * 构造函数，序列化使用
                 */
                new():GroupBySummaryResult;
                /**
                 * 构造函数
                 *
                 * @param fieldName 字段标识
                 * @param result    字段值
                 * @param summary   合计类型
                 */
                new(fieldName:string,result:$.java.math.BigDecimal,summary:number):GroupBySummaryResult;
                /**
                 * 构造函数
                 *
                 * @param fieldName       字段标识
                 * @param numberPrecision 数值格式化工具
                 * @param summary         合计类型
                 * @param amountGroupInfo 币别描述类
                 */
                new(fieldName:string,numberPrecision:kd.bos.entity.datamodel.NumberPrecision,summary:number,amountGroupInfo:AmountGroupInfo):GroupBySummaryResult;
            }
            interface GroupBySummaryResult$ {
            }
            type GroupBySummaryResult_T = GroupBySummaryResult$ & TimeoutSummaryResult;
            interface GroupBySummaryResult extends GroupBySummaryResult_T {
            }
            interface IListDataProvider_S {
            }
            type IListDataProvider_ST = IListDataProviderContext_S & IListDataProvider_S;
            interface IListDataProvider_C extends IListDataProvider_ST {
            }
            interface IListDataProvider$ {
            }
            type IListDataProvider_T = IListDataProvider$ & IListDataProviderContext;
            interface IListDataProvider extends IListDataProvider_T {
            }
            interface SummaryResult_S {
            }
            type SummaryResult_ST = $.java.io.Serializable & SummaryResult_S;
            interface SummaryResult_C extends SummaryResult_ST {
                /**
                 * 空构造，序列化需要
                 */
                new():SummaryResult;
                /**
                 * 构造函数
                 *
                 * @param fieldName 字段名
                 * @param result    值
                 * @param summary   合计类型
                 */
                new(fieldName:string,result:$.java.math.BigDecimal,summary:number):SummaryResult;
            }
            interface SummaryResult$ {
                /**
                 * 获取合计字段名
                 *
                 * @return 字段名
                 */
                getFieldName():string;
                /**
                 * 设置合计类型
                 *
                 * @param summary 合计类型
                 */
                setSummary(summary:number):void;
                /**
                 * 获取格式化字符串
                 *
                 * @return 格式化字符串
                 */
                toFmtString():string;
                /**
                 * 获取累加值
                 *
                 * @param result 需要累加的值
                 */
                addResult(result:$.java.math.BigDecimal):void;
                /**
                 * 设置合计字段名
                 *
                 * @param fieldName 字段名
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取精度类型
                 *
                 * @return 精度类型
                 */
                getNumberPrecision():kd.bos.entity.datamodel.NumberPrecision;
                /**
                 * 获取汇总类型: 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 *
                 * @return 汇总类型: 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 */
                getSummary():number;
                /**
                 * 设置精度类型
                 *
                 * @param numberPrecision 精度类型
                 */
                setNumberPrecision(numberPrecision:kd.bos.entity.datamodel.NumberPrecision):void;
            }
            type SummaryResult_T = $.java.io.Serializable & SummaryResult$;
            interface SummaryResult extends SummaryResult_T {
            }
            interface QueryBuilder_S {
            }
            type QueryBuilder_ST = AbstractQueryBuilder_S & QueryBuilder_S;
            interface QueryBuilder_C extends QueryBuilder_ST {
                /**
                 * 构造函数
                 */
                new():QueryBuilder;
                /**
                 * 构造函数，对象克隆
                 *
                 * @param queryBuilder 对象
                 */
                new(queryBuilder:QueryBuilder):QueryBuilder;
                /**
                 * 构造函数
                 *
                 * @param sumFields
                 *            合计字段
                 * @param selectFields
                 *            查询字段列表
                 * @param filters
                 *            过滤条件
                 * @param orderBys
                 *            排序字段
                 * @param start
                 *            起始行
                 * @param limit
                 *            查询条数
                 * @param entityType
                 *            实体类型
                 * @param visibleSelectFieldList
                 *            可见字段列表
                 */
                new(sumFields:$.java.util.List,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,start:number,limit:number,entityType:$.kd.bos.dataentity.metadata.IDataEntityType,visibleSelectFieldList:$.java.util.List):QueryBuilder;
            }
            interface QueryBuilder$ {
                /**
                 * 设置分组标识
                 *
                 * @param groupBy
                 */
                setGroupBy(groupBy:string):void;
                /**
                 * 获取返回的实体类型
                 *
                 * @return 返回的实体类型
                 */
                getReturnEntityType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                getQuerySumFields():$.java.util.List;
                /**
                 * 设置路由信息
                 *
                 * @param routeKey 路由信息
                 */
                setRouteKey(routeKey:string):void;
                /**
                 * 是否是融合列
                 *
                 * @return 是否是融合列
                 */
                isMergeRow():boolean;
                /**
                 * 获取分组汇总字段属性
                 *
                 * @return
                 */
                getGroupBySumFields():$.java.util.List;
                /**
                 * 获取路由信息
                 *
                 * @return 路由信息
                 */
                getRouteKey():string;
                /**
                 * 设置取条数是否是取超过最大条数场景
                 *
                 * @param isExceedMaxCount 取条数是否是取超过最大条数场景
                 */
                setExceedMaxCount(isExceedMaxCount:boolean):void;
                /**
                 * 获取选择全部
                 *
                 * @return 是否选择全部
                 */
                isSelectedAllRows():boolean;
                /**
                 * 获取排序字段
                 *
                 * @return 排序字段
                 */
                getSeqField():string;
                /**
                 * 设置归档信息
                 *
                 * @param achiveKey 归档信息
                 */
                setAchiveKey(achiveKey:string):void;
                /**
                 * 获取是否需要重新合计，不要缓存，已选合计使用
                 *
                 * @return 是否需要重新合计
                 */
                isNeedResum():boolean;
                /**
                 * 获取数字类型字段列表
                 *
                 * @return 数字类型字段列表
                 */
                getDecimalFields():$.java.util.List;
                /**
                 * 设置分组汇总字段属性
                 *
                 * @param groupBySumFields
                 */
                setGroupBySumFields(groupBySumFields:$.java.util.List):void;
                /**
                 * 获取分组标识
                 *
                 * @return
                 */
                getGroupBy():string;
                /**
                 * 获取是否超过最大条数
                 *
                 * @return 是否超过最大条数
                 */
                isExceedMaxCount():boolean;
                /**
                 * 获取实体标识名称
                 *
                 * @return 实体标识名称
                 */
                getEntityName():string;
                /**
                 * 设置最大返回条数
                 *
                 * @param maxReturnData 最大返回条数
                 */
                setMaxReturnData(maxReturnData:number):void;
                /**
                 * 获取归档信息
                 *
                 * @return 归档信息
                 */
                getAchiveKey():string;
                /**
                 * 获取可见字段集合
                 *
                 * @return 可见字段集合
                 */
                getVisibleSelectFieldList():$.java.util.List;
                /**
                 * 获取最大返回条数
                 *
                 * @return 最大返回条数
                 */
                getMaxReturnData():number;
                /**
                 * 获取PK字段列表
                 *
                 * @return PK字段列表
                 */
                getPkFields():$.java.util.List;
                /**
                 * 设置实体标识名称
                 *
                 * @param entityName 实体标识名称
                 */
                setEntityName(entityName:string):void;
            }
            type QueryBuilder_T = AbstractQueryBuilder & QueryBuilder$;
            interface QueryBuilder extends QueryBuilder_T {
            }
            interface AmountGroupInfo_S {
            }
            type AmountGroupInfo_ST = $.java.io.Serializable & AmountGroupInfo_S;
            interface AmountGroupInfo_C extends AmountGroupInfo_ST {
                /**
                 * 空构造，序列化需要
                 */
                new():AmountGroupInfo;
                /**
                 * 构建函数
                 *
                 * @param currencyId 货币唯一标识
                 */
                new(currencyId:any):AmountGroupInfo;
            }
            interface AmountGroupInfo$ {
            }
            type AmountGroupInfo_T = $.java.io.Serializable & AmountGroupInfo$;
            interface AmountGroupInfo extends AmountGroupInfo_T {
            }
            interface TimeoutSummaryResult_S {
            }
            type TimeoutSummaryResult_ST = SummaryResult_S & TimeoutSummaryResult_S;
            interface TimeoutSummaryResult_C extends TimeoutSummaryResult_ST {
                /**
                 * 默认构造函数
                 */
                new():TimeoutSummaryResult;
                /**
                 * 构造函数
                 *
                 * @param fieldName 字段名
                 * @param result    字段值
                 * @param summary   合计类别
                 */
                new(fieldName:string,result:$.java.math.BigDecimal,summary:number):TimeoutSummaryResult;
                /**
                 * 构造函数
                 *
                 * @param fieldName        字段名
                 * @param result           字段值
                 * @param summary          合计类别
                 * @param asyncSummaryEnum 异步合计类型
                 */
                new(fieldName:string,result:$.java.math.BigDecimal,summary:number,asyncSummaryEnum:AsyncSummaryEnum):TimeoutSummaryResult;
            }
            interface TimeoutSummaryResult$ {
            }
            type TimeoutSummaryResult_T = SummaryResult & TimeoutSummaryResult$;
            interface TimeoutSummaryResult extends TimeoutSummaryResult_T {
            }
            interface JoinProperty_S {
            }
            type JoinProperty_ST = $.kd.bos.dataentity.metadata.IJoinProperty & JoinProperty_S & kd.bos.entity.property.BasedataProp_S;
            interface JoinProperty_C extends JoinProperty_ST {
                /**
                 * 空构造函数，序列化需要
                 */
                new():JoinProperty;
                /**
                 * 构造函数
                 *
                 * @param fkProperty   外键标识
                 * @param joinProperty 关联字段标识
                 */
                new(fkProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,joinProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):JoinProperty;
            }
            interface JoinProperty$ {
            }
            type JoinProperty_T = $.kd.bos.dataentity.metadata.IJoinProperty & JoinProperty$ & kd.bos.entity.property.BasedataProp;
            interface JoinProperty extends JoinProperty_T {
            }
            interface FormatRowData_S {
            }
            type FormatRowData_ST = $.java.util.ArrayList & FormatRowData_S;
            interface FormatRowData_C extends FormatRowData_ST {
                new():FormatRowData;
            }
            interface FormatRowData$ {
                /**
                 * 根据字段标识获取列表格式化后的字段值
                 *
                 * @param fieldKey
                 * @return
                 */
                get(fieldKey:string):FormatFieldData;
                add(formatFieldData:FormatFieldData):boolean;
            }
            type FormatRowData_T = $.java.util.ArrayList & FormatRowData$;
            interface FormatRowData extends FormatRowData_T {
            }
            interface QueryResult_S {
            }
            interface QueryResult_C extends QueryResult_S {
                /**
                 * 构造函数
                 */
                new():QueryResult;
                /**
                 * 构造函数
                 *
                 * @param summaryResults
                 *            汇总结果列表
                 * @param dataCount
                 *            条数
                 */
                new(summaryResults:$.java.util.List,dataCount:number):QueryResult;
            }
            interface QueryResult$ {
                /**
                 * 获取引出和套打需要的格式数据
                 *
                 * @return 引出和套打需要的格式数据
                 */
                getFormatRowDatas():$.java.util.List;
                /**
                 * 获取结果集合
                 *
                 * @return 结果集合
                 */
                getCollection():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 设置引出和套打需要的格式数据
                 *
                 * @param formatRowDatas 引出和套打需要的格式数据
                 */
                setFormatRowDatas(formatRowDatas:$.java.util.List):void;
                /**
                 * 设置汇总结果列表
                 *
                 * @param summaryResults 汇总结果列表
                 */
                setSummaryResults(summaryResults:$.java.util.List):void;
                /**
                 * 获取汇总结果列表
                 *
                 * @return 汇总结果列表
                 */
                getSummaryResults():$.java.util.List;
                /**
                 * 获取查询记录数量
                 *
                 * @return 查询记录数量
                 */
                getDataCount():number;
                /**
                 * 设置结果集合
                 *
                 * @param collection 结果集合
                 */
                setCollection(collection:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                /**
                 * 设置单据数量，IdQuery使用
                 *
                 * @param billDataCount 单据数量
                 */
                setBillDataCount(billDataCount:number):void;
                /**
                 * 设置条数,IdQuery使用
                 *
                 * @param dataCount 条数
                 */
                setDataCount(dataCount:number):void;
                /**
                 * 获取单据数量
                 *
                 * @return 单据数量
                 */
                getBillDataCount():number;
            }
            type QueryResult_T = QueryResult$;
            interface QueryResult extends QueryResult_T {
            }
            class AsyncSummaryEnum {
                static readonly LOADING:kd.bos.entity.list.AsyncSummaryEnum;
                static readonly TIMEOUT:kd.bos.entity.list.AsyncSummaryEnum;
                static values():kd.bos.entity.list.AsyncSummaryEnum[];
                static valueOf(arg0:string):kd.bos.entity.list.AsyncSummaryEnum;
                /**
                 * 获取枚举值
                 *
                 * @return
                 */
                getTag():string;
            }
            interface IListDataProviderContext_S {
            }
            interface IListDataProviderContext_C extends IListDataProviderContext_S {
            }
            interface IListDataProviderContext$ {
            }
            type IListDataProviderContext_T = IListDataProviderContext$;
            interface IListDataProviderContext extends IListDataProviderContext_T {
            }
            interface JoinEntity_S {
            }
            type JoinEntity_ST = $.java.io.Serializable & JoinEntity_S;
            interface JoinEntity_C extends JoinEntity_ST {
                new():JoinEntity;
            }
            interface JoinEntity$ {
                /**
                 * 获取实体数据库映射名称
                 *
                 * @return
                 */
                getAlias():string;
                /**
                 * 设置实体名称
                 *
                 * @Deprecated Use {@link #setLocaleDisplayName} instead.
                 */
                setDisplayName(displayName:string):void;
                /**
                 * 获取实体标识
                 *
                 * @return
                 */
                getEntityName():string;
                /**
                 * 设置实体标识
                 *
                 * @param entityName
                 */
                setEntityName(entityName:string):void;
                /**
                 * 获取实体多语言名称
                 *
                 * @return
                 */
                getLocaleDisplayName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 实体名称
                 * @Deprecated Use {@link #getLocaleDisplayName} instead.
                 */
                getDisplayName():string;
                /**
                 * 是否包含分录
                 *
                 * @return
                 */
                isIncludeEntry():boolean;
                /**
                 * 获取关联外键字段名
                 *
                 * @return
                 */
                getFKProperty():string;
                /**
                 * 实体包含的字段列表
                 *
                 * @return
                 */
                getIncludeFieldNames():string;
                /**
                 * 获取关联字段名
                 *
                 * @return
                 */
                getProperty():string;
            }
            type JoinEntity_T = $.java.io.Serializable & JoinEntity$;
            interface JoinEntity extends JoinEntity_T {
            }
        }
        namespace kd.bos.entity.list.column{
            interface FlexColumnDesc_S {
            }
            type FlexColumnDesc_ST = ColumnDesc_S & FlexColumnDesc_S;
            interface FlexColumnDesc_C extends FlexColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件标识
                 * @param srcFieldProp 原单上的来源字段属性
                 * @param fieldProp    数据包上的字段属性
                 * @param basePropKey  弹性域绑定的基础资料字段标识
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,basePropKey:string):FlexColumnDesc;
            }
            interface FlexColumnDesc$ {
                /**
                 * 弹性域绑定的基础资料字段标识
                 *
                 * @return
                 */
                getBasePropKey():string;
            }
            type FlexColumnDesc_T = ColumnDesc & FlexColumnDesc$;
            interface FlexColumnDesc extends FlexColumnDesc_T {
            }
            interface ComboColumnDesc_S {
            }
            type ComboColumnDesc_ST = ColumnDesc_S & ComboColumnDesc_S;
            interface ComboColumnDesc_C extends ComboColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key       控件Key
                 * @param comboProp 对应原单上的下拉列表属性
                 * @param fieldProp 数据包上的对应字段属性
                 */
                new(key:string,comboProp:kd.bos.entity.property.ComboProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ComboColumnDesc;
            }
            interface ComboColumnDesc$ {
                /**
                 * 获取对应原单上的下拉列表属性
                 *
                 * @return
                 */
                getComboProp():kd.bos.entity.property.ComboProp;
            }
            type ComboColumnDesc_T = ColumnDesc & ComboColumnDesc$;
            interface ComboColumnDesc extends ComboColumnDesc_T {
            }
            interface ControlColumnDesc_S {
            }
            type ControlColumnDesc_ST = ColumnDesc_S & ControlColumnDesc_S;
            interface ControlColumnDesc_C extends ControlColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件标识
                 * @param srcfieldProp 原单上的字段属性
                 * @param fieldProp    数据包上的对应的字段属性
                 */
                new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ControlColumnDesc;
            }
            interface ControlColumnDesc$ {
            }
            type ControlColumnDesc_T = ColumnDesc & ControlColumnDesc$;
            interface ControlColumnDesc extends ControlColumnDesc_T {
            }
            interface DecimalColumnDesc_S {
            }
            type DecimalColumnDesc_ST = DecimalColumnDesc_S & NumberColumnDesc_S;
            interface DecimalColumnDesc_C extends DecimalColumnDesc_ST {
                /**
                 * 构造函数
                 *  @param key 字段标识
                 *  @param decProp 直接来源字段
                 *  @param fieldProp 上级基础资料字段
                 */
                new(key:string,decProp:kd.bos.entity.property.DecimalProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):DecimalColumnDesc;
            }
            interface DecimalColumnDesc$ {
                /**
                 * 通过设计器的格式化字符串来格式化列表内容
                 *
                 * @param dr    行数据
                 * @param value 字段值
                 * @return 格式化后的结果
                 */
                formatCell(dr:$.kd.bos.dataentity.entity.DynamicObject,value:$.java.math.BigDecimal):any;
            }
            type DecimalColumnDesc_T = DecimalColumnDesc$ & NumberColumnDesc;
            interface DecimalColumnDesc extends DecimalColumnDesc_T {
            }
            interface RefBillColumnDesc_S {
            }
            type RefBillColumnDesc_ST = ColumnDesc_S & RefBillColumnDesc_S;
            interface RefBillColumnDesc_C extends RefBillColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcfieldProp 原单上的字段属性
                 * @param fieldProp    数据包上的字段属性
                 * @param columnDesc   引用格式化工具
                 */
                new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):RefBillColumnDesc;
            }
            interface RefBillColumnDesc$ {
                /**
                 * 获取引用属性格式化工具类
                 *
                 * @return
                 */
                getColumnDesc():AbstractColumnDesc;
            }
            type RefBillColumnDesc_T = ColumnDesc & RefBillColumnDesc$;
            interface RefBillColumnDesc extends RefBillColumnDesc_T {
            }
            interface AdminDivisionColumnDesc_S {
            }
            type AdminDivisionColumnDesc_ST = AdminDivisionColumnDesc_S & ColumnDesc_S;
            interface AdminDivisionColumnDesc_C extends AdminDivisionColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key               控件key
                 * @param adminDivisionProp 绑定的行政组织字段属性
                 * @param fieldProp         绑定的行政组织字段的下级属性
                 */
                new(key:string,adminDivisionProp:kd.bos.entity.property.AdminDivisionProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):AdminDivisionColumnDesc;
            }
            interface AdminDivisionColumnDesc$ {
                /**
                 * 设置显示样式
                 *
                 * @param showStyle 示样式
                 */
                setShowStyle(showStyle:number):void;
                /**
                 * 获取绑定的行政组织字段属性
                 *
                 * @return
                 */
                getAdminDivisionProp():kd.bos.entity.property.AdminDivisionProp;
            }
            type AdminDivisionColumnDesc_T = AdminDivisionColumnDesc$ & ColumnDesc;
            interface AdminDivisionColumnDesc extends AdminDivisionColumnDesc_T {
            }
            interface VoucherNoColumnDesc_S {
            }
            type VoucherNoColumnDesc_ST = AbstractColumnDesc_S & VoucherNoColumnDesc_S;
            interface VoucherNoColumnDesc_C extends VoucherNoColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key 控件Key
                 */
                new(key:string):VoucherNoColumnDesc;
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param operationKey 操作Key
                 * @param listFieldId  凭证id字段Key
                 */
                new(key:string,operationKey:string,listFieldId:string):VoucherNoColumnDesc;
            }
            interface VoucherNoColumnDesc$ {
            }
            type VoucherNoColumnDesc_T = AbstractColumnDesc & VoucherNoColumnDesc$;
            interface VoucherNoColumnDesc extends VoucherNoColumnDesc_T {
            }
            interface DateTimeColumnDesc_S {
            }
            type DateTimeColumnDesc_ST = ColumnDesc_S & DateTimeColumnDesc_S;
            interface DateTimeColumnDesc_C extends DateTimeColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key       控件Key
                 * @param dateProp  原单上的日期属性
                 * @param fieldProp 数据包上的属性
                 */
                new(key:string,dateProp:kd.bos.entity.property.DateTimeProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):DateTimeColumnDesc;
            }
            interface DateTimeColumnDesc$ {
            }
            type DateTimeColumnDesc_T = ColumnDesc & DateTimeColumnDesc$;
            interface DateTimeColumnDesc extends DateTimeColumnDesc_T {
            }
            interface BaseDataRefColumnDesc_S {
            }
            type BaseDataRefColumnDesc_ST = BaseDataColumnDesc_S & BaseDataRefColumnDesc_S;
            interface BaseDataRefColumnDesc_C extends BaseDataRefColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段映射
                 * @param srcFieldProperty
                 *            根字段
                 * @param fieldProp
                 *            末级字段
                 * @param baseProp
                 *            绑定的基础资料属性
                 * @param columnDesc
                 *            实际的格式化类
                 */
                new(key:string,srcFieldProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,baseProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):BaseDataRefColumnDesc;
            }
            interface BaseDataRefColumnDesc$ {
            }
            type BaseDataRefColumnDesc_T = BaseDataColumnDesc & BaseDataRefColumnDesc$;
            interface BaseDataRefColumnDesc extends BaseDataRefColumnDesc_T {
            }
            interface MuliLangTextColumnDesc_S {
            }
            type MuliLangTextColumnDesc_ST = ColumnDesc_S & MuliLangTextColumnDesc_S;
            interface MuliLangTextColumnDesc_C extends MuliLangTextColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcFieldProp 原单上的来源字段属性
                 * @param fieldProp    数据包上的字段属性
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):MuliLangTextColumnDesc;
            }
            interface MuliLangTextColumnDesc$ {
            }
            type MuliLangTextColumnDesc_T = ColumnDesc & MuliLangTextColumnDesc$;
            interface MuliLangTextColumnDesc extends MuliLangTextColumnDesc_T {
            }
            interface DynamicTextColumnDesc_S {
            }
            type DynamicTextColumnDesc_ST = AbstractColumnDesc_S & DynamicTextColumnDesc_S;
            interface DynamicTextColumnDesc_C extends DynamicTextColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key              控件标识
                 * @param columnDescs      子类格式化工具集合
                 * @param formatExpression 格式化表达式
                 */
                new(key:string,columnDescs:$.java.util.List,formatExpression:string):DynamicTextColumnDesc;
            }
            interface DynamicTextColumnDesc$ {
                /**
                 * @return 字段格式化表达式
                 */
                getFormatExpression():string;
                /**
                 * @param formatExpression 字段格式化表达式
                 */
                setFormatExpression(formatExpression:string):void;
            }
            type DynamicTextColumnDesc_T = AbstractColumnDesc & DynamicTextColumnDesc$;
            interface DynamicTextColumnDesc extends DynamicTextColumnDesc_T {
            }
            interface NumberColumnDesc_S {
            }
            type NumberColumnDesc_ST = ColumnDesc_S & NumberColumnDesc_S;
            interface NumberColumnDesc_C extends NumberColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcFieldProp 原单上的字段属性
                 * @param fieldProp    数据包上的字段属性
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):NumberColumnDesc;
            }
            interface NumberColumnDesc$ {
                /**
                 * PC端不显示尾零属性
                 *
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置移动列表字段不显示尾零属性
                 *
                 * @param mobNoDisplayScaleZero 移动列表字段不显示尾零属性
                 */
                setMobNoDisplayScaleZero(mobNoDisplayScaleZero:boolean):void;
                /**
                 * 设置PC端不显示尾零属性
                 *
                 * @param zeroShow PC端不显示尾零属性
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 设置列表显示尾零配置
                 *
                 * @param listShowZeroConfig
                 */
                setListShowZeroConfig(listShowZeroConfig:kd.bos.entity.list.option.ListShowZeroConfig):void;
                /**
                 * 获取移动列表字段不显示尾零属性
                 *
                 * @return
                 */
                isMobNoDisplayScaleZero():boolean;
                /**
                 * 获取列表显示尾零配置
                 *
                 * @return
                 */
                getListShowZeroConfig():kd.bos.entity.list.option.ListShowZeroConfig;
            }
            type NumberColumnDesc_T = ColumnDesc & NumberColumnDesc$;
            interface NumberColumnDesc extends NumberColumnDesc_T {
            }
            interface AmountColumnDesc_S {
            }
            type AmountColumnDesc_ST = AmountColumnDesc_S & NumberColumnDesc_S;
            interface AmountColumnDesc_C extends AmountColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key        控件key
                 * @param amountProp 原单上的金额属性
                 * @param fieldProp  数据包的对应的字段属性
                 */
                new(key:string,amountProp:kd.bos.entity.property.AmountProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):AmountColumnDesc;
            }
            interface AmountColumnDesc$ {
                /**
                 * 获取格式化字段值（获取币别，计量单位符号存在性能问题，需要调整
                 *
                 * @param dr
                 * @param value
                 * @return
                 */
                formatCell(dr:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
            }
            type AmountColumnDesc_T = AmountColumnDesc$ & NumberColumnDesc;
            interface AmountColumnDesc extends AmountColumnDesc_T {
            }
            interface TextColumnDesc_S {
            }
            type TextColumnDesc_ST = ColumnDesc_S & TextColumnDesc_S;
            interface TextColumnDesc_C extends TextColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcFieldProp 原单上的字段属性
                 * @param fieldProp    数据包上的字段属性
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):TextColumnDesc;
            }
            interface TextColumnDesc$ {
            }
            type TextColumnDesc_T = ColumnDesc & TextColumnDesc$;
            interface TextColumnDesc extends TextColumnDesc_T {
            }
            interface DateColumnDesc_S {
            }
            type DateColumnDesc_ST = DateColumnDesc_S & DateTimeColumnDesc_S;
            interface DateColumnDesc_C extends DateColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key       控件Key
                 * @param dateProp  原单上的日期属性
                 * @param fieldProp 数据包上的字段属性
                 */
                new(key:string,dateProp:kd.bos.entity.property.DateProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):DateColumnDesc;
            }
            interface DateColumnDesc$ {
            }
            type DateColumnDesc_T = DateColumnDesc$ & DateTimeColumnDesc;
            interface DateColumnDesc extends DateColumnDesc_T {
            }
            interface BigIntColumnDesc_S {
            }
            type BigIntColumnDesc_ST = BigIntColumnDesc_S & IntegerColumnDesc_S;
            interface BigIntColumnDesc_C extends BigIntColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            映射的字段类型
                 * @param bigIntProp
                 *            单据上的长整数字段
                 * @param fieldProp
                 *            实际取数的字段类型
                 */
                new(key:string,bigIntProp:kd.bos.entity.property.BigIntProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):BigIntColumnDesc;
            }
            interface BigIntColumnDesc$ {
            }
            type BigIntColumnDesc_T = BigIntColumnDesc$ & IntegerColumnDesc;
            interface BigIntColumnDesc extends BigIntColumnDesc_T {
            }
            interface ItemClassColumnDesc_S {
            }
            type ItemClassColumnDesc_ST = ColumnDesc_S & ItemClassColumnDesc_S;
            interface ItemClassColumnDesc_C extends ItemClassColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcFieldProp 原单上的来源字段属性
                 * @param fieldProp    数据包上的字段属性
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ItemClassColumnDesc;
            }
            interface ItemClassColumnDesc$ {
            }
            type ItemClassColumnDesc_T = ColumnDesc & ItemClassColumnDesc$;
            interface ItemClassColumnDesc extends ItemClassColumnDesc_T {
            }
            interface AbstractColumnDesc_S {
            }
            type AbstractColumnDesc_ST = $.java.io.Serializable & AbstractColumnDesc_S;
            interface AbstractColumnDesc_C extends AbstractColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 */
                new(key:string):AbstractColumnDesc;
            }
            interface AbstractColumnDesc$ {
                /**
                 * 获取对应字段Key
                 *
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 设置格式化类型
                 *
                 * @param formaType
                 */
                setFormaType(formaType:number):void;
                /**
                 * 获取用户格式化对象
                 *
                 * @return
                 */
                getUserFormatObject():kd.bos.entity.format.FormatObject;
                /**
                 * 获取列上对应的服务名
                 *
                 * @return
                 */
                getColumnServiceName():string;
                /**
                 * 设置主业务组织字段key
                 *
                 * @param mainOrgKey
                 */
                setMainOrgKey(mainOrgKey:string):void;
                /**
                 * 获取主业务组织字段key
                 *
                 * @return
                 */
                getMainOrgKey():string;
                /**
                 * 设置用户格式化对象
                 *
                 * @param userFormatObject
                 */
                setUserFormat(userFormatObject:kd.bos.entity.format.FormatObject):void;
                /**
                 * 获取格式化类型，0：列表 1：轻分析 2：引出
                 *
                 * @return
                 */
                getFormaType():number;
                /**
                 * 设置需要格式化控件Key
                 *
                 * @param key 格式化控件Key
                 */
                setKey(key:string):void;
                /**
                 * 获取需要格式化控件Key
                 *
                 * @return
                 */
                getKey():string;
                /**
                 * 设置列表用户选项
                 *
                 * @param listUserOption
                 */
                setListUserOption(listUserOption:kd.bos.entity.list.option.ListUserOption):void;
                /**
                 * 获取格式化参数配置
                 *
                 * @return
                 */
                getFormatParams():$.java.util.Map;
                /**
                 * 根据字段取值
                 *
                 * @param dr 数据来源
                 * @return 字段值
                 */
                getValue(dr:$.kd.bos.dataentity.entity.DynamicObject):any;
                /**
                 * 根据明文取脱敏取值
                 *
                 * @param localeid 多语言标识
                 * @param value    明文值
                 * @return 脱敏值
                 */
                getDesensitizeValue(localeid:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
            }
            type AbstractColumnDesc_T = $.java.io.Serializable & AbstractColumnDesc$;
            interface AbstractColumnDesc extends AbstractColumnDesc_T {
            }
            interface QtyColumnDesc_S {
            }
            type QtyColumnDesc_ST = DecimalColumnDesc_S & QtyColumnDesc_S;
            interface QtyColumnDesc_C extends QtyColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件标识
                 * @param srcFieldProp 原单上的字段属性
                 * @param fieldProp    数据包上的字段属性
                 */
                new(key:string,srcFieldProp:kd.bos.entity.property.DecimalProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):QtyColumnDesc;
            }
            interface QtyColumnDesc$ {
            }
            type QtyColumnDesc_T = DecimalColumnDesc & QtyColumnDesc$;
            interface QtyColumnDesc extends QtyColumnDesc_T {
            }
            interface ApproverColumnDesc_S {
            }
            type ApproverColumnDesc_ST = AbstractColumnDesc_S & ApproverColumnDesc_S;
            interface ApproverColumnDesc_C extends ApproverColumnDesc_ST {
                /**
                 * 构造函数
                 * @param key
                 */
                new(key:string):ApproverColumnDesc;
            }
            interface ApproverColumnDesc$ {
                /**
                 * 设置审批节点显示类型：1.显示审批人/审批节点，2.仅显示节点，3.仅显示处理人，默认仅显示处理人
                 * @param showApproverType
                 */
                setShowApproverType(showApproverType:string):void;
                /**
                 * 设置审批人Map，key:单据主键key,value:显示信息
                 * @param approverNums
                 */
                setApproverNums(approverNums:$.java.util.Map):void;
                /**
                 * 获取审批节点显示类型：1.显示审批人/审批节点，2.仅显示节点，3.仅显示处理人，默认仅显示处理人
                 * @return
                 */
                getShowApproverType():string;
                /**
                 * 获取审批人Map，key:单据主键key,value:显示信息
                 * @return
                 */
                getApproverNums():$.java.util.Map;
            }
            type ApproverColumnDesc_T = AbstractColumnDesc & ApproverColumnDesc$;
            interface ApproverColumnDesc extends ApproverColumnDesc_T {
            }
            interface MulBaseDataColumnDesc_S {
            }
            type MulBaseDataColumnDesc_ST = BaseDataColumnDesc_S & MulBaseDataColumnDesc_S;
            interface MulBaseDataColumnDesc_C extends MulBaseDataColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcfieldProp 原单上的来源字段属性
                 * @param fieldProp    数据包上的字段属性
                 * @param columnDesc   下级属性工具类
                 */
                new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):MulBaseDataColumnDesc;
            }
            interface MulBaseDataColumnDesc$ {
            }
            type MulBaseDataColumnDesc_T = BaseDataColumnDesc & MulBaseDataColumnDesc$;
            interface MulBaseDataColumnDesc extends MulBaseDataColumnDesc_T {
            }
            interface ColumnDesc_S {
            }
            type ColumnDesc_ST = AbstractColumnDesc_S & ColumnDesc_S;
            interface ColumnDesc_C extends ColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段标识
                 * @param srcFieldProp
                 *            来源字段
                 * @param fieldProp
                 *            上级来源字段（基础资料）
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ColumnDesc;
            }
            interface ColumnDesc$ {
                /**
                 * @param mask
                 *            设置掩码
                 */
                setMask(mask:string):void;
                /**
                 * @param displayFormatString
                 *            设置格式化字符串
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 获取根字段
                 *
                 * @return
                 */
                getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取格式化字符串
                 *
                 * @return
                 */
                getDisplayFormatString():string;
                /**
                 * 获取掩码
                 *
                 * @return
                 */
                getMask():string;
                /**
                 * 获取末级字段
                 *
                 * @return
                 */
                getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
            }
            type ColumnDesc_T = AbstractColumnDesc & ColumnDesc$;
            interface ColumnDesc extends ColumnDesc_T {
            }
            interface ExchangeRateColumnDesc_S {
            }
            type ExchangeRateColumnDesc_ST = DecimalColumnDesc_S & ExchangeRateColumnDesc_S;
            interface ExchangeRateColumnDesc_C extends ExchangeRateColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key       字段标识
                 * @param decProp   直接来源字段
                 * @param fieldProp 上级基础资料字段
                 */
                new(key:string,decProp:kd.bos.entity.property.DecimalProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ExchangeRateColumnDesc;
            }
            interface ExchangeRateColumnDesc$ {
            }
            type ExchangeRateColumnDesc_T = DecimalColumnDesc & ExchangeRateColumnDesc$;
            interface ExchangeRateColumnDesc extends ExchangeRateColumnDesc_T {
            }
            interface PKColumnDesc_S {
            }
            type PKColumnDesc_ST = ColumnDesc_S & PKColumnDesc_S;
            interface PKColumnDesc_C extends PKColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcFieldProp 原单上的字段属性
                 * @param fieldProp    来源数据包上的属性
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):PKColumnDesc;
            }
            interface PKColumnDesc$ {
            }
            type PKColumnDesc_T = ColumnDesc & PKColumnDesc$;
            interface PKColumnDesc extends PKColumnDesc_T {
            }
            interface BaseDataColumnDesc_S {
            }
            type BaseDataColumnDesc_ST = BaseDataColumnDesc_S & ColumnDesc_S;
            interface BaseDataColumnDesc_C extends BaseDataColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            绑定字段标识
                 * @param srcfieldProp
                 *            根字段
                 * @param fieldProp
                 *            末级字段
                 * @param columnDesc
                 *            实际的格式化类
                 */
                new(key:string,srcfieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:AbstractColumnDesc):BaseDataColumnDesc;
            }
            interface BaseDataColumnDesc$ {
                /**
                 * 获取下级格式化工具
                 *
                 * @return
                 */
                getColumnDesc():AbstractColumnDesc;
            }
            type BaseDataColumnDesc_T = BaseDataColumnDesc$ & ColumnDesc;
            interface BaseDataColumnDesc extends BaseDataColumnDesc_T {
            }
            interface TimeColumnDesc_S {
            }
            type TimeColumnDesc_ST = ColumnDesc_S & TimeColumnDesc_S;
            interface TimeColumnDesc_C extends TimeColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key       控件标识
                 * @param timeProp  原单上的字段属性
                 * @param fieldProp 数据包上的字段属性
                 */
                new(key:string,timeProp:kd.bos.entity.property.TimeProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):TimeColumnDesc;
            }
            interface TimeColumnDesc$ {
            }
            type TimeColumnDesc_T = ColumnDesc & TimeColumnDesc$;
            interface TimeColumnDesc extends TimeColumnDesc_T {
            }
            interface IntegerColumnDesc_S {
            }
            type IntegerColumnDesc_ST = IntegerColumnDesc_S & NumberColumnDesc_S;
            interface IntegerColumnDesc_C extends IntegerColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key       控件Key
                 * @param intProp   绑定的原单上的
                 * @param fieldProp
                 */
                new(key:string,intProp:kd.bos.entity.property.IntegerProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):IntegerColumnDesc;
            }
            interface IntegerColumnDesc$ {
            }
            type IntegerColumnDesc_T = IntegerColumnDesc$ & NumberColumnDesc;
            interface IntegerColumnDesc extends IntegerColumnDesc_T {
            }
            interface BooleanColumnDesc_S {
            }
            type BooleanColumnDesc_ST = BooleanColumnDesc_S & ColumnDesc_S;
            interface BooleanColumnDesc_C extends BooleanColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key          控件Key
                 * @param srcFieldProp 原单字段属性
                 * @param fieldProp    数据包字段属性
                 */
                new(key:string,srcFieldProp:kd.bos.entity.property.BooleanProp,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):BooleanColumnDesc;
            }
            interface BooleanColumnDesc$ {
                /**
                 * 获取显示样式类型
                 *
                 * @return
                 */
                getCheckBoxItemShowStyle():number;
                /**
                 * @param xTitle 值为假时显示内容
                 */
                setXTitle(xTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * @return 值为真时显示内容
                 */
                getOTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @return 值为假时显示内容
                 */
                getXTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @param oTitle 值为真时显示内容
                 */
                setOTitle(oTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置显示样式类型
                 *
                 * @param checkBoxItemShowStyle 显示样式类型
                 */
                setCheckBoxItemShowStyle(checkBoxItemShowStyle:number):void;
            }
            type BooleanColumnDesc_T = BooleanColumnDesc$ & ColumnDesc;
            interface BooleanColumnDesc extends BooleanColumnDesc_T {
            }
        }
        namespace kd.bos.entity.list.events{
            interface CreateListOperationColumnEvent_S {
            }
            type CreateListOperationColumnEvent_ST = $.java.util.EventObject & CreateListOperationColumnEvent_S;
            interface CreateListOperationColumnEvent_C extends CreateListOperationColumnEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):CreateListOperationColumnEvent;
            }
            interface CreateListOperationColumnEvent$ {
                /**
                 * 获取字段格式化列表
                 *
                 * @return 字段格式化列表
                 */
                getColumns():$.java.util.List;
                /**
                 * 设置操作列格式化工具类
                 *
                 * @param columnDesc 操作列格式化工具类
                 */
                setColumnDesc(columnDesc:kd.bos.entity.list.column.AbstractColumnDesc):void;
                /**
                 * 获取操作列格式化工具类
                 *
                 * @return 操作列格式化工具类
                 */
                getColumnDesc():kd.bos.entity.list.column.AbstractColumnDesc;
            }
            type CreateListOperationColumnEvent_T = $.java.util.EventObject & CreateListOperationColumnEvent$;
            interface CreateListOperationColumnEvent extends CreateListOperationColumnEvent_T {
            }
            interface CreateListTemplateTextColumnEvent_S {
            }
            type CreateListTemplateTextColumnEvent_ST = $.java.util.EventObject & CreateListTemplateTextColumnEvent_S;
            interface CreateListTemplateTextColumnEvent_C extends CreateListTemplateTextColumnEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            数据源
                 */
                new(source:any):CreateListTemplateTextColumnEvent;
            }
            interface CreateListTemplateTextColumnEvent$ {
                /**
                 * 设置操作列格式化工具类
                 *
                 * @param columnDesc 操作列格式化工具类
                 */
                setColumnDesc(columnDesc:kd.bos.entity.list.column.AbstractColumnDesc):void;
                /**
                 * 获取操作列格式化工具类
                 *
                 * @return 操作列格式化工具类
                 */
                getColumnDesc():kd.bos.entity.list.column.AbstractColumnDesc;
                /**
                 * 获取字段格式化列表
                 *
                 * @return 字段格式化列表
                 */
                getColumns():$.java.util.List;
            }
            type CreateListTemplateTextColumnEvent_T = $.java.util.EventObject & CreateListTemplateTextColumnEvent$;
            interface CreateListTemplateTextColumnEvent extends CreateListTemplateTextColumnEvent_T {
            }
            interface BeforePackageDataListener_S {
            }
            interface BeforePackageDataListener_C extends BeforePackageDataListener_S {
            }
            interface BeforePackageDataListener$ {
                /**
                 * 列表数据格式化前事件
                 *
                 * 插件可以在此事件，修改列表数据中的字段值，从而影响列表显示
                 *
                 * @param evt 事件参数，含列表数据
                 */
                beforePackageData(evt:kd.bos.entity.datamodel.events.BeforePackageDataEvent):void;
            }
            type BeforePackageDataListener_T = BeforePackageDataListener$;
            interface BeforePackageDataListener extends BeforePackageDataListener_T {
            }
        }
        namespace kd.bos.entity.list.option{
            interface ListShowZeroConfig_S {
            }
            interface ListShowZeroConfig_C extends ListShowZeroConfig_S {
                /**
                 * 构造函数
                 */
                new():ListShowZeroConfig;
                /**
                 * 构造函数
                 *
                 * @param decimalFieldIsShowZero     数字是否尾零显示
                 * @param priceFieldIsShowZero       单价是否尾零显示
                 * @param qtyFieldIsShowZero         数量是否尾零显示
                 * @param amountFieldIsShowZero      金额是否尾零显示
                 * @param baseUnitQtyFieldIsShowZero 基本单位数量是否尾零显示
                 */
                new(decimalFieldIsShowZero:boolean,priceFieldIsShowZero:boolean,qtyFieldIsShowZero:boolean,amountFieldIsShowZero:boolean,baseUnitQtyFieldIsShowZero:boolean):ListShowZeroConfig;
            }
            interface ListShowZeroConfig$ {
            }
            type ListShowZeroConfig_T = ListShowZeroConfig$;
            interface ListShowZeroConfig extends ListShowZeroConfig_T {
            }
            class ListShowZeroType {
                static readonly QTYFIELD:kd.bos.entity.list.option.ListShowZeroType;
                static readonly BASEUNITQTYFIELD:kd.bos.entity.list.option.ListShowZeroType;
                static readonly PRICEFIELD:kd.bos.entity.list.option.ListShowZeroType;
                static readonly DECIMALFIELD:kd.bos.entity.list.option.ListShowZeroType;
                static readonly AMOUNTFIELD:kd.bos.entity.list.option.ListShowZeroType;
                static values():kd.bos.entity.list.option.ListShowZeroType[];
                static valueOf(arg0:string):kd.bos.entity.list.option.ListShowZeroType;
                /**
                 * 类型值
                 *
                 * @return
                 */
                getType():string;
            }
            interface ListUserOption_S {
            }
            type ListUserOption_ST = $.java.io.Serializable & ListUserOption_S;
            interface ListUserOption_C extends ListUserOption_ST {
                /**
                 * 构造函数
                 */
                new():ListUserOption;
                /**
                 * 构造函数
                 *
                 * @param listUserOptions 参数元数据
                 */
                new(listUserOptions:$.java.util.Map):ListUserOption;
            }
            interface ListUserOption$ {
            }
            type ListUserOption_T = $.java.io.Serializable & ListUserOption$;
            interface ListUserOption extends ListUserOption_T {
            }
        }
        namespace kd.bos.entity.mulentities{
            interface QSConditionRow_S {
            }
            type QSConditionRow_ST = $.java.io.Serializable & QSConditionRow_S;
            interface QSConditionRow_C extends QSConditionRow_ST {
                new():QSConditionRow;
            }
            interface QSConditionRow$ {
            }
            type QSConditionRow_T = $.java.io.Serializable & QSConditionRow$;
            interface QSConditionRow extends QSConditionRow_T {
            }
            interface QueryPlugInField_S {
            }
            type QueryPlugInField_ST = $.java.io.Serializable & QueryPlugInField_S;
            interface QueryPlugInField_C extends QueryPlugInField_ST {
                new():QueryPlugInField;
            }
            interface QueryPlugInField$ {
            }
            type QueryPlugInField_T = $.java.io.Serializable & QueryPlugInField$;
            interface QueryPlugInField extends QueryPlugInField_T {
            }
            interface QuerySelectField_S {
            }
            type QuerySelectField_ST = $.java.io.Serializable & QuerySelectField_S;
            interface QuerySelectField_C extends QuerySelectField_ST {
                new():QuerySelectField;
            }
            interface QuerySelectField$ {
            }
            type QuerySelectField_T = $.java.io.Serializable & QuerySelectField$;
            interface QuerySelectField extends QuerySelectField_T {
            }
            interface QuerySortField_S {
            }
            type QuerySortField_ST = $.java.io.Serializable & QuerySortField_S;
            interface QuerySortField_C extends QuerySortField_ST {
                new():QuerySortField;
            }
            interface QuerySortField$ {
            }
            type QuerySortField_T = $.java.io.Serializable & QuerySortField$;
            interface QuerySortField extends QuerySortField_T {
            }
            interface QuerySourceJoinRelation_S {
            }
            type QuerySourceJoinRelation_ST = $.java.io.Serializable & QuerySourceJoinRelation_S;
            interface QuerySourceJoinRelation_C extends QuerySourceJoinRelation_ST {
                new():QuerySourceJoinRelation;
            }
            interface QuerySourceJoinRelation$ {
            }
            type QuerySourceJoinRelation_T = $.java.io.Serializable & QuerySourceJoinRelation$;
            interface QuerySourceJoinRelation extends QuerySourceJoinRelation_T {
            }
        }
        namespace kd.bos.entity.mulentities.expr{
            interface QSIdentifierExpr_S {
            }
            type QSIdentifierExpr_ST = QSExpr_S & QSIdentifierExpr_S;
            interface QSIdentifierExpr_C extends QSIdentifierExpr_ST {
                /**
                 * 构造函数
                 */
                new():QSIdentifierExpr;
                /**
                 * 构造函数
                 *
                 * @param expr 表达式
                 */
                new(expr:string):QSIdentifierExpr;
            }
            interface QSIdentifierExpr$ {
            }
            type QSIdentifierExpr_T = QSExpr & QSIdentifierExpr$;
            interface QSIdentifierExpr extends QSIdentifierExpr_T {
            }
            interface QSExpr_S {
            }
            type QSExpr_ST = $.java.io.Serializable & QSExpr_S;
            interface QSExpr_C extends QSExpr_ST {
                /**
                 * 构造函数
                 */
                new():QSExpr;
            }
            interface QSExpr$ {
            }
            type QSExpr_T = $.java.io.Serializable & QSExpr$;
            interface QSExpr extends QSExpr_T {
            }
            interface QSPropExpr_S {
            }
            type QSPropExpr_ST = QSExpr_S & QSPropExpr_S;
            interface QSPropExpr_C extends QSPropExpr_ST {
                /**
                 * 构造函数
                 */
                new():QSPropExpr;
                /**
                 * 构造函数
                 *
                 * @param entityName 实体标识
                 * @param propName   属性名
                 */
                new(entityName:string,propName:string):QSPropExpr;
            }
            interface QSPropExpr$ {
            }
            type QSPropExpr_T = QSExpr & QSPropExpr$;
            interface QSPropExpr extends QSPropExpr_T {
            }
        }
        namespace kd.bos.entity.operate{
            interface OperationContext_S {
            }
            interface OperationContext_C extends OperationContext_S {
                new():OperationContext;
            }
            interface OperationContext$ {
                /**
                 * 获取操作上下文参数
                 * @return
                 */
                getParameter():$.java.util.Map;
                /**
                 * 设置实体编码
                 * @param entityTypeId
                 */
                setEntityTypeId(entityTypeId:string):void;
                /**
                 * 获取数据锁记录
                 *    [对象id]
                 *
                 * @return the mutexLocks
                 */
                getMutexLocks():$.java.util.List;
                /**
                 * 获取打平的数据包
                 * @return 打平的数据包集合
                 */
                getExtendedDataEntities():$.java.util.List;
                /**
                 * 设置操作上下文的数据包集合
                 * @param dataEntities
                 */
                setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 获取操作日志输出对象
                 *
                 * @return
                 */
                getOperateLog():OperateLog;
                /**
                 * 获取数据包
                 * @return 数据包集合
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 设置操作编码
                 * @param operationKey 操作Key，save,modify,delete等
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 获取实体编码
                 * @return
                 */
                getEntityTypeId():string;
                /**
                 * 设置操作上下文参数
                 * @param parameter
                 */
                setParameter(parameter:$.java.util.Map):void;
                /**
                 * 获取操作编码
                 * @return
                 */
                getOperationKey():string;
                /**
                 * 设置操作日志输出对象
                 * @param operateLog
                 */
                setOperateLog(operateLog:OperateLog):void;
            }
            type OperationContext_T = OperationContext$;
            interface OperationContext extends OperationContext_T {
            }
            interface GridConfigurationRow_S {
            }
            type GridConfigurationRow_ST = $.java.io.Serializable & GridConfigurationRow_S;
            interface GridConfigurationRow_C extends GridConfigurationRow_ST {
                /**
                 * 无参构造
                 */
                new():GridConfigurationRow;
                /**
                 * 有参构造
                 * @param fieldName 字段名
                 * @param colWidth 列宽度
                 * @param textAlign 对齐方式
                 * @param fieldKey 字段标识
                 */
                new(fieldName:$.kd.bos.dataentity.entity.LocaleString,colWidth:number,textAlign:string,fieldKey:string):GridConfigurationRow;
                /**
                 * 有参构造
                 * @param fieldName 字段名
                 * @param colWidth 列宽度
                 * @param textAlign 对齐方式
                 * @param fieldKey 字段标识
                 * @param hide 是否隐藏
                 * @param freeze 是否冻结
                 */
                new(fieldName:$.kd.bos.dataentity.entity.LocaleString,colWidth:number,textAlign:string,fieldKey:string,hide:boolean,freeze:boolean):GridConfigurationRow;
                /**
                 * 有参构造
                 * @param fieldName 字段名
                 * @param colWidth 列宽度
                 * @param textAlign 对齐方式
                 * @param fieldKey 字段标识
                 * @param hide 是否隐藏
                 * @param freeze 是否冻结
                 * @param freezer 右冻结
                 */
                new(fieldName:$.kd.bos.dataentity.entity.LocaleString,colWidth:number,textAlign:string,fieldKey:string,hide:boolean,freeze:boolean,freezer:boolean):GridConfigurationRow;
            }
            interface GridConfigurationRow$ {
            }
            type GridConfigurationRow_T = $.java.io.Serializable & GridConfigurationRow$;
            interface GridConfigurationRow extends GridConfigurationRow_T {
            }
            interface OperationTypeCache_S {
            }
            interface OperationTypeCache_C extends OperationTypeCache_S {
                new():OperationTypeCache;
            }
            interface OperationTypeCache$ {
            }
            type OperationTypeCache_T = OperationTypeCache$;
            interface OperationTypeCache extends OperationTypeCache_T {
            }
            class OpDefinitionSource {
                static readonly DB:kd.bos.entity.operate.OpDefinitionSource;
                static readonly DM_EXT:kd.bos.entity.operate.OpDefinitionSource;
                static readonly XML:kd.bos.entity.operate.OpDefinitionSource;
                static values():kd.bos.entity.operate.OpDefinitionSource[];
                static valueOf(arg0:string):kd.bos.entity.operate.OpDefinitionSource;
            }
            interface OperateLog_S {
                /**
                 * 获取操作日志接口实现类
                 *
                 * @param writeLog 是否需要写日志：默认情况下，为优化性能，不对外输出日志；需要分析问题时，可以开启选项，输出操作详细执行日志
                 * @return OperateLog
                 */
                get(writeLog:boolean):OperateLog;
            }
            interface OperateLog_C extends OperateLog_S {
            }
            interface OperateLog$ {
                /**
                 * 输出普通文本日志
                 *
                 * @param msg 打印日志内容
                 */
                info?(msg:string):void;
                error(exp:$.java.lang.Throwable):void;
                /**
                 * 完成操作：按顺序输出方法执行次序、花费时间
                 */
                finish(entityNumber:string,opKey:string,opClassName:string,opResult:kd.bos.entity.operate.result.OperationResult):void;
                /**
                 * 当前是否写日志：操作会根据此选项返回值，决定是否解析操作执行结果，生成详细的日志内容
                 *
                 * @return boolean
                 */
                isWriteLog?():boolean;
                /**
                 * 方法完成：时间太短，把方法移除出方法清单，不再总结报告中显示
                 *
                 * @param mothedName 方法名
                 */
                removeMothed?(mothedName:string):void;
                /**
                 * 功能执行结束，输出总结日志
                 *
                 * @param title
                 */
                finish(title:string):void;
                /**
                 * 输出重要的文本日志，不管有没有开启写日志参数，都会输出
                 *
                 * @param msg 打印日志内容
                 */
                important?(msg:string):void;
                /**
                 * 方法完成：按顺序记录方法执行时间
                 *
                 * @param mothedName 方法名
                 * @param msg        需同步输出的日志内容
                 */
                endMothed?(mothedName:string,msg:string):void;
                debug?(msg:string):void;
                error(msg:string):void;
                /**
                 * 输出数据包中关键信息：状态，字段改变清单，内码、单据编号、数据状态
                 *
                 * @param billObj 单据数据包
                 */
                Info?(billObj:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 进入方法：记录方法开始时间，按顺序记录方法调用记录
                 *
                 * @param mothedName
                 * @param msg        同步输出的日志内容
                 */
                beginMothed?(mothedName:string,msg:string):void;
            }
            type OperateLog_T = OperateLog$;
            interface OperateLog extends OperateLog_T {
            }
            interface AbstractOperationResult_S {
            }
            type AbstractOperationResult_ST = $.java.io.Serializable & AbstractOperationResult_S & IOperationResult_S;
            interface AbstractOperationResult_C extends AbstractOperationResult_ST {
                new():AbstractOperationResult;
            }
            interface AbstractOperationResult$ {
                /**
                 * 是否需要指定下一步参与人
                 *
                 * @return true:需要 false:不需要
                 */
                isNeedWfAssignPersons():boolean;
                /**
                 * 获取提示语位置信息
                 * @return
                 */
                getPromptField():$.java.util.List;
                /**
                 * 是否需要签名
                 *
                 * @return true:需要 false:不需要
                 */
                isNeedSign():boolean;
                /**
                 * 获取消息类型
                 * @return 消息类型
                 */
                getMessageType():number;
                /**
                 * 移除 成功处理的数据对象pk
                 * @param pkIds
                 */
                removeSuccessPkIds(pkIds:$.java.util.List):void;
                /**
                 * 批量增加字段提示
                 * @param fieldPos 字段提示对象
                 */
                addPromptField(fieldPos:$.java.util.List):void;
                /**
                 * 设置是否取消写日志
                 *
                 * @param cancelWriteLog 取消写日志
                 */
                setCancelWriteLog(cancelWriteLog:boolean):void;
                /**
                 * 设置操作结果展示表单 （表单类型为动态表单，需配合setMessage()使用）
                 * 当设置了操作结果提示信息和展示表单，操作完毕，打开该表单显示结果
                 * @param formId 表单编码
                 */
                setFormId(formId:string):void;
                /**
                 * 设置操作错误信息
                 *
                 * @param errorInfoes 错误信息集合
                 */
                setAllErrorInfo(errorInfoes:$.java.util.List):void;
                /**
                 * 获取操作的单据总数，包括全部成功、失败单据
                 *
                 * @return 操作的单据总数
                 */
                getBillCount():number;
                /**
                 * 设置签名明文
                 *
                 * @param clearText 签名明文
                 */
                setClearText(clearText:string):void;
                /**
                 * 设置本次操作的所有单据编号
                 *
                 * @param billNos 本次操作的所有单据编号
                 */
                setBillNos(billNos:$.java.util.Map):void;
                /**
                 * 获取签名明文
                 *
                 * @return 签名明文
                 */
                getClearText():string;
                /**
                 * 设置提示语位置信息
                 * @param promptField 字段提示对象
                 */
                setPromptField(promptField:$.java.util.List):void;
                /**
                 * 添加操作成功的单据主键
                 *
                 * @param pkId 单据内码
                 */
                addSuccessPkId(pkId:any):void;
                /**
                 * 本次操作的所有单据编号：可用于生成提示信息
                 *
                 * @return 本次操作的所有单据编号
                 */
                getBillNos():$.java.util.Map;
                /**
                 * 设置是否需要签名
                 *
                 * @param needSign 是否需要签名
                 */
                setNeedSign(needSign:boolean):void;
                /**
                 * 设置单据总数，包括全部成功、失败单据
                 *
                 * @param billCount 单据总数
                 */
                setBillCount(billCount:number):void;
                /**
                 * 获取操作结果展示表单  （表单类型为动态表单，需配合setMessage()使用）
                 * 当设置了操作结果提示信息和展示表单，操作完毕，打开该表单显示结果
                 * @return
                 */
                getFormId():string;
                /**
                 * 设置消息类型
                 * @param messageType 消息类型
                 */
                setMessageType(messageType:number):void;
                /**
                 * 设置工作流是否需要指定下一步参与人
                 *
                 * @param needWfAssignPersons 工作流指定下一步参与人
                 */
                setNeedWfAssignPersons(needWfAssignPersons:boolean):void;
                /**
                 * 增加字段提示
                 * @param fieldPos 字段提示对象
                 */
                addPromptField(fieldPos:kd.bos.entity.validate.FieldPos):void;
                /**
                 * 是否取消写日志
                 *
                 * @return true:取消 false:不取消
                 */
                isCancelWriteLog():boolean;
                /**
                 * 设置操作结果
                 *
                 * @param success 操作结果
                 */
                setSuccess(success:boolean):void;
            }
            type AbstractOperationResult_T = $.java.io.Serializable & AbstractOperationResult$ & IOperationResult;
            interface AbstractOperationResult extends AbstractOperationResult_T {
            }
            interface OperationParameterNames_S {
                readonly LOGENABLE:string;
                readonly SAVEANDSUBMIT:string;
                readonly ISDRAFTVALIDREFERENCE:string;
                readonly TRACK_CHECK_RIGHT_BILLS:string;
                readonly PLUGINS:string;
                readonly TURNOFFPAGEING:string;
                readonly ISSEARCHWHOLE:string;
                readonly ISTRACKALL:string;
                readonly ENTRYID:string;
                readonly SHOWSELECTPRINTFORM:string;
                readonly TRACK_UP_CHECK_SOURCE_RIGHT:string;
                readonly CTCONTROLFIELD:string;
                readonly LISTDELSCOPE:string;
                readonly PUSH_MUST_SELECT_RULE:string;
                readonly ISSEARCHENTRY:string;
                readonly BOS_BATCH_PUSH_SIZE:string;
                readonly OPMESSAGEENABLE:string;
                readonly DRAW_RULE_ID:string;
                readonly DRAW_CLEAR_ENTRYS:string;
                readonly DUPLICATEREMOVE:string;
                readonly DRAW_HIDE_FORM:string;
                readonly ISCOPYEMPTYROW:string;
                readonly AFTEROPERATION:string;
                readonly DRAW_SOURCE_BILL:string;
                readonly NAME:string;
                readonly HIDEPUSHFORM:string;
                readonly CANNODATA:string;
                readonly CTSYNCTYPE:string;
                readonly REMOVEMARGIN:string;
                readonly TARGETBILL:string;
                readonly KEY:string;
                readonly TYPE:string;
                readonly VALIDATIONS:string;
                readonly RULEID:string;
                readonly CTTARGETBILL:string;
                readonly BOTP_HASRIGHTBILLS:string;
                readonly CHECKDATAVERSION:string;
                readonly CTTTENANTCODE:string;
                readonly COPY_ENTRY_POS:string;
                readonly STATUSPROP:string;
                readonly CTTACCOUNTID:string;
                readonly GROUPID:string;
                readonly PREINSFILES:string;
                readonly CTHIDEPUSHFORM:string;
                readonly AFTER_DEL_ROW_FOCUS:string;
                readonly VALUE:string;
                readonly OPBIZ:string;
                readonly ISCOPYRELATEENTITY:string;
                readonly CONFIRMMSG:string;
                readonly REFRESHFIELDS:string;
                readonly SUCCESSMSG:string;
                readonly PARAMETER:string;
                readonly CTRULEID:string;
                readonly ISFULLBILLOPERATE:string;
                readonly DUPLICATEENTRYREMOVE:string;
                readonly OPERATIONKEY:string;
                readonly TARGETOPERATION:string;
                readonly COMMENTPROP:string;
                readonly JSCODE:string;
            }
            interface OperationParameterNames_C extends OperationParameterNames_S {
                new():OperationParameterNames;
            }
            interface OperationParameterNames$ {
            }
            type OperationParameterNames_T = OperationParameterNames$;
            interface OperationParameterNames extends OperationParameterNames_T {
            }
            interface OperationTypes_S {
            }
            interface OperationTypes_C extends OperationTypes_S {
                new():OperationTypes;
            }
            interface OperationTypes$ {
                /**
                 * 缓存是否已经超时失效？过了有效期之后，需要重新加载
                 * @return
                 */
                isCacheOverTime():boolean;
                /**
                 * 操作定义集合
                 * @return
                 */
                getOpTypes():$.java.util.List;
                /**
                 * 筛选可用于指定应用、实体的操作
                 *
                 * @param modelTypes 模型类型，包含指定模型及其父模型
                 * @param appNumber 筛选应用
                 * @param entityNumber 筛选实体
                 * @return 返回可用于指定应用和实体的操作集合
                 */
                filter(modelTypes:$.java.util.Set,appNumber:string,entityNumber:string):this;
                /**
                 * 当前语言资源是否加载完成
                 * @param lang
                 * @return
                 */
                isLoaded(lang:$.kd.bos.lang.Lang):boolean;
                /**
                 * 标记指定语言资源加载完成
                 * @param lang
                 */
                setLoaded(lang:$.kd.bos.lang.Lang):void;
                /**
                 * 判断指定的操作，是不是实体操作
                 *
                 * @param opTypeId
                 * @return
                 */
                isEntityOperation(opTypeId:string):boolean;
                /**
                 * 创建时间：据此判断缓存有没有过期
                 */
                getCreateTime():Date;
                /**
                 * 获取指定的操作定义
                 *
                 * @param opTypeId 操作标识
                 * @return 返回操作定义。找不到返回null
                 */
                get(opTypeId:string):OperationType;
                setOpTypes(opTypes:$.java.util.List):void;
                /**
                 * 筛选可用于指定应用、实体的操作
                 *
                 * @param modelTypes 模型类型，包含指定模型及其父模型
                 * @param appNumbers 筛选应用
                 * @param entityNumber 筛选实体
                 * @return 返回可用于指定应用和实体的操作集合
                 */
                filter(modelTypes:$.java.util.Set,appNumbers:$.java.util.List,entityNumber:string):this;
            }
            type OperationTypes_T = OperationTypes$;
            interface OperationTypes extends OperationTypes_T {
            }
            interface OperateProgress_S {
            }
            interface OperateProgress_C extends OperateProgress_S {
            }
            interface OperateProgress$ {
                /**
                 * 反馈最新进度
                 *
                 * @param desc 进度描述，说明将要进行的动作
                 */
                feedbackProgress(desc:string):void;
                /**
                 * 把操作处理，转成异步线程执行，以支持大量数据处理，避免超时
                 *
                 * @remark
                 * 如果当前场景，不支持把操作切换为异步线程执行，本方法会被操作引擎自动忽略：
                 * 1. 后台代码调用操作，需要实时返回操作结果，不允许切换为异步执行
                 * 2. 操作已经是异步线程执行了，不需要再次切换
                 */
                swithToAsyn():void;
            }
            type OperateProgress_T = OperateProgress$;
            interface OperateProgress extends OperateProgress_T {
            }
            interface OperationType_S {
            }
            interface OperationType_C extends OperationType_S {
                new():OperationType;
            }
            interface OperationType$ {
                /**
                 * 該操作是否有合法性校驗
                 */
                isFormValidate():boolean;
                /**
                 * 服务应用范围：0 = 全部应用，1 = 指定应用，2 = 仅本应用(指资源文件代表的应用，逻辑暂未实现)、3 = 仅指定单据；默认为0；
                 */
                getAppliedRange():number;
                /**
                 * MService Operation 层执行类；非实体操作，可以留空；必须派生自 EntityOperateService
                 */
                getOpServiceClass():string;
                /**
                 * 是否隐藏，操作列表上是否列出此操作；默认为false，不隐藏
                 */
                isDisable():boolean;
                /**
                 * Web API 层运行时类名，可以为空，必须派生自 OperationApi
                 */
                getWebApiClass():string;
                setFormServiceClass(formServiceClass:string):void;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 操作功能描述，支持多语言
                 */
                getDesc():$.kd.bos.dataentity.entity.LocaleString;
                setWebApiClass(webApiClass:string):void;
                setSeq(seq:long):void;
                setModelType(modelType:string):void;
                setAppliedRange(appliedRange:number):void;
                /**
                 * 显示顺序
                 */
                getSeq():long;
                setOpServiceClass(opServiceClass:string):void;
                /**
                 * 操作参数配置界面，可空。平台预置的操作，参数界面插件必须派生自 BaseOperationEditPlugin；业务领域扩展的操作，参数界面插件必须 派生自 CustOperationEditPlugin
                 */
                getSettingFormId():string;
                setDisable(disable:boolean):void;
                /**
                 * 适用的业务应用
                 */
                getAppNumbers():$.java.util.Set;
                setId(id:string):void;
                /**
                 * 操作适用的领域模型类型，把序列化字符串，拆分为具体的领域模型集合
                 */
                getModelTypes():$.java.util.Set;
                /**
                 * 获取来源类型
                 * @return
                 */
                getSrcType():OpDefinitionSource;
                /**
                 * 适用的业务应用，字符串格式，支持序列化；应用范围为"指定应用"、"仅本应用"时，使用此属性，指定应用范围，多个应用使用逗号隔开
                 */
                getAppliedAppNumbers():string;
                /**
                 * 操作类型标识，不允许重复
                 */
                getId():string;
                getSrcApp():string;
                setFormValidate(formValidate:boolean):void;
                /**
                 * MService Form 层执行类名，不能为空，必须派生自FormOperate
                 */
                getFormServiceClass():string;
                setSettingFormId(settingFormId:string):void;
                /**
                 * 操作适用的领域模型类型，字符串，用于序列化
                 */
                getModelType():string;
                setAppliedAppNumbers(appliedAppNumbers:string):void;
                /**
                 * 获取来源应用
                 * @param srcType
                 */
                setSrcType(srcType:OpDefinitionSource):void;
                setAppliedEntityNumber(appliedEntityNumber:string):void;
                /**
                 * 适用的单据，字符串格式，支持序列化; 应用范围为"仅指定单据"时， 使用此属性，指定单据
                 */
                getAppliedEntityNumber():string;
                /**
                 * 名称，多语言
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 适用的单据
                 */
                getEntityNumbers():$.java.util.Set;
                setSrcApp(srcApp:string):void;
                setDesc(desc:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type OperationType_T = OperationType$;
            interface OperationType extends OperationType_T {
            }
            interface IOperationResult_S {
            }
            interface IOperationResult_C extends IOperationResult_S {
            }
            interface IOperationResult$ {
                /**
                 * 设置操作完毕，是否显示提示信息
                 * @param showMessage 操作完毕，是否显示提示信息
                 */
                setShowMessage(showMessage:boolean):void;
                /**
                 * 获取操作提示消息
                 * @return 操作提示消息
                 */
                getMessage():string;
                /**
                 * 设置操作提示消息
                 * @param message 操作提示消息
                 */
                setMessage(message:string):void;
                /**
                 * 是否成功
                 * @return 是否成功
                 */
                isSuccess():boolean;
                /**
                 * 获取操作错误信息集合
                 * @return 操作错误信息集合
                 */
                getAllErrorInfo():$.java.util.List;
                /**
                 * 操作完毕，是否显示提示信息
                 * @return 是否显示message
                 */
                isShowMessage():boolean;
                /**
                 * 添加操作错误信息
                 * @param operateInfo 操作错误信息
                 */
                addErrorInfo(operateInfo:kd.bos.entity.operate.result.OperateErrorInfo):void;
                /**
                 * 获取操作成功的记录标识集合
                 * @return 操作成功的记录标识集合
                 */
                getSuccessPkIds():$.java.util.List;
                /**
                 * 设置操作成功的记录标识集合
                 * @param successPkValues 操作成功的记录标识集合
                 */
                setSuccessPkIds(successPkValues:$.java.util.List):void;
            }
            type IOperationResult_T = IOperationResult$;
            interface IOperationResult extends IOperationResult_T {
            }
            interface Operations_S {
            }
            interface Operations_C extends Operations_S {
                new():Operations;
            }
            interface Operations$ {
                /**
                 * 设置状态转换操作代码
                 * @param statusConvert
                 */
                setStatusConvert(statusConvert:string):void;
                /**
                 * 设置审核操作代码
                 * @param audit
                 */
                setAudit(audit:string):void;
                /**
                 * 获取审核操作代码
                 * @return
                 */
                getAudit():string;
                /**
                 * 设置反审核操作代码
                 * @param unaudit
                 */
                setUnAudit(unaudit:string):void;
                /**
                 * 获取提交操作代码
                 * @return
                 */
                getSubmit():string;
                /**
                 * 设置删除操作代码
                 * @param delete
                 */
                setDelete(delete_arg:string):void;
                /**
                 * 获取保存操作代码
                 * @return
                 */
                getSave():string;
                /**
                 * 获取删除操作代码
                 * @return
                 */
                getDelete():string;
                /**
                 * 设置保存操作代码
                 * @param save
                 */
                setSave(save:string):void;
                /**
                 * 获取撤销操作代码
                 * @return
                 */
                getUnSubmit():string;
                /**
                 * 获取状态转换操作代码
                 * @return
                 */
                getStatusConvert():string;
                /**
                 * 获取反审核操作代码
                 * @return
                 */
                getUnAudit():string;
                /**
                 * 设置提交操作代码
                 * @param submmit
                 */
                setSubmit(submmit:string):void;
                /**
                 * 设置撤销操作代码
                 * @param unsubmit
                 */
                setUnSubmit(unsubmit:string):void;
            }
            type Operations_T = Operations$;
            interface Operations extends Operations_T {
            }
            interface OperateOptionConst_S {
                readonly ISOPENINTENTLOCKS:string;
                readonly MUTEX_ISSTRICT:string;
                readonly OPENFORMDATAVERSIONCHECKER:string;
                readonly ARCHIVEKEY:string;
                readonly MUTEX_TRY_AGAIN_COUNT:string;
                readonly SAVE_APPENDENTRYROWS:string;
                readonly ROUTEKEY:string;
                readonly SUPPORT_BIGDATA_ASYN:string;
                readonly ISSHOWMESSAGE:string;
                readonly ISLSTVIEWOP4MUTEX:string;
                readonly SKIPCHECKSPECIALPERMISSION:string;
                readonly INTERACTIONCONFIRMRESULT:string;
                readonly AUTOGENERATE_BILLNO:string;
                readonly IGNOREINTERACTION:string;
                readonly BOS_SKIP_OP_BATCH:string;
                readonly IGNOREWARN:string;
                readonly ISFORMVIEWOPERATION:string;
                readonly IGNOREREFENTITYIDS:string;
                readonly BATCHOP_BATCHSIZE:string;
                readonly INVOKEAFTERDELETE:string;
                readonly BIGDATA_ASYN_SPONSOR:string;
                readonly BATCHOPEXECUTE:string;
                readonly MUTEX_IGNORE_VALIDATION:string;
                readonly MAX_SAME_MUTEX_ID_COUNT:string;
                readonly UPDATE_ENTRYSUMMARY_ENABLE:string;
                readonly IS_AUTO_BATCH_EXE_OP:string;
                readonly MUTEX_WRITEBACK:string;
                readonly CURRBIZAPPID:string;
                readonly ONLY_VALIDATE:string;
                readonly ORIOPERATIONKEY:string;
                readonly BATCHOP_RESULT:string;
                readonly CHECKREFENTITYIDS:string;
                readonly PERMISSIONENTITYID:string;
                readonly ORM_SAVEOP_COMMITPKSNAPSHOT:string;
                readonly BATCHOP_COMPLETED:string;
                readonly STRICTVALIDATION:string;
                readonly CATCH_AFTER_EXCEPTION:string;
                readonly ISHASRIGHT:string;
                readonly SKIPCHECKPERMISSION:string;
                readonly SKIP_BILLNO_VALIDATOR:string;
                readonly OP_TASKID:string;
                readonly ORM_SAVEOP_REMOVECACHE:string;
                readonly BIGDATA_NEWTHREAD:string;
                readonly BATCHOP_PKBATCHSETTING:string;
                readonly UPDATEMODIFYDATE:string;
                readonly IGNORECONFIRM:string;
                readonly IMPORTTYPE:string;
                readonly BATCHIMPORT:string;
                readonly BATCHOP_SPLITRULETYPE:string;
                readonly LISTSELECTEDROWCOLLECTION:string;
                readonly MUTEX_IGNOREMODIFY:string;
            }
            interface OperateOptionConst_C extends OperateOptionConst_S {
                new():OperateOptionConst;
            }
            interface OperateOptionConst$ {
            }
            type OperateOptionConst_T = OperateOptionConst$;
            interface OperateOptionConst extends OperateOptionConst_T {
            }
            interface IOperate_S {
            }
            interface IOperate_C extends IOperate_S {
            }
            interface IOperate$ {
                execute():$.kd.bos.entity.operate.result.OperationResult;
                getPermissionEntityId?():string;
                setPermissionEntityId?(arg0:string):void;
            }
            type IOperate_T = IOperate$;
            interface IOperate extends IOperate_T {
            }
            class EnumBillStatus {
                static readonly A:kd.bos.entity.operate.EnumBillStatus;
                static readonly C:kd.bos.entity.operate.EnumBillStatus;
                static readonly D:kd.bos.entity.operate.EnumBillStatus;
                static readonly B:kd.bos.entity.operate.EnumBillStatus;
                static readonly Z:kd.bos.entity.operate.EnumBillStatus;
                static values():kd.bos.entity.operate.EnumBillStatus[];
                static valueOf(arg0:string):kd.bos.entity.operate.EnumBillStatus;
            }
            interface IOperationTask_S {
            }
            interface IOperationTask_C extends IOperationTask_S {
            }
            interface IOperationTask$ {
            }
            type IOperationTask_T = IOperationTask$;
            interface IOperationTask extends IOperationTask_T {
            }
            interface KDOpAsynExecutorException_S {
            }
            type KDOpAsynExecutorException_ST = $.kd.bos.entity.operate.interaction.KDInteractionException & KDOpAsynExecutorException_S;
            interface KDOpAsynExecutorException_C extends KDOpAsynExecutorException_ST {
                /**
                 * 构造方法
                 * @param sponsor 本次交互的标识，由插件指定的固定值，不能与其他交互重复
                 * @param interactionContext 交互请求上下文对象，包含交互提示内容、交互界面及显示参数等
                 */
                new(sponsor:string,interactionContext:$.kd.bos.entity.operate.interaction.InteractionContext):KDOpAsynExecutorException;
            }
            interface KDOpAsynExecutorException$ {
            }
            type KDOpAsynExecutorException_T = $.kd.bos.entity.operate.interaction.KDInteractionException & KDOpAsynExecutorException$;
            interface KDOpAsynExecutorException extends KDOpAsynExecutorException_T {
            }
            interface IEntityOperate_S {
            }
            interface IEntityOperate_C extends IEntityOperate_S {
            }
            interface IEntityOperate$ {
                /**
                 * 设置是否微服务调用
                 */
                setRemoteInvoke(isRemoteInvoke:boolean):void;
                /**
                 * @return 是否是微服务调用
                 */
                isRemoteInvoke():boolean;
                /**
                 * 设置操作执行完毕后，是否需要刷新列表（不适用于单据界面）
                 */
                setCancelRefresh(isCancelRefresh:boolean):void;
                /**
                 * 操作执行完毕后，是否需要刷新列表（不适用于单据界面）
                 * @return
                 */
                isCancelRefresh():boolean;
            }
            type IEntityOperate_T = IEntityOperate$;
            interface IEntityOperate extends IEntityOperate_T {
            }
            interface OperationException_S {
            }
            type OperationException_ST = $.java.io.Serializable & $.java.lang.RuntimeException & OperationException_S;
            interface OperationException_C extends OperationException_ST {
                /**
                 * 构造函数
                 * @param pkValue 单据内码
                 * @param entryId 分录内码
                 * @param detailId 子分录内码
                 */
                new(pkValue:string,entryId:string,detailId:string):OperationException;
            }
            interface OperationException$ {
                /**
                 * 获取单据内码
                 * @return
                 */
                getPkValue():any;
                /**
                 * 设置操作信息内容
                 * @param message
                 */
                setMessage(message:string):void;
                /**
                 * 设置操作信息标题（返回信息关键字列内容）
                 * @param title
                 */
                setTitle(title:string):void;
                /**
                 * 获取操作信息标题（返回信息关键字列内容）
                 * @return
                 */
                getTitle():string;
            }
            type OperationException_T = $.java.io.Serializable & $.java.lang.RuntimeException & OperationException$;
            interface OperationException extends OperationException_T {
            }
            interface IEntityOperateService_S {
            }
            interface IEntityOperateService_C extends IEntityOperateService_S {
            }
            interface IEntityOperateService$ {
            }
            type IEntityOperateService_T = IEntityOperateService$;
            interface IEntityOperateService extends IEntityOperateService_T {
            }
            interface Delete_S {
            }
            type Delete_ST = DefaultEntityOperate_S & Delete_S;
            interface Delete_C extends Delete_ST {
                new():Delete;
            }
            interface Delete$ {
            }
            type Delete_T = DefaultEntityOperate & Delete$;
            interface Delete extends Delete_T {
            }
            interface DefaultEntityOperate_S {
            }
            type DefaultEntityOperate_ST = $.kd.bos.form.operate.EntityOperate & DefaultEntityOperate_S;
            interface DefaultEntityOperate_C extends DefaultEntityOperate_ST {
                new():DefaultEntityOperate;
            }
            interface DefaultEntityOperate$ {
                /**
                 * 操作成功后需要刷新的字段
                 *
                 * @return 操作后需要刷新的字段
                 */
                getRefreshFields():$.java.util.List;
                /**
                 * 用户配置的操作成功提示
                 *
                 * @return 成功提示信息
                 */
                getSuccessMsg():$.kd.bos.dataentity.entity.LocaleString;
            }
            type DefaultEntityOperate_T = $.kd.bos.form.operate.EntityOperate & DefaultEntityOperate$;
            interface DefaultEntityOperate extends DefaultEntityOperate_T {
            }
            interface SaveAndNew_S {
            }
            type SaveAndNew_ST = SaveAndNew_S & Save_S & kd.bos.form.operate.ICombinOperate_S;
            interface SaveAndNew_C extends SaveAndNew_ST {
                new():SaveAndNew;
            }
            interface SaveAndNew$ {
            }
            type SaveAndNew_T = Save & SaveAndNew$ & kd.bos.form.operate.ICombinOperate;
            interface SaveAndNew extends SaveAndNew_T {
            }
            interface SubmitAndNew_S {
            }
            type SubmitAndNew_ST = SubmitAndNew_S & Submit_S & kd.bos.form.operate.ICombinOperate_S;
            interface SubmitAndNew_C extends SubmitAndNew_ST {
                new():SubmitAndNew;
            }
            interface SubmitAndNew$ {
            }
            type SubmitAndNew_T = Submit & SubmitAndNew$ & kd.bos.form.operate.ICombinOperate;
            interface SubmitAndNew extends SubmitAndNew_T {
            }
            interface StatusConvert_S {
            }
            type StatusConvert_ST = DefaultEntityOperate_S & StatusConvert_S;
            interface StatusConvert_C extends StatusConvert_ST {
                new():StatusConvert;
            }
            interface StatusConvert$ {
            }
            type StatusConvert_T = DefaultEntityOperate & StatusConvert$;
            interface StatusConvert extends StatusConvert_T {
            }
            interface AttachmentView_S {
            }
            type AttachmentView_ST = $.kd.bos.form.operate.FormOperate & AttachmentView_S;
            interface AttachmentView_C extends AttachmentView_ST {
                new():AttachmentView;
            }
            interface AttachmentView$ {
            }
            type AttachmentView_T = $.kd.bos.form.operate.FormOperate & AttachmentView$;
            interface AttachmentView extends AttachmentView_T {
            }
            interface Donothing_S {
            }
            type Donothing_ST = DefaultEntityOperate_S & Donothing_S;
            interface Donothing_C extends Donothing_ST {
                new():Donothing;
            }
            interface Donothing$ {
            }
            type Donothing_T = DefaultEntityOperate & Donothing$;
            interface Donothing extends Donothing_T {
            }
            interface Submit_S {
            }
            type Submit_ST = $.kd.bos.form.IConfirmCallBack & DefaultEntityOperate_S & Submit_S;
            interface Submit_C extends Submit_ST {
                new():Submit;
            }
            interface Submit$ {
            }
            type Submit_T = $.kd.bos.form.IConfirmCallBack & DefaultEntityOperate & Submit$;
            interface Submit extends Submit_T {
            }
            interface Save_S {
            }
            type Save_ST = $.kd.bos.form.IConfirmCallBack & DefaultEntityOperate_S & Save_S;
            interface Save_C extends Save_ST {
                new():Save;
            }
            interface Save$ {
            }
            type Save_T = $.kd.bos.form.IConfirmCallBack & DefaultEntityOperate & Save$;
            interface Save extends Save_T {
            }
        }
        namespace kd.bos.entity.operate.bizrule{
            interface OpBizRule_S {
            }
            interface OpBizRule_C extends OpBizRule_S {
                /**
                 * 无参构造
                 */
                new():OpBizRule;
            }
            interface OpBizRule$ {
                /**
                 * 设置参数字符串，json格式，由各操作服务执行类自行解析
                 */
                setParameter(parameter:string):void;
                /**
                 * 获取操作名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取服务类型，需要据此取到服务执行类名
                 */
                getRuleType():string;
                /**
                 * 设置前置条件
                 */
                setPrecondition(precondition:string):void;
                /**
                 * 获取参数字符串，json格式，由各操作服务执行类自行解析
                 */
                getParameter():string;
                /**
                 * 设置服务类型，需要据此取到服务执行类名
                 */
                setRuleType(ruleType:string):void;
                /**
                 * 获取主键
                 */
                getKey():string;
                /**
                 * 设置主键
                 */
                setKey(key:string):void;
                /**
                 * 获取前置条件
                 */
                getPrecondition():string;
                /**
                 * 获取前置条件描述
                 */
                getPreConditionDesc():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置前置条件描述
                 */
                setPreConditionDesc(preConditionDesc:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置操作名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type OpBizRule_T = OpBizRule$;
            interface OpBizRule extends OpBizRule_T {
            }
            interface AbstractOpBizRuleAction_S {
            }
            type AbstractOpBizRuleAction_ST = AbstractOpBizRuleAction_S & kd.bos.entity.plugin.AbstractOperationServicePlugIn_S;
            interface AbstractOpBizRuleAction_C extends AbstractOpBizRuleAction_ST {
                new():AbstractOpBizRuleAction;
            }
            interface AbstractOpBizRuleAction$ {
                /**
                 * 获取本服务运行时元数据对象，包含了服务参数配置；由操作执行类，在初始化服务执行类后传入；
                 */
                getBizRule():OpBizRule;
                /**
                 * 设置本服务运行时元数据对象，包含了服务参数配置；由操作执行类，在初始化服务执行类后传入；
                 */
                setBizRule(bizRule:OpBizRule):void;
            }
            type AbstractOpBizRuleAction_T = AbstractOpBizRuleAction$ & kd.bos.entity.plugin.AbstractOperationServicePlugIn;
            interface AbstractOpBizRuleAction extends AbstractOpBizRuleAction_T {
            }
            interface OpBizRuleType_S {
            }
            type OpBizRuleType_ST = $.java.io.Serializable & OpBizRuleType_S;
            interface OpBizRuleType_C extends OpBizRuleType_ST {
                /**
                 * 无参构造
                 */
                new():OpBizRuleType;
            }
            interface OpBizRuleType$ {
            }
            type OpBizRuleType_T = $.java.io.Serializable & OpBizRuleType$;
            interface OpBizRuleType extends OpBizRuleType_T {
            }
            interface OpBizRuleTypes_S {
            }
            interface OpBizRuleTypes_C extends OpBizRuleTypes_S {
                /**
                 * 无参构造
                 */
                new():OpBizRuleTypes;
                /**
                 * 有参构造
                 * @param ruleTypes 操作服务类型
                 * @param cacheTime 缓存时间
                 */
                new(ruleTypes:$.java.util.List,cacheTime:Date):OpBizRuleTypes;
            }
            interface OpBizRuleTypes$ {
            }
            type OpBizRuleTypes_T = OpBizRuleTypes$;
            interface OpBizRuleTypes extends OpBizRuleTypes_T {
            }
            interface OpBizRuleTypeLoader_S {
            }
            interface OpBizRuleTypeLoader_C extends OpBizRuleTypeLoader_S {
                new():OpBizRuleTypeLoader;
            }
            interface OpBizRuleTypeLoader$ {
            }
            type OpBizRuleTypeLoader_T = OpBizRuleTypeLoader$;
            interface OpBizRuleTypeLoader extends OpBizRuleTypeLoader_T {
            }
        }
        namespace kd.bos.entity.operate.bizrule.asyncbizrule{
            interface AbstractAsyncOpBizRuleAction_S {
            }
            type AbstractAsyncOpBizRuleAction_ST = AbstractAsyncOpBizRuleAction_S & AbstractOpBizRuleAction_S;
            interface AbstractAsyncOpBizRuleAction_C extends AbstractAsyncOpBizRuleAction_ST {
                new():AbstractAsyncOpBizRuleAction;
            }
            interface AbstractAsyncOpBizRuleAction$ {
                /**
                 * @function  初始化微服务调用参数, 用于调用微服务（参数列表与微服务调用一致） - 子类需要重写
                 * @author   RD_riyi_zhang
                 * @date     2020/3/23 11:42
                 * @param serviceMessageInfo 消息对象
                 * @param datas 单据信息
                 * @return   void
                 */
                setMServiceParam(serviceMessageInfo:AsyncOpBizRuleServiceMsgInfo,datas:$.kd.bos.dataentity.entity.DynamicObject[]):void;
            }
            type AbstractAsyncOpBizRuleAction_T = AbstractAsyncOpBizRuleAction$ & AbstractOpBizRuleAction;
            interface AbstractAsyncOpBizRuleAction extends AbstractAsyncOpBizRuleAction_T {
            }
            interface AbstractAsyncMService_S {
            }
            type AbstractAsyncMService_ST = AbstractAsyncMService_S & IAsyncMService_S;
            interface AbstractAsyncMService_C extends AbstractAsyncMService_ST {
                new():AbstractAsyncMService;
            }
            interface AbstractAsyncMService$ {
                /**
                 * 设置操作自定义参数
                 */
                setOperateOption(operateOption:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 获取单据内码
                 */
                getBillID():any;
                /**
                 * 设置服务自定义参数
                 */
                setCustomParamMap(customParamMap:$.java.util.Map):void;
                /**
                 * 获取操作自定义参数
                 */
                getOperateOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 获取服务自定义参数
                 */
                getCustomParamMap():$.java.util.Map;
                /**
                 * 设置单据内码
                 */
                setBillID(billID:any):void;
            }
            type AbstractAsyncMService_T = AbstractAsyncMService$ & IAsyncMService;
            interface AbstractAsyncMService extends AbstractAsyncMService_T {
            }
            interface IAsyncMService_S {
            }
            interface IAsyncMService_C extends IAsyncMService_S {
            }
            interface IAsyncMService$ {
                /**
                 * @function 执行具体业务逻辑
                 * @author   RD_riyi_zhang
                 * @date     2020/4/17 10:58
                 * @param
                 * @return   void
                 */
                execute():void;
            }
            type IAsyncMService_T = IAsyncMService$;
            interface IAsyncMService extends IAsyncMService_T {
            }
            interface AsyncOpBizRuleServiceMsgInfo_S {
            }
            type AsyncOpBizRuleServiceMsgInfo_ST = $.java.io.Serializable & AsyncOpBizRuleServiceMsgInfo_S;
            interface AsyncOpBizRuleServiceMsgInfo_C extends AsyncOpBizRuleServiceMsgInfo_ST {
                /**
                 * @function 构造消息实体
                 * @author   RD_riyi_zhang
                 * @date     2020/3/16 15:01
                 * @param operator 操作编码
                 * @param operator 操作服务标识
                 * @param opRuleName 操作服务名称
                 * @param entity 单据标识
                 * @return
                 */
                new(operator:string,operatorName:string,opRuleKey:string,opRuleName:string,entity:string):AsyncOpBizRuleServiceMsgInfo;
            }
            interface AsyncOpBizRuleServiceMsgInfo$ {
                setOperatorName(operatorName:string):void;
                setAppId(appId:string):void;
                getOpRuleName():string;
                getAsycParams():$.java.util.List;
                setOperator(operator:string):void;
                getServiceClassName():string;
                setAsycParams(asycParams:$.java.util.List):void;
                setReExecByLog(reExecByLog:boolean):void;
                getOperateOption():$.kd.bos.dataentity.OperateOption;
                setOperateOption(operateOption:$.kd.bos.dataentity.OperateOption):void;
                getAppId():string;
                setOpRuleName(opRuleName:string):void;
                getOperatorName():string;
                getOperator():string;
                getReExecByLog():boolean;
                setServiceClassName(serviceClassName:string):void;
                setEntity(entity:string):void;
                setOpRuleKey(opRuleKey:string):void;
                getEntity():string;
                getOpRuleKey():string;
                setMServiceParam(asycParams:$.java.util.List):void;
            }
            type AsyncOpBizRuleServiceMsgInfo_T = $.java.io.Serializable & AsyncOpBizRuleServiceMsgInfo$;
            interface AsyncOpBizRuleServiceMsgInfo extends AsyncOpBizRuleServiceMsgInfo_T {
            }
            interface AsyncServiceParam_S {
            }
            type AsyncServiceParam_ST = $.java.io.Serializable & AsyncServiceParam_S;
            interface AsyncServiceParam_C extends AsyncServiceParam_ST {
                new():AsyncServiceParam;
            }
            interface AsyncServiceParam$ {
            }
            type AsyncServiceParam_T = $.java.io.Serializable & AsyncServiceParam$;
            interface AsyncServiceParam extends AsyncServiceParam_T {
            }
        }
        namespace kd.bos.entity.operate.bizrule.asyncbizrule.enums{
            class AsyncStatusEnum {
                static readonly FINISHED:kd.bos.entity.operate.bizrule.asyncbizrule.enums.AsyncStatusEnum;
                static readonly UNFINISHED:kd.bos.entity.operate.bizrule.asyncbizrule.enums.AsyncStatusEnum;
                static values():kd.bos.entity.operate.bizrule.asyncbizrule.enums.AsyncStatusEnum[];
                static valueOf(arg0:string):kd.bos.entity.operate.bizrule.asyncbizrule.enums.AsyncStatusEnum;
                /**
                 * 设置value值
                 */
                setValue(value:string):void;
                /**
                 * 获取多语言描述
                 */
                getName():string;
                /**
                 * 获取value值
                 */
                getValue():string;
            }
        }
        namespace kd.bos.entity.operate.interaction{
            interface IInteractionRequest_S {
            }
            interface IInteractionRequest_C extends IInteractionRequest_S {
            }
            interface IInteractionRequest$ {
                /**
                 * 本次交互请求标识，区分发起请求的来源，各交互请求不重复
                 */
                getSponsor():string;
                /**
                 * 是否显示非交互消息：处理了交互之后，通常需要跳过非交互消息的显示
                 */
                setShowMessage(showMessage:boolean):void;
                /**
                 * 本次交互上下文，包含交互提示内容及交互界面参数
                 */
                getInteractionContext():InteractionContext;
                /**
                 * 操作校验提示集合
                 */
                getAllErrorOrValidateInfo():$.java.util.List;
                /**
                 * 添加一条普通的错误提示：同一个操作，出现了太多次交互后，为了避免死循环，会强制中止交互处理，给操作结果添加一条普通的错误提示
                 */
                addErrorInfo(operateInfo:kd.bos.entity.operate.result.OperateErrorInfo):void;
            }
            type IInteractionRequest_T = IInteractionRequest$;
            interface IInteractionRequest extends IInteractionRequest_T {
            }
            interface InteractionContext_S {
            }
            type InteractionContext_ST = $.java.io.Serializable & InteractionContext_S;
            interface InteractionContext_C extends InteractionContext_ST {
                new():InteractionContext;
            }
            interface InteractionContext$ {
                /**
                 * 是否指定了定制界面
                 *
                 * @return 是否制定了定制界面
                 */
                isShowCustForm():boolean;
                /**
                 * 获取指定显示的定制界面标识
                 *
                 * @return String
                 */
                getCustShowFormId():string;
                /**
                 * 获取简单交互信息(批量自定义消息时，此属性建议赋值，以便平台在批量操作时作简单提示)
                 *
                 * @return String
                 */
                getSimpleMessage():string;
                /**
                 * 设置简单交互信息(批量自定义消息时，此属性建议赋值，以便平台在批量操作时作简单提示)
                 *
                 * @param simpleMessage 简单信息
                 */
                setSimpleMessage(simpleMessage:string):void;
                /**
                 * 设置指定显示的定制界面标识
                 *
                 * @param custShowFormId 自定义表单标识
                 */
                setCustShowFormId(custShowFormId:string):void;
                /**
                 * 设置指定显示定制界面时，需要传入的界面参数
                 *
                 * @param custShowParameter 界面参数
                 */
                setCustShowParameter(custShowParameter:$.java.util.Map):void;
                /**
                 * 添加一条交互提示
                 *
                 * @param operateInfo 操作信息
                 */
                addOperateInfo(operateInfo:kd.bos.entity.operate.result.OperateErrorInfo):void;
                /**
                 * 获取指定显示定制界面时，需要传入的界面参数
                 *
                 * @return 定制界面参数
                 */
                getCustShowParameter():$.java.util.Map;
                /**
                 * 设置如果不需要指定定制界面，可以直接通过此属性，设置指定需要显示的消息
                 *
                 * @param custOperateInfos 操作错误信息
                 */
                setCustOperateInfos(custOperateInfos:$.java.util.List):void;
                /**
                 * 获取如果不需要指定定制界面，可以直接通过此属性，指定需要显示的消息
                 *
                 * @return 操作错误信息
                 */
                getCustOperateInfos():$.java.util.List;
            }
            type InteractionContext_T = $.java.io.Serializable & InteractionContext$;
            interface InteractionContext extends InteractionContext_T {
            }
            interface KDInteractionException_S {
            }
            type KDInteractionException_ST = KDInteractionException_S & kd.bos.exception.KDBizException_S;
            interface KDInteractionException_C extends KDInteractionException_ST {
                /**
                 * 交互错误：插件通过抛出交互错误，要求操作显示交互界面
                 *
                 * @param sponsor 本次交互的标识，由插件指定的固定值，不能与其他交互重复
                 * @param interactionContext 交互上下文，包含了交互提示内容等
                 */
                new(sponsor:string,interactionContext:InteractionContext):KDInteractionException;
            }
            interface KDInteractionException$ {
                /**
                 * 本次交互的唯一标识
                 * @return String
                 */
                getSponsor():string;
                /**
                 * 交互上下文，包含了交互提示内容等
                 * @return InteractionContext
                 */
                getInteractionContext():InteractionContext;
            }
            type KDInteractionException_T = KDInteractionException$ & kd.bos.exception.KDBizException;
            interface KDInteractionException extends KDInteractionException_T {
            }
            interface InteractionConfirmResult_S {
                /**
                 * 把字符串反序列化为本对象
                 *
                 * @param json json字符串
                 * @return 交互结果
                 */
                fromJsonString(json:string):InteractionConfirmResult;
            }
            interface InteractionConfirmResult_C extends InteractionConfirmResult_S {
                new():InteractionConfirmResult;
            }
            interface InteractionConfirmResult$ {
                /**
                 * 添加本次交互结果
                 *
                 * @param sponsor 本次交互标识sponsor，由插件自行指定与识别
                 * @param resultString 交互结果，如果是复杂对象，需要先自行序列化为字符串
                 */
                put(sponsor:string,resultString:string):void;
                /**
                 * 交互结果。操作支持多次交互，每次交互结果使用sponsor为key，存储在字典中
                 * @return 集合
                 */
                getResults():$.java.util.Map;
                /**
                 * 把本对象序列化为字符串
                 * @return String
                 */
                toJsonString():string;
            }
            type InteractionConfirmResult_T = InteractionConfirmResult$;
            interface InteractionConfirmResult extends InteractionConfirmResult_T {
            }
        }
        namespace kd.bos.entity.operate.result{
            interface OperateErrorInfo_S {
            }
            type OperateErrorInfo_ST = $.java.io.Serializable & OperateErrorInfo_S & OperateInfo_S;
            interface OperateErrorInfo_C extends OperateErrorInfo_ST {
                /**
                 * 构造函数
                 */
                new():OperateErrorInfo;
                /**
                 * 构造函数
                 * @param errorCode 错误码
                 * @param level 错误级别
                 * @param pkValue 单据内码
                 */
                new(errorCode:string,level:kd.bos.entity.validate.ErrorLevel,pkValue:any):OperateErrorInfo;
                /**
                 * 构造函数
                 * @param errorCode 错误码
                 * @param level 错误级别
                 * @param pkValue 单据内码
                 * @param entryId 分录内码
                 */
                new(errorCode:string,level:kd.bos.entity.validate.ErrorLevel,pkValue:any,entryId:any):OperateErrorInfo;
                /**
                 * 构造函数
                 * @param errorCode 错误码
                 * @param level 错误级别
                 * @param pkValue 单据内码
                 * @param entryId 分录内码
                 * @param detailId 子分录内码
                 */
                new(errorCode:string,level:kd.bos.entity.validate.ErrorLevel,pkValue:any,entryId:any,detailId:any):OperateErrorInfo;
            }
            interface OperateErrorInfo$ {
                /**
                 * 获取此条目的错误级别 toString()，用于序列化
                 */
                getErrorLevel():string;
                /**
                 * 获取错误定制信息，例如错误来源等；默认返回null，由错误源头灌入需向外传递的信息
                 * @return
                 */
                getErrorCustInfos():$.java.util.Map;
                /**
                 * 设置错误码
                 */
                setErrorCode(errorCode:string):void;
                /**
                 * 设置错误定制信息，由错误源头调用，灌入需向外传递的信息
                 * @param errorCustInfos
                 */
                setErrorCustInfos(errorCustInfos:$.java.util.Map):void;
                getLevel():kd.bos.entity.validate.ErrorLevel;
                /**
                 * 设置此条目的错误级别，不序列化
                 */
                setLevel(level:kd.bos.entity.validate.ErrorLevel):void;
                /**
                 * 设置此条目的错误级别 toString()，用于序列化
                 */
                setErrorLevel(errorLevel:string):void;
                /**
                 * 获取错误码
                 */
                getErrorCode():string;
            }
            type OperateErrorInfo_T = $.java.io.Serializable & OperateErrorInfo$ & OperateInfo;
            interface OperateErrorInfo extends OperateErrorInfo_T {
            }
            interface OperateResultInfo_S {
            }
            type OperateResultInfo_ST = $.java.io.Serializable & OperateInfo_S & OperateResultInfo_S;
            interface OperateResultInfo_C extends OperateResultInfo_ST {
                /**
                 * 空构造函数，用于反序列化调用
                 */
                new():OperateResultInfo;
                /**
                 * 有参构造
                 * @param pkValue pk
                 */
                new(pkValue:any):OperateResultInfo;
                /**
                 * 有参构造
                 * @param pkValue pk
                 * @param entryId 实体id
                 */
                new(pkValue:any,entryId:any):OperateResultInfo;
                /**
                 * 有参构造
                 * @param pkValue pk
                 * @param entryId 实体id
                 * @param detailId detailId
                 */
                new(pkValue:any,entryId:any,detailId:any):OperateResultInfo;
            }
            interface OperateResultInfo$ {
                /**
                 * 设置单据编号
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取单据编号
                 * @return
                 */
                getNumber():string;
                /**
                 * 操作业务对象的名称
                 * @return
                 */
                getName():string;
                /**
                 * pk是否为空
                 */
                isPkValueIsNullOrEmpty():boolean;
                /**
                 * 设置操作业务对象的名称
                 * @param name 名称
                 */
                setName(name:string):void;
            }
            type OperateResultInfo_T = $.java.io.Serializable & OperateInfo & OperateResultInfo$;
            interface OperateResultInfo extends OperateResultInfo_T {
            }
            interface OperateInfo_S {
            }
            type OperateInfo_ST = $.java.io.Serializable & IOperateInfo_S & OperateInfo_S;
            interface OperateInfo_C extends OperateInfo_ST {
                /**
                 * 构造函数
                 */
                new():OperateInfo;
                /**
                 * 构造函数
                 * @param pkValue
                 * @param entryId
                 * @param detailId
                 */
                new(pkValue:any,entryId:any,detailId:any):OperateInfo;
            }
            interface OperateInfo$ {
                /**
                 * 设置数据的对象的主键值（单据/基础资料主键值）
                 */
                setPkValue(pkValue:any):void;
                /**
                 * 获取单据顺序号：批量处理多张单据时，提示单据的位置
                 * @return
                 */
                getDataEntityIndex():number;
                /**
                 * 设置子单据体行号
                 */
                setSubRowIndex(subRowIndex:number):void;
                /**
                 * 获取单据体行号，用于给客户提示 （返回错误信息对应到哪个行上。如果是分录，对应到所在行号，如果是主表，总是0）
                 */
                getRowIndex():number;
                /**
                 * 获取子单据体行号
                 */
                getSubRowIndex():number;
                /**
                 * 设置提示信息所在的实体
                 * @param
                 */
                setEntityKey(entityKey:string):void;
                /**
                 * 设置单据顺序号：批量处理多张单据时，提示单据的位置
                 * @param
                 */
                setDataEntityIndex(dataEntityIndex:number):void;
                /**
                 * 设置单据体行号，用于给客户提示 （返回错误信息对应到哪个行上。如果是分录，对应到所在行号，如果是主表，总是0）
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 设置提示信息
                 */
                setMessage(message:string):void;
                /**
                 * 设置操作信息标题（返回信息关键字列内容）
                 */
                setTitle(title:string):void;
                /**
                 * 设置提示信息格式
                 */
                setPattern(pattern:string):void;
                /**
                 * 设置提示信息所在的字段
                 * @param
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 获取提示信息所在的字段
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 获取提示信息所在的实体
                 * @return
                 */
                getEntityKey():string;
                /**
                 * 获取提示信息格式
                 */
                getPattern():string;
            }
            type OperateInfo_T = $.java.io.Serializable & IOperateInfo & OperateInfo$;
            interface OperateInfo extends OperateInfo_T {
            }
            interface IOperateInfo_S {
            }
            interface IOperateInfo_C extends IOperateInfo_S {
            }
            interface IOperateInfo$ {
                /**
                 * 获取数据的对象的主键值
                 * @return
                 */
                getPkValue():any;
                /**
                 * 获取提示信息
                 * @return
                 */
                getMessage():string;
                /**
                 * 获取操作信息标题
                 * @return
                 */
                getTitle():string;
            }
            type IOperateInfo_T = IOperateInfo$;
            interface IOperateInfo extends IOperateInfo_T {
            }
            interface OperationResult_S {
            }
            type OperationResult_ST = $.java.io.Serializable & AbstractOperationResult_S & OperationResult_S & kd.bos.entity.operate.interaction.IInteractionRequest_S;
            interface OperationResult_C extends OperationResult_ST {
                new():OperationResult;
            }
            interface OperationResult$ {
                /**
                 * 设置交互请求标识，区分发起请求的来源，各交互请求不重复
                 */
                setSponsor(sponsor:string):void;
                /**
                 * 获取操作开始执行时间
                 *
                 * @return 日期
                 */
                getStartTime():Date;
                /**
                 * 获取操作运行时间（单位秒）
                 *
                 * @return 操作耗时
                 */
                getRunSecond():long;
                /**
                 * 设置校验结果
                 *
                 * @param validateResultCollection 校验结果集
                 */
                setValidateResult(validateResultCollection:kd.bos.entity.validate.ValidateResultCollection):void;
                /**
                 * 设置本次交互上下文，包含交互提示内容及交互界面参数
                 * @param interactionContext  交互上下文
                 */
                setInteractionContext(interactionContext:kd.bos.entity.operate.interaction.InteractionContext):void;
                /**
                 * 获取下推引擎，完成执行时间
                 *
                 * @return 完成时间
                 */
                getFinishedTime():Date;
                /**
                 * 合并子操作结果至当前操作
                 *
                 * @param subOpResult 子操作结果
                 */
                mergeSubOpResult(subOpResult:OperationResult):void;
                /**
                 * 获取校验结果
                 *
                 * @return 校验结果集
                 */
                getValidateResult():kd.bos.entity.validate.ValidateResultCollection;
                /**
                 * 设置自定义信息
                 * @param customData 自定义信息
                 */
                setCustomData(customData:$.java.util.Map):void;
                /**
                 * 获取操作结果展示表单
                 * 当设置了操作结果提示信息和展示表单，操作完毕，打开该表单显示结果
                 * @return
                 */
                getCustShowFormId():string;
                /**
                 * 自定义信息
                 * @return
                 */
                getCustomData():$.java.util.Map;
                /**
                 * 设置操作开始执行时间
                 * @param startTime 开始时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置操作结果展示表单(模态打开)
                 * 当设置了操作结果提示信息和展示表单，操作完毕，打开该表单显示结果
                 * 注意事项：  1. 表单自定义参数通过结果 customData 传递 （FormShowParameter.getCustomParam("customData")）
                 *           2. 该优先级高于交互信息InteractionContext
                 *           3. 设定弹出自定义页面不会执行成功后下一操作（如提交后关闭，保存后提交等），该场景多适用于操作失败自定义反馈场景
                 *
                 * @param custShowFormId 表单编码
                 */
                setCustShowFormId(custShowFormId:string):void;
                /**
                 * 合并操作结果，把其他操作结果，合并到当前对象中
                 * customParam以覆盖的方式加入，需注意不要重复
                 * @param opResult 操作结果
                 */
                mergeOperateResult(opResult:OperationResult):void;
                /**
                 * 设置下推引擎，完成执行时间
                 * @param finishedTime 完成时间
                 */
                setFinishedTime(finishedTime:Date):void;
            }
            type OperationResult_T = $.java.io.Serializable & AbstractOperationResult & OperationResult$ & kd.bos.entity.operate.interaction.IInteractionRequest;
            interface OperationResult extends OperationResult_T {
            }
        }
        namespace kd.bos.entity.param{
            interface ParamRow_S {
            }
            interface ParamRow_C extends ParamRow_S {
                /**
                 * 默认构造函数
                 */
                new():ParamRow;
                /**
                 * 构造函数，用于创建带有参数键、值和锁定状态的参数行对象
                 *
                 * @param key 参数的键对象
                 * @param value 参数的值
                 * @param isLock 是否锁定的标志
                 */
                new(key:ParamKey,value:any,isLock:boolean):ParamRow;
                /**
                 * 构造函数，用于创建带有参数键、值、锁定状态和同步状态的参数行对象
                 *
                 * @param key 参数的键对象
                 * @param value 参数的值
                 * @param isLock 是否锁定的标志
                 * @param sync 是否同步的标志
                 */
                new(key:ParamKey,value:any,isLock:boolean,sync:boolean):ParamRow;
            }
            interface ParamRow$ {
                /**
                 * 获取是否锁定的标志
                 *
                 * @return 是否锁定
                 */
                isLock():boolean;
                /**
                 * 获取参数的值
                 *
                 * @return 参数的值
                 */
                getValue():any;
                /**
                 * 获取参数的键对象
                 *
                 * @return 参数的键
                 */
                getKey():ParamKey;
                /**
                 * 设置参数的键对象
                 *
                 * @param key 参数的键
                 */
                setKey(key:ParamKey):void;
                /**
                 * 获取是否同步的标志
                 *
                 * @return 是否同步
                 */
                isSync():boolean;
                /**
                 * 设置是否锁定的标志
                 *
                 * @param lock 是否锁定
                 */
                setLock(lock:boolean):void;
                /**
                 * 设置是否同步的标志
                 *
                 * @param sync 是否同步
                 */
                setSync(sync:boolean):void;
                /**
                 * 设置参数的值
                 *
                 * @param value 参数的值
                 */
                setValue(value:any):void;
            }
            type ParamRow_T = ParamRow$;
            interface ParamRow extends ParamRow_T {
            }
            interface OverallParam_S {
            }
            interface OverallParam_C extends OverallParam_S {
                /**
                 * 签名受控组织
                 */
                new():OverallParam;
            }
            interface OverallParam$ {
                /**
                 * 设置是否开启签名受控组织
                 * @param isEnableSignOrg 是否开启签名受控组织
                 */
                setEnableSignOrg(isEnableSignOrg:boolean):void;
                /**
                 * 是否开启签名受控组织
                 * @return 是否开启签名受控组织
                 */
                isEnableSignOrg():boolean;
            }
            type OverallParam_T = OverallParam$;
            interface OverallParam extends OverallParam_T {
            }
            interface FuzzySearch_S {
                readonly NO:string;
            }
            interface FuzzySearch_C extends FuzzySearch_S {
                /**
                 * 默认构造函数
                 */
                new():FuzzySearch;
                /**
                 * 构造函数
                 *
                 * @param comboListFields 模糊查询列头字段
                 * @param searchFields    查询字段
                 */
                new(comboListFields:$.java.util.List,searchFields:$.java.util.List):FuzzySearch;
                /**
                 * 构造函数
                 *
                 * @param pageSize        分页大小
                 * @param comboListFields 模糊查询列头字段
                 * @param searchFields    查询字段
                 */
                new(pageSize:number,comboListFields:$.java.util.List,searchFields:$.java.util.List):FuzzySearch;
            }
            interface FuzzySearch$ {
                /**
                 * 设置F7全名的标志位
                 *
                 * @param f7FullName 一个布尔值，用于指示是否使用F7全名
                 */
                setF7FullName(f7FullName:boolean):void;
                /**
                 * 设置查询字段
                 *
                 * @param searchFields 查询字段
                 */
                setSearchFields(searchFields:$.java.util.List):void;
                /**
                 * 设置分页大小
                 *
                 * @param pageSize 分页大小
                 */
                setPageSize(pageSize:number):void;
                /**
                 * 设置模糊查询列头字段
                 *
                 * @param comboListFields 模糊查询列头字段
                 */
                setComboListFields(comboListFields:$.java.util.List):void;
                /**
                 * 获取分页大小
                 *
                 * @return 分页大小
                 */
                getPageSize():number;
                /**
                 * 获取查询字段
                 *
                 * @return 查询字段
                 */
                getSearchFields():$.java.util.List;
                /**
                 * 获取模糊查询排序方式
                 * @return 模糊查询排序方式
                 */
                getSortOrder():string;
                /**
                 * 获取模糊查询列头字段
                 *
                 * @return 模糊查询列头字段
                 */
                getComboListFields():$.java.util.List;
                /**
                 * 设置模糊查询排序方式
                 * @param sortOrder 模糊查询排序方式
                 */
                setSortOrder(sortOrder:string):void;
                /**
                 * 设置默认排序标志位
                 * @param defaultSort 默认排序标志位
                 */
                setDefaultSort(defaultSort:boolean):void;
            }
            type FuzzySearch_T = FuzzySearch$;
            interface FuzzySearch extends FuzzySearch_T {
            }
            interface AppParam_S {
            }
            interface AppParam_C extends AppParam_S {
                /**
                 * 默认构造函数
                 */
                new():AppParam;
                /**
                 * 构造函数
                 * @param appId 应用ID
                 * @param orgId 组织
                 */
                new(appId:string,orgId:long):AppParam;
                /**
                 * 构造函数
                 * @param appId 应用ID
                 * @param orgId 组织
                 * @param actBookId 账簿
                 */
                new(appId:string,orgId:long,actBookId:long):AppParam;
                /**
                 * 构造函数
                 * @param appId 应用ID
                 * @param viewType 职能类型
                 * @param orgId 组织
                 * @param actBookId 账簿
                 */
                new(appId:string,viewType:string,orgId:long,actBookId:long):AppParam;
                /**
                 * 构造函数
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param viewType 职能类型
                 * @param orgIds 组织列表
                 * @param actBookId 账簿
                 * @param acctingBookId 会计账簿
                 */
                new(cloudId:string,appId:string,viewType:string,orgIds:$.java.util.List,actBookId:long,acctingBookId:long):AppParam;
                /**
                 * 构造函数
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param viewType 职能类型
                 * @param orgId 组织
                 * @param actBookId 账簿
                 * @param acctingBookId 会计账簿
                 */
                new(cloudId:string,appId:string,viewType:string,orgId:long,actBookId:long,acctingBookId:long):AppParam;
            }
            interface AppParam$ {
                /**
                 * 获取子系统
                 * @return 子系统
                 */
                getSubSystem():string;
                /**
                 * 获取云ID
                 * @return 云ID
                 */
                getCloudId():string;
                /**
                 * 设置账簿
                 * @param actBookId 账簿
                 */
                setActBookId(actBookId:long):void;
                /**
                 * 获取参数表单Id
                 * @param formId 参数表单Id
                 */
                setFormId(formId:string):void;
                /**
                 * 设置云ID
                 * @param cloudId 云ID
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 获取参数表单Id
                 * @return 参数表单Id
                 */
                getFormId():string;
                /**
                 * 设置职能类型
                 * @param viewType 职能类型
                 */
                setViewType(viewType:string):void;
                /**
                 * 获取账簿
                 * @return 账簿
                 */
                getActBookId():long;
                /**
                 * 获取集团管控字段
                 * @return 集团管控字段
                 */
                getGcFields():$.java.util.List;
                /**
                 * 设置子系统
                 * @param subSystem 子系统
                 */
                setSubSystem(subSystem:string):void;
                /**
                 * 获取组织
                 * @return 组织
                 */
                getOrgId():long;
                /**
                 * 设置会计账簿
                 * @param acctingBookId 会计账簿
                 */
                setAcctingBookId(acctingBookId:long):void;
                /**
                 * 获取职能类型
                 * @return 职能类型
                 */
                getViewType():string;
                /**
                 * 获取会计账簿
                 * @return 会计账簿
                 */
                getAcctingBookId():long;
                /**
                 * 获取参数发布平台Id
                 * @return 参数发布平台Id
                 */
                getParamId():string;
                /**
                 * 获取应用ID
                 * @return 应用ID
                 */
                getAppId():string;
                /**
                 * 设置组织列表
                 * @param orgIds 组织列表
                 */
                setOrgIds(orgIds:$.java.util.List):void;
                /**
                 * 设置应用ID
                 * @param appId 应用ID
                 */
                setAppId(appId:string):void;
                /**
                 * 获取组织列表
                 * @return 组织列表
                 */
                getOrgIds():$.java.util.List;
                /**
                 * 设置组织
                 * @param orgId 组织
                 */
                setOrgId(orgId:long):void;
                /**
                 * 设置参数发布平台Id
                 * @param paramId 参数发布平台Id
                 */
                setParamId(paramId:string):void;
                /**
                 * 设置集团管控字段
                 * @param gcFields 集团管控字段
                 */
                setGcFields(gcFields:$.java.util.List):void;
            }
            type AppParam_T = AppParam$;
            interface AppParam extends AppParam_T {
            }
            interface CustomParam_S {
            }
            type CustomParam_ST = $.java.io.Serializable & CustomParam_S;
            interface CustomParam_C extends CustomParam_ST {
                /**
                 * 默认构造函数
                 */
                new():CustomParam;
                /**
                 * 构造函数
                 *
                 * @param searchKeySet 查询key集合
                 */
                new(searchKeySet:$.java.util.Set):CustomParam;
            }
            interface CustomParam$ {
                /**
                 * 获取参数分组,即指定分组key.
                 *
                 * @return 参数分组,即指定分组key.
                 */
                getGroupNumber():string;
                /**
                 * 设置参数分组,即指定分组key.
                 *
                 * @param groupNumber 参数分组,即指定分组key.
                 */
                setGroupNumber(groupNumber:string):void;
                /**
                 * 设置查询key集合
                 *
                 * @param searchKeySet 查询key集合
                 */
                setSearchKeySet(searchKeySet:$.java.util.Set):void;
                /**
                 * 获取查询key集合
                 *
                 * @return 查询key集合
                 */
                getSearchKeySet():$.java.util.Set;
            }
            type CustomParam_T = $.java.io.Serializable & CustomParam$;
            interface CustomParam extends CustomParam_T {
            }
            interface BillParam_S {
            }
            type BillParam_ST = $.java.io.Serializable & BillParam_S;
            interface BillParam_C extends BillParam_ST {
                /**
                 * 构造方法
                 */
                new():BillParam;
            }
            interface BillParam$ {
                /**
                 * 获取整体参数
                 * @return 整体参数
                 */
                getOverallParam():OverallParam;
                /**
                 * 设置模糊查询参数
                 * @param fuzzySearch 模糊查询参数
                 */
                setFuzzySearch(fuzzySearch:FuzzySearch):void;
                /**
                 * 设置移动端单据列表F7配置
                 * @param mobileListF7Config 移动端单据列表F7配置
                 */
                setMobileListF7Config(mobileListF7Config:MobileListF7Config):void;
                /**
                 * 设置整体参数
                 * @param overallParam 整体参数
                 */
                setOverallParam(overallParam:OverallParam):void;
                /**
                 * 获取模糊查询参数
                 * @return 模糊查询参数
                 */
                getFuzzySearch():FuzzySearch;
                /**
                 * 获取移动端单据列表F7配置
                 * @return 移动端单据列表F7配置
                 */
                getMobileListF7Config():MobileListF7Config;
            }
            type BillParam_T = $.java.io.Serializable & BillParam$;
            interface BillParam extends BillParam_T {
            }
            interface ParamOperationResult_S {
            }
            interface ParamOperationResult_C extends ParamOperationResult_S {
                /**
                 * 默认构造方法
                 */
                new():ParamOperationResult;
                /**
                 * 构造方法
                 * @param success 操作结果
                 */
                new(success:boolean):ParamOperationResult;
                /**
                 * 构造方法
                 * @param messeage 提示信息
                 * @param success 操作结果
                 */
                new(messeage:string,success:boolean):ParamOperationResult;
            }
            interface ParamOperationResult$ {
                /**
                 * 获取操作结果
                 * @return 操作结果
                 */
                isSuccess():boolean;
                /**
                 * 设置提示信息
                 * @param messeage 提示信息
                 */
                setMesseage(messeage:string):void;
                /**
                 * 设置操作结果
                 * @param success 操作结果
                 */
                setSuccess(success:boolean):void;
                /**
                 * 获取提示信息
                 * @return 提示信息
                 */
                getMesseage():string;
            }
            type ParamOperationResult_T = ParamOperationResult$;
            interface ParamOperationResult extends ParamOperationResult_T {
            }
            interface ParamPublishObject_S {
            }
            interface ParamPublishObject_C extends ParamPublishObject_S {
                /**
                 * 默认构造函数
                 */
                new():ParamPublishObject;
                /**
                 * 构造函数，用于创建带有选择字段的参数查询对象
                 *
                 * @param selectedFields 选择的字段
                 */
                new(selectedFields:string):ParamPublishObject;
                /**
                 * 构造函数，用于创建带有ID、云ID、表单ID和应用ID的参数查询对象
                 *
                 * @param id 参数的唯一标识符
                 * @param formId 表单的唯一标识符
                 * @param cloudId 云服务的唯一标识符
                 * @param appId 应用的唯一标识符
                 */
                new(id:string,formId:string,cloudId:string,appId:string):ParamPublishObject;
                /**
                 * 构造函数，用于创建带有云ID、表单ID、应用ID和是否启用实际账本的参数查询对象
                 *
                 * @param cloudId 云服务的唯一标识符
                 * @param formId 表单的唯一标识符
                 * @param appId 应用的唯一标识符
                 * @param actBookEnable 是否启用实际账本
                 */
                new(cloudId:string,formId:string,appId:string,actBookEnable:boolean):ParamPublishObject;
            }
            interface ParamPublishObject$ {
                /**
                 * 获取选择的字段
                 *
                 * @return 选择的字段
                 */
                getSelectedFields():string;
                /**
                 * 设置云服务的唯一标识符
                 *
                 * @param cloudId 云服务的ID
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 设置参数的唯一标识符
                 *
                 * @param id 参数的ID
                 */
                setId(id:string):void;
                /**
                 * 设置应用的唯一标识符
                 *
                 * @param appId 应用的ID
                 */
                setAppId(appId:string):void;
                /**
                 * 设置是否启用实际账本的标志
                 *
                 * @param actBookEnable 是否启用实际账本
                 */
                setActBookEnable(actBookEnable:boolean):void;
                /**
                 * 获取应用的唯一标识符
                 *
                 * @return 应用的ID
                 */
                getAppId():string;
                /**
                 * 设置选择的字段
                 *
                 * @param selectedFields 选择的字段
                 */
                setSelectedFields(selectedFields:string):void;
                /**
                 * 设置表单的唯一标识符
                 *
                 * @param formId 表单的ID
                 */
                setFormId(formId:string):void;
                /**
                 * 获取参数的唯一标识符
                 *
                 * @return 参数的ID
                 */
                getId():string;
                /**
                 * 获取云服务的唯一标识符
                 *
                 * @return 云服务的ID
                 */
                getCloudId():string;
                /**
                 * 获取是否启用实际账本的标志
                 *
                 * @return 是否启用实际账本
                 */
                isActBookEnable():boolean;
                /**
                 * 获取表单的唯一标识符
                 *
                 * @return 表单的ID
                 */
                getFormId():string;
            }
            type ParamPublishObject_T = ParamPublishObject$;
            interface ParamPublishObject extends ParamPublishObject_T {
            }
            interface MobileListF7Config_S {
            }
            interface MobileListF7Config_C extends MobileListF7Config_S {
                /**
                 * 移动端F7列表配置
                 */
                new():MobileListF7Config;
                /**
                 * 移动端F7列表配置
                 * @param isEnabled 是否开启
                 */
                new(isEnabled:boolean):MobileListF7Config;
            }
            interface MobileListF7Config$ {
                /**
                 * 主标题
                 *
                 * @return 主标题
                 */
                getPrimaryField():string;
                /**
                 * 副标题
                 *
                 * @return 副标题
                 */
                getSecondField():string;
                /**
                 * 是否开启树形列表
                 * @return 是否开启树形列表
                 */
                isEnabledTree():boolean;
                /**
                 * 设置主标题
                 * @param primaryField 主标题
                 */
                setPrimaryField(primaryField:string):void;
                /**
                 * 设置副标题
                 * @param secondField 副标题
                 */
                setSecondField(secondField:string):void;
                /**
                 * 设置图标
                 * @param iconField 图标
                 */
                setIconField(iconField:string):void;
                /**
                 * 设置是否开启树形列表
                 * @param isEnabledTree 是否开启树形列表
                 */
                setEnabledTree(isEnabledTree:boolean):void;
                /**
                 * 图标
                 *
                 * @return 图标
                 */
                getIconField():string;
            }
            type MobileListF7Config_T = MobileListF7Config$;
            interface MobileListF7Config extends MobileListF7Config_T {
            }
            interface ShowColumn_S {
            }
            type ShowColumn_ST = $.java.io.Serializable & ShowColumn_S;
            interface ShowColumn_C extends ShowColumn_ST {
                /**
                 * 默认构造函数
                 */
                new():ShowColumn;
                /**
                 * 构造函数，用于创建带有列ID和标题的列头对象
                 *
                 * @param id 列的ID
                 * @param caption 列的标题
                 */
                new(id:string,caption:string):ShowColumn;
                /**
                 * 构造函数，用于创建带有列ID、标题和宽度的列头对象，并设置可见性为true
                 *
                 * @param id 列的ID
                 * @param caption 列的标题
                 * @param width 列的宽度
                 */
                new(id:string,caption:string,width:number):ShowColumn;
                /**
                 * 构造函数，用于创建带有列ID、标题和可见性的列头对象
                 *
                 * @param id 列的ID
                 * @param caption 列的标题
                 * @param visible 列是否可见
                 */
                new(id:string,caption:string,visible:boolean):ShowColumn;
                /**
                 * 构造函数，用于创建带有列ID、标题、宽度和可见性的列头对象
                 *
                 * @param id 列的ID
                 * @param caption 列的标题
                 * @param width 列的宽度
                 * @param visible 列是否可见
                 */
                new(id:string,caption:string,width:number,visible:boolean):ShowColumn;
            }
            interface ShowColumn$ {
                /**
                 * 获取列的ID
                 *
                 * @return 列的ID
                 */
                getId():string;
                /**
                 * 获取列的标题
                 *
                 * @return 列的标题
                 */
                getCaption():string;
                /**
                 * 获取列的宽度
                 *
                 * @return 列的宽度
                 */
                getWidth():number;
                /**
                 * 设置列的宽度
                 *
                 * @param width 列的宽度
                 */
                setWidth(width:number):void;
                /**
                 * 设置列是否可见的标志
                 *
                 * @param visible 列是否可见
                 */
                setVisible(visible:boolean):void;
                /**
                 * 设置列的ID
                 *
                 * @param id 列的ID
                 */
                setId(id:string):void;
                /**
                 * 获取列是否可见的标志
                 *
                 * @return 列是否可见
                 */
                isVisible():boolean;
                /**
                 * 设置列的标题
                 *
                 * @param caption 列的标题
                 */
                setCaption(caption:string):void;
            }
            type ShowColumn_T = $.java.io.Serializable & ShowColumn$;
            interface ShowColumn extends ShowColumn_T {
            }
            interface AppCustomParam_S {
            }
            type AppCustomParam_ST = $.java.io.Serializable & AppCustomParam_S;
            interface AppCustomParam_C extends AppCustomParam_ST {
                /**
                 * 构造函数
                 */
                new():AppCustomParam;
                /**
                 * 构造函数
                 * @param appId 应用参数中的appId
                 */
                new(appId:string):AppCustomParam;
                /**
                 * 构造函数
                 * @param appId 应用参数中的appId
                 * @param keySet 查询key集合
                 */
                new(appId:string,keySet:$.java.util.Set):AppCustomParam;
            }
            interface AppCustomParam$ {
                /**
                 * 设置查询key集合
                 * @param searchKeySet 查询key集合
                 */
                setSearchKeySet(searchKeySet:$.java.util.Set):void;
                /**
                 * 设置appId
                 * @param appId 应用参数中的appId
                 */
                setAppId(appId:string):void;
                /**
                 * 获取查询key集合
                 * @return 查询key集合
                 */
                getSearchKeySet():$.java.util.Set;
                /**
                 * 获取appId
                 * @return appId
                 */
                getAppId():string;
            }
            type AppCustomParam_T = $.java.io.Serializable & AppCustomParam$;
            interface AppCustomParam extends AppCustomParam_T {
            }
            interface ParamKey_S {
            }
            interface ParamKey_C extends ParamKey_S {
                /**
                 * 构造参数标识
                 */
                new():ParamKey;
                /**
                 * 构造参数标识
                 * @param param 参数标识
                 * @param orgId 构造参数标识
                 */
                new(param:string,orgId:long):ParamKey;
            }
            interface ParamKey$ {
                /**
                 * 设置参数标识
                 * @param param 参数标识
                 */
                setParam(param:string):void;
                /**
                 * 获取参数标识
                 * @return 参数标识
                 */
                getParam():string;
                /**
                 * 获取组织id
                 * @return 组织id
                 */
                getOrgId():long;
                /**
                 * 设置组织id
                 * @param orgId 组织id
                 */
                setOrgId(orgId:long):void;
            }
            type ParamKey_T = ParamKey$;
            interface ParamKey extends ParamKey_T {
            }
            interface ShowContentParam_S {
            }
            type ShowContentParam_ST = $.java.io.Serializable & ShowContentParam_S;
            interface ShowContentParam_C extends ShowContentParam_ST {
                new():ShowContentParam;
                new(arg0:boolean,arg1:boolean,arg2:boolean):ShowContentParam;
            }
            interface ShowContentParam$ {
                setPreSaleOnlineConsultation(arg0:boolean):void;
                isCallK():boolean;
                isComment():boolean;
                isRobertNumber():boolean;
                isOpenYzj():boolean;
                setPreSaleHotline(arg0:boolean):void;
                setOpenYzj(arg0:boolean):void;
                setComment(arg0:boolean):void;
                setRobertNumber(arg0:boolean):void;
                isPreSaleOnlineConsultation():boolean;
                setCallK(arg0:boolean):void;
                isBillOfLadingFeedback():boolean;
                isPreSaleHotline():boolean;
                setBillOfLadingFeedback(arg0:boolean):void;
            }
            type ShowContentParam_T = $.java.io.Serializable & ShowContentParam$;
            interface ShowContentParam extends ShowContentParam_T {
            }
        }
        namespace kd.bos.entity.plugin{
            interface IOperationServicePlugIn_S {
            }
            interface IOperationServicePlugIn_C extends IOperationServicePlugIn_S {
            }
            interface IOperationServicePlugIn$ {
                /**
                 * 注册操作校验器事件
                 * 通过此事件，通知插件进行添加自定义数据校验器：{@link kd.bos.entity.validate.AbstractValidator}的子类
                 * <p>
                 * 示例：
                 * <pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void onAddValidators(AddValidatorsEventArgs e) {
                 *         e.addValidator(new DemoValidator());
                 *     }
                 * }
                 * }</pre>
                 *
                 * @param e 事件参数，含已注册的操作校验器集合
                 */
                onAddValidators(e:AddValidatorsEventArgs):void;
                /**
                 * 设置进度控制接口实例
                 * 本方法由操作引擎调用，传入操作进度控制接口实例变量
                 * 插件基类{@link AbstractOperationServicePlugIn}已实现此方法，把收到的变量放在本地
                 *
                 * @param progress 进度
                 */
                setOperateProgress(progress:kd.bos.entity.operate.OperateProgress):void;
                /**
                 * 操作处理失败，回滚事务时触发此事件
                 * 该方法在事务异常后执行，供业务在此对没有事务保护的数据更新进行补偿。
                 * <p>
                 * 示例<pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void rollbackOperation(RollbackOperationArgs e) {
                 *         // 处理业务逻辑
                 *     }
                 * }}</pre>
                 *
                 * @param e 事件参数
                 */
                rollbackOperation(e:kd.bos.entity.plugin.args.RollbackOperationArgs):void;
                /**
                 * 获取插件名
                 *
                 * @return
                 */
                getPluginName():string;
                /**
                 * 执行操作校验前触发此事件
                 * 插件可在此事件，设置校验提示的前缀，默认是以单据编号为提示前缀，插件可以设置按其他字段值做提示前缀
                 *
                 * @param validatePrefixArgs 事件参数，插件通过此参数设置作为提示前缀的字段名
                 */
                validatePrefix(validatePrefixArgs:kd.bos.entity.plugin.args.ValidatePrefixArgs):void;
                /**
                 * 设置插件的名称
                 *
                 * @param name 插件名称
                 */
                setPluginName(name:string):void;
                /**
                 * 操作结束时触发此事件
                 * 操作服务执行完毕，准备返回操作结果之前触发此事件
                 * 无论操作是否成功，都会触发此事件
                 * 允许插件基于操作结果进行后续处理，或者修改操作结果提示，释放资源
                 * <p>
                 * 示例<pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *      @Override
                 *      public void rollbackOperation(RollbackOperationArgs e) {
                 *          // 处理业务逻辑
                 *      }
                 * }}</pre>
                 *
                 * @param e 参数
                 */
                onReturnOperation(e:kd.bos.entity.plugin.args.ReturnOperationArgs):void;
                /**
                 * 初始化事件
                 * 在操作正式执行前触发
                 *
                 * @param e 初始化操作事件
                 */
                initialize(e:kd.bos.entity.plugin.args.InitOperationArgs):void;
                /**
                 * 预指定加载字段事件
                 * 在操作正式执行时，准备加载待处理的单据数据包前触发
                 * 在单据上执行保存、提交、审核操作时，直接把界面上的数据包传入操作服务，操作引擎不需要再加载数据包，不会触发此事件
                 * 在单据上执行其他操作，或在列表上执行操作时会触发此事件：调用操作只传入了单据内码，需由操作引擎自行加载数据包
                 * 默认是按需加载，只加载了最少量的字段。插件要用到的字段，必须通过本事件指定，否则后续插件到数据包取字段值时，会报找不到字段的异常
                 * <p>
                 * 示例：<pre> {@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void onPreparePropertys(PreparePropertysEventArgs e) {
                 *         e.getFieldKeys().add("billno");
                 *     }
                 * }
                 * }</pre>
                 *
                 * @param e 事件参数，含需加载的字段集合
                 */
                onPreparePropertys(e:PreparePropertysEventArgs):void;
                /**
                 * 设置操作结果对象
                 * 本方法由操作引擎调用，传入已初始化的操作结果对象
                 * 插件基类{@link AbstractOperationServicePlugIn}已实现此方法，把收到的变量放在本地
                 */
                initializeOperationResult(result:kd.bos.entity.operate.result.OperationResult):void;
                /**
                 * 操作校验通过，开启事务前触发此事件
                 * 通知插件在事务开启前，对要处理的数据进行预处理
                 * 数据处理的逻辑推荐放在事务外进行，在事务中，则只需要把已处理好的数据，更新到数据库。从而避免拉长事务占用时间，造成性能瓶颈
                 * 本事件参数只含已通过校验的单据，未通过校验的单据已被剔除；如果没有任何单据通过校验，则直接结束操作，不会进入此事件
                 * <p>
                 * 示例<pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
                 *         // 处理业务逻辑
                 *     }
                 * }
                 * }</pre>
                 *
                 * @param e 事件参数，内含已通过校验的单据数据包
                 */
                beforeExecuteOperationTransaction(e:kd.bos.entity.plugin.args.BeforeOperationArgs):void;
                /**
                 * 调用操作事务结束（事务内）
                 * 触发此事件时，操作引擎已把单据数据更新到了数据库，但事务还未提交
                 * <p>
                 * 示例<pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void endOperationTransaction(EndOperationTransactionArgs e) {
                 *          // 处理业务逻辑
                 *     }
                 * }}</pre>
                 *
                 * @param e 事件参数
                 */
                endOperationTransaction(e:kd.bos.entity.plugin.args.EndOperationTransactionArgs):void;
                /**
                 * 本插件是否已支持单据体分页加载模式？
                 * <p>
                 * 超级大单执行操作时，单据体行数非常庞大，最优方案是分页加载：只加载少量单据体行
                 * 分批后，当前内存中只有一页分录行数据，插件如果要对全部行进行处理，必须考虑到有些行还没有加载，需要调整实现逻辑，自行访问数据库读取其余的行
                 * 如果本插件已对单据体分页加载模式进行了针对性的处理，或不涉及单据体行运算，可重写此方法，返回true；
                 * 默认返回false，操作引擎在遇到大单分页时，自动略过本插件，不执行本插件的逻辑
                 *
                 * @return 默认返回false，插件可重写此方法，返回true；
                 */
                isSupportSplitPageMode():boolean;
                /**
                 * 调用操作事务开始（事务内）
                 * 触发此事件时，操作引擎还未把单据数据更新到数据库
                 * <p>
                 * 示例<pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void beginOperationTransaction(BeginOperationTransactionArgs e) {
                 *          // 处理业务逻辑
                 *     }
                 * }
                 * }</pre>
                 *
                 * @param e 事件参数，内含待更新到数据库的单据
                 */
                beginOperationTransaction(e:kd.bos.entity.plugin.args.BeginOperationTransactionArgs):void;
                /**
                 * 操作事务提交后触发此事件
                 * 执行操作事务后的逻辑处理,后续事情不影响当前操作事务的可以放在此处理
                 * <p>
                 * 示例<pre>{@code
                 * public class DemoOpServicePlugin extends AbstractOperationServicePlugIn {
                 *     @Override
                 *     public void afterExecuteOperationTransaction(AfterOperationArgs e)
                 *         // 处理业务逻辑
                 *     }
                 * }}</pre>
                 *
                 * @param e 事件参数
                 */
                afterExecuteOperationTransaction(e:kd.bos.entity.plugin.args.AfterOperationArgs):void;
                /**
                 * 获取操作可选参数包
                 * 插件基类{@link AbstractOperationServicePlugIn}已实现了此方法，返回本地的参数包变量
                 * <p>
                 * 使用示例：
                 * {@code String opVal = this.getOption().getVariableValue(name, defVal); }
                 *
                 * @return 操作可选参数包
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 获取进度控制接口实例
                 * 插件基类{@link AbstractOperationServicePlugIn}已实现此方法，返回本地的进度控制接口实例
                 * <p>
                 * 使用示例
                 * {@code this.getOperateProgress().feedbackProgress("当前正在进行...."); }
                 *
                 * @return 操作进度控制接口
                 */
                getOperateProgress():kd.bos.entity.operate.OperateProgress;
                /**
                 * 设置上下文
                 * 本方法由操作引擎调用，传入操作执行上下文信息
                 * 插件基类{@link AbstractOperationServicePlugIn}已实现此方法，把收到的方法放在本地
                 *
                 * @param billEntityType 单据主实体
                 * @param operateMeta    操作元数据
                 * @param option         自定义参数
                 */
                setContext(billEntityType:MainEntityType,operateMeta:$.java.util.Map,option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 操作完成，保存审计日志前触发此事件
                 * 单据设置了监控字段变动清单后，会在操作完成时，记录这些字段的值变化，以供后续审计
                 * 本事件在保存审计日志之前触发，供插件修改审计日志内容
                 *
                 * @param e 事件参数，含审计日志内容
                 */
                beforeSaveAuditLog(e:kd.bos.entity.plugin.args.BeforeSaveAuditLogArg):void;
            }
            type IOperationServicePlugIn_T = IOperationServicePlugIn$;
            interface IOperationServicePlugIn extends IOperationServicePlugIn_T {
            }
            interface IOperationService_S {
            }
            interface IOperationService_C extends IOperationService_S {
            }
            interface IOperationService$ {
                /**
                 * 获取操作的单据数据包。
                 * 此方法当前实际返回null，需要通过具体的事件参数中获取操作的单据数据包
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 设置单据操作执行结果对象。
                 * 此方法当前未被调用，未传入操作结果对象给插件
                 *
                 * @param operationResult 操作执行结果
                 */
                setOperationResult(operationResult:kd.bos.entity.operate.result.OperationResult):void;
                /**
                 * 获取操作上下文对象，其中包含了操作元数据等信息
                 */
                getOperationContext():kd.bos.entity.operate.OperationContext;
                /**
                 * 设置操作上下文对象。
                 * 此方法当前未被调用，未传入操作上下文对象给插件
                 */
                setOperationContext(operationContext:kd.bos.entity.operate.OperationContext):void;
                /**
                 * 设置操作的单据数据包。
                 * 此方法当前未被调用，未传入单据数据包给插件
                 *
                 * @param dataEntities 单据数据包
                 */
                setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 获取操作执行结果对象，其中包含了操作异常提示信息
                 */
                getOperationResult():kd.bos.entity.operate.result.OperationResult;
            }
            type IOperationService_T = IOperationService$;
            interface IOperationService extends IOperationService_T {
            }
            interface AbstractDataModelPlugin_S {
            }
            type AbstractDataModelPlugin_ST = AbstractDataModelPlugin_S & kd.bos.entity.datamodel.events.IDataModelChangeListener_S & kd.bos.entity.datamodel.events.IDataModelListener_S;
            interface AbstractDataModelPlugin_C extends AbstractDataModelPlugin_ST {
                new():AbstractDataModelPlugin;
            }
            interface AbstractDataModelPlugin$ {
            }
            type AbstractDataModelPlugin_T = AbstractDataModelPlugin$ & kd.bos.entity.datamodel.events.IDataModelChangeListener & kd.bos.entity.datamodel.events.IDataModelListener;
            interface AbstractDataModelPlugin extends AbstractDataModelPlugin_T {
            }
            interface AddValidatorsEventArgs_S {
            }
            interface AddValidatorsEventArgs_C extends AddValidatorsEventArgs_S {
                /**
                 * 构造函数
                 *
                 * @param dataEntities 单据数据包
                 * @param validators 已注册的校验器
                 */
                new(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],validators:$.java.util.List):AddValidatorsEventArgs;
            }
            interface AddValidatorsEventArgs$ {
                /**
                 * 获取已注册的操作校验器集合
                 *
                 * @return 已注册的操作校验器集合
                 */
                getValidators():$.java.util.List;
                /**
                 * 获取单据数据包
                 *
                 * @return 单据数据包
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 注册自定义操作校验器
                 *
                 * @param validator 自定义的操作校验器实例
                 */
                addValidator(validator:kd.bos.entity.validate.AbstractValidator):void;
            }
            type AddValidatorsEventArgs_T = AddValidatorsEventArgs$;
            interface AddValidatorsEventArgs extends AddValidatorsEventArgs_T {
            }
            interface ParamCondition_S {
            }
            type ParamCondition_ST = $.java.io.Serializable & ParamCondition_S;
            interface ParamCondition_C extends ParamCondition_ST {
                new():ParamCondition;
            }
            interface ParamCondition$ {
                getSimpleExpr():string;
                setSimpleExpr(simpleExpr:string):void;
                setExpression(expression:string):void;
                getExpression():string;
            }
            type ParamCondition_T = $.java.io.Serializable & ParamCondition$;
            interface ParamCondition extends ParamCondition_T {
            }
            interface PreparePropertysEventArgs_S {
            }
            interface PreparePropertysEventArgs_C extends PreparePropertysEventArgs_S {
                new():PreparePropertysEventArgs;
            }
            interface PreparePropertysEventArgs$ {
                /**
                 * 获取待加载的字段集合
                 * 插件把需加载的字段，添加到此集合中
                 *
                 * 示例代码：<pre>{@code
                 * public void onPreparePropertys(PreparePropertysEventArgs e) {
                 *     e.getFieldKeys().add("billno");
                 * }
                 * }</pre>
                 */
                getFieldKeys():$.java.util.List;
                /**
                 * 设置数据包id集合
                 * @param ids
                 */
                setIds(ids:any[]):void;
                /**
                 * 获取数据包的id集合
                 * @return
                 */
                getIds():any[];
            }
            type PreparePropertysEventArgs_T = PreparePropertysEventArgs$;
            interface PreparePropertysEventArgs extends PreparePropertysEventArgs_T {
            }
            interface AbstractOperationServicePlugIn_S {
            }
            type AbstractOperationServicePlugIn_ST = AbstractOperationServicePlugIn_S & IOperationServicePlugIn_S & IOperationService_S;
            interface AbstractOperationServicePlugIn_C extends AbstractOperationServicePlugIn_ST {
                new():AbstractOperationServicePlugIn;
            }
            interface AbstractOperationServicePlugIn$ {
            }
            type AbstractOperationServicePlugIn_T = AbstractOperationServicePlugIn$ & IOperationService & IOperationServicePlugIn;
            interface AbstractOperationServicePlugIn extends AbstractOperationServicePlugIn_T {
            }
            interface Plugin_S {
                readonly PluginType_JavaKingScript:number;
                readonly PluginType_TestJavaScript:number;
                readonly PluginType_JavaClass:number;
                readonly PluginType_JavaScript:number;
                readonly PluginType_TestJavaClass:number;
                /**
                 * KingScript 脚本是否支持注册 (不确定调用场景, 需通过模型类型判定是否支持 KingScript 脚本)
                 * @param modelType 模型类型
                 * @return
                 */
                enableRegisterKingScript(modelType:string):boolean;
                /**
                 * KingScript 脚本是否支持运行
                 * @return
                 */
                enableRunKingScript():boolean;
                /**
                 * KingScript 脚本是否支持注册
                 * @return
                 */
                enableRegisterKingScript():boolean;
            }
            type Plugin_ST = $.java.io.Serializable & Plugin_S;
            interface Plugin_C extends Plugin_ST {
                new():Plugin;
            }
            interface Plugin$ {
                /**
                 * 启用
                 */
                isEnabled():boolean;
                /**
                 * 动态插件
                 */
                setDynamicPlugin(dynamicPlugin:boolean):void;
                /**
                 * 启用
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 插件表单编码
                 */
                setSourceNumber(sourceNumber:string):void;
                /**
                 * 插件事件列表
                 * @return 返回插件事件列表
                 */
                getEvents():$.java.util.List;
                /**
                 * @return the className 插件对应的实例类
                 */
                getClassName():string;
                /**
                 * 插件事件列表
                 */
                setEvents(events:$.java.util.List):void;
                /**
                 * 插件行号
                 */
                setRowKey(rowKey:number):void;
                /**
                 * 是否本单插件
                 */
                setInherit(inherit:boolean):void;
                /**
                 * @param type 插件类型
                 */
                setType(type_arg:number):void;
                /**
                 * 插件行号
                 */
                getRowKey():number;
                /**
                 * 动态插件
                 */
                isDynamicPlugin():boolean;
                /**
                 * 插件fpk
                 */
                getFpk():string;
                /**
                 * 记录插件的表单编码：涉及到记录扩展单，源单的编码
                 *
                 * @return
                 */
                getSourceNumber():string;
                /**
                 * 插件描述说明
                 */
                getDescription():string;
                /**
                 * 插件fpk
                 */
                setFpk(fpk:string):void;
                /**
                 * 插件描述说明
                 */
                setDescription(description:string):void;
                /**
                 * 脚本编码
                 */
                setScriptNumber(scriptNumber:string):void;
                /**
                 * 是否本单插件
                 */
                isInherit():boolean;
                /**
                 * 脚本编码
                 */
                getScriptNumber():string;
                /**
                 * @param className
                 *            插件对应的实例类
                 */
                setClassName(className:string):void;
                /**
                 * @return 插件类型
                 */
                getType():number;
            }
            type Plugin_T = $.java.io.Serializable & Plugin$;
            interface Plugin extends Plugin_T {
            }
            interface OperationServicePlugInProxy_S {
            }
            interface OperationServicePlugInProxy_C extends OperationServicePlugInProxy_S {
                new(arg0:$.java.util.List):OperationServicePlugInProxy;
            }
            interface OperationServicePlugInProxy$ {
                getOperateLog():$.kd.bos.entity.operate.OperateLog;
                fireOnAddValidators(arg0:AddValidatorsEventArgs):void;
                registerPlugIn(arg0:IOperationServicePlugIn):void;
                fireInitialize(arg0:$.kd.bos.entity.plugin.args.InitOperationArgs):void;
                printPluginList():void;
                fireInitializeOperationResult(arg0:$.kd.bos.entity.operate.result.OperationResult):void;
                fireValidatePrefix(arg0:$.kd.bos.entity.plugin.args.ValidatePrefixArgs):void;
                fireBeginOperationTransaction(arg0:$.kd.bos.entity.plugin.args.BeginOperationTransactionArgs):void;
                setProgress(arg0:$.kd.bos.entity.operate.OperateProgress):void;
                setSplitPage(arg0:boolean):void;
                fireAfterExecuteOperationTransaction(arg0:$.kd.bos.entity.plugin.args.AfterOperationArgs):void;
                fireBeforeSaveAuditLog(arg0:$.kd.bos.entity.plugin.args.BeforeSaveAuditLogArg):void;
                setSubEntityType(arg0:EntityType):void;
                destory():void;
                fireReturnOperation(arg0:$.kd.bos.entity.plugin.args.ReturnOperationArgs):void;
                setContext(arg0:MainEntityType,arg1:$.java.util.Map,arg2:$.kd.bos.dataentity.OperateOption):void;
                fireBeforeExecuteOperationTransaction(arg0:$.kd.bos.entity.plugin.args.BeforeOperationArgs):void;
                fireRollbackOperation(arg0:$.kd.bos.entity.plugin.args.RollbackOperationArgs):void;
                fireEndOperationTransaction(arg0:$.kd.bos.entity.plugin.args.EndOperationTransactionArgs):void;
                isSplitPage():boolean;
                setOperateLog(arg0:$.kd.bos.entity.operate.OperateLog):void;
                firePreparePropertys(arg0:PreparePropertysEventArgs):void;
                createScriptPlugin(arg0:string):IOperationServicePlugIn;
            }
            type OperationServicePlugInProxy_T = OperationServicePlugInProxy$;
            interface OperationServicePlugInProxy extends OperationServicePlugInProxy_T {
            }
            interface IImportDataPlugin_S {
            }
            interface IImportDataPlugin_C extends IImportDataPlugin_S {
            }
            interface IImportDataPlugin$ {
            }
            type IImportDataPlugin_T = IImportDataPlugin$;
            interface IImportDataPlugin extends IImportDataPlugin_T {
            }
            interface ImportLogger$ImportLog_S {
            }
            type ImportLogger$ImportLog_ST = $.java.io.Serializable & ImportLogger$ImportLog_S;
            interface ImportLogger$ImportLog_C extends ImportLogger$ImportLog_ST {
                new():ImportLogger$ImportLog;
                new(arg0:string):ImportLogger$ImportLog;
                new(arg0:$.java.lang.Throwable):ImportLogger$ImportLog;
                new(arg0:string,arg1:string):ImportLogger$ImportLog;
            }
            interface ImportLogger$ImportLog$ {
                msg:string;
                src:string;
            }
            type ImportLogger$ImportLog_T = $.java.io.Serializable & ImportLogger$ImportLog$;
            interface ImportLogger$ImportLog extends ImportLogger$ImportLog_T {
            }
            interface ImportLogger_S {
                formatException(arg0:$.java.lang.Throwable):string;
            }
            type ImportLogger_ST = $.java.io.Serializable & ImportLogger_S;
            interface ImportLogger_C extends ImportLogger_ST {
                new():ImportLogger;
                new(arg0:string):ImportLogger;
            }
            interface ImportLogger$ {
                getTotal():number;
                getRowIndex():number;
                getDelRows():$.java.util.List;
                setFailed(arg0:number):void;
                fail(arg0:number):this;
                setTotal(arg0:number):void;
                setSrcFile(arg0:string):void;
                getLastRowIndex():number;
                signTotalRow(arg0:number):void;
                logAll(arg0:number,arg1:$.java.util.List):this;
                setLimitForErrorMessage(arg0:number):void;
                log(arg0:number,arg1:string):this;
                fail():this;
                setTotalRow(arg0:number):void;
                getTotalRow():number;
                logAll(arg0:number,...arg1:string[]):this;
                setLastRowIndex(arg0:number):void;
                getLogCache():$.java.util.Map;
                tick():this;
                getErrFile():string;
                setRowIndex(arg0:number):void;
                log(arg0:number,arg1:string,arg2:string):this;
                log(arg0:number,arg1:$.java.lang.Throwable):this;
                setErrFile(arg0:string):void;
                setLogCache(arg0:$.java.util.Map):void;
                setDelRows(arg0:$.java.util.List):void;
                getSrcFile():string;
                getFailed():number;
                logAll(arg0:number,...arg1:ImportLogger$ImportLog[]):this;
            }
            type ImportLogger_T = $.java.io.Serializable & ImportLogger$;
            interface ImportLogger extends ImportLogger_T {
            }
            interface AbstractKsPrintServicePlugin_S {
            }
            type AbstractKsPrintServicePlugin_ST = AbstractKsPrintServicePlugin_S & AbstractPrintServicePlugin_S;
            interface AbstractKsPrintServicePlugin_C extends AbstractKsPrintServicePlugin_ST {
                /**
                 * ks脚本插件构造方法
                 * @param plugin 插件
                 */
                new(plugin:IPrintServicePlugin):AbstractKsPrintServicePlugin;
            }
            interface AbstractKsPrintServicePlugin$ {
            }
            type AbstractKsPrintServicePlugin_T = AbstractKsPrintServicePlugin$ & AbstractPrintServicePlugin;
            interface AbstractKsPrintServicePlugin extends AbstractKsPrintServicePlugin_T {
            }
            interface IPrintScriptable_S {
            }
            interface IPrintScriptable_C extends IPrintScriptable_S {
            }
            interface IPrintScriptable$ {
                /**
                 * 绑定一个用于取动态小数位数的字段，该字段与当前对象的数据源相同<br>
                 * @param field
                 */
                setDynamicDecimal?(field:string):void;
                /**
                 * 取得当前对象所绑定数据源的某一字段的值
                 * @param field
                 * @return
                 */
                getFieldValue(field:string):any;
                /**
                 * 取得“不打印”属性
                 * @return
                 */
                isHide():boolean;
                /**
                 * 设置“不打印”属性
                 * @param isHide
                 */
                setHide?(isHide:boolean):void;
                /**
                 * 设置对象的输出值
                 * @param value
                 */
                setValue?(value:any):void;
                /**
                 * 与setProperty对应
                 * @param key
                 * @return
                 */
                getProperty(key:string):any;
                /**
                 * 取得对象的输出值
                 * @return
                 */
                getValue():any;
                /**
                 * 设置对象属性，用于前处理脚本，可改变状态
                 * @param key
                 * @param value
                 */
                setProperty?(key:string,value:any):void;
                /**
                 * 取得当前对象所在页的总页数，如果在数据表中，它是分组总页数
                 * @return
                 */
                getPageTotal():any;
                /**
                 * 取得当前对象所在页的页码，如果在数据表中，它是分组页码
                 * @return
                 */
                getPageNumber():number;
            }
            type IPrintScriptable_T = IPrintScriptable$;
            interface IPrintScriptable extends IPrintScriptable_T {
            }
            interface IPrintServicePlugin_S {
            }
            interface IPrintServicePlugin_C extends IPrintServicePlugin_S {
            }
            interface IPrintServicePlugin$ {
                /**
                 * 控件输出前事件
                 * @param e
                 */
                beforeOuputElement?(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
                /**
                 * 向表格内添加列
                 * @param e
                 */
                addDynamicColumns?(e:kd.bos.entity.plugin.args.DynamicColumnArgs):void;
                /**
                 * 控件输出后事件
                 * @param e
                 */
                afterOutputElement?(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
                /**
                 * 对系统读取的数据集进行加工或构造自定义数据包
                 * @param e
                 */
                customPrintDataEntities?(e:kd.bos.entity.plugin.args.CustomPrintDataEntitiesArgs):void;
                /**
                 * 系统读取数据前执行的事件
                 * @param e
                 */
                beforeLoadData?(e:kd.bos.entity.plugin.args.BeforeLoadDataArgs):void;
                /**
                 * 插件设置主实体类型
                 * @param billEntityType
                 */
                setContext?(billEntityType:kd.bos.entity.MainEntityType):void;
                /**
                 * 加载敏感字段事件,业务插件可在该事件中添加当前单中敏感字段信息
                 * @param e
                 */
                beforeDesensitive?(e:kd.bos.entity.plugin.args.SensitiveArgs):void;
            }
            type IPrintServicePlugin_T = IPrintServicePlugin$;
            interface IPrintServicePlugin extends IPrintServicePlugin_T {
            }
            interface AbstractPrintServicePlugin_S {
            }
            type AbstractPrintServicePlugin_ST = AbstractPrintServicePlugin_S & IPrintServicePlugin_S;
            interface AbstractPrintServicePlugin_C extends AbstractPrintServicePlugin_ST {
                new():AbstractPrintServicePlugin;
            }
            interface AbstractPrintServicePlugin$ {
                /**
                 * 获取主实体类型
                 */
                getBillEntityType():kd.bos.entity.MainEntityType;
            }
            type AbstractPrintServicePlugin_T = AbstractPrintServicePlugin$ & IPrintServicePlugin;
            interface AbstractPrintServicePlugin extends AbstractPrintServicePlugin_T {
            }
            interface IPrintDataHelper_S {
            }
            interface IPrintDataHelper_C extends IPrintDataHelper_S {
            }
            interface IPrintDataHelper$ {
                /**
                 * 取得指定数据源当前行的字段值
                 * @param ds 数据源
                 * @param field 字段
                 * @return
                 */
                getValue(ds:string,field:string):any;
            }
            type IPrintDataHelper_T = IPrintDataHelper$;
            interface IPrintDataHelper extends IPrintDataHelper_T {
            }
            interface PrintServicePluginProxy_S {
            }
            type PrintServicePluginProxy_ST = $.java.io.Serializable & PrintServicePluginProxy_S;
            interface PrintServicePluginProxy_C extends PrintServicePluginProxy_ST {
                new(plugins:$.java.util.List):PrintServicePluginProxy;
            }
            interface PrintServicePluginProxy$ {
                fireBeforeOuputElement(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
                fireAfterOuputElement(e:kd.bos.entity.plugin.args.OutputElementArgs):void;
                fireBeforeLoadData(e:kd.bos.entity.plugin.args.BeforeLoadDataArgs):void;
                destory():void;
                fireCustomPrintDataEntities(e:kd.bos.entity.plugin.args.CustomPrintDataEntitiesArgs):void;
                fireBeforeDesensitive(e:kd.bos.entity.plugin.args.SensitiveArgs):void;
                fireAddDynamicColumns(e:kd.bos.entity.plugin.args.DynamicColumnArgs):void;
                createScriptPlugin(scriptName:string):IPrintServicePlugin;
                registerPlugIn(plugIn:IPrintServicePlugin):void;
                setContext(billEntityType:kd.bos.entity.MainEntityType):void;
            }
            type PrintServicePluginProxy_T = $.java.io.Serializable & PrintServicePluginProxy$;
            interface PrintServicePluginProxy extends PrintServicePluginProxy_T {
            }
        }
        namespace kd.bos.entity.plugin.args{
            interface RollbackOperationArgs_S {
            }
            interface RollbackOperationArgs_C extends RollbackOperationArgs_S {
                /**
                 * 构造函数
                 *
                 * @param dataEntitys 单据数据包
                 */
                new(dataEntitys:$.kd.bos.dataentity.entity.DynamicObject[]):RollbackOperationArgs;
            }
            interface RollbackOperationArgs$ {
                /**
                 * 返回单据数据包
                 *
                 * @return 单据数据包
                 */
                getDataEntitys():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type RollbackOperationArgs_T = RollbackOperationArgs$;
            interface RollbackOperationArgs extends RollbackOperationArgs_T {
            }
            interface EndOperationTransactionArgs_S {
            }
            type EndOperationTransactionArgs_ST = EndOperationTransactionArgs_S & OperationArgs_S;
            interface EndOperationTransactionArgs_C extends EndOperationTransactionArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param operationKey 操作标识
                 * @param dataEntities 单据数据包
                 */
                new(operationKey:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):EndOperationTransactionArgs;
            }
            interface EndOperationTransactionArgs$ {
                /**
                 * 返回单据数据包
                 *
                 * @return 单据数据包
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type EndOperationTransactionArgs_T = EndOperationTransactionArgs$ & OperationArgs;
            interface EndOperationTransactionArgs extends EndOperationTransactionArgs_T {
            }
            interface SensitiveArgs$SensitiveRule_S {
            }
            interface SensitiveArgs$SensitiveRule_C extends SensitiveArgs$SensitiveRule_S {
                new(arg0:string,arg1:string):SensitiveArgs$SensitiveRule;
            }
            interface SensitiveArgs$SensitiveRule$ {
                replacement:string;
                regex:string;
            }
            type SensitiveArgs$SensitiveRule_T = SensitiveArgs$SensitiveRule$;
            interface SensitiveArgs$SensitiveRule extends SensitiveArgs$SensitiveRule_T {
            }
            interface SensitiveArgs$DesensitiveFun_S {
            }
            interface SensitiveArgs$DesensitiveFun_C extends SensitiveArgs$DesensitiveFun_S {
            }
            interface SensitiveArgs$DesensitiveFun$ {
                handle(arg0:string,arg1:string):string;
            }
            type SensitiveArgs$DesensitiveFun_T = SensitiveArgs$DesensitiveFun$;
            interface SensitiveArgs$DesensitiveFun extends SensitiveArgs$DesensitiveFun_T {
            }
            interface ValidatePrefixArgs_S {
            }
            interface ValidatePrefixArgs_C extends ValidatePrefixArgs_S {
                new():ValidatePrefixArgs;
            }
            interface ValidatePrefixArgs$ {
                /**
                 * 设置校验提示前缀使用的字段标识：生成提示，使用此字段值作为提示前缀，默认用单据编号字段值做为提示前缀
                 *
                 * @param propName 字段标识
                 */
                setPropName(propName:string):void;
                /**
                 * 返回校验提示内容前缀使用的字段标识
                 *
                 * @return 字段标识
                 */
                getPropName():string;
            }
            type ValidatePrefixArgs_T = ValidatePrefixArgs$;
            interface ValidatePrefixArgs extends ValidatePrefixArgs_T {
            }
            interface ReturnOperationArgs_S {
            }
            interface ReturnOperationArgs_C extends ReturnOperationArgs_S {
                /**
                 * 构造函数
                 *
                 * @param operationResult 操作执行结果
                 */
                new(operationResult:kd.bos.entity.operate.IOperationResult):ReturnOperationArgs;
            }
            interface ReturnOperationArgs$ {
                /**
                 * 返回操作执行结果
                 *
                 * @return 操作执行结果
                 */
                getOperationResult():kd.bos.entity.operate.IOperationResult;
            }
            type ReturnOperationArgs_T = ReturnOperationArgs$;
            interface ReturnOperationArgs extends ReturnOperationArgs_T {
            }
            interface AfterOperationArgs_S {
            }
            type AfterOperationArgs_ST = AfterOperationArgs_S & OperationArgs_S;
            interface AfterOperationArgs_C extends AfterOperationArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param operationKey 操作标识
                 * @param rows 单据数据包
                 */
                new(operationKey:string,rows:$.java.util.List):AfterOperationArgs;
            }
            interface AfterOperationArgs$ {
                /**
                 * 返回单据数据包，仅含已成功完成了操作的单据
                 *
                 * @return 单据数据包
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 返回单据数据包，仅含已成功完成了操作的单据：{@link ExtendedDataEntity} 对数据包进行了再包装，增加数据索引等信息
                 */
                getSelectedRows():$.java.util.List;
            }
            type AfterOperationArgs_T = AfterOperationArgs$ & OperationArgs;
            interface AfterOperationArgs extends AfterOperationArgs_T {
            }
            interface BeforeOperationArgs_S {
            }
            type BeforeOperationArgs_ST = BeforeOperationArgs_S & OperationArgs_S;
            interface BeforeOperationArgs_C extends BeforeOperationArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param operationKey 操作标识
                 * @param rows 已通过校验的单据数据包
                 */
                new(operationKey:string,rows:$.java.util.List):BeforeOperationArgs;
            }
            interface BeforeOperationArgs$ {
                /**
                 *  返回已通过校验的单据数据包：对数据包进行了再包装，包含了数据索引
                 *  插件可以进一步校验，调整此集合中的单据，从而排除不符合要求的单据
                 *  getSelectedRows()有歧义，用此方法替代
                 *
                 *  示例代码：<pre>{@code
                 * public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
                 * 	List<ExtendedDataEntity> dataEntities = new ArrayList<>(e.getValidExtDataEntities());
                 *
                 * 	// 此处略去数据检查逻辑...
                 *
                 * 	e.getValidExtDataEntities().clear();
                 * 	e.getValidExtDataEntities().addAll(dataEntities);
                 * }}</pre>
                 */
                getValidExtDataEntities():$.java.util.List;
                /**
                 * 返回已通过校验的单据数据包
                 * 本方法和 getValidExtDataEntities()效果相同，只是本方法返回原始数据包，而getValidExtDataEntities()返回再包装后的数据包
                 * 推荐使用 getValidExtDataEntities()方法
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 *  设置标志，取消操作
                 *
                 *  示例代码：<pre>{@code
                 * public void beforeExecuteOperationTransaction(BeforeOperationArgs e) {
                 * 	e.setCancel(true);
                 * 	e.setCancelMessage("因为...，所以取消操作，请...");
                 * }}</pre>
                 *  @param cancel 设为true，则取消操作执行
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置取消操作的原因，以提示用户
                 * 需和 {@code e.setCancel(true)} 配合使用
                 *
                 * @param cancelMessage 取消操作的原因
                 */
                setCancelMessage(cancelMessage:string):void;
            }
            type BeforeOperationArgs_T = BeforeOperationArgs$ & OperationArgs;
            interface BeforeOperationArgs extends BeforeOperationArgs_T {
            }
            interface SensitiveArgs_S {
            }
            type SensitiveArgs_ST = $.java.util.EventObject & SensitiveArgs_S;
            interface SensitiveArgs_C extends SensitiveArgs_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any):SensitiveArgs;
            }
            interface SensitiveArgs$ {
                /**
                 * 添加需要处理的敏感字段
                 * @param field
                 * @param regex
                 * @param replacement
                 */
                addField(field:string,regex:string,replacement:string):void;
                /**
                 * 设置替换函数
                 * @param desensitiveFun
                 */
                setDesensitiveFun(desensitiveFun:SensitiveArgs$DesensitiveFun):void;
                /**
                 * 获取给定字段的敏感词规则
                 * @param field
                 * @return
                 */
                getRule(field:string):SensitiveArgs$SensitiveRule;
                /**
                 * 清空所有敏感字段
                 */
                clearField():void;
                /**
                 * 添加需要处理的敏感字段
                 * @param field
                 */
                addField(field:string):void;
                /**
                 * 是否包含给定的字段
                 * @param field
                 * @return
                 */
                contain(field:string):boolean;
                /**
                 * 获取替换函数
                 * @return
                 */
                getDesensitiveFun():SensitiveArgs$DesensitiveFun;
                /**
                 * 添加需要处理的敏感字段
                 * @param field
                 * @param rule
                 */
                addField(field:string,rule:SensitiveArgs$SensitiveRule):void;
                /**
                 * 添加需要处理的敏感字段
                 * @param fields
                 */
                addField(fields:$.java.util.List):void;
                /**
                 * 添加需要处理的敏感字段
                 * @param fieldMap
                 */
                addField(fieldMap:$.java.util.Map):void;
            }
            type SensitiveArgs_T = $.java.util.EventObject & SensitiveArgs$;
            interface SensitiveArgs extends SensitiveArgs_T {
            }
            interface OperationArgs_S {
            }
            interface OperationArgs_C extends OperationArgs_S {
                /**
                 * 构造函数
                 *
                 * @param operationKey 操作标识
                 */
                new(operationKey:string):OperationArgs;
            }
            interface OperationArgs$ {
                /**
                 * 返回当前操作的标识
                 *
                 * @return 操作标识
                 */
                getOperationKey():string;
            }
            type OperationArgs_T = OperationArgs$;
            interface OperationArgs extends OperationArgs_T {
            }
            interface InitOperationArgs_S {
            }
            interface InitOperationArgs_C extends InitOperationArgs_S {
                new():InitOperationArgs;
            }
            interface InitOperationArgs$ {
            }
            type InitOperationArgs_T = InitOperationArgs$;
            interface InitOperationArgs extends InitOperationArgs_T {
            }
            interface BeginOperationTransactionArgs_S {
            }
            type BeginOperationTransactionArgs_ST = BeginOperationTransactionArgs_S & OperationArgs_S;
            interface BeginOperationTransactionArgs_C extends BeginOperationTransactionArgs_ST {
                /**
                 * 构造函数
                 *
                 * @param operationKey 操作标识
                 * @param dataEntities 单据数据包
                 */
                new(operationKey:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):BeginOperationTransactionArgs;
            }
            interface BeginOperationTransactionArgs$ {
                /**
                 * 返回插件是否要求略过更新数据库逻辑
                 */
                isCancelOperation():boolean;
                /**
                 * 返回校验通过的单据
                 *
                 * @return 单据数据包
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 设置通过校验的单据
                 *
                 * @param dataEntities 单据数据包
                 */
                setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 设置参数，略过更新数据库逻辑
                 *
                 * 设置为true会跳过标准操作内含的更新数据库逻辑，但操作还是会继续，返回结果也为操作成功（已经更改为操作失败2023/5/23）：
                 *
                 * 特别说明：这个参数非常容易引起误解，而且因为跳过了数据库更新逻辑，但操作结果成功，出现问题非常难以排查。
                 * 如果需要操作结果返回失败，则需抛出异常强制中断操作，如{@code throw new KDBizException("异常提示")}
                 *
                 * @param cancelOperation 传入true，将跳过更新数据库的逻辑，单据不会保存入库，事务会回滚
                 */
                setCancelOperation(cancelOperation:boolean):void;
            }
            type BeginOperationTransactionArgs_T = BeginOperationTransactionArgs$ & OperationArgs;
            interface BeginOperationTransactionArgs extends BeginOperationTransactionArgs_T {
            }
            interface BeforeSaveAuditLogArg_S {
            }
            interface BeforeSaveAuditLogArg_C extends BeforeSaveAuditLogArg_S {
                /**
                 * 构造函数
                 *
                 * @param entityModifyInfo 单据审计日志内容
                 */
                new(entityModifyInfo:kd.bos.log.api.EntityModifyInfo):BeforeSaveAuditLogArg;
            }
            interface BeforeSaveAuditLogArg$ {
                /**
                 * 返回单据审计日志内容
                 * @return
                 */
                getModifyInfo():kd.bos.log.api.EntityModifyInfo;
            }
            type BeforeSaveAuditLogArg_T = BeforeSaveAuditLogArg$;
            interface BeforeSaveAuditLogArg extends BeforeSaveAuditLogArg_T {
            }
            interface CustomPrintDataEntitiesArgs_S {
            }
            type CustomPrintDataEntitiesArgs_ST = $.java.util.EventObject & CustomPrintDataEntitiesArgs_S;
            interface CustomPrintDataEntitiesArgs_C extends CustomPrintDataEntitiesArgs_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param pageId 页面ID
                 * @param pkId 主键
                 * @param dataSourceName 数据源名称
                 * @param customFields 自定义字段
                 */
                new(source:any,pageId:string,pkId:any,dataSourceName:string,customFields:$.java.util.Set):CustomPrintDataEntitiesArgs;
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param pageId 页面ID
                 * @param pkId 主键
                 * @param dataSourceName 数据源名称
                 * @param customFields 自定义字段
                 * @param filter 过滤条件
                 * @param mainDs 主数据源
                 * @param dynamicObjectType 实体类型
                 */
                new(source:any,pageId:string,pkId:any,dataSourceName:string,customFields:$.java.util.Set,filter:$.kd.bos.orm.query.QFilter,mainDs:boolean,dynamicObjectType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):CustomPrintDataEntitiesArgs;
            }
            interface CustomPrintDataEntitiesArgs$ {
                /**
                 * 获取数据源名称
                 * @return 数据源名称
                 */
                getDataSourceName():string;
                /**
                 * 获取过滤条件
                 * @return 过滤条件
                 */
                getFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 获取数据包
                 * @return 数据包
                 */
                getDataEntities():$.java.util.List;
                /**
                 * 获取数据对象类型
                 * @return 数据对象类型
                 */
                getDynamicObjectType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                /**
                 * 获取目前所有要打印的单据id
                 * @return 所有要打印的单据id
                 */
                getPkIds():$.java.util.List;
                /**
                 * 设置目前所有要打印的单据id
                 * @param pk 所有要打印的单据id
                 */
                setPkIds(pk:$.java.util.List):void;
                /**
                 * 获取当前页面id
                 * @return 当前页面id
                 */
                getPageId():string;
                /**
                 * 是否主数据源
                 * @return 是否主数据源
                 */
                isMainDs():boolean;
                /**
                 * 设置数据包
                 * @param dataEntities 数据包
                 */
                setDataEntities(dataEntities:$.java.util.List):void;
                /**
                 * 获取自定义字段
                 * @return 自定义字段
                 */
                getCustomFields():$.java.util.Set;
            }
            type CustomPrintDataEntitiesArgs_T = $.java.util.EventObject & CustomPrintDataEntitiesArgs$;
            interface CustomPrintDataEntitiesArgs extends CustomPrintDataEntitiesArgs_T {
            }
            interface DynamicColumnArgs_S {
            }
            type DynamicColumnArgs_ST = $.java.util.EventObject & DynamicColumnArgs_S;
            interface DynamicColumnArgs_C extends DynamicColumnArgs_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param columnKey 列标识
                 * @param pageId 页面ID
                 * @param pkId 主键
                 */
                new(source:any,columnKey:string,pageId:string,pkId:string):DynamicColumnArgs;
            }
            interface DynamicColumnArgs$ {
                /**
                 * 设置合并块
                 * @param value 合并块
                 */
                setMergeBlocks(value:$.java.util.List):void;
                /**
                 * 设置动态列
                 * @param dynamicColumns 动态列
                 */
                setDynamicColumns(dynamicColumns:$.java.util.List):void;
                /**
                 * 获取动态列
                 * @return 动态列
                 */
                getDynamicColumns():$.java.util.List;
                /**
                 * 获取设计时创建的动态列的ID
                 * @return
                 */
                getKey():string;
                /**
                 * 获取单据id
                 * @return 单据id
                 */
                getPkId():string;
                /**
                 * 获取合并块
                 * @return 合并块
                 */
                getMergeBlocks():$.java.util.List;
                /**
                 * 获取页面id
                 * @return 页面id
                 */
                getPageId():string;
            }
            type DynamicColumnArgs_T = $.java.util.EventObject & DynamicColumnArgs$;
            interface DynamicColumnArgs extends DynamicColumnArgs_T {
            }
            interface BeforeLoadDataArgs_S {
            }
            type BeforeLoadDataArgs_ST = $.java.util.EventObject & BeforeLoadDataArgs_S;
            interface BeforeLoadDataArgs_C extends BeforeLoadDataArgs_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 */
                new(source:any):BeforeLoadDataArgs;
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param ds 数据源
                 */
                new(source:any,ds:string):BeforeLoadDataArgs;
            }
            interface BeforeLoadDataArgs$ {
                /**
                 * 获取数据源名称
                 * @return 数据源名称
                 */
                getDataSourceName():string;
                /**
                 * 取消系统读取数据
                 * @param cancel 是否取消系统读取数据
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取取消系统读取数据
                 * @return 是否取消系统读取数据
                 */
                isCancel():boolean;
            }
            type BeforeLoadDataArgs_T = $.java.util.EventObject & BeforeLoadDataArgs$;
            interface BeforeLoadDataArgs extends BeforeLoadDataArgs_T {
            }
            interface OutputElementArgs_S {
            }
            type OutputElementArgs_ST = $.java.util.EventObject & OutputElementArgs_S;
            interface OutputElementArgs_C extends OutputElementArgs_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param key 控件标识
                 * @param currentDs 当前数据源标识
                 * @param headName 主数据源标识
                 * @param helper 取数器
                 * @param opw 脚本控制接口
                 */
                new(source:any,key:string,currentDs:string,headName:string,helper:IPrintDataHelper,opw:IPrintScriptable):OutputElementArgs;
            }
            interface OutputElementArgs$ {
                /**
                 * 当前控件绑定的数据源是的标识
                 * @return 当前控件绑定的数据源是的标识
                 */
                getCurrentDataSource():string;
                /**
                 * 设置数据源
                 * @param currentDataSource 数据源
                 */
                setCurrentDataSource(currentDataSource:string):void;
                /**
                 * 是否合并列
                 * @return 是否合并列
                 */
                isMergeDetailCol():boolean;
                /**
                 * 获取脚本控制接口
                 * @return 脚本控制接口
                 */
                getOutput():IPrintScriptable;
                /**
                 * 获取控件标识
                 * @return 控件标识
                 */
                getKey():string;
                /**
                 * 获取取数器
                 * @return 取数器
                 */
                getDataHelper():IPrintDataHelper;
                /**
                 * 主数据源的标识
                 * @return 主数据源的标识
                 */
                getMainDataSourceName():string;
                /**
                 * 设置汇总key
                 * @param sumK 汇总key
                 */
                setSumColKeys(sumK:$.java.util.List):void;
                /**
                 * 获取汇总的key
                 * @return 汇总的key
                 */
                getSumColKeys():$.java.util.List;
                /**
                 * 设置是否合并列
                 * @param mergeDetailCol
                 */
                setMergeDetailCol(mergeDetailCol:boolean):void;
            }
            type OutputElementArgs_T = $.java.util.EventObject & OutputElementArgs$;
            interface OutputElementArgs extends OutputElementArgs_T {
            }
        }
        namespace kd.bos.entity.plugin.manager{
            interface IConditionEvent_S {
            }
            interface IConditionEvent_C extends IConditionEvent_S {
            }
            interface IConditionEvent$ {
                getVarMap():$.java.util.Map;
                /**
                 * 检查表达式是否满足
                 * @return
                 */
                check?(paramCondition:ParamCondition):boolean;
            }
            type IConditionEvent_T = IConditionEvent$;
            interface IConditionEvent extends IConditionEvent_T {
            }
        }
        namespace kd.bos.entity.plugin.support.util{
            interface Assert_S {
            }
            interface Assert_C extends Assert_S {
                new():Assert;
            }
            interface Assert$ {
            }
            type Assert_T = Assert$;
            interface Assert extends Assert_T {
            }
            interface ReflectionUtils$MethodCallback_S {
            }
            interface ReflectionUtils$MethodCallback_C extends ReflectionUtils$MethodCallback_S {
            }
            interface ReflectionUtils$MethodCallback$ {
                doWith(arg0:$.java.lang.reflect.Method):void;
            }
            type ReflectionUtils$MethodCallback_T = ReflectionUtils$MethodCallback$;
            interface ReflectionUtils$MethodCallback extends ReflectionUtils$MethodCallback_T {
            }
            interface ReflectionUtils$MethodFilter_S {
            }
            interface ReflectionUtils$MethodFilter_C extends ReflectionUtils$MethodFilter_S {
            }
            interface ReflectionUtils$MethodFilter$ {
                matches(arg0:$.java.lang.reflect.Method):boolean;
            }
            type ReflectionUtils$MethodFilter_T = ReflectionUtils$MethodFilter$;
            interface ReflectionUtils$MethodFilter extends ReflectionUtils$MethodFilter_T {
            }
            interface StringUtils_S {
            }
            interface StringUtils_C extends StringUtils_S {
                new():StringUtils;
            }
            interface StringUtils$ {
            }
            type StringUtils_T = StringUtils$;
            interface StringUtils extends StringUtils_T {
            }
            interface CollectionUtils_S {
            }
            interface CollectionUtils_C extends CollectionUtils_S {
                new():CollectionUtils;
            }
            interface CollectionUtils$ {
            }
            type CollectionUtils_T = CollectionUtils$;
            interface CollectionUtils extends CollectionUtils_T {
            }
            interface ReflectionUtils$FieldFilter_S {
            }
            interface ReflectionUtils$FieldFilter_C extends ReflectionUtils$FieldFilter_S {
            }
            interface ReflectionUtils$FieldFilter$ {
                matches(arg0:$.java.lang.reflect.Field):boolean;
            }
            type ReflectionUtils$FieldFilter_T = ReflectionUtils$FieldFilter$;
            interface ReflectionUtils$FieldFilter extends ReflectionUtils$FieldFilter_T {
            }
            interface ReflectionUtils_S {
            }
            interface ReflectionUtils_C extends ReflectionUtils_S {
                new():ReflectionUtils;
            }
            interface ReflectionUtils$ {
            }
            type ReflectionUtils_T = ReflectionUtils$;
            interface ReflectionUtils extends ReflectionUtils_T {
            }
            interface TypeUtils_S {
            }
            interface TypeUtils_C extends TypeUtils_S {
                new():TypeUtils;
            }
            interface TypeUtils$ {
            }
            type TypeUtils_T = TypeUtils$;
            interface TypeUtils extends TypeUtils_T {
            }
            interface ClassUtils_S {
            }
            interface ClassUtils_C extends ClassUtils_S {
                new():ClassUtils;
            }
            interface ClassUtils$ {
            }
            type ClassUtils_T = ClassUtils$;
            interface ClassUtils extends ClassUtils_T {
            }
            interface MultiValueMap_S {
            }
            type MultiValueMap_ST = $.java.util.Map & MultiValueMap_S;
            interface MultiValueMap_C extends MultiValueMap_ST {
            }
            interface MultiValueMap$ {
                addIfAbsent?(arg0:any,arg1:any):void;
                getFirst(arg0:any):any;
                /**
                 * Set the given values under.
                 * @param values the values.
                 */
                setAll(values:$.java.util.Map):void;
                /**
                 * Add all the values of the given {@code MultiValueMap} to the current values.
                 * @param values the values to be added
                 * @since 5.0
                 */
                addAll(values:MultiValueMap):void;
                add(arg0:any,arg1:any):void;
                /**
                 * Return a {@code Map} with the first values contained in this {@code MultiValueMap}.
                 * @return a single value representation of this map
                 */
                toSingleValueMap():$.java.util.Map;
                set(arg0:any,arg1:any):void;
                addAll(arg0:any,arg1:$.java.util.List):void;
            }
            type MultiValueMap_T = $.java.util.Map & MultiValueMap$;
            interface MultiValueMap extends MultiValueMap_T {
            }
            interface ObjectUtils_S {
            }
            interface ObjectUtils_C extends ObjectUtils_S {
                new():ObjectUtils;
            }
            interface ObjectUtils$ {
            }
            type ObjectUtils_T = ObjectUtils$;
            interface ObjectUtils extends ObjectUtils_T {
            }
            interface ReflectionUtils$FieldCallback_S {
            }
            interface ReflectionUtils$FieldCallback_C extends ReflectionUtils$FieldCallback_S {
            }
            interface ReflectionUtils$FieldCallback$ {
                doWith(arg0:$.java.lang.reflect.Field):void;
            }
            type ReflectionUtils$FieldCallback_T = ReflectionUtils$FieldCallback$;
            interface ReflectionUtils$FieldCallback extends ReflectionUtils$FieldCallback_T {
            }
        }
        namespace kd.bos.entity.print{
            interface PaperSetting_S {
            }
            type PaperSetting_ST = $.java.io.Serializable & PaperSetting_S;
            interface PaperSetting_C extends PaperSetting_ST {
                new():PaperSetting;
            }
            interface PaperSetting$ {
                setMarginLeft(arg0:number):void;
                getMarginTop():number;
                getMarginRight():number;
                getListFont():string;
                getWideProportion():number;
                setListFieldFont(arg0:number):void;
                setListFont(arg0:string):void;
                setAppId(arg0:string):void;
                getOrentation():string;
                setMarginRight(arg0:number):void;
                setPaperType(arg0:string):void;
                setListLineHeight(arg0:number):void;
                setWideType(arg0:string):void;
                getListFieldFont():number;
                getTitle():string;
                getAppId():string;
                setWideProportion(arg0:number):void;
                setOrentation(arg0:string):void;
                getMarginBottom():number;
                setMarginBottom(arg0:number):void;
                setTitle(arg0:string):void;
                setWrap(arg0:boolean):void;
                getPaperType():string;
                setPrintRemark(arg0:boolean):void;
                getMarginLeft():number;
                getListLineHeight():number;
                setMarginTop(arg0:number):void;
                isWrap():boolean;
                getWideType():string;
                isPrintRemark():boolean;
            }
            type PaperSetting_T = $.java.io.Serializable & PaperSetting$;
            interface PaperSetting extends PaperSetting_T {
            }
            interface AbstractScriptPrintPlugin_S {
            }
            type AbstractScriptPrintPlugin_ST = AbstractScriptPrintPlugin_S & IScriptPrintPlugin_S;
            interface AbstractScriptPrintPlugin_C extends AbstractScriptPrintPlugin_ST {
                new():AbstractScriptPrintPlugin;
            }
            interface AbstractScriptPrintPlugin$ {
            }
            type AbstractScriptPrintPlugin_T = AbstractScriptPrintPlugin$ & IScriptPrintPlugin;
            interface AbstractScriptPrintPlugin extends AbstractScriptPrintPlugin_T {
            }
            interface QueryDataEventArgs_S {
            }
            type QueryDataEventArgs_ST = $.java.util.EventObject & QueryDataEventArgs_S;
            interface QueryDataEventArgs_C extends QueryDataEventArgs_ST {
                new(arg0:any,arg1:string,arg2:any,arg3:any,arg4:$.java.util.Map,arg5:$.java.util.Set):QueryDataEventArgs;
            }
            interface QueryDataEventArgs$ {
                getVariableMapping():$.java.util.Map;
                getRecords():$.java.util.List;
                getFormId():string;
                setRecords(arg0:$.java.util.List):void;
                getBillPkId():any;
                getVariables():$.java.util.Set;
                getTemplatePkId():any;
            }
            type QueryDataEventArgs_T = $.java.util.EventObject & QueryDataEventArgs$;
            interface QueryDataEventArgs extends QueryDataEventArgs_T {
            }
            interface IScriptPrintPlugin_S {
            }
            interface IScriptPrintPlugin_C extends IScriptPrintPlugin_S {
            }
            interface IScriptPrintPlugin$ {
                /**
                 * 查询数据
                 * @param e
                 */
                doQueryData?(e:kd.bos.entity.print.QueryDataEventArgs):void;
            }
            type IScriptPrintPlugin_T = IScriptPrintPlugin$;
            interface IScriptPrintPlugin extends IScriptPrintPlugin_T {
            }
        }
        namespace kd.bos.entity.privacy{
            interface PrivacyScheme_S {
            }
            interface PrivacyScheme_C extends PrivacyScheme_S {
                new():PrivacyScheme;
            }
            interface PrivacyScheme$ {
                getFieldKey():string;
                setEntityNumber(entityNumber:string):void;
                setSchemeId(schemeId:long):void;
                getEntityNumber():string;
                setFieldKey(fieldKey:string):void;
                getSchemeId():long;
                getPrivacyDataService():kd.bos.dataentity.privacy.IPrivacyDataService;
            }
            type PrivacyScheme_T = PrivacyScheme$;
            interface PrivacyScheme extends PrivacyScheme_T {
            }
        }
        namespace kd.bos.entity.property{
            interface CurrencyProp_S {
            }
            type CurrencyProp_ST = BasedataProp_S & CurrencyProp_S;
            interface CurrencyProp_C extends CurrencyProp_ST {
                new():CurrencyProp;
            }
            interface CurrencyProp$ {
            }
            type CurrencyProp_T = BasedataProp & CurrencyProp$;
            interface CurrencyProp extends CurrencyProp_T {
            }
            interface TextAreaProp_S {
            }
            type TextAreaProp_ST = TextAreaProp_S & TextProp_S;
            interface TextAreaProp_C extends TextAreaProp_ST {
                new():TextAreaProp;
            }
            interface TextAreaProp$ {
            }
            type TextAreaProp_T = TextAreaProp$ & TextProp;
            interface TextAreaProp extends TextAreaProp_T {
            }
            interface BaseUnitqtyProp_S {
            }
            type BaseUnitqtyProp_ST = BaseUnitqtyProp_S & QtyProp_S;
            interface BaseUnitqtyProp_C extends BaseUnitqtyProp_ST {
                new():BaseUnitqtyProp;
            }
            interface BaseUnitqtyProp$ {
            }
            type BaseUnitqtyProp_T = BaseUnitqtyProp$ & QtyProp;
            interface BaseUnitqtyProp extends BaseUnitqtyProp_T {
            }
            interface BooleanProp_S {
            }
            type BooleanProp_ST = BooleanProp_S & FieldProp_S;
            interface BooleanProp_C extends BooleanProp_ST {
                /**
                 * 无参构造函数
                 */
                new():BooleanProp;
            }
            interface BooleanProp$ {
            }
            type BooleanProp_T = BooleanProp$ & FieldProp;
            interface BooleanProp extends BooleanProp_T {
            }
            interface QtyProp_S {
            }
            type QtyProp_ST = DecimalProp_S & QtyProp_S;
            interface QtyProp_C extends QtyProp_ST {
                new():QtyProp;
            }
            interface QtyProp$ {
                /**
                 * 将参数relatedUnit的值赋给字段relatedUnit
                 *
                 * @param relatedUnit relatedUnit的值
                 */
                setRelatedUnit(relatedUnit:string):void;
                /**
                 * 获取字段relatedUnit的值
                 *
                 * @return relatedUnit的值
                 */
                getRelatedUnit():string;
                /**
                 * 获取关联物料标识
                 * @return
                 */
                getRelatedMaterielKey():string;
            }
            type QtyProp_T = DecimalProp & QtyProp$;
            interface QtyProp extends QtyProp_T {
            }
            interface DecimalProp_S {
            }
            type DecimalProp_ST = DecimalProp_S & FieldProp_S & INumberPrecision_S & kd.bos.entity.validate.IScopeCheck_S;
            interface DecimalProp_C extends DecimalProp_ST {
                /**
                 * 构造函数
                 */
                new():DecimalProp;
            }
            interface DecimalProp$ {
                /**
                 * 获取范围是否包含边界值，如(1,100]包含100；而(1,100)则不包含100
                 * @return true or false
                 */
                isInclMax():boolean;
                /**
                 * 设置汇总至字段，将单据体字段汇总到单据头字段中
                 * @param summaryToField 汇总至字段
                 */
                setSummaryToField(summaryToField:SummaryToField):void;
                /**
                 * 设置范围是否包含边界值，如(1,100]包含100；而(1,100)则不包含100
                 * @param inclMax
                 */
                setInclMax(inclMax:boolean):void;
                /**
                 * 获取值范围：最大值
                 *
                 * @return
                 */
                getMax():$.java.math.BigDecimal;
                /**
                 * 设置小数精度
                 * @param scale 数值的小数位数：0~20
                 */
                setScale(scale:number):void;
                /**
                 * 设置原始数据范围设定
                 * @param dataScope 数值范围
                 */
                setDataScope(dataScope:string):void;
                /**
                 * 判断两个值是否相等
                 * @param v1 值
                 * @param v2 值
                 * @return
                 */
                isValueEquals(v1:any,v2:any):boolean;
                /**
                 * 设置整体精度
                 * @param precision 数值的总位数：10位~38位
                 */
                setPrecision(precision:number):void;
                /**
                 * 获取原始数据范围设定
                 *
                 * @return 数值范围
                 */
                getDataScope():string;
                /**
                 * 获取精度控制字段属性名
                 * @return 精度控制字段属性名
                 */
                getControlPropName():string;
                /**
                 * 设置是否用区域设置
                 * @param useRegion 用区域设置
                 */
                setUseRegion(useRegion:boolean):void;
                /**
                 * 设置值范围
                 * @param max 最大值
                 */
                setMax(max:$.java.math.BigDecimal):void;
                /**
                 * 获取小数精度
                 * @return 数值的小数位数：0~20
                 */
                getScale():number;
                /**
                 * 设置值范围
                 * @param min 最小值
                 */
                setMin(min:$.java.math.BigDecimal):void;
                /**
                 * 获取范围是否包含边界值，如[1,100)包含1；而(1,100)则不包含1
                 * @return true or false
                 */
                isInclMin():boolean;
                /**
                 * 设置范围是否包含边界值，如[1,100)包含1；而(1,100)则不包含1
                 * @param inclMin 范围是否包含边界值
                 */
                setInclMin(inclMin:boolean):void;
                /**
                 * 设置精度控制字段属性名
                 * @param controlPropName 精度控制字段属性名
                 */
                setControlPropName(controlPropName:string):void;
                /**
                 * 获取整体精度
                 * @return 数值的总位数：10位~38位
                 */
                getPrecision():number;
                /**
                 * 获取汇总至字段，将单据体字段汇总到单据头字段中
                 * @return 汇总至字段
                 */
                getSummaryToField():SummaryToField;
                /**
                 * 舍入模式
                 */
                getRoundingMode():number;
                /**
                 * 获取是否用区域设置
                 * @return 是否用区域设置
                 */
                isUseRegion():boolean;
                /**
                 * 获取值范围：最小值
                 *
                 * @return
                 */
                getMin():$.java.math.BigDecimal;
            }
            type DecimalProp_T = DecimalProp$ & FieldProp & INumberPrecision & kd.bos.entity.validate.IScopeCheck;
            interface DecimalProp extends DecimalProp_T {
            }
            interface FieldProp_S {
            }
            type FieldProp_ST = $.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty & FieldProp_S & ICompareTypeConfig_S & IFieldHandle_S & IFieldRuleHandle_S & IFieldSeq_S & kd.bos.entity.validate.IValidatorHanlder_S;
            interface FieldProp_C extends FieldProp_ST {
                new():FieldProp;
            }
            interface FieldProp$ {
                /**
                 * 获取是否必录字段
                 *
                 * @return 是否必录
                 */
                isMustInput():boolean;
                /**
                 * 设置默认值（高级版），支持函数、计算公式等
                 *
                 * @param defValue2 默认值（高级版）
                 */
                setDefValue2(defValue2:FieldDefValue):void;
                /**
                 * 设置默认值（基础版），仅支持常量、变量
                 *
                 * @param defValue 默认值（基础版）
                 */
                setDefValue(defValue:any):void;
                /**
                 * 设置是否必录字段
                 *
                 * @param mustInput 是否必录
                 */
                setMustInput(mustInput:boolean):void;
                /**
                 * 获取是否显示为零
                 *
                 * @return 是否显示为零
                 */
                isZeroShow():boolean;
                /**
                 * 获取是否集团控制
                 *
                 * @return
                 */
                isGroupControl():boolean;
                /**
                 * 获取前端控件类型
                 * 基础资料 ： basedata 多选基础资料：mulbasedata 组织：org 用户：user 下拉列表：combo
                 * 多选下拉列表：mulcombo 复选框：checkbox 文本：text 多行文本：textarea 大文本：largeText 日期：date
                 * 日期范围：daterange 长日期：datetime 数字：number 弹性域字段：flexfield 城市：city
                 * 多语言文本：localeText 图片：picture 密码：passwordbox 操作列：operate 合并列：combinedField
                 * 其他：other(不给的时候)
                 */
                getClientType():string;
                /**
                 * 设置是否显示为零
                 *
                 * @param zeroShow 是否显示为零
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 获取列表字段元素，用于设计器根据字段动态列表列创建
                 *
                 * @param entityTreeNode 实体树
                 */
                createEntityTreeNode(entityTreeNode:EntityTreeNode):$.java.util.Map;
                /**
                 * 是否系统属性，如内码、基础资料引用Id，多语言对应内部字段
                 *
                 * @param value 是否系统属性
                 */
                setSysField(value:boolean):void;
            }
            type FieldProp_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty & FieldProp$ & ICompareTypeConfig & IFieldHandle & IFieldRuleHandle & IFieldSeq & kd.bos.entity.validate.IValidatorHanlder;
            interface FieldProp extends FieldProp_T {
            }
            interface BillStatusProp$StatusItemPro_S {
            }
            type BillStatusProp$StatusItemPro_ST = $.java.io.Serializable & BillStatusProp$StatusItemPro_S;
            interface BillStatusProp$StatusItemPro_C extends BillStatusProp$StatusItemPro_ST {
                new():BillStatusProp$StatusItemPro;
            }
            interface BillStatusProp$StatusItemPro$ {
                setStatusName(arg0:$.kd.bos.dataentity.entity.LocaleString):void;
                getOperationDateKey():string;
                setClearOperationKey(arg0:boolean):void;
                setOperationerKey(arg0:string):void;
                getOperationerKey():string;
                setStatusKey(arg0:string):void;
                getStatusName():$.kd.bos.dataentity.entity.LocaleString;
                getClearOperationKey():boolean;
                getStatusKey():string;
                setOperationDateKey(arg0:string):void;
            }
            type BillStatusProp$StatusItemPro_T = $.java.io.Serializable & BillStatusProp$StatusItemPro$;
            interface BillStatusProp$StatusItemPro extends BillStatusProp$StatusItemPro_T {
            }
            interface FieldRuleArgs_S {
            }
            interface FieldRuleArgs_C extends FieldRuleArgs_S {
                new():FieldRuleArgs;
                new(source:string,triggerProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,raiseEventType:kd.bos.entity.datamodel.RaiseEventType,billStatus:any):FieldRuleArgs;
            }
            interface FieldRuleArgs$ {
                setRaiseEventType(raiseEventType:kd.bos.entity.datamodel.RaiseEventType):void;
                getSource():string;
                getRaiseEventType():kd.bos.entity.datamodel.RaiseEventType;
                setObject(object_arg:any):void;
                setSource(source:string):void;
                getTriggerProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                getObject():any;
                setTriggerProperty(triggerProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
            }
            type FieldRuleArgs_T = FieldRuleArgs$;
            interface FieldRuleArgs extends FieldRuleArgs_T {
            }
            interface AddressProp_S {
            }
            type AddressProp_ST = AddressProp_S & BasedataProp_S;
            interface AddressProp_C extends AddressProp_ST {
                new():AddressProp;
            }
            interface AddressProp$ {
                /**
                 * 设置区域字段
                 * @param zoneField
                 */
                setZoneField(zoneField:string):void;
                /**
                 * 获取区域字段
                 * @return
                 */
                getZoneField():string;
            }
            type AddressProp_T = AddressProp$ & BasedataProp;
            interface AddressProp extends AddressProp_T {
            }
            interface EntryProp_S {
            }
            type EntryProp_ST = $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & EntryProp_S & kd.bos.entity.validate.IValidatorHanlder_S;
            interface EntryProp_C extends EntryProp_ST {
                /**
                 * 构造函数
                 */
                new():EntryProp;
                /**
                 * 构造函数
                 * @param name 名称
                 * @param dynamicItemPropertyType 实体类型
                 */
                new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):EntryProp;
            }
            interface EntryProp$ {
                /**
                 * 获取分录必录条件
                 * @return
                 */
                getMustInputCondition():string;
                /**
                 * 获取分录在新建时缺省的行数
                 * @return 缺省行数（0~100）
                 */
                getDefaultRows():number;
                /**
                 * 获取配置分录的关键字段,用于表明分录行录入的有效性
                 * @return 关键字段
                 */
                getKeyFieldId():string;
                /**
                 * 设置分录是否必录
                 * @param entryMustInput 是否必录
                 */
                setEntryMustInput(entryMustInput:boolean):void;
                /**
                 * 设置分录必录条件
                 * @param mustInputCondition
                 */
                setMustInputCondition(mustInputCondition:string):void;
                /**
                 * 获取分录行数据
                 * @param entity 数据包
                 * @param index 行号
                 * @return 分录行数据
                 */
                getItem(entity:$.kd.bos.dataentity.entity.DynamicObject,index:number):any;
                /**
                 * 设置分录在新建时缺省的行数
                 * @param defaultRows 缺省行数（0~100）
                 */
                setDefaultRows(defaultRows:number):void;
                /**
                 * 设置分录行数据
                 * @param entity 数据包
                 * @param index 行号
                 * @param entry 分录数据包
                 */
                setItem(entity:$.kd.bos.dataentity.entity.DynamicObject,index:number,entry:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 设置分录的关键字段，用于表明分录行录入的有效性
                 * @param keyFieldId 关键字段
                 */
                setKeyFieldId(keyFieldId:string):void;
            }
            type EntryProp_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & EntryProp$ & kd.bos.entity.validate.IValidatorHanlder;
            interface EntryProp extends EntryProp_T {
            }
            interface CtLinkEntryProp_S {
            }
            type CtLinkEntryProp_ST = CtLinkEntryProp_S & EntryProp_S;
            interface CtLinkEntryProp_C extends CtLinkEntryProp_ST {
                /**
                 * 反序列化要求有没有参数的构造函数*
                 */
                new():CtLinkEntryProp;
                /**
                 * 构造函数
                 * @param name 元素对应的Key
                 * @param dynamicItemPropertyType 实体类型
                 */
                new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):CtLinkEntryProp;
            }
            interface CtLinkEntryProp$ {
            }
            type CtLinkEntryProp_T = CtLinkEntryProp$ & EntryProp;
            interface CtLinkEntryProp extends CtLinkEntryProp_T {
            }
            interface ExchangeRateProp_S {
            }
            type ExchangeRateProp_ST = DecimalProp_S & ExchangeRateProp_S;
            interface ExchangeRateProp_C extends ExchangeRateProp_ST {
                new():ExchangeRateProp;
            }
            interface ExchangeRateProp$ {
                /**
                 * 设置原币
                 * @param originalCurrencyFieldKey
                 */
                setOriginalCurrencyFieldKey(originalCurrencyFieldKey:string):void;
                /**
                 * 获取原币
                 * @return
                 */
                getOriginalCurrencyFieldKey():string;
                /**
                 * 获取目标币
                 * @return
                 */
                getTargetCurrencyFieldKey():string;
                /**
                 * 获取精度，这里的精度可能来自控制字段，处理起来比较复杂
                 *
                 * @param model 数据模型
                 * @param dataEntity 数据包
                 * @return
                 */
                getEnsureScale(model:kd.bos.entity.datamodel.IDataModel,dataEntity:any):number;
                /**
                 * 设置目标币
                 * @param targetCurrencyFieldKey
                 */
                setTargetCurrencyFieldKey(targetCurrencyFieldKey:string):void;
            }
            type ExchangeRateProp_T = DecimalProp & ExchangeRateProp$;
            interface ExchangeRateProp extends ExchangeRateProp_T {
            }
            interface IBasedataField_S {
                /**
                 * 获取基础资料字段的过滤条件构造类
                 * @param model 数据模型
                 * @param dataType 主实体类型
                 * @param filterCondition 通用过滤元数据
                 * @return
                 */
                getFilterBuilder(model:kd.bos.entity.datamodel.IDataModel,dataType:MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):kd.bos.entity.filter.FilterBuilder;
            }
            type IBasedataField_ST = IBasedataField_S & IFieldHandle_S;
            interface IBasedataField_C extends IBasedataField_ST {
            }
            interface IBasedataField$ {
                /**
                 * 获取基础资料的标识
                 *
                 * @param model 数据模型
                 * @return 基础资料的标识
                 */
                getBaseEntityId(model:kd.bos.entity.datamodel.IDataModel):string;
                /**
                 * 获取是否只显示启用
                 *
                 * @return true
                 */
                isShowUsed?():boolean;
                /**
                 * 获取前端的控件类型，这个方法从BaseDataProp 移过来，以为要支持多选基础资料
                 *
                 * @param refPropKey 引用属性
                 * @return
                 */
                getClientType?(refPropKey:string):string;
                /**
                 * 获取基础资料的标识
                 * @return 基础资料的标识
                 */
                getBaseEntityId():string;
                /**
                 * 构造基础资料格式化信息
                 * @param key 字段标识
                 * @param fieldProp 字段属性
                 * @param columnDesc 字段对应的格式化对象
                 * @return
                 */
                createColumnDesc?(key:string,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,columnDesc:kd.bos.entity.list.column.AbstractColumnDesc):kd.bos.entity.list.column.BaseDataColumnDesc;
                /**
                 * 获取基础资料条件
                 *
                 * @param model 数据模型
                 * @return
                 */
                getFilterCondition?(model:kd.bos.entity.datamodel.IDataModel):$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 根据主业务组织获取到受控基础资料的过滤条件
                 * @param model 数据模型
                 * @param entityId 实体标识
                 * @return
                 */
                getBaseDataControlOrgQFilter(model:kd.bos.entity.datamodel.IDataModel,entityId:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取基础资料主实体
                 * @return
                 */
                getComplexType?():$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 获取基础资料字段F7时自带的过滤条件
                 * @param formId 表单编码
                 * @param entityId 表单编码
                 * @return
                 */
                getF7InnerFilters(formId:string,entityId:string):$.java.util.List;
                /**
                 * 获取显示字段
                 * @return 显示字段
                 */
                getDispProp?():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 将基础资料上配置的过滤条件解析为QFilter
                 *
                 * @param model
                 * @return QFilter
                 */
                buildCoreFilterByString?(model:kd.bos.entity.datamodel.IDataModel):$.java.util.List;
                /**
                 * 将基础资料上配置的过滤条件解析为QFilter
                 *
                 * @param model
                 * @return FilterBuilder
                 */
                buildCoreFilter?(model:kd.bos.entity.datamodel.IDataModel):kd.bos.entity.filter.FilterBuilder;
                /**
                 * 根据主业务组织、当前数据id 获取到受控基础资料的精确过滤条件
                 * 避免调用getBaseDataFilter接口生成大量临时表
                 * @param model 数据模型
                 * @param entityId 实体标识
                 * @param customFilter 当前数据id过滤条件
                 * @return
                 */
                getBaseDataControlOrgQFilter(model:kd.bos.entity.datamodel.IDataModel,entityId:string,customFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取基础资料字段F7时自带的过滤条件
                 * @param appId 应用id
                 * @param formId 表单编码
                 * @param entityId 实体编码
                 * @param isList 是否是列表
                 * @return
                 */
                getF7InnerFilters(appId:string,formId:string,entityId:string,isList:boolean):$.java.util.List;
                /**
                 * 获取基础资料字段名称
                 * @return 名称
                 */
                getName?():string;
                /**
                 * 获取基础资料编码字段标识
                 * @return 编码字段标识
                 */
                getNumberProp?():string;
                /**
                 * 获取基础资料显示属性
                 * @return 显示属性
                 */
                getDisplayProp?():string;
                /**
                 * 获取组织字段
                 * @return
                 */
                getOrgProp():string;
            }
            type IBasedataField_T = IBasedataField$ & IFieldHandle;
            interface IBasedataField extends IBasedataField_T {
            }
            interface BigIntProp_S {
            }
            type BigIntProp_ST = BigIntProp_S & IntegerProp_S;
            interface BigIntProp_C extends BigIntProp_ST {
                new():BigIntProp;
            }
            interface BigIntProp$ {
            }
            type BigIntProp_T = BigIntProp$ & IntegerProp;
            interface BigIntProp extends BigIntProp_T {
            }
            interface BasedataProp_S {
            }
            type BasedataProp_ST = $.kd.bos.dataentity.metadata.dynamicobject.DynamicComplexProperty & BasedataProp_S & IBasedataField_S & ICompareTypeConfig_S & IFieldRuleHandle_S & IRegisterListField_S & kd.bos.entity.validate.IValidatorHanlder_S;
            interface BasedataProp_C extends BasedataProp_ST {
                /**
                 * 构造函数
                 */
                new():BasedataProp;
            }
            interface BasedataProp$ {
                /**
                 * 获取基础资料字段显示属性值
                 *
                 * @param basedataObj 基础资料数据
                 * @return 显示属性值
                 */
                getDisplayValue(basedataObj:any):string;
                /**
                 * 创建基础资料主键实体属性
                 *
                 * @return
                 */
                createRefIDProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty;
                /**
                 * 设置基础资料默认值配置
                 *
                 * @param defValue 默认值配置
                 */
                setDefValue(defValue:string):void;
                /**
                 * 获取布局ID
                 *
                 * @return
                 */
                getLayoutId():string;
                /**
                 * 获取关联的基础资料内码实体属性
                 * <p>
                 * 基础资料字段，在实体上会注册两个属性对象：
                 * 1. 基础资料属性对象：复合型，存储基础资料数据包
                 * 2. 基础资料内码属性对象：长整型，存储基础资料数据内码
                 *
                 * @return
                 */
                getRefIdProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置绑定基础资料标识
                 *
                 * @param baseEntityName 绑定基础资料标识
                 */
                setBaseEntityId(baseEntityName:string):void;
                /**
                 * 获取组织业务职能编码
                 *
                 * @return 组织职能编码
                 */
                getOrgFunc():string;
                /**
                 * 设置基础资料默认值配置
                 *
                 * @param defValue2 默认值配置
                 */
                setDefValue2(defValue2:FieldDefValue):void;
                /**
                 * 对传入的pkValue进行类型转换，输出基础资料主键类型值
                 *
                 * @param refType 基础资料实体类型
                 * @param pkValue 主键值
                 */
                convertPKValueType(refType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,pkValue:any):any;
                /**
                 * 设置布局ID
                 *
                 * @param layoutId 布局ID
                 */
                setLayoutId(layoutId:string):void;
                /**
                 * 是否必录
                 */
                isMustInput():boolean;
                /**
                 * 设置关联的基础资料内码实体属性
                 *
                 * @param refIdProp 基础资料内码字段
                 */
                setRefIdProp(refIdProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 执行基础资料数据删除操作时，不检查本单有没有引用被删的数据(暂时没有在设计器放开属性配置，可以直接修改XML设置值)
                 *
                 * @return
                 */
                isIgnoreRefCheck():boolean;
                /**
                 * 设置视图方案标识
                 * @param viewNumber
                 */
                setViewNumber(viewNumber:string):void;
                /**
                 * 比较两个基础资料字段，是否关联了相同的主资料：如果关联了相同的主资料，数据可以互相转换
                 *
                 * @param otherProp
                 * @return
                 */
                isFromSampleMaster(otherProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
                /**
                 * 设置是否只显示启用
                 *
                 * @param isShowUsed 只显示启用
                 */
                setShowUsed(isShowUsed:boolean):void;
                /**
                 * 获取弹性域属性标识
                 *
                 * @return
                 */
                getFlexPropertyKey():string;
                /**
                 * 添加基础资料控制的字段
                 *
                 * @param prop 实体属性
                 */
                addRelationControlledProp(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 设置基础资料编辑显示属性
                 *
                 * @param editSearchProp 编辑显示属性
                 */
                setEditSearchProp(editSearchProp:string):void;
                /**
                 * 获取基础资料控制的字段
                 *
                 * @return
                 */
                getRelationControlledProp():$.java.util.List;
                /**
                 * 生成基础资料显示数据包
                 *
                 * @param v           基础资料数据包
                 * @param displayProp 显示的属性名，通常是名称(name)
                 * @return 返回数组，第一个值是编码，第二个值是名称，第三个值是编辑显示属性，第四个是长编码，第五个是长名称,第六个位置是组织简称
                 */
                getBindingBasedataValue(v:any,displayProp:string):any;
                /**
                 * 设置基础资料对应使用组织的属性名
                 *
                 * @param orgProp 组织的属性名
                 */
                setOrgProp(orgProp:string):void;
                /**
                 * 设置是否需要二次加载数据
                 * @param isNeedReLoad
                 */
                setNeedReLoad(isNeedReLoad:boolean):void;
                /**
                 * 设置基础资料显示属性
                 *
                 * @param displayProp 显示属性
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 设置基础资料数据删除操作时，不检查本单有没有引用被删的数据(暂时没有在设计器放开属性配置，可以直接修改XML设置值)
                 *
                 * @return
                 */
                setIgnoreRefCheck(ignoreRefCheck:boolean):void;
                /**
                 * 设置组织数据
                 * @param orgDatas
                 */
                setOrgDatas(orgDatas:$.java.util.Map):void;
                /**
                 * 获取基础资料是否必录
                 *
                 * @param mustInput 是否必录
                 */
                setMustInput(mustInput:boolean):void;
                /**
                 * 获取基础资料编码字段
                 *
                 * @return 编码字段
                 */
                getNumbProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取基础资料编辑显示属性
                 *
                 * @return 编辑显示属性
                 */
                getEditSearchProp():string;
                /**
                 * 设置组织职能Id
                 * @param orgFuncId
                 */
                setOrgFuncId(orgFuncId:string):void;
                /**
                 * 获取组织业务职能编码
                 *
                 * @param orgFunc 组织职能编码
                 */
                setOrgFunc(orgFunc:string):void;
                /**
                 * 设置基础资料编码字段
                 *
                 * @param numberProp 编码字段
                 */
                setNumberProp(numberProp:string):void;
                /**
                 * 是否集团控制
                 *
                 * @return 返回true是集团控制
                 */
                isGroupControl():boolean;
            }
            type BasedataProp_T = $.kd.bos.dataentity.metadata.dynamicobject.DynamicComplexProperty & BasedataProp$ & IBasedataField & ICompareTypeConfig & IFieldRuleHandle & IRegisterListField & kd.bos.entity.validate.IValidatorHanlder;
            interface BasedataProp extends BasedataProp_T {
            }
            interface BillStatusProp_S {
            }
            type BillStatusProp_ST = BillStatusProp_S & ComboProp_S;
            interface BillStatusProp_C extends BillStatusProp_ST {
                new():BillStatusProp;
            }
            interface BillStatusProp$ {
                /**
                 * 设置单据状态值集合
                 * @param statusItems 状态集合
                 */
                setStatusItems(statusItems:$.java.util.List):void;
                /**
                 * 获取单据状态值集合
                 * @return
                 */
                getStatusItems():$.java.util.List;
                /**
                 * 根据状态标识获取单据状态信息
                 * @param statusKey
                 * @return
                 */
                getStatusItem(statusKey:string):BillStatusProp$StatusItemPro;
            }
            type BillStatusProp_T = BillStatusProp$ & ComboProp;
            interface BillStatusProp extends BillStatusProp_T {
            }
            interface CityProp_S {
            }
            type CityProp_ST = BasedataProp_S & CityProp_S;
            interface CityProp_C extends CityProp_ST {
                new():CityProp;
            }
            interface CityProp$ {
            }
            type CityProp_T = BasedataProp & CityProp$;
            interface CityProp extends CityProp_T {
            }
            interface IFieldSeq_S {
            }
            interface IFieldSeq_C extends IFieldSeq_S {
            }
            interface IFieldSeq$ {
                /**
                 * 执行顺序：同一实体中，各个字段的执行顺序是不一样的，必须先执行主组织、组织、多类别类型字段、基础资料字段、普通字段、数值字段、多类别基础资料、
                 * 弹性域、单据体
                 *
                 * @return
                 */
                getFieldSeq():number;
            }
            type IFieldSeq_T = IFieldSeq$;
            interface IFieldSeq extends IFieldSeq_T {
            }
            interface PriceProp_S {
            }
            type PriceProp_ST = AmountProp_S & PriceProp_S;
            interface PriceProp_C extends PriceProp_ST {
                new():PriceProp;
            }
            interface PriceProp$ {
            }
            type PriceProp_T = AmountProp & PriceProp$;
            interface PriceProp extends PriceProp_T {
            }
            interface EntityTreeNode_S {
            }
            interface EntityTreeNode_C extends EntityTreeNode_S {
                /**
                 * 构造函数
                 */
                new():EntityTreeNode;
                /**
                 * 构造函数
                 *
                 * @param key  节点标识
                 * @param name 节点名称
                 */
                new(key:string,name:string):EntityTreeNode;
                /**
                 * 构造函数
                 *
                 * @param key     节点标识
                 * @param name    节点名称
                 * @param isEntry 是否分录字段
                 */
                new(key:string,name:string,isEntry:boolean):EntityTreeNode;
                /**
                 * 构造函数
                 *
                 * @param key        节点标识
                 * @param name       节点名称
                 * @param parentKey  父节点标识
                 * @param parentName 父节点名称
                 */
                new(key:string,name:string,parentKey:string,parentName:string):EntityTreeNode;
                /**
                 * 构造函数
                 *
                 * @param key              节点标识
                 * @param name             节点名称
                 * @param isEntry          是否分录字段
                 * @param isBaseData       是否基础资料
                 * @param basedataTypeEnum 基础资料类型
                 * @param level            期望生成的级别
                 * @param baseEntityId     基础资料实体ID
                 */
                new(key:string,name:string,isEntry:boolean,isBaseData:boolean,basedataTypeEnum:BasedataTypeEnum,level:number,baseEntityId:string):EntityTreeNode;
                /**
                 * 构造函数
                 *
                 * @param key              节点标识
                 * @param name             节点名称
                 * @param parentKey        父节点标识
                 * @param parentName       父节点名称
                 * @param isEntry          是否分录字段
                 * @param isBaseData       是否基础资料
                 * @param basedataTypeEnum 基础资料类型
                 * @param baseEntityId     基础资料实体ID
                 */
                new(key:string,name:string,parentKey:string,parentName:string,isEntry:boolean,isBaseData:boolean,basedataTypeEnum:BasedataTypeEnum,baseEntityId:string):EntityTreeNode;
            }
            interface EntityTreeNode$ {
                /**
                 * 获取是否为基础资料
                 * @return 是否为基础资料结点
                 */
                isBaseData():boolean;
                /**
                 * 获取父节点名称
                 * @return 父节点名称
                 */
                getParentName():string;
                setEntryRefFields(entryRefFields:$.java.util.List):void;
                setIncludeEntry(includeEntry:boolean):void;
                setLevel(level:number):void;
                /**
                 * 获取基础资料类型
                 * @return
                 */
                getBasedataTypeEnum():BasedataTypeEnum;
                /**
                 * 获取级次
                 * @return 期望生成的级别
                 */
                getLevel():number;
                /**
                 * 获取节点标识
                 * @return 父节点标识.节点标识
                 */
                getTreeNodeKey():string;
                /**
                 * 设置物理字段是否为空
                 *
                 * @param isFieldPropAliasEmpty 物理字段是否为空
                 */
                setFieldPropAliasEmpty(isFieldPropAliasEmpty:boolean):void;
                addEntryRefField(entryRefField:string):void;
                /**
                 * 获取节点名称
                 * @return 节点名称
                 */
                getName():string;
                /**
                 * 获取数物理字段是否为空
                 * @return
                 */
                isFieldPropAliasEmpty():boolean;
                setEntityRefField(entityRefField:boolean):void;
                getEntryRefFields():$.java.util.List;
                /**
                 * 获取基础资料实体ID
                 * @return 基础资料实体ID
                 */
                getBaseEntityId():string;
                setNeedAddEntryRefField(needAddEntryRefField:boolean):void;
                /**
                 * 获取节点名称
                 * @return 父节点名称.节点名称
                 */
                getTreeNodeName():string;
                /**
                 * 获取父节点标识
                 * @return 父节点标识
                 */
                getParentKey():string;
                /**
                 * 获取节点标识
                 * @return 节点标识
                 */
                getKey():string;
                isNeedAddEntryRefField():boolean;
                isEntityRefField():boolean;
                /**
                 * 获取是否为分录字段
                 * @return 是否为分录
                 */
                isEntry():boolean;
                isIncludeEntry():boolean;
            }
            type EntityTreeNode_T = EntityTreeNode$;
            interface EntityTreeNode extends EntityTreeNode_T {
            }
            interface AdminDivisionProp_S {
            }
            type AdminDivisionProp_ST = AdminDivisionProp_S & FieldProp_S;
            interface AdminDivisionProp_C extends AdminDivisionProp_ST {
                new():AdminDivisionProp;
            }
            interface AdminDivisionProp$ {
            }
            type AdminDivisionProp_T = AdminDivisionProp$ & FieldProp;
            interface AdminDivisionProp extends AdminDivisionProp_T {
            }
            interface PrintCountProp_S {
            }
            type PrintCountProp_ST = IntegerProp_S & PrintCountProp_S;
            interface PrintCountProp_C extends PrintCountProp_ST {
                new():PrintCountProp;
            }
            interface PrintCountProp$ {
                /**
                 * 获取打印次数统计方式
                 * @return
                 */
                getRecordModel():string;
                /**
                 * 设置打印次数统计方式
                 * @param recordModel
                 */
                setRecordModel(recordModel:string):void;
            }
            type PrintCountProp_T = IntegerProp & PrintCountProp$;
            interface PrintCountProp extends PrintCountProp_T {
            }
            interface PKFieldProp_S {
            }
            type PKFieldProp_ST = FieldProp_S & PKFieldProp_S;
            interface PKFieldProp_C extends PKFieldProp_ST {
                /**
                 * 构造函数
                 */
                new():PKFieldProp;
                /**
                 * 构造函数
                 * @param refId 数据主键
                 */
                new(refId:boolean):PKFieldProp;
            }
            interface PKFieldProp$ {
                /**
                 * 随机生成一个不重复的内码值
                 * @return
                 */
                genPKValue():any;
            }
            type PKFieldProp_T = FieldProp & PKFieldProp$;
            interface PKFieldProp extends PKFieldProp_T {
            }
            interface MainOrgProp_S {
                readonly PARAMKEY_HASRIGHT:string;
            }
            type MainOrgProp_ST = MainOrgProp_S & OrgProp_S;
            interface MainOrgProp_C extends MainOrgProp_ST {
                /**
                 * 构造函数
                 */
                new():MainOrgProp;
            }
            interface MainOrgProp$ {
                /**
                 * 计算当前场景下，主组织字段默认值；如果取不到，返回null
                 *
                 * @param model 数据模型
                 * @return
                 */
                calcDefaultValue(model:kd.bos.entity.datamodel.IDataModel):long;
                /**
                 * 判断指定的组织，有没有权限作为本单主组织
                 *
                 * @param orgId 组织
                 * @param isBindingPerm 是否验权
                 * @param authOrgIds 已获授权新建单据的组织
                 * @return
                 */
                canBeMainOrg(orgId:long,isBindingPerm:boolean,authOrgIds:$.java.util.Set):boolean;
                /**
                 * 获取权限过滤条件
                 *
                 * @param entityId       实体标识
                 * @param appId          应用ID
                 * @param permissionItem 权限项
                 * @return
                 */
                getPermissionFilter(entityId:string,appId:string,permissionItem:string):$.kd.bos.orm.query.QFilter;
            }
            type MainOrgProp_T = MainOrgProp$ & OrgProp;
            interface MainOrgProp extends MainOrgProp_T {
            }
            interface UserProp_S {
            }
            type UserProp_ST = BasedataProp_S & UserProp_S;
            interface UserProp_C extends UserProp_ST {
                /**
                 * 构造函数
                 */
                new():UserProp;
            }
            interface UserProp$ {
                /**
                 * 获取用户字段的查询风格
                 *
                 * @return 查询风格 0（缺省）、1（树形+列表）、2（列表）、3（树形（受控）+列表）
                 */
                getF7Style():number;
                /**
                 * 设置用户字段的查询风格
                 *
                 * @param f7Style  查询风格 0（缺省）、1（树形+列表）、2（列表）、3（树形（受控）+列表）
                 */
                setF7Style(f7Style:number):void;
            }
            type UserProp_T = BasedataProp & UserProp$;
            interface UserProp extends UserProp_T {
            }
            interface AmountProp_S {
                readonly PrecisionPropName:string;
            }
            type AmountProp_ST = AmountProp_S & DecimalProp_S;
            interface AmountProp_C extends AmountProp_ST {
                new():AmountProp;
            }
            interface AmountProp$ {
            }
            type AmountProp_T = AmountProp$ & DecimalProp;
            interface AmountProp extends AmountProp_T {
            }
            interface CreateExtendFilterFieldsResult_S {
            }
            interface CreateExtendFilterFieldsResult_C extends CreateExtendFilterFieldsResult_S {
                new():CreateExtendFilterFieldsResult;
            }
            interface CreateExtendFilterFieldsResult$ {
                getFilterFields():$.java.util.List;
                getRegisterPropertyListeners():$.java.util.List;
            }
            type CreateExtendFilterFieldsResult_T = CreateExtendFilterFieldsResult$;
            interface CreateExtendFilterFieldsResult extends CreateExtendFilterFieldsResult_T {
            }
            interface DateTimeProp_S {
            }
            type DateTimeProp_ST = DateTimeProp_S & FieldProp_S;
            interface DateTimeProp_C extends DateTimeProp_ST {
                /**
                 * 构造函数
                 */
                new():DateTimeProp;
            }
            interface DateTimeProp$ {
                /**
                 * 设置日期范围字段中是否是起始日期
                 *
                 * @param startDateTimeRange 是否是起始日期
                 */
                setStartDateTimeRange(startDateTimeRange:boolean):void;
                /**
                 * 设置掩码
                 *
                 * @param mask 掩码
                 */
                setMask(mask:string):void;
                /**
                 * 设置最小值
                 *
                 * @param min 日期最小值
                 */
                setMinDate(min:Date):void;
                /**
                 * 获取关联组织，用户时区和组织时区依据关联组织格式化日期时间
                 *
                 * @return 关联组织
                 */
                getRelateOrg():string;
                /**
                 * 解析时间
                 *
                 * @param dataEntity 数据包
                 * @param date       时间字符串
                 * @return
                 * @throws ParseException
                 */
                parse(dataEntity:any,date:string):Date;
                /**
                 * 获取最小值
                 *
                 * @return 日期最小值
                 */
                getMinDate():Date;
                /**
                 * 获取最大值
                 *
                 * @return 日期最大值
                 */
                getMaxDate():Date;
                /**
                 * 获取掩码，用于前端控件展示格式
                 *
                 * @return
                 */
                getMask():string;
                /**
                 * 设置是否用区域设置
                 *
                 * @param useRegion 用区域设置
                 */
                setUseRegion(useRegion:boolean):void;
                /**
                 * 设置格式化表达式
                 *
                 * @param displayFormatString 格式化字符串
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 设置日期范围中的快捷选项
                 * @param quickOptions
                 */
                setQuickOptions(quickOptions:string):void;
                /**
                 * 获取日期范围字段中是否是起始日期
                 *
                 * @return true or false
                 */
                isStartDateTimeRange():boolean;
                /**
                 * 获取关联日期范围的标识, 为空则代表没有相关日期范围关联
                 *
                 * @return 关联日期范围的标识
                 */
                getRelateDateTimeRange():string;
                /**
                 * 设置时区转换方式
                 *
                 * @param timeZoneTransType 时区转换
                 *                          0（服务器时区）、1（用户时区）、2（组织时区）
                 */
                setTimeZoneTransType(timeZoneTransType:number):void;
                /**
                 * 获取区域类型
                 *
                 * @return 1（短日期）or 2（长日期）
                 */
                getRegionType():number;
                /**
                 * 获取自定义格式化长日期
                 *
                 * @param dataEntity
                 * @param date
                 * @param dateFormat
                 * @return
                 */
                customFormat(dataEntity:any,date:Date,dateFormat:$.java.text.SimpleDateFormat):string;
                /**
                 * 获取日期格式化信息
                 *
                 * @return
                 */
                getDateFormat():$.java.text.DateFormat;
                /**
                 * 获取格式化长日期
                 *
                 * @param dataEntity 数据包
                 * @param date       日期
                 * @return
                 */
                format(dataEntity:any,date:Date):string;
                /**
                 * 设置关联组织，用户时区和组织时区依据关联组织格式化日期时间
                 *
                 * @param relateOrg 关联组织
                 */
                setRelateOrg(relateOrg:string):void;
                /**
                 * 获取是否用区域设置
                 *
                 * @return
                 */
                isUseRegion():boolean;
                /**
                 * 获取格式化表达式，通过格式化表达式，控制数据的显示格式
                 *
                 * @return 格式化字符串
                 */
                getDisplayFormatString():string;
                /**
                 * 根据组织获取时区转换方式
                 *
                 * @param orgId 组织ID
                 * @return
                 */
                getTimeZone(orgId:long):$.kd.bos.service.InteTimeZone;
                /**
                 * 获取日期范围中的快捷选项
                 * @return
                 */
                getQuickOptions():string;
                /**
                 * 根据实际日期来获取日期格式化信息（最小单位为秒，或者毫秒）
                 *
                 * @return
                 */
                getDateFormat(date:string):$.java.text.DateFormat;
                /**
                 * 设置关联日期范围的标识, 为空则代表没有相关日期范围关联
                 *
                 * @param relateDateTimeRange 关联日期范围的标识
                 */
                setRelateDateTimeRange(relateDateTimeRange:string):void;
                /**
                 * 设置区域类型
                 *
                 * @param regionType 1（短日期）or 2（长日期）
                 */
                setRegionType(regionType:number):void;
                /**
                 * 设置最大值
                 *
                 * @param max 日期最大值
                 */
                setMaxDate(max:Date):void;
                /**
                 * 获取时区转换方式
                 *
                 * @return 0（服务器时区）、1（用户时区）、2（组织时区）
                 */
                getTimeZoneTransType():number;
            }
            type DateTimeProp_T = DateTimeProp$ & FieldProp;
            interface DateTimeProp extends DateTimeProp_T {
            }
            interface BizBasedataProp_S {
            }
            type BizBasedataProp_ST = BasedataProp_S & BizBasedataProp_S;
            interface BizBasedataProp_C extends BizBasedataProp_ST {
                new():BizBasedataProp;
            }
            interface BizBasedataProp$ {
                /**
                 * 获取主资料字段
                 *
                 * 从关联的业务资料实体中，查找其内含的主资料字段
                 *
                 * @return 主资料字段
                 */
                getMasterIdProp():MasterBasedataProp;
            }
            type BizBasedataProp_T = BasedataProp & BizBasedataProp$;
            interface BizBasedataProp extends BizBasedataProp_T {
            }
            interface IFieldHandle_S {
                /**
                 * 输出字段的默认值，高级版，可以进行函数、公式计算
                 *
                 * @param model                  数据模型，如果传null，不能进行含字段变量的公式运算
                 * @param dataEntity             字段当前行数据包
                 * @param defaultValueCalculator 默认值解析器：据此解析字段的默认值配置；
                 *                               如果传入null，则在内部自动创建DefaultValueCalculator实例
                 * @param fieldProp              字段属性对象
                 * @return
                 */
                getFieldDefaultValue2(model:kd.bos.entity.datamodel.IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,defaultValueCalculator:kd.bos.entity.datamodel.DefaultValueCalculator,fieldProp:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):any;
                /**
                 * 输出字段的默认值，基础版，传入的参数不够，只能进行变量运算
                 *
                 * @param defaultValueCalculator 默认值解析器：据此解析字段的默认值配置；
                 *                               如果传入null，则在内部自动创建DefaultValueCalculator实例
                 * @param fieldProp              字段属性对象
                 * @return
                 */
                getFieldDefaultValue(defaultValueCalculator:kd.bos.entity.datamodel.DefaultValueCalculator,fieldProp:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):any;
            }
            interface IFieldHandle_C extends IFieldHandle_S {
            }
            interface IFieldHandle$ {
                /**
                 * 设置字段值
                 *
                 * @param model      数据模型
                 * @param dataEntity 需改动字段值的数据包
                 * @param Value      字段值
                 */
                setFieldValue(model:kd.bos.entity.datamodel.IDataModel,dataEntity:any,Value:any):void;
                /**
                 * 字段是否支持轻分析
                 *
                 * @param supportQingAnalysis 支持轻分析
                 */
                setSupportQingAnalysis?(supportQingAnalysis:boolean):void;
                /**
                 * 设置默认比较符(多个值)
                 *
                 * @param defaultMultiCompareTypeId 默认比较符(多个值)
                 */
                setDefaultMultiCompareTypeId(defaultMultiCompareTypeId:string):void;
                /**
                 * 基于运行时字段元数据，构建过滤字段
                 *
                 * @return
                 * @remark 基础资料等字段，需要支持多个维度(编码、名称)过滤，生成多个过滤字段；
                 * 使用场景：
                 * 过滤表格控件，需要根据单据运行时元数据，遍历全部字段，生成可选的过滤字段列表
                 */
                createFilterFields?(mainType:MainEntityType):$.java.util.List;
                /**
                 * 允许引入
                 *
                 * @return
                 */
                isImportable?():boolean;
                /**
                 * 获取基础资料属性在界面上展示的值
                 *
                 * @param basedataObj 基础资料的动态对象
                 * @return 基础资料属性在界面上展示的值
                 */
                getBasePropDisplayValue?(basedataObj:any):any;
                /**
                 * 获取字段的功能控制
                 *
                 * @return
                 */
                getFeatures?():number;
                /**
                 * F7批量填充分录空白行
                 *
                 * @return
                 */
                isF7BatchFill?():boolean;
                /**
                 * 设WebApi上传数据时设置字段的值，特殊的字段需要值转换进行重载，缺省实现和 setFieldValue一致
                 *
                 * @param model           数据模型
                 * @param dataEntity      需改动字段值的数据包
                 * @param value           字段值
                 * @param checkImportable 是否检查字段"功能控制 -是否允许导入"选项
                 */
                setFieldValueForWebApi?(model:kd.bos.entity.datamodel.IDataModel,dataEntity:any,value:any,checkImportable:boolean):void;
                /**
                 * 基于运行时字段元数据，构建过滤字段
                 * @param mainType 主实体
                 * @param propName 字段名称
                 */
                createFilterField(mainType:MainEntityType,propName:string):kd.bos.entity.filter.FilterField;
                /**
                 * 设置该字段默认值
                 *
                 * @param dataEntity 数据包
                 */
                applyDefaultValue(model:kd.bos.entity.datamodel.IDataModel,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,rowIndex:number):void;
                /**
                 * 设置默认比较符(单个值)
                 *
                 * @param defaultCompareTypeId 默认比较符(单个值)
                 */
                setDefaultCompareTypeId(defaultCompareTypeId:string):void;
                /**
                 * 是否能用于分析字段
                 *
                 * @return
                 */
                isAnalysisField?():boolean;
                /**
                 * 允许批量修改
                 *
                 * @return
                 */
                isBulkEditable?():boolean;
                /**
                 * 获取默认比较符组标识
                 *
                 * @return 默认比较符组标识
                 */
                getCompareGroupID():string;
                /**
                 * 允许批量填充
                 *
                 * @return
                 */
                isMultiFillable?():boolean;
                /**
                 * 根据不同字段类型来调整字段列的某些属性，在创建过滤字段后被调用
                 *
                 * @param column 列字典
                 * @param param  列参数
                 */
                afterCreateFilterColumn?(column:$.java.util.Map,param:kd.bos.entity.filter.ColumnParam):void;
                /**
                 * 允许引出
                 *
                 * @return
                 */
                isExportable?():boolean;
                /**
                 * 设置字段是否支持轻分析
                 *
                 * @return 是否支持轻分析
                 */
                isSupportQingAnalysis?():boolean;
                /**
                 * 连续新增
                 *
                 * @return
                 */
                isSeriesNewTote?():boolean;
                /**
                 * 获取默认比较符(多个值)
                 *
                 * @return 默认比较符(多个值)
                 */
                getDefaultMultiCompareTypeId():string;
                /**
                 * 设置字段的功能控制
                 * @param features 功能控制
                 */
                setFeatures?(features:number):void;
                /**
                 * 基于运行时字段元数据，构建解析字段
                 *
                 * @param mainType 基础资料主实体
                 * @param propName 字段名称
                 * @return
                 */
                createAnalysisField(mainType:MainEntityType,propName:string):kd.bos.entity.qing.AnalysisField;
                /**
                 * 设置过滤控件类型
                 * @param filterControlType 过滤控件类型
                 */
                setFilterControlType(filterControlType:string):void;
                /**
                 * 获取字段名称
                 *
                 * @return
                 */
                getDisplayName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置默认比较符组标识
                 *
                 * @param compareGroupID 默认比较符组标识
                 */
                setCompareGroupID(compareGroupID:string):void;
                /**
                 * 允许凭证生成
                 *
                 * @return
                 */
                isAllowvoucher?():boolean;
                /**
                 * 获取数据库字段类型
                 * @return
                 */
                getDbType():number;
                /**
                 * 获取该属性对应列字段对应的格式化对象
                 *
                 * @param col 列表列字段
                 * @return 格式化信息
                 */
                getListColumnDesc(col:kd.bos.entity.datamodel.ListField):kd.bos.entity.list.column.AbstractColumnDesc;
                /**
                 * 获取字段比较符集合
                 *
                 * @return 字段比较符集合
                 */
                getCompareTypes():$.java.util.List;
                /**
                 * 进阶版字段默认值配置，适用于复杂默认值取值类型，默认返回null。
                 *
                 * @return
                 * @remark getDefValue2与getDefValue的差别：
                 * 1. getDefValue 定义早些，考虑的比较简单，用于设置常量型、变量型默认值问题不大，但要用于设置函数型、公式型默认值时，就有点麻烦
                 * 2. getDefValue2 定义晚些，把默认值进行分类，通过不同的参数记录不同类型默认值设置值，便于运行时解析；
                 * 3. 为了兼容，默认getDefValue2为null，系统还是走getDefValue取默认值设置
                 * 4. 暂时只有少数字段(长日期)，会输出getDefValue2属性值；后续根据需要推广到其他字段
                 */
                getDefValue2?():FieldDefValue;
                /**
                 * @return 过滤控件类型
                 */
                getFilterControlType():string;
                /**
                 * 是否系统属性，如内码、基础资料引用Id，多语言对应内部字段
                 */
                isSysField():boolean;
                /**
                 * 获取默认比较符(单个值)
                 *
                 * @return 默认比较符(单个值)
                 */
                getDefaultCompareTypeId():string;
                /**
                 * 获取列表字段元素，用于设计器根据字段动态列表列创建
                 * @param entityTreeNode 实体树
                 * @param isAllNode 是否所有节点
                 * @return
                 */
                createEntityTreeNodes(entityTreeNode:EntityTreeNode,isAllNode:boolean):$.java.util.List;
                /**
                 * 允许单据转换携带
                 *
                 * @return
                 */
                isConvertTote?():boolean;
                /**
                 * 字段默认值配置，默认返回为null，即未配置默认值
                 *
                 * @return
                 * @remark 本方法与getDefaultValue()有差别：取数据类型的默认值，如Integer类型的默认值为0
                 * 本属性，返回的用户在设计器中设置的默认值，可能是常量，也可能是变量；
                 * 未配置默认值时，返回null
                 */
                getDefValue?():any;
                /**
                 * 基于运行时字段元数据，构建过滤字段
                 *
                 * @param mainType 主实体
                 */
                createAnalysisFields?(mainType:MainEntityType):$.java.util.List;
                /**
                 * 允许复制
                 *
                 * @return
                 */
                isCopyable?():boolean;
                /**
                 * 获取字段对象主键支持的过滤比较符集合
                 * @return
                 */
                getPkPropCompareTypeIds?():$.java.util.List;
                /**
                 * 获取字段对象模糊搜索支持的过滤比较符集合
                 *  @return
                 */
                getSearchCompareTypeIds?():$.java.util.List;
                /**
                 * 设置集团管控
                 */
                setGroupControl?(groupControl:boolean):void;
            }
            type IFieldHandle_T = IFieldHandle$;
            interface IFieldHandle extends IFieldHandle_T {
            }
            interface CreatedByIdProp_S {
            }
            type CreatedByIdProp_ST = $.kd.bos.dataentity.metadata.ICreatedByProperty & CreatedByIdProp_S & LongProp_S;
            interface CreatedByIdProp_C extends CreatedByIdProp_ST {
                /**
                 * 构造函数
                 */
                new():CreatedByIdProp;
                /**
                 * 构造函数
                 *
                 * @param isrefId
                 */
                new(isrefId:boolean):CreatedByIdProp;
            }
            interface CreatedByIdProp$ {
            }
            type CreatedByIdProp_T = $.kd.bos.dataentity.metadata.ICreatedByProperty & CreatedByIdProp$ & LongProp;
            interface CreatedByIdProp extends CreatedByIdProp_T {
            }
            interface CreaterProp_S {
            }
            type CreaterProp_ST = CreaterProp_S & UserProp_S;
            interface CreaterProp_C extends CreaterProp_ST {
                new():CreaterProp;
            }
            interface CreaterProp$ {
            }
            type CreaterProp_T = CreaterProp$ & UserProp;
            interface CreaterProp extends CreaterProp_T {
            }
            interface OrgProp_S {
            }
            type OrgProp_ST = BasedataProp_S & IFieldSeq_S & OrgProp_S;
            interface OrgProp_C extends OrgProp_ST {
                /**
                 * 构造函数
                 */
                new():OrgProp;
            }
            interface OrgProp$ {
                /**
                 * 获取显示表单的参数
                 *
                 * @return Map
                 */
                getShowFormCustomParams():$.java.util.Map;
                /**
                 * 获取组织视图方案属性
                 *
                 * @return 视图方案
                 */
                getOrgViewScheme():kd.bos.entity.property.org.OrgViewSchemeProp;
                /**
                 * 获取业务组织过滤条件
                 *
                 * @return
                 */
                getBizOrgFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 设置组织字段的查询风格
                 *
                 * @param f7Style 查询风格 0（缺省）、1（树形+列表）、2（列表）、3（树形（受控）+列表）
                 */
                setF7Style(f7Style:number):void;
                /**
                 * 设置组织视图方案属性
                 * @param orgViewScheme 视图方案
                 */
                setOrgViewScheme(orgViewScheme:kd.bos.entity.property.org.OrgViewSchemeProp):void;
                /**
                 * 设置组织字段的委托关系属性
                 *
                 * @param orgRelation 委托关系
                 */
                setOrgRelation(orgRelation:$.java.util.List):void;
                /**
                 * 获取组织字段的委托关系属性
                 *
                 * @return 委托关系
                 */
                getOrgRelation():$.java.util.List;
                /**
                 * 获取组织字段的查询风格
                 *
                 * @return 查询风格 0（缺省）、1（树形+列表）、2（列表）、3（树形（受控）+列表）
                 */
                getF7Style():number;
            }
            type OrgProp_T = BasedataProp & IFieldSeq & OrgProp$;
            interface OrgProp extends OrgProp_T {
            }
            interface IntegerProp_S {
            }
            type IntegerProp_ST = DecimalProp_S & IntegerProp_S;
            interface IntegerProp_C extends IntegerProp_ST {
                /**
                 * 构造函数
                 */
                new():IntegerProp;
            }
            interface IntegerProp$ {
            }
            type IntegerProp_T = DecimalProp & IntegerProp$;
            interface IntegerProp extends IntegerProp_T {
            }
            interface LongProp_S {
            }
            type LongProp_ST = LongProp_S & PKFieldProp_S;
            interface LongProp_C extends LongProp_ST {
                /**
                 * 构造函数
                 */
                new():LongProp;
                /**
                 * 构造函数
                 * @param isrefId
                 */
                new(isrefId:boolean):LongProp;
            }
            interface LongProp$ {
            }
            type LongProp_T = LongProp$ & PKFieldProp;
            interface LongProp extends LongProp_T {
            }
            interface SubEntryProp_S {
            }
            type SubEntryProp_ST = EntryProp_S & SubEntryProp_S;
            interface SubEntryProp_C extends SubEntryProp_ST {
                /**
                 * 反序列化要求有没有参数的构造函数
                 */
                new():SubEntryProp;
                /**
                 * 构造函数
                 * @param name 字段名称
                 * @param dynamicItemPropertyType 主实体
                 */
                new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):SubEntryProp;
            }
            interface SubEntryProp$ {
            }
            type SubEntryProp_T = EntryProp & SubEntryProp$;
            interface SubEntryProp extends SubEntryProp_T {
            }
            interface ModifyDateProp_S {
            }
            type ModifyDateProp_ST = $.kd.bos.dataentity.metadata.IModifyTimeProperty & DateTimeProp_S & ModifyDateProp_S;
            interface ModifyDateProp_C extends ModifyDateProp_ST {
                /**
                 * 构造函数
                 */
                new():ModifyDateProp;
            }
            interface ModifyDateProp$ {
            }
            type ModifyDateProp_T = $.kd.bos.dataentity.metadata.IModifyTimeProperty & DateTimeProp & ModifyDateProp$;
            interface ModifyDateProp extends ModifyDateProp_T {
            }
            interface RefProp_S {
            }
            interface RefProp_C extends RefProp_S {
                /**
                 * 构造函数
                 */
                new():RefProp;
                /**
                 * 构造函数
                 * @param name 名称
                 */
                new(name:string):RefProp;
            }
            interface RefProp$ {
                /**
                 * 获取名称
                 * @return
                 */
                getName():string;
                /**
                 * 设置名称
                 * @param name
                 */
                setName(name:string):void;
            }
            type RefProp_T = RefProp$;
            interface RefProp extends RefProp_T {
            }
            interface ICompareTypeConfig_S {
            }
            interface ICompareTypeConfig_C extends ICompareTypeConfig_S {
            }
            interface ICompareTypeConfig$ {
                /**
                 * 获取自定义比较符
                 * @return
                 */
                getCompareTypeConfig():CompareTypeConfig;
                /**
                 * 设置自定义比较符配置
                 * @param compareTypeConfig 自定义比较符
                 */
                setCompareTypeConfig(compareTypeConfig:CompareTypeConfig):void;
            }
            type ICompareTypeConfig_T = ICompareTypeConfig$;
            interface ICompareTypeConfig extends ICompareTypeConfig_T {
            }
            interface ModifierProp_S {
            }
            type ModifierProp_ST = ModifierProp_S & UserProp_S;
            interface ModifierProp_C extends ModifierProp_ST {
                new():ModifierProp;
            }
            interface ModifierProp$ {
            }
            type ModifierProp_T = ModifierProp$ & UserProp;
            interface ModifierProp extends ModifierProp_T {
            }
            interface MasterBasedataProp_S {
            }
            type MasterBasedataProp_ST = BasedataProp_S & MasterBasedataProp_S;
            interface MasterBasedataProp_C extends MasterBasedataProp_ST {
                new():MasterBasedataProp;
            }
            interface MasterBasedataProp$ {
            }
            type MasterBasedataProp_T = BasedataProp & MasterBasedataProp$;
            interface MasterBasedataProp extends MasterBasedataProp_T {
            }
            interface ItemClassProp_S {
            }
            type ItemClassProp_ST = BasedataProp_S & ItemClassProp_S;
            interface ItemClassProp_C extends ItemClassProp_ST {
                /**
                 * 构造函数
                 */
                new():ItemClassProp;
            }
            interface ItemClassProp$ {
                /**
                 * 获取基础资料主实体
                 * @param baseEntityId 基础资料实体ID
                 * @return
                 */
                getComplexType(baseEntityId:string):MainEntityType;
                /**
                 * 输出过滤字段信息
                 *
                 * @param mainType   基础资料主实体
                 * @param refPropKey 引用属性
                 * @param entityId   实体标识
                 * @return
                 */
                createFilterField(mainType:MainEntityType,refPropKey:string,entityId:string):kd.bos.entity.filter.FilterField;
                /**
                 * 获取基础资料类型名称
                 * @return
                 */
                getTypePropName():string;
                /**
                 * 设置基础资料类型名称
                 * @param typePropName 基础资料类型名称
                 */
                setTypePropName(typePropName:string):void;
            }
            type ItemClassProp_T = BasedataProp & ItemClassProp$;
            interface ItemClassProp extends ItemClassProp_T {
            }
            class BasedataTypeEnum {
                static readonly ItemClassType:kd.bos.entity.property.BasedataTypeEnum;
                static readonly MulBaseData:kd.bos.entity.property.BasedataTypeEnum;
                static readonly BaseData:kd.bos.entity.property.BasedataTypeEnum;
                static readonly None:kd.bos.entity.property.BasedataTypeEnum;
                static values():kd.bos.entity.property.BasedataTypeEnum[];
                static valueOf(arg0:string):kd.bos.entity.property.BasedataTypeEnum;
                getName():string;
            }
            interface UnitProp_S {
            }
            type UnitProp_ST = BasedataProp_S & UnitProp_S;
            interface UnitProp_C extends UnitProp_ST {
                new():UnitProp;
            }
            interface UnitProp$ {
                /**
                 * 获取字段materielFieldId的值
                 * @return  materielFieldId的值
                 */
                getMaterielField():string;
                /**
                 * 获取字段followUnitToChange的值
                 * @return  followUnitToChange的值
                 */
                isFollowUnitToChange():boolean;
                /**
                 * 获取关联的数量字段属性
                 *
                 * @return
                 */
                findRelatedQtyProps():$.java.util.List;
                /**
                 * 设置字段materielFieldId的值
                 * @param materielFieldId
                 */
                setMaterielField(materielFieldId:string):void;
                /**
                 * 获取关联的数量字段
                 *
                 * @return
                 */
                findRelatedQtyFields():$.java.util.List;
                /**
                 * 设置字段followUnitToChange的值
                 * @param followUnitToChange followUnitToChange的值
                 */
                setFollowUnitToChange(followUnitToChange:boolean):void;
            }
            type UnitProp_T = BasedataProp & UnitProp$;
            interface UnitProp extends UnitProp_T {
            }
            interface ITreeEntryProp_S {
            }
            interface ITreeEntryProp_C extends ITreeEntryProp_S {
            }
            interface ITreeEntryProp$ {
            }
            type ITreeEntryProp_T = ITreeEntryProp$;
            interface ITreeEntryProp extends ITreeEntryProp_T {
            }
            interface StepperProp_S {
            }
            type StepperProp_ST = DecimalProp_S & StepperProp_S;
            interface StepperProp_C extends StepperProp_ST {
                new():StepperProp;
            }
            interface StepperProp$ {
                /**
                 * 设置步进值
                 * @param stepValue 步进值
                 */
                setStepValue(stepValue:$.java.math.BigDecimal):void;
                /**
                 * 获取步进值
                 * @return
                 */
                getStepValue():$.java.math.BigDecimal;
            }
            type StepperProp_T = DecimalProp & StepperProp$;
            interface StepperProp extends StepperProp_T {
            }
            interface IFieldRuleHandle_S {
            }
            interface IFieldRuleHandle_C extends IFieldRuleHandle_S {
            }
            interface IFieldRuleHandle$ {
                setMustInputCondition(condition:string):void;
                /**
                 * 字段规则：动态必录字段规则
                 * @return
                 */
                getMustInputCondition():string;
                /**
                 * 字段规则，例如：日期关联组织字段的时区，组织切换时根据日期字段配置的规则自动转换
                 * @return
                 */
                getFieldRules(args:FieldRuleArgs):$.java.util.List;
            }
            type IFieldRuleHandle_T = IFieldRuleHandle$;
            interface IFieldRuleHandle extends IFieldRuleHandle_T {
            }
            interface MaterielProp_S {
            }
            type MaterielProp_ST = BasedataProp_S & MaterielProp_S;
            interface MaterielProp_C extends MaterielProp_ST {
                new():MaterielProp;
            }
            interface MaterielProp$ {
                /**
                 * 获取多级字段名
                 * @param srcFieldProp
                 * @param refProps
                 * @return
                 */
                bulidMultiLevelFieldName(srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProps:$.java.util.List):string;
            }
            type MaterielProp_T = BasedataProp & MaterielProp$;
            interface MaterielProp extends MaterielProp_T {
            }
            interface MulComboProp_S {
            }
            type MulComboProp_ST = ComboProp_S & MulComboProp_S;
            interface MulComboProp_C extends MulComboProp_ST {
                /**
                 * 构造函数
                 */
                new():MulComboProp;
            }
            interface MulComboProp$ {
            }
            type MulComboProp_T = ComboProp & MulComboProp$;
            interface MulComboProp extends MulComboProp_T {
            }
            interface ParentBasedataProp_S {
            }
            type ParentBasedataProp_ST = GroupProp_S & ParentBasedataProp_S;
            interface ParentBasedataProp_C extends ParentBasedataProp_ST {
                new():ParentBasedataProp;
            }
            interface ParentBasedataProp$ {
                /**
                 * 获取否显示树形本级
                 *
                 * @return 允许获取本级
                 */
                isShowTreeNow():boolean;
                /**
                 * 设置长编码界定符
                 *
                 * @param longNumberDLM 长编码界定符
                 */
                setLongNumberDLM(longNumberDLM:string):void;
                /**
                 * 设置否显示树形本级
                 *
                 * @param showTreeNow 允许获取本级
                 */
                setShowTreeNow(showTreeNow:boolean):void;
                /**
                 * 获取长编码界定符
                 *
                 * @return 长编码界定符
                 */
                getLongNumberDLM():string;
            }
            type ParentBasedataProp_T = GroupProp & ParentBasedataProp$;
            interface ParentBasedataProp extends ParentBasedataProp_T {
            }
            interface VarcharProp_S {
            }
            type VarcharProp_ST = PKFieldProp_S & VarcharProp_S;
            interface VarcharProp_C extends VarcharProp_ST {
                /**
                 * 构造函数
                 */
                new():VarcharProp;
                /**
                 * 构造函数
                 * @param refId
                 */
                new(refId:boolean):VarcharProp;
            }
            interface VarcharProp$ {
            }
            type VarcharProp_T = PKFieldProp & VarcharProp$;
            interface VarcharProp extends VarcharProp_T {
            }
            interface FlexProp_S {
                readonly ASSISTANTVALUETYPE:string;
                readonly TEXTVALUETYPE:string;
                readonly BASEVALUETYPE:string;
            }
            type FlexProp_ST = BasedataProp_S & FlexProp_S;
            interface FlexProp_C extends FlexProp_ST {
                /**
                 * 构造函数
                 */
                new():FlexProp;
            }
            interface FlexProp$ {
                /**
                 * 获取报表弹性域字段值
                 * @param dataEntity 数据包
                 * @param loadReferenceData 引用属性
                 * @return
                 */
                getReportValue(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,biFunc1:(t:any,u:any)=>any):any;
                /**
                 * 获取弹性域引用实体
                 * @return
                 */
                getFlexDataType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                /**
                 * 获取弹性域值（轻分析）
                 * @param flexEntityType 弹性域实体
                 * @param v 数据包
                 * @param loadReferenceData 引用属性数据包
                 * @return
                 */
                getQingValue(flexEntityType:MainEntityType,v:$.kd.bos.dataentity.entity.DynamicObject,biFunc2:(t:any,u:any)=>any):$.java.util.Map;
                /**
                 * 设置基础资料字段属性标识
                 * @param basePropertyKey
                 *            the basePropertyKey to set
                 */
                setBasePropertyKey(basePropertyKey:string):void;
                /**
                 * 将弹性域字段扩展到对应的实体
                 *
                 * @param entityName                    要扩展的实体
                 * @param registerPropertyListener     输出的注册监听
                 * @return
                 */
                extendFlexProperties(entityName:string,registerPropertyListener:kd.bos.entity.datamodel.IRegisterFlexPropertyListener):$.java.util.List;
                /**
                 * 获取基础资料字段属性标识
                 * @return the basePropertyKey
                 */
                getBasePropertyKey():string;
                /**
                 * 展开维度，返回展开的结果
                 * @param mainType 主实体类型
                 * @return
                 */
                createExtendFilterFields(mainType:MainEntityType):CreateExtendFilterFieldsResult;
                /**
                 * 获取弹性域类型，1：辅助属性  2：核算维度
                 *
                 * @return 弹性域类型
                 */
                getFlexTypeId():number;
                /**
                 * 获取列表字段元素，用于设计器根据字段动态列表列创建
                 * @param entityTreeNode 实体树
                 * @return
                 */
                createEntityTreeNode(entityTreeNode:EntityTreeNode):$.java.util.Map;
                /**
                 * 获取弹性域属性
                 * @return
                 */
                getFlexProps():$.java.util.List;
                /**
                 * 获取弹性域值
                 * @param flexEntityType 主实体
                 * @param dataEntity 数据包
                 * @param loadReferenceData 引用属性
                 * @return
                 */
                getValue(flexEntityType:MainEntityType,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,biFunc2:(t:any,u:any)=>any):any;
                /**
                 * 设置弹性域类型，1：辅助属性  2：核算维度
                 *
                 * @param flexType the flexType to set
                 */
                setFlexTypeId(flexType:number):void;
                /**
                 * 获取弹性域值
                 * @param flexEntityType 主实体
                 * @param dataEntity 数据包
                 * @param loadReferenceData 引用属性
                 * @param editListener
                 * @return
                 */
                getValue(flexEntityType:MainEntityType,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,biFunc2:(t:any,u:any)=>any,biConsumer3:(t:any,u:any)=>void):any;
                /**
                 * 设置弹性域属性
                 * @param flexProps 属性
                 */
                setFlexProps(flexProps:$.java.util.List):void;
                /**
                 * 根据主键ID获取弹性域数据包
                 * @param model 数据模型
                 * @param pk 主键ID
                 * @return
                 */
                getFlexDataDynamicObject(model:kd.bos.entity.datamodel.IDataModel,pk:any):$.kd.bos.dataentity.entity.DynamicObject;
            }
            type FlexProp_T = BasedataProp & FlexProp$;
            interface FlexProp extends FlexProp_T {
            }
            class FieldDefValueType {
                static readonly Reference:kd.bos.entity.property.FieldDefValueType;
                static readonly Variable:kd.bos.entity.property.FieldDefValueType;
                static readonly Const:kd.bos.entity.property.FieldDefValueType;
                static readonly Formula:kd.bos.entity.property.FieldDefValueType;
                static readonly Function:kd.bos.entity.property.FieldDefValueType;
                static values():kd.bos.entity.property.FieldDefValueType[];
                static valueOf(arg0:string):kd.bos.entity.property.FieldDefValueType;
                /**
                 * 根据值获取字段默认值类型
                 * @param v
                 * @return
                 */
                static valueOf(v:number):kd.bos.entity.property.FieldDefValueType;
                /**
                 * 获取枚举值
                 * @return
                 */
                getValue():number;
            }
            interface ItemClassTypeProp_S {
            }
            type ItemClassTypeProp_ST = ComboProp_S & ItemClassTypeProp_S;
            interface ItemClassTypeProp_C extends ItemClassTypeProp_ST {
                new():ItemClassTypeProp;
            }
            interface ItemClassTypeProp$ {
                /**
                 * 设置多类别基础资料类型绑定的基础资料实体ID集合
                 *
                 * @param v List<String> 基础资料实体ID集合
                 */
                setBaseEntityIds(v:$.java.util.List):void;
                /**
                 * 修正多类别基础资料类型
                 */
                fixItemTypes():void;
                /**
                 * 获取多类别基础资料类型
                 *
                 * @param entityId 实体ID
                 * @return
                 */
                getItemType(entityId:string):$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 获取多类别基础资料类型绑定的基础资料实体ID集合
                 *
                 * @return List<String> 基础资料实体ID集合
                 */
                getBaseEntityIds():$.java.util.List;
                /**
                 * 设置多类别基础资料类型
                 *
                 * @param dt 多类别基础资料类型
                 */
                setItemType(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):void;
                /**
                 * 获取多类别基础资料类型
                 *
                 * @return
                 */
                getItemTypes():$.java.util.Map;
                /**
                 * 设置多类别基础资料类型
                 * @param baseEntities Map<entityNumber, baseEntityId> key：entityNumber（实体标识），value：baseEntityId（实体ID）
                 */
                setBaseEntities(baseEntities:$.java.util.Map):void;
                /**
                 * 获取多类别基础资料类型
                 *
                 * @return Map<entityNumber, baseEntityId> key：entityNumber（实体标识），value：baseEntityId（实体ID）
                 */
                getBaseEntities():$.java.util.Map;
            }
            type ItemClassTypeProp_T = ComboProp & ItemClassTypeProp$;
            interface ItemClassTypeProp extends ItemClassTypeProp_T {
            }
            interface TextProp_S {
            }
            type TextProp_ST = FieldProp_S & TextProp_S & kd.bos.entity.validate.IScopeCheck_S;
            interface TextProp_C extends TextProp_ST {
                /**
                 * 构造函数
                 */
                new():TextProp;
            }
            interface TextProp$ {
                /**
                 * 获取文本字段最小长度，默认为0
                 *
                 * @return 最小长度
                 */
                getMinLenth():number;
                /**
                 * 设置内容是否显示为密码
                 *
                 * @param password 是否内容显示为密码
                 */
                setPassword(password:boolean):void;
                /**
                 * 设置文本字段最大长度
                 *
                 * @param maxLenth 最大长度
                 */
                setMaxLenth(maxLenth:number):void;
                /**
                 * 密码是否支持明文查看
                 * @return 密码是否支持明文查看
                 */
                isShowEye():boolean;
                /**
                 * 设置密码是否支持明文查看
                 * @param showEye 密码是否支持明文查看
                 */
                setShowEye(showEye:boolean):void;
                /**
                 * 设置文本字段最小长度
                 *
                 * @param minLenth 最小长度
                 */
                setMinLenth(minLenth:number):void;
                /**
                 * 获取内容是否显示为密码
                 *
                 * @return 是否内容显示为密码
                 */
                isPassword():boolean;
                /**
                 * 获取文本字段最大长度
                 *
                 * @return
                 */
                getMaxLenth():number;
            }
            type TextProp_T = FieldProp & TextProp$ & kd.bos.entity.validate.IScopeCheck;
            interface TextProp extends TextProp_T {
            }
            interface ModifierIdProp_S {
            }
            type ModifierIdProp_ST = $.kd.bos.dataentity.metadata.IModifierProperty & LongProp_S & ModifierIdProp_S;
            interface ModifierIdProp_C extends ModifierIdProp_ST {
                /**
                 * 构造函数
                 */
                new():ModifierIdProp;
                /**
                 * 构造函数
                 *
                 * @param isrefId
                 * @param modifierProp 修改人字段属性
                 */
                new(isrefId:boolean,modifierProp:ModifierProp):ModifierIdProp;
            }
            interface ModifierIdProp$ {
                /**
                 * 获取修改人字段属性
                 *
                 * @return 修改人字段属性
                 */
                getModifierProp():ModifierProp;
            }
            type ModifierIdProp_T = $.kd.bos.dataentity.metadata.IModifierProperty & LongProp & ModifierIdProp$;
            interface ModifierIdProp extends ModifierIdProp_T {
            }
            interface FieldDefValue_S {
            }
            type FieldDefValue_ST = $.java.io.Serializable & FieldDefValue_S;
            interface FieldDefValue_C extends FieldDefValue_ST {
                new():FieldDefValue;
            }
            interface FieldDefValue$ {
                /**
                 * 函数参数，适用于函数类型
                 * @return
                 */
                getFuncParameter():string;
                /**
                 * 设置函数名，适用于函数类型
                 * @param funcName 函数名
                 */
                setFuncName(funcName:string):void;
                /**
                 * 获取默认值类型：常量、变量、函数、计算公式
                 * @return
                 */
                getType():number;
                /**
                 * 函数名，适用于函数类型
                 * @return
                 */
                getFuncName():string;
                /**
                 * 设置变量名，适用于变量类型
                 * @param varName 变量名
                 */
                setVarName(varName:string):void;
                /**
                 * 默认值类型枚举值
                 * @return
                 */
                getDefValueType():FieldDefValueType;
                /**
                 * 常量值，适用于常量类型
                 * @return
                 */
                getConstValue():any;
                /**
                 * 变量名，适用于变量类型
                 * @return
                 */
                getVarName():string;
                /**
                 * 设置函数参数，适用于函数类型
                 * @param funcParameter 函数参数
                 */
                setFuncParameter(funcParameter:string):void;
                /**
                 * 设置产量值，适用于常量类型
                 * @param constValue
                 */
                setConstValue(constValue:any):void;
                /**
                 * 表达式，适用于计算公式类型
                 * @return
                 */
                getFormula():string;
                /**
                 * 设置默认类型枚举值
                 * @param defValueType 默认类型
                 */
                setDefValueType(defValueType:FieldDefValueType):void;
                /**
                 * 设置默认值类型：常量、变量、函数、计算公式
                 * @param type 默认值类型
                 */
                setType(type_arg:number):void;
                /**
                 * 设置表达式，适用于计算公式类型
                 * @param formula 表达式
                 */
                setFormula(formula:string):void;
            }
            type FieldDefValue_T = $.java.io.Serializable & FieldDefValue$;
            interface FieldDefValue extends FieldDefValue_T {
            }
            interface INumberPrecision_S {
            }
            interface INumberPrecision_C extends INumberPrecision_S {
            }
            interface INumberPrecision$ {
                create(formatObject:kd.bos.entity.format.FormatObject):kd.bos.entity.datamodel.NumberPrecision;
                getDefaultPrecision():number;
            }
            type INumberPrecision_T = INumberPrecision$;
            interface INumberPrecision extends INumberPrecision_T {
            }
            interface MuliLangTextProp_S {
            }
            type MuliLangTextProp_ST = $.kd.bos.dataentity.metadata.ILocaleProperty & MuliLangTextProp_S & TextProp_S;
            interface MuliLangTextProp_C extends MuliLangTextProp_ST {
                /**
                 * 构造函数
                 */
                new():MuliLangTextProp;
            }
            interface MuliLangTextProp$ {
                /**
                 * 设置是否开启通用语言
                 *
                 * @param gl 是否开启通用语言
                 */
                setGL(gl:boolean):void;
                /**
                 * 获取是否开启通用语言
                 *
                 * @return
                 */
                isGL():boolean;
                /**
                 * 通用语言文本模式   多语言降级为文本
                 * @return
                 */
                isGlangText():boolean;
                /**
                 * 设置多语言文本属性
                 *
                 * @param localeProperty
                 * @param inLocaleProperty
                 */
                setLocaleProperty(localeProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty,inLocaleProperty:$.kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty):void;
                /**
                 * 设置通用语言文本模式 通用语言降级文本
                 * @param glangText
                 */
                setGlangText(glangText:boolean):void;
            }
            type MuliLangTextProp_T = $.kd.bos.dataentity.metadata.ILocaleProperty & MuliLangTextProp$ & TextProp;
            interface MuliLangTextProp extends MuliLangTextProp_T {
            }
            interface PeriodProp_S {
            }
            type PeriodProp_ST = BasedataProp_S & PeriodProp_S;
            interface PeriodProp_C extends PeriodProp_ST {
                /**
                 * 构造函数
                 */
                new():PeriodProp;
            }
            interface PeriodProp$ {
            }
            type PeriodProp_T = BasedataProp & PeriodProp$;
            interface PeriodProp extends PeriodProp_T {
            }
            interface DateProp_S {
            }
            type DateProp_ST = DateProp_S & DateTimeProp_S;
            interface DateProp_C extends DateProp_ST {
                /**
                 * 无参构造函数
                 * 设置区域类型为短日期
                 */
                new():DateProp;
            }
            interface DateProp$ {
            }
            type DateProp_T = DateProp$ & DateTimeProp;
            interface DateProp extends DateProp_T {
            }
            interface PrivacyProp_S {
            }
            type PrivacyProp_ST = PrivacyProp_S & TextProp_S & kd.bos.dataentity.privacy.IPrivacyProperty_S;
            interface PrivacyProp_C extends PrivacyProp_ST {
                new():PrivacyProp;
            }
            interface PrivacyProp$ {
                /**
                 * 设置原字段属性标识
                 * @param originalPropKey 字段标识
                 */
                setOriginalPropKey(originalPropKey:string):void;
                /**
                 * 获取隐私方案
                 * @return
                 */
                getPrivacyScheme():kd.bos.entity.privacy.PrivacyScheme;
            }
            type PrivacyProp_T = PrivacyProp$ & TextProp & kd.bos.dataentity.privacy.IPrivacyProperty;
            interface PrivacyProp extends PrivacyProp_T {
            }
            interface GroupProp_S {
            }
            type GroupProp_ST = BasedataProp_S & GroupProp_S;
            interface GroupProp_C extends GroupProp_ST {
                /**
                 * 构造函数
                 */
                new():GroupProp;
            }
            interface GroupProp$ {
                /**
                 * 设置是否需要刷新树
                 * @param isNeedRefreshTree 是否需要刷新树
                 */
                setNeedRefreshTree(isNeedRefreshTree:boolean):void;
                /**
                 * 设置分组表名
                 * @param groupTableName 分组表名
                 */
                setGroupTableName(groupTableName:string):void;
                /**
                 * 设置是否显示分组下级
                 * @param showTreeLower 允许获取下级
                 */
                setShowTreeLower(showTreeLower:boolean):void;
                /**
                 * 获取是否显示分组下级
                 * @return 允许获取下级
                 */
                isShowTreeLower():boolean;
                /**
                 * 是否自定义分组
                 *
                 * @return the isCustom
                 */
                isCustom():boolean;
                /**
                 * 获取分组表名
                 * @return
                 */
                getGroupTableName():string;
                /**
                 * 获取是否需要刷新树
                 * @return
                 */
                isNeedRefreshTree():boolean;
                /**
                 * 获取实体类型
                 * @return
                 */
                getEntityType():BasedataEntityType;
            }
            type GroupProp_T = BasedataProp & GroupProp$;
            interface GroupProp extends GroupProp_T {
            }
            interface GeoPointProp_S {
                readonly LATITUDE:string;
                readonly LONGITUDE:string;
                readonly ADRESS:string;
            }
            type GeoPointProp_ST = $.kd.bos.dataentity.metadata.IGeoPointProperty & FieldProp_S & GeoPointProp_S;
            interface GeoPointProp_C extends GeoPointProp_ST {
                new():GeoPointProp;
            }
            interface GeoPointProp$ {
                /**
                 * 获取详细地址字段
                 * @return
                 */
                getAddressProp():TextProp;
                /**
                 * 获取纬度字段
                 * @return
                 */
                getLatitudeProp():DecimalProp;
                /**
                 * 获取经度字段
                 * @return
                 */
                getLongitudeProp():DecimalProp;
            }
            type GeoPointProp_T = $.kd.bos.dataentity.metadata.IGeoPointProperty & FieldProp & GeoPointProp$;
            interface GeoPointProp extends GeoPointProp_T {
            }
            interface LinkEntryProp_S {
            }
            type LinkEntryProp_ST = EntryProp_S & LinkEntryProp_S;
            interface LinkEntryProp_C extends LinkEntryProp_ST {
                /**
                 * 反序列化要求有没有参数的构造函数*
                 */
                new():LinkEntryProp;
                /**
                 * 构造函数
                 * @param name 元素对应的Key
                 * @param dynamicItemPropertyType 实体类型
                 */
                new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):LinkEntryProp;
            }
            interface LinkEntryProp$ {
            }
            type LinkEntryProp_T = EntryProp & LinkEntryProp$;
            interface LinkEntryProp extends LinkEntryProp_T {
            }
            interface AssistantProp_S {
            }
            type AssistantProp_ST = AssistantProp_S & BasedataProp_S;
            interface AssistantProp_C extends AssistantProp_ST {
                new():AssistantProp;
            }
            interface AssistantProp$ {
                /**
                 * 获取上级辅助资料类型
                 */
                getAsstParentId():string;
                /**
                 * 设置上级辅助资料类型
                 *
                 * @param parentId 上级辅助资料类型内码
                 */
                setAsstParentId(parentId:string):void;
                /**
                 * 获取辅助资料类型过滤条件
                 */
                getGroupQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 设置关联的辅助资料类型编码
                 * @param asstTypeNumber 辅助资料类型编码
                 */
                setAsstTypeNumber(asstTypeNumber:string):void;
                /**
                 * 获取基础资料分组属性
                 */
                geGroupProp():GroupProp;
                /**
                 * 获取辅助资料类型编码
                 */
                getAsstTypeNumber():string;
                /**
                 * 获取关联的辅助资料类型
                 */
                getAsstTypeId():string;
                /**
                 * 获取辅助资料类型关联的业务云编码
                 */
                getAsstCloudNumber():string;
                /**
                 * 设置辅助资料类型关联的业务云编码
                 * @param asstCloudNumber 辅助资料类型关联的业务云编码
                 */
                setAsstCloudNumber(asstCloudNumber:string):void;
                /**
                 * 设置关联的辅助资料类型
                 * @param typeId 辅助资料类型
                 */
                setAsstTypeId(typeId:string):void;
            }
            type AssistantProp_T = AssistantProp$ & BasedataProp;
            interface AssistantProp extends AssistantProp_T {
            }
            interface CreateDateProp_S {
            }
            type CreateDateProp_ST = $.kd.bos.dataentity.metadata.ICreateTimeProperty & CreateDateProp_S & DateTimeProp_S;
            interface CreateDateProp_C extends CreateDateProp_ST {
                /**
                 * 构造函数
                 */
                new():CreateDateProp;
            }
            interface CreateDateProp$ {
            }
            type CreateDateProp_T = $.kd.bos.dataentity.metadata.ICreateTimeProperty & CreateDateProp$ & DateTimeProp;
            interface CreateDateProp extends CreateDateProp_T {
            }
            interface IRefBillField_S {
            }
            type IRefBillField_ST = IFieldHandle_S & IRefBillField_S;
            interface IRefBillField_C extends IRefBillField_ST {
            }
            interface IRefBillField$ {
                /**
                 * 获取显示属性
                 * @return
                 */
                getDisplayProp?():string;
                /**
                 * 获取基础资料条件
                 * @param model 数据模型
                 * @return
                 */
                getFilterCondition?(model:kd.bos.entity.datamodel.IDataModel):$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 是否只显示已审核字段
                 * @return ture
                 */
                isShowOnlyAudited?():boolean;
                /**
                 * 获取前端的控件类型，这个方法从BaseDataProp 移过来，以为要支持多选基础资料
                 *
                 * @param refPropKey
                 * @return
                 */
                getClientType?(refPropKey:string):string;
                /**
                 * 将基础资料上配置的过滤条件解析为QFilter
                 *
                 * @param model
                 * @return FilterBuilder
                 */
                buildCoreFilter?(model:kd.bos.entity.datamodel.IDataModel):kd.bos.entity.filter.FilterBuilder;
                /**
                 * 获取绑定基础资料标识
                 * @return
                 */
                getBillEntityId():string;
                /**
                 * 根据主业务组织获取到受控基础资料的过滤条件
                 * @param model 数据模型
                 * @param entityId 实体标识
                 * @return
                 */
                getBaseDataControlOrgQFilter?(model:kd.bos.entity.datamodel.IDataModel,entityId:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取单据状态字段名称
                 * @return
                 */
                getBillStatus?():string;
                /**
                 * 获取主实体
                 * @return
                 */
                getComplexType?():$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 获取字段名称
                 * @return
                 */
                getName?():string;
                /**
                 * 获取组织字段
                 * @return
                 */
                getOrgProp():string;
                /**
                 * 获取绑定基础资料标识
                 * @param model 数据模型
                 * @return
                 */
                getBillEntityId(model:kd.bos.entity.datamodel.IDataModel):string;
                /**
                 * 将基础资料上配置的过滤条件解析为QFilter
                 *
                 * @param model
                 * @return QFilter
                 */
                buildCoreFilterByString?(model:kd.bos.entity.datamodel.IDataModel):$.java.util.List;
                /**
                 * 获取编码字段
                 * @return
                 */
                getNumberProp?():string;
                /**
                 * 获取显示字段
                 * @return
                 */
                getDispProp?():$.kd.bos.dataentity.metadata.IDataEntityProperty;
            }
            type IRefBillField_T = IFieldHandle & IRefBillField$;
            interface IRefBillField extends IRefBillField_T {
            }
            interface FormulaProp_S {
            }
            type FormulaProp_ST = DecimalProp_S & FormulaProp_S;
            interface FormulaProp_C extends FormulaProp_ST {
                new():FormulaProp;
            }
            interface FormulaProp$ {
                /**
                 * 设置定义公式
                 * @param formula 公式
                 */
                setFormula(formula:string):void;
                /**
                 * 获取定义公式
                 * @return 公式
                 */
                getFormula():string;
            }
            type FormulaProp_T = DecimalProp & FormulaProp$;
            interface FormulaProp extends FormulaProp_T {
            }
            interface LargeTextProp_S {
            }
            type LargeTextProp_ST = LargeTextProp_S & TextProp_S;
            interface LargeTextProp_C extends LargeTextProp_ST {
                new():LargeTextProp;
            }
            interface LargeTextProp$ {
                /**
                 * 判断值是否为空
                 * @param v 值
                 * @return
                 */
                isEmptyString(v:any):boolean;
                /**
                 * 获取最大长度
                 * @return
                 */
                getMaxLength():number;
                /**
                 * 设置大文本字段编辑模式
                 * @param editingMode summary（摘要模式）or largeText（多行文本模式）
                 */
                setEditingMode(editingMode:string):void;
                /**
                 * 获取大文本字段编辑模式
                 * @return summary（摘要模式）or largeText（多行文本模式）
                 */
                getEditingMode():string;
            }
            type LargeTextProp_T = LargeTextProp$ & TextProp;
            interface LargeTextProp extends LargeTextProp_T {
            }
            interface TimeProp_S {
                /**
                 * 时间转换成秒
                 * @param value 字段值
                 * @param fieldName 字段名
                 * @return
                 */
                timeToSecond(value:any,fieldName:string):number;
            }
            type TimeProp_ST = FieldProp_S & TimeProp_S;
            interface TimeProp_C extends TimeProp_ST {
                /**
                 * 构造函数
                 */
                new():TimeProp;
            }
            interface TimeProp$ {
                /**
                 * 获取关联时间范围的标识, 为空则代表没有相关时间范围关联
                 *
                 * @return 关联时间范围的标识
                 */
                getRelateTimeRange():string;
                /**
                 * 获取时区转换方式
                 * @return 0（服务器时区）、1（用户时区）、2（组织时区）
                 */
                getTimeZoneTransType():number;
                /**
                 * 设置时区转换方式
                 * @param timeZoneTransType  0（服务器时区）、1（用户时区）、2（组织时区）
                 */
                setTimeZoneTransType(timeZoneTransType:number):void;
                /**
                 * 设置关联时间范围的标识, 为空则代表没有相关时间范围关联
                 *
                 * @param relateTimeRange 关联时间范围的标识
                 */
                setRelateTimeRange(relateTimeRange:string):void;
                /**
                 * 获取日期格式化信息
                 * @return
                 */
                getDateFormat():$.java.text.DateFormat;
                /**
                 * 设置时间范围字段中是否是起始时间
                 *
                 * @param startTimeRange 是否起始时间
                 */
                setStartTimeRange(startTimeRange:boolean):void;
                /**
                 * 获取时间范围字段中是否是起始时间
                 *
                 * @return 是否起始时间
                 */
                isStartTimeRange():boolean;
            }
            type TimeProp_T = FieldProp & TimeProp$;
            interface TimeProp extends TimeProp_T {
            }
            interface MulBasedataProp_S {
            }
            type MulBasedataProp_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & IBasedataField_S & ICompareTypeConfig_S & IFieldRuleHandle_S & MulBasedataProp_S & kd.bos.entity.validate.IValidatorHanlder_S;
            interface MulBasedataProp_C extends MulBasedataProp_ST {
                /**
                 * 构造函数
                 */
                new():MulBasedataProp;
                /**
                 * 构造函数
                 *
                 * @param name                    字段名称
                 * @param dynamicItemPropertyType 主实体
                 */
                new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):MulBasedataProp;
            }
            interface MulBasedataProp$ {
                /**
                 * 获取显示属性
                 *
                 * @return
                 */
                getDispProp(displayProp:string):$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置绑定的多选基础资料的标识
                 *
                 * @param baseEntityName 多选基础资料标识
                 */
                setBaseEntityId(baseEntityName:string):void;
                /**
                 * 获取多选基础资料表名
                 *
                 * @return 多选基础资料表名
                 */
                getTableNameProp():string;
                /**
                 * 获取多选基础资料引用的基础资料PK的集合
                 *
                 * @param objs 多选基础资料的数据包
                 * @return List<Object>
                 */
                getRefBasedataPkValues(objs:$.kd.bos.dataentity.entity.DynamicObjectCollection):$.java.util.List;
                /**
                 * 获取多选基础资料编辑显示属性，用于编辑状态数据显示
                 *
                 * @return 编辑显示属性
                 */
                getEditSearchProp():string;
                /**
                 * 设置是否必录
                 *
                 * @param mustInput
                 */
                setMustInput(mustInput:boolean):void;
                /**
                 * 获取多选基础资料引用属性
                 *
                 * @return
                 */
                getRefBaseProp():$.kd.bos.dataentity.metadata.IComplexProperty;
                /**
                 * 设置多选基础资料表名
                 *
                 * @param tName 多选基础资料表名
                 */
                setTableNameProp(tName:string):void;
                /**
                 * 设置F7是否只显示启用
                 *
                 * @param isShowUsed 是否添加使用状态
                 */
                setShowUsed(isShowUsed:boolean):void;
                /**
                 * 设置多选基础资料显示属性，用于界面数据展示
                 *
                 * @param displayProp 显示属性
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 获取多选基础资料引用的基础资料PK的集合
                 *
                 * @param obj 包含多选基础资料的父数据包
                 * @return List<Object>
                 */
                getRefBasedataPkValues(obj:any):$.java.util.List;
                /**
                 * 获取多选基础资料字段显示属性值
                 *
                 * @param basedataObj 基础资料数据
                 * @return 显示属性值
                 */
                getDisplayValue(basedataObj:any):string;
                /**
                 * 获取多选基础资料字段主键实体属性
                 *
                 * @return
                 */
                getRefIdProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取是否必录
                 *
                 * @return
                 */
                isMustInput():boolean;
                /**
                 * 获取组织业务职能编码
                 *
                 * @param orgFunc 组织职能编码
                 */
                setOrgFunc(orgFunc:string):void;
                /**
                 * 获取组织业务职能编码
                 *
                 * @return 组织职能编码
                 */
                getOrgFunc():string;
                /**
                 * 设置多选基础资料编辑显示属性，用于编辑状态数据显示
                 *
                 * @param editSearchProp 编辑显示属性
                 */
                setEditSearchProp(editSearchProp:string):void;
                /**
                 * 设置多选基础资料对应使用组织的属性名
                 *
                 * @param orgProp 组织的属性名
                 */
                setOrgProp(orgProp:string):void;
                /**
                 * 设置多选基础资料默认值配置
                 *
                 * @param defValue2 默认值配置
                 */
                setDefValue2(defValue2:FieldDefValue):void;
                /**
                 * 获取是否集团控制
                 *
                 * @return
                 */
                isGroupControl():boolean;
            }
            type MulBasedataProp_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.dataentity.metadata.dynamicobject.DynamicCollectionProperty & IBasedataField & ICompareTypeConfig & IFieldRuleHandle & MulBasedataProp$ & kd.bos.entity.validate.IValidatorHanlder;
            interface MulBasedataProp extends MulBasedataProp_T {
            }
            interface BillTypeProp_S {
            }
            type BillTypeProp_ST = BasedataProp_S & BillTypeProp_S;
            interface BillTypeProp_C extends BillTypeProp_ST {
                new():BillTypeProp;
            }
            interface BillTypeProp$ {
                /**
                 * 根据单据ID获取单据类型的主键
                 * @param billformId 单据ID
                 * @return 单据类型主键
                 */
                queryDefaultBillType(billformId:string):long;
                /**
                 * 查询单据类型是否可用，即为数据状态为已审核且使用状态为启用
                 * @param billTypeId 单据类型ID
                 * @return true or false
                 */
                queryBillTypeEnable(billTypeId:long):boolean;
            }
            type BillTypeProp_T = BasedataProp & BillTypeProp$;
            interface BillTypeProp extends BillTypeProp_T {
            }
            interface TreeEntryProp_S {
                /**
                 * 获取树形单据体指定位置的下几行位置
                 *
                 * @param entryRows   树形单据体行数据集合
                 * @param row         指定行位置
                 * @param includeSelf 是否包含自己
                 * @return
                 */
                getEntryNextRows(entryRows:$.kd.bos.dataentity.entity.DynamicObjectCollection,row:number,includeSelf:boolean):number[];
                /**
                 * 指定行数组是否在同一节点下
                 *
                 * @param entryRows   树形单据体行数据集合
                 * @param formIndexs      指定行数组
                 * @return
                 */
                isHasSameParentNode(entryRows:$.kd.bos.dataentity.entity.DynamicObjectCollection,formIndexs:number[],toIndex:number):boolean;
                /**
                 * 树形单据体，插入行：插入到指定行的下级，并排在子行的最后
                 *
                 * @param entryRows 树形单据体行数据集合
                 * @param row 指定行位置
                 * @return 返回新插入的子行合适的位置
                 */
                getTreeEntryInsertPosition(entryRows:$.kd.bos.dataentity.entity.DynamicObjectCollection,row:number):number;
                /**
                 * 是否允许删除树形单据体的行：有子行，不允许删除
                 *
                 * @param entryRows 树形单据体行数据集合
                 * @param rows      指定行位置
                 * @return 如果待删除的行有子行，返回false，不允许删除
                 */
                canDeleteTreeEntryRows(entryRows:$.kd.bos.dataentity.entity.DynamicObjectCollection,rows:number[]):boolean;
                /**
                 * 获取树形单据体指定行的所有子行(包含自己)
                 *
                 * @param entryRows   树形单据体行数据集合
                 * @param indexs      指定行数组
                 * @return
                 */
                getTreeEntrySubRowsByIndexs(entryRows:$.kd.bos.dataentity.entity.DynamicObjectCollection,indexs:number[]):number[];
                /**
                 * 树形单据体，插入行：插入到指定行的下级，并排在子行的最后
                 *
                 * 之前是找最后一个下级，问题是如果下级还有下级呢。。不行了吧。。所以调整下，改成找下一个同级 by agbyte_yang
                 * (我也不想改你们这些代码，越是麻烦的bug流转一圈越总是能转到我这，改的不对或者你觉得不爽，自行修改)
                 *
                 * @param entryRows 树形单据体行数据集合
                 * @param row 指定行位置
                 * @return 返回新插入的子行合适的位置
                 */
                getTreeEntryInsertPosition(entryRows:$.kd.bos.dataentity.entity.DynamicObject[],row:number):number;
                /**
                 * 获取树形单据体指定位置的下一行位置
                 *
                 * @param entryRows 树形单据体行数据集合
                 * @param row       指定行位置
                 * @return
                 */
                getEntryNextRowCount(entryRows:$.kd.bos.dataentity.entity.DynamicObjectCollection,row:number):number;
            }
            type TreeEntryProp_ST = EntryProp_S & ITreeEntryProp_S & TreeEntryProp_S;
            interface TreeEntryProp_C extends TreeEntryProp_ST {
                /**
                 * 反序列化要求有没有参数的构造函数*
                 */
                new():TreeEntryProp;
                /**
                 * 构造函数
                 *
                 * @param name                    字段名称
                 * @param dynamicItemPropertyType 实体对象
                 */
                new(name:string,dynamicItemPropertyType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):TreeEntryProp;
            }
            interface TreeEntryProp$ {
            }
            type TreeEntryProp_T = EntryProp & ITreeEntryProp & TreeEntryProp$;
            interface TreeEntryProp extends TreeEntryProp_T {
            }
            interface ComboProp_S {
            }
            type ComboProp_ST = ComboProp_S & FieldProp_S;
            interface ComboProp_C extends ComboProp_ST {
                /**
                 * 构造函数
                 */
                new():ComboProp;
            }
            interface ComboProp$ {
                /**
                 * 是否存在预定义的枚举项？
                 * @return 返回true，为没有预定义枚举项
                 */
                isEmptyItems():boolean;
                /**
                 * 根据下拉值获取下拉标题
                 * @param name 下拉项值
                 * @return
                 */
                getItemByName(name:string):string;
                /**
                 * 根据显示风格获取下拉值
                 * @param name 下拉列表值
                 * @param showStyleId 显示风格
                 * @return
                 */
                getItemByNameAndShowStyle(name:string,showStyleId:number):any;
                /**
                 * 获取显示风格
                 * @return ：0（文字）、1（图标）、2（文字+图片）
                 */
                getShowStyle():number;
                /**
                 * 判断传入的枚举项是否预先定义的
                 * @param name
                 * @return
                 */
                isExistItem(name:string):boolean;
                /**
                 * 获取选项显示方式（显示方式为平铺或下拉，平铺最多只展示100个选项，数据量较大时建议用下拉）
                 * @return
                 */
                getOptionDisplayMode():string;
                /**
                 * 是否允许手工录入，即输入非预先约定好的枚举值
                 * @return
                 */
                isEditable():boolean;
                /**
                 * 设置显示风格
                 * @param showStyle 0（文字）、1（图标）、2（文字+图片）
                 */
                setShowStyle(showStyle:number):void;
                /**
                 * 设置选项显示方式
                 * @param optionDisplayMode
                 */
                setOptionDisplayMode(optionDisplayMode:string):void;
                /**
                 * 获取是否校验下拉值
                 * @return true or false
                 */
                isComboValueCheck():boolean;
                /**
                 * 获取下拉项集合
                 * @return
                 */
                getComboItems():$.java.util.List;
                /**
                 * 设置下拉项集合
                 *
                 * @param comboItems 下拉项集合
                 */
                setComboItems(comboItems:$.java.util.List):void;
                /**
                 * 是否允许手工录入，即输入非预先约定好的枚举值
                 * @param editable 手工录入
                 */
                setEditable(editable:boolean):void;
                /**
                 * 设置是否校验下拉值
                 * @param comboValueCheck 校验下拉值
                 */
                setComboValueCheck(comboValueCheck:boolean):void;
            }
            type ComboProp_T = ComboProp$ & FieldProp;
            interface ComboProp extends ComboProp_T {
            }
            interface IRegisterListField_S {
            }
            interface IRegisterListField_C extends IRegisterListField_S {
            }
            interface IRegisterListField$ {
                registerListProp(propName:string,billType:EntityType,dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):$.kd.bos.dataentity.metadata.IDataEntityProperty;
            }
            type IRegisterListField_T = IRegisterListField$;
            interface IRegisterListField extends IRegisterListField_T {
            }
            interface SignatureProp_S {
            }
            type SignatureProp_ST = FieldProp_S & SignatureProp_S;
            interface SignatureProp_C extends SignatureProp_ST {
                new():SignatureProp;
            }
            interface SignatureProp$ {
                isMandatoryHandSigning():boolean;
                setMandatoryHandSigning(arg0:boolean):void;
            }
            type SignatureProp_T = FieldProp & SignatureProp$;
            interface SignatureProp extends SignatureProp_T {
            }
            interface IconProp_S {
            }
            type IconProp_ST = $.kd.bos.entity.property.FieldProp & IconProp_S;
            interface IconProp_C extends IconProp_ST {
            }
            interface IconProp$ {
            }
            type IconProp_T = $.kd.bos.entity.property.FieldProp & IconProp$;
            interface IconProp extends IconProp_T {
            }
            interface AttachmentCountProp_S {
            }
            type AttachmentCountProp_ST = $.kd.bos.entity.property.IntegerProp & AttachmentCountProp_S;
            interface AttachmentCountProp_C extends AttachmentCountProp_ST {
                new():AttachmentCountProp;
            }
            interface AttachmentCountProp$ {
            }
            type AttachmentCountProp_T = $.kd.bos.entity.property.IntegerProp & AttachmentCountProp$;
            interface AttachmentCountProp extends AttachmentCountProp_T {
            }
            interface PrintUserProp_S {
            }
            type PrintUserProp_ST = $.kd.bos.entity.property.UserProp & PrintUserProp_S;
            interface PrintUserProp_C extends PrintUserProp_ST {
                new():PrintUserProp;
            }
            interface PrintUserProp$ {
            }
            type PrintUserProp_T = $.kd.bos.entity.property.UserProp & PrintUserProp$;
            interface PrintUserProp extends PrintUserProp_T {
            }
            interface AttachmentProp_S {
            }
            type AttachmentProp_ST = $.kd.bos.entity.property.MulBasedataProp & AttachmentProp_S & kd.bos.mservice.svc.attach.IAttachmentProp_S;
            interface AttachmentProp_C extends AttachmentProp_ST {
            }
            interface AttachmentProp$ {
                /**
                 * 排序方式
                 */
                getSortType():string;
                /**
                 * 附件最大数量
                 */
                getMaxAtmCount():number;
                /**
                 * 获取排序方式
                 * @param sortType
                 */
                setSortType(sortType:string):void;
                /**
                 * 设置附件数量
                 * @param maxAtmCount
                 */
                setMaxAtmCount(maxAtmCount:number):void;
                /**
                 * 设置附件后缀
                 * @param extendName
                 */
                setExtendName(extendName:string):void;
                /**
                 * 附件最大大小
                 */
                getMaxAtmSize():number;
                /**
                 * 排序字段
                 */
                getSortField():string;
                /**
                 * 设置排序字段
                 * @param sortField
                 */
                setSortField(sortField:string):void;
                /**
                 * 是否检查文件名是否重复
                 */
                getCheckDuplicateFileName():boolean;
                /**
                 * 设置是否检查文件名是否重复
                 * @param checkDuplicateFileName
                 */
                setCheckDuplicateFileName(checkDuplicateFileName:boolean):void;
                /**
                 * 是否允许拖拽
                 */
                getDragAtm():boolean;
                /**
                 * 附件后缀
                 */
                getExtendName():string;
            }
            type AttachmentProp_T = $.kd.bos.entity.property.MulBasedataProp & AttachmentProp$ & kd.bos.mservice.svc.attach.IAttachmentProp;
            interface AttachmentProp extends AttachmentProp_T {
            }
            interface PictureProp_S {
            }
            type PictureProp_ST = $.kd.bos.entity.property.FieldProp & PictureProp_S & kd.bos.mservice.svc.picture.IPictureProp_S;
            interface PictureProp_C extends PictureProp_ST {
            }
            interface PictureProp$ {
                /**
                 * 将参数backgroundImgKey的值赋给字段backgroundImgKey
                 * @param backgroundImgKey
                 */
                setBackgroundImgKey(backgroundImgKey:string):void;
                /**
                 * 将参数defaultImgKey的值赋给字段defaultImgKey
                 * @param defaultImgKey
                 */
                setDefaultImgKey(defaultImgKey:string):void;
                /**
                 * 设置最大图片大小
                 * @param maxImgSize
                 */
                setMaxImgSize(maxImgSize:number):void;
                /**
                 * 将参数thumbnailsParams的值赋给字段thumbnailsParams
                 * @param thumbnailsParams
                 */
                setThumbnailsParams(thumbnailsParams:$.java.util.List):void;
                /**
                 * 获取字段thumbnailsParams的值
                 * @return  thumbnailsParams的值
                 */
                getThumbnailsParams():$.java.util.List;
                /**
                 * 获取字段backgroundImgKey的值
                 * @return  backgroundImgKey的值
                 */
                getBackgroundImgKey():string;
                /**
                 * 获取最大图片大小
                 * @return  最大图片大小
                 */
                getMaxImgSize():number;
            }
            type PictureProp_T = $.kd.bos.entity.property.FieldProp & PictureProp$ & kd.bos.mservice.svc.picture.IPictureProp;
            interface PictureProp extends PictureProp_T {
            }
            interface PrintTimeProp_S {
            }
            type PrintTimeProp_ST = $.kd.bos.entity.property.DateTimeProp & PrintTimeProp_S;
            interface PrintTimeProp_C extends PrintTimeProp_ST {
                new():PrintTimeProp;
            }
            interface PrintTimeProp$ {
            }
            type PrintTimeProp_T = $.kd.bos.entity.property.DateTimeProp & PrintTimeProp$;
            interface PrintTimeProp extends PrintTimeProp_T {
            }
        }
        namespace kd.bos.entity.property.entryfilter{
            interface EntryFilterItemInfo_S {
            }
            type EntryFilterItemInfo_ST = $.java.io.Serializable & EntryFilterItemInfo_S;
            interface EntryFilterItemInfo_C extends EntryFilterItemInfo_ST {
                /**
                 * 构造函数
                 */
                new():EntryFilterItemInfo;
                /**
                 * 构造函数
                 *
                 * @param propName    过滤字段名
                 * @param value       过滤字段值
                 * @param compareType 比较符
                 */
                new(propName:string,value:any,compareType:string):EntryFilterItemInfo;
            }
            interface EntryFilterItemInfo$ {
                /**
                 * 是否是组织字段
                 * @param orgProp
                 */
                setOrgProp(orgProp:boolean):void;
                /**
                 * 获取实际过滤排序的实体字段名和属性
                 * @return
                 */
                getRealFieldName():string;
                /**
                 * 设置实际过滤排序的实体字段名和属性
                 * @param realFieldName
                 */
                setRealFieldName(realFieldName:string):void;
                /**
                 * 是否是组织字段
                 * @return
                 */
                isOrgProp():boolean;
                /**
                 * 设置比较符
                 * @param compareType
                 */
                setCompareType(compareType:string):void;
                /**
                 * 获取过滤字段名显示属性
                 * @return
                 */
                getDisplayProps():string[];
                /**
                 * 设置过滤字段名显示属性
                 * @param displayProps
                 */
                setDisplayProps(displayProps:string[]):void;
                /**
                 * 获取过滤字段值
                 * @return
                 */
                getValue():any;
                /**
                 * 获取搜索字段名
                 */
                getSearchFieldName():string;
                /**
                 * 设置过滤字段名
                 * @param propName
                 */
                setPropName(propName:string):void;
                /**
                 * 设置过滤字段值
                 * @param value
                 */
                setValue(value:any):void;
                /**
                 * 获取比较符
                 * @return
                 */
                getCompareType():string;
                /**
                 * 获取过滤字段名
                 * @return
                 */
                getPropName():string;
            }
            type EntryFilterItemInfo_T = $.java.io.Serializable & EntryFilterItemInfo$;
            interface EntryFilterItemInfo extends EntryFilterItemInfo_T {
            }
            interface EntryQueryParam_S {
            }
            type EntryQueryParam_ST = $.java.io.Serializable & $.java.lang.Cloneable & EntryQueryParam_S;
            interface EntryQueryParam_C extends EntryQueryParam_ST {
                /**
                 * 构造函数
                 */
                new():EntryQueryParam;
            }
            interface EntryQueryParam$ {
                /**
                 * 获取排序规则
                 * @return
                 */
                getSortItems():$.java.util.List;
                /**
                 * 1601(选项过滤)转换成(在...中)比较符
                 * <br>因为1601(选项过滤)比较符未加在字段上，所以构建FilterField时拿不到1601比较符，因此需要转为为字段中有的(在...中)比较符
                 * @param compareType
                 * @param isorg
                 * @return
                 */
                optionValueFilterConvertInCompareType(compareType:string,isorg:boolean):string;
                /**
                 * 设置子单据体的父索引
                 * @param parentIndex
                 */
                setParentIndex(parentIndex:number):void;
                /**
                 * 获取搜索字段信息
                 * @return
                 */
                getSearchFieldItemInfo():EntryFilterItemInfo;
                clone():any;
                /**
                 * 获取子单据体的父索引
                 * @return
                 */
                getParentIndex():number;
                /**
                 * 是否需要过滤和排序
                 * @return
                 */
                needFilterAndSort():boolean;
                /**
                 * 设置搜索字段信息
                 * @param searchFieldItemInfo
                 */
                setSearchFieldItemInfo(searchFieldItemInfo:EntryFilterItemInfo):void;
                /**
                 * 设置默认过滤条件(插件可设置，不回显到前端)
                 * @param defaultFilterRows
                 */
                setDefaultFilterRows(defaultFilterRows:$.java.util.List):void;
                /**
                 * 设置排序规则
                 * @param sortItems
                 */
                setSortItems(sortItems:$.java.util.List):void;
                /**
                 * 获取单据体过滤元数据
                 * @return
                 */
                buildFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 设置过滤条件
                 * @param filterItems
                 */
                setFilterItems(filterItems:$.java.util.List):void;
                /**
                 * 获取默认过滤条件(插件可设置，不回显到前端)
                 * @return
                 */
                getDefaultFilterRows():$.java.util.List;
                /**
                 * 获取过滤条件
                 * @return
                 */
                getFilterItems():$.java.util.List;
            }
            type EntryQueryParam_T = $.java.io.Serializable & $.java.lang.Cloneable & EntryQueryParam$;
            interface EntryQueryParam extends EntryQueryParam_T {
            }
        }
        namespace kd.bos.entity.property.org{
            interface OrgRelationItemOrg_S {
            }
            type OrgRelationItemOrg_ST = $.java.io.Serializable & OrgRelationItemOrg_S;
            interface OrgRelationItemOrg_C extends OrgRelationItemOrg_ST {
                new():OrgRelationItemOrg;
            }
            interface OrgRelationItemOrg$ {
                /**
                 * 设置组织字段内码
                 *
                 * @param id 组织字段内码
                 */
                setId(id:string):void;
                /**
                 * 设置组织字段标识
                 *
                 * @param number 组织字段标识
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置组织字段名称
                 *
                 * @param name 组织字段名称
                 */
                setName(name:string):void;
                /**
                 * 获取组织字段内码
                 *
                 * 即字段的Id属性值，是系统为字段自动生成的随机唯一标识
                 *
                 * @return 组织字段内码
                 */
                getId():string;
                /**
                 * 获取组织字段类型
                 *
                 * 即字段的_Type_值，组织字段_Type_值是"OrgField"
                 *
                 * @return 组织字段类型
                 */
                getType():string;
                /**
                 * 设置组织字段类型
                 *
                 * @param type 组织字段类型
                 */
                setType(type_arg:string):void;
                /**
                 * 获取组织字段标识
                 *
                 * 即字段的Key属性值
                 *
                 * @return 组织字段标识
                 */
                getNumber():string;
                /**
                 * 获取组织字段名称
                 *
                 * 即字段的Name属性值，多语言字段名称
                 *
                 * @return 组织字段名称
                 */
                getName():string;
            }
            type OrgRelationItemOrg_T = $.java.io.Serializable & OrgRelationItemOrg$;
            interface OrgRelationItemOrg extends OrgRelationItemOrg_T {
            }
            interface OrgRelationItemDirect_S {
            }
            type OrgRelationItemDirect_ST = $.java.io.Serializable & OrgRelationItemDirect_S;
            interface OrgRelationItemDirect_C extends OrgRelationItemDirect_ST {
                new():OrgRelationItemDirect;
            }
            interface OrgRelationItemDirect$ {
                /**
                 * 设置协作方向说明
                 *
                 * @param display 协作方向说明，如"本组织是受托组织"
                 */
                setDisplay(display:string):void;
                /**
                 * 设置协作方向编码
                 *
                 * @param index 协作方向编码，如"toorg"
                 */
                setIndex(index:string):void;
                /**
                 * 获取协作方向编码
                 *
                 * @return 协作方向编码，如"toorg"
                 */
                getIndex():string;
                /**
                 * 获取协作方向说明
                 *
                 * @return 协作方向说明，如"本组织是受托组织"
                 */
                getDisplay():string;
            }
            type OrgRelationItemDirect_T = $.java.io.Serializable & OrgRelationItemDirect$;
            interface OrgRelationItemDirect extends OrgRelationItemDirect_T {
            }
            interface OrgRelationItemType_S {
            }
            type OrgRelationItemType_ST = $.java.io.Serializable & OrgRelationItemType_S;
            interface OrgRelationItemType_C extends OrgRelationItemType_ST {
                new():OrgRelationItemType;
            }
            interface OrgRelationItemType$ {
                /**
                 * 设置业务协作类型的名称
                 * @param name 名称
                 */
                setName(name:string):void;
                /**
                 * 获取业务协作类型的名称
                 * @return 名称
                 */
                getName():string;
                /**
                 * 获取受托方组织职能编码
                 * @return 组织职能编码
                 */
                getTotype():string;
                /**
                 * 获取受托方组织职能名称
                 * @return 组织职能名称
                 */
                getTotypename():string;
                /**
                 * 获取委托方组织职能编码
                 * @return 组织职能编码
                 */
                getFromtype():string;
                /**
                 * 设置受托方组织职能编码
                 * @param totype 组织职能编码
                 */
                setTotype(totype:string):void;
                /**
                 * 设置受托方组织职能名称
                 * @param totypename 组织职能名称
                 */
                setTotypename(totypename:string):void;
                /**
                 * 获取委托方组织职能名称
                 * @return 组织职能名称
                 */
                getFromtypename():string;
                /**
                 * 获取业务协作类型的编码
                 * @return 编码
                 */
                getNumber():string;
                /**
                 * 设置委托方组织职能名称
                 * @param fromtypename 组织职能名称
                 */
                setFromtypename(fromtypename:string):void;
                /**
                 * 设置业务协作类型的编码
                 * @param number 编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置委托方组织职能编码
                 * @param fromtype 组织职能编码
                 */
                setFromtype(fromtype:string):void;
            }
            type OrgRelationItemType_T = $.java.io.Serializable & OrgRelationItemType$;
            interface OrgRelationItemType extends OrgRelationItemType_T {
            }
            interface OrgRelationConfig_S {
            }
            type OrgRelationConfig_ST = $.java.io.Serializable & OrgRelationConfig_S;
            interface OrgRelationConfig_C extends OrgRelationConfig_ST {
                new():OrgRelationConfig;
            }
            interface OrgRelationConfig$ {
                /**
                 * 获取受托组织（字段）
                 *
                 * @return 受托组织
                 */
                getTrustee():OrgRelationItemOrg;
                /**
                 * 获取业务协作类型
                 *
                 * @return 业务协作类型
                 */
                getType():OrgRelationItemType;
                /**
                 * 获取委托组织（字段）
                 *
                 * @return 委托组织
                 */
                getPrincipal():OrgRelationItemOrg;
                /**
                 * 设置协作方向
                 *
                 * @param direct 协作方向
                 */
                setDirect(direct:OrgRelationItemDirect):void;
                /**
                 * 设置委托组织（字段）
                 *
                 * @param principal 委托组织
                 */
                setPrincipal(principal:OrgRelationItemOrg):void;
                /**
                 * 设置受托组织（字段）
                 *
                 * @param trustee 受托组织
                 */
                setTrustee(trustee:OrgRelationItemOrg):void;
                /**
                 * 设置业务协作类型
                 *
                 * @param type 业务协作类型
                 */
                setType(type_arg:OrgRelationItemType):void;
                /**
                 * 获取协作方向
                 *
                 * @return 协作方向
                 */
                getDirect():OrgRelationItemDirect;
                /**
                 * 设置内码
                 *
                 * @param id 内码
                 */
                setId(id:string):void;
                /**
                 * 获取内码，随机生成的唯一标识
                 *
                 * @return 内码
                 */
                getId():string;
            }
            type OrgRelationConfig_T = $.java.io.Serializable & OrgRelationConfig$;
            interface OrgRelationConfig extends OrgRelationConfig_T {
            }
            interface OrgViewSchemeProp_S {
            }
            type OrgViewSchemeProp_ST = $.java.io.Serializable & OrgViewSchemeProp_S;
            interface OrgViewSchemeProp_C extends OrgViewSchemeProp_ST {
                new():OrgViewSchemeProp;
            }
            interface OrgViewSchemeProp$ {
                /**
                 * 设置视图方案标识
                 * @param number 视图方案标识
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取视图方案名称
                 * @return 视图方案名称
                 */
                getName():string;
                /**
                 * 获取视图方案ID
                 * @return 视图方案ID
                 */
                getId():string;
                /**
                 * 设置视图方案ID
                 * @param id 视图方案ID
                 */
                setId(id:string):void;
                /**
                 * 设置视图方案名称
                 * @param name 视图方案名称
                 */
                setName(name:string):void;
                /**
                 * 获取视图方案标识
                 * @return 视图方案标识
                 */
                getNumber():string;
            }
            type OrgViewSchemeProp_T = $.java.io.Serializable & OrgViewSchemeProp$;
            interface OrgViewSchemeProp extends OrgViewSchemeProp_T {
            }
            interface OrgRelationItem_S {
            }
            type OrgRelationItem_ST = $.java.io.Serializable & OrgRelationItem_S;
            interface OrgRelationItem_C extends OrgRelationItem_ST {
                new():OrgRelationItem;
            }
            interface OrgRelationItem$ {
                /**
                 * 设置内码
                 *
                 * @param id 内码
                 */
                setId(id:string):void;
                /**
                 * 获取协作方向，本组织是委托方还是受托方
                 *
                 * @return 协作方向
                 */
                getDirect():OrgRelationItemDirect;
                /**
                 * 设置关联组织字段
                 *
                 * @param org 关联组织字段
                 */
                setOrg(org:OrgRelationItemOrg):void;
                /**
                 * 获取关联组织字段
                 *
                 * @return 关联组织字段
                 */
                getOrg():OrgRelationItemOrg;
                /**
                 * 设置协作方向
                 *
                 * @param direct 协作方向
                 */
                setDirect(direct:OrgRelationItemDirect):void;
                /**
                 * 获取业务协作类型
                 *
                 * @return 业务协作类型
                 */
                getType():OrgRelationItemType;
                /**
                 * 获取内码，随机生成的唯一标识
                 *
                 * @return 内码
                 */
                getId():string;
                /**
                 * 设置业务协作类型
                 *
                 * @param type 业务协作类型
                 */
                setType(type_arg:OrgRelationItemType):void;
            }
            type OrgRelationItem_T = $.java.io.Serializable & OrgRelationItem$;
            interface OrgRelationItem extends OrgRelationItem_T {
            }
        }
        namespace kd.bos.entity.qing{
            interface IQingDataProvider_S {
            }
            interface IQingDataProvider_C extends IQingDataProvider_S {
            }
            interface IQingDataProvider$ {
            }
            type IQingDataProvider_T = IQingDataProvider$;
            interface IQingDataProvider extends IQingDataProvider_T {
            }
            interface Field_S {
            }
            type Field_ST = $.java.io.Serializable & Field_S;
            interface Field_C extends Field_ST {
                new():Field;
            }
            interface Field$ {
            }
            type Field_T = $.java.io.Serializable & Field$;
            interface Field extends Field_T {
            }
            interface QingLinkageInfo_S {
            }
            type QingLinkageInfo_ST = $.java.io.Serializable & QingLinkageInfo_S;
            interface QingLinkageInfo_C extends QingLinkageInfo_ST {
                new():QingLinkageInfo;
            }
            interface QingLinkageInfo$ {
            }
            type QingLinkageInfo_T = $.java.io.Serializable & QingLinkageInfo$;
            interface QingLinkageInfo extends QingLinkageInfo_T {
            }
            interface QingMeta_S {
            }
            type QingMeta_ST = $.java.io.Serializable & QingMeta_S;
            interface QingMeta_C extends QingMeta_ST {
                new():QingMeta;
            }
            interface QingMeta$ {
            }
            type QingMeta_T = $.java.io.Serializable & QingMeta$;
            interface QingMeta extends QingMeta_T {
            }
            interface QingData_S {
            }
            type QingData_ST = $.java.io.Serializable & QingData_S;
            interface QingData_C extends QingData_ST {
                new():QingData;
            }
            interface QingData$ {
            }
            type QingData_T = $.java.io.Serializable & QingData$;
            interface QingData extends QingData_T {
            }
            interface ParentChildDimension_S {
            }
            type ParentChildDimension_ST = $.java.io.Serializable & ParentChildDimension_S;
            interface ParentChildDimension_C extends ParentChildDimension_ST {
                new():ParentChildDimension;
                new(name:string,id:Field,parentId:Field):ParentChildDimension;
                new(name:string,alias:string,id:Field,parentId:Field):ParentChildDimension;
            }
            interface ParentChildDimension$ {
            }
            type ParentChildDimension_T = $.java.io.Serializable & ParentChildDimension$;
            interface ParentChildDimension extends ParentChildDimension_T {
            }
            interface AnalysisField_S {
            }
            interface AnalysisField_C extends AnalysisField_S {
                new(mainType:MainEntityType,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProp1:$.kd.bos.dataentity.metadata.IDataEntityProperty,refProp2:$.kd.bos.dataentity.metadata.IDataEntityProperty,refEntityId:string):AnalysisField;
            }
            interface AnalysisField$ {
                setRefDisplayName2(refDisplayName2:string):void;
                getFullFieldName():string;
                isForeignkey():boolean;
                getFullFieldCaption(withEntityName:boolean):string;
                getRefProp2():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                buildField():Field;
                getRefEntityId():string;
                setForeignkey(isForeignkey:boolean):void;
                getRefProp1():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                getFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                getComboItems():$.java.util.List;
                setRefDisplayName1(refDisplayName1:string):void;
                isAnalysis():boolean;
                isFlexField():boolean;
                getEntityKey():string;
            }
            type AnalysisField_T = AnalysisField$;
            interface AnalysisField extends AnalysisField_T {
            }
            interface EntryEntity_S {
            }
            type EntryEntity_ST = $.java.io.Serializable & EntryEntity_S;
            interface EntryEntity_C extends EntryEntity_ST {
                new():EntryEntity;
            }
            interface EntryEntity$ {
            }
            type EntryEntity_T = $.java.io.Serializable & EntryEntity$;
            interface EntryEntity extends EntryEntity_T {
            }
            class ParentChildDimension$Necessary {
                static readonly RootRepresented:kd.bos.entity.qing.ParentChildDimension$Necessary;
                static readonly Indispensable:kd.bos.entity.qing.ParentChildDimension$Necessary;
                static values():kd.bos.entity.qing.ParentChildDimension$Necessary[];
                static valueOf(arg0:string):kd.bos.entity.qing.ParentChildDimension$Necessary;
            }
            class QingFieldType {
                static readonly Date:kd.bos.entity.qing.QingFieldType;
                static readonly Boolean:kd.bos.entity.qing.QingFieldType;
                static readonly Int:kd.bos.entity.qing.QingFieldType;
                static readonly DateTime:kd.bos.entity.qing.QingFieldType;
                static readonly Number:kd.bos.entity.qing.QingFieldType;
                static readonly String:kd.bos.entity.qing.QingFieldType;
                static valueOf(arg0:string):kd.bos.entity.qing.QingFieldType;
                static values():kd.bos.entity.qing.QingFieldType[];
                static valueOfNumber(number_arg:number):kd.bos.entity.qing.QingFieldType;
                static valueOfSqlType(sqlType:number):kd.bos.entity.qing.QingFieldType;
                toNumber():number;
            }
        }
        namespace kd.bos.entity.qing.model{
            interface Filter_S {
            }
            type Filter_ST = $.java.io.Serializable & Filter_S;
            interface Filter_C extends Filter_ST {
                new(fieldName:string):Filter;
            }
            interface Filter$ {
                getFieldName():string;
                /**
                 * 添加一个选中项，此处是用显示值
                 * @param value
                 */
                addSelected(value:string):void;
                getSelecteds():$.java.util.List;
            }
            type Filter_T = $.java.io.Serializable & Filter$;
            interface Filter extends Filter_T {
            }
            interface Measure_S {
            }
            type Measure_ST = $.java.io.Serializable & Measure_S;
            interface Measure_C extends Measure_ST {
                new(fieldName:string,aggregation:$.java.lang.Enum):Measure;
                new(fieldName:string,aggregation:$.java.lang.Enum,totalUsing:boolean):Measure;
            }
            interface Measure$ {
                getFieldName():string;
                getAggregation():$.java.lang.Enum;
                isTotalUsing():boolean;
            }
            type Measure_T = $.java.io.Serializable & Measure$;
            interface Measure extends Measure_T {
            }
            interface Template_S {
            }
            type Template_ST = $.java.io.Serializable & Template_S;
            interface Template_C extends Template_ST {
                new():Template;
            }
            interface Template$ {
                getColumn():$.java.util.List;
                getMeasures():$.java.util.List;
                /**
                 * 添加一个维度成员筛选器，指定字段名称，返回一个对象，再在此基础上设置选中值
                 *
                 * @param fieldName
                 * @return
                 */
                addFieldToFilter(fieldName:string):Filter;
                /**
                 * 将字段添加到行上，注意是字段名称，不是业务语义的维度名称
                 *
                 * @param fieldName
                 */
                addFieldToRow(fieldName:string):void;
                isRowGrandTotal():boolean;
                setRowGrandTotal(rowGrandTotal:boolean):void;
                setColumnGrandTotal(columnGrandTotal:boolean):void;
                /**
                 * 将字段添加到列上
                 *
                 * @param fieldName
                 */
                addFieldToColumn(fieldName:string):void;
                getSubTotalField():$.java.util.List;
                addMeasure(measure:Measure):void;
                addSubTotalField(fieldName:string):void;
                getRow():$.java.util.List;
                isColumnGrandTotal():boolean;
                getFilters():$.java.util.List;
            }
            type Template_T = $.java.io.Serializable & Template$;
            interface Template extends Template_T {
            }
        }
        namespace kd.bos.entity.report{
            class DateEnum {
                static readonly current_week:kd.bos.entity.report.DateEnum;
                static readonly today:kd.bos.entity.report.DateEnum;
                static readonly current_month:kd.bos.entity.report.DateEnum;
                static readonly near_three_month:kd.bos.entity.report.DateEnum;
                static valueOf(arg0:string):kd.bos.entity.report.DateEnum;
                static values():kd.bos.entity.report.DateEnum[];
                /**
                 * 获取日期值
                 *
                 * @return
                 */
                getValue():string;
            }
            interface ReportColumn_S {
                readonly TYPE_BOOLEAN:string;
                readonly TYPE_USER:string;
                readonly TYPE_PICTURE:string;
                readonly TYPE_TEXT:string;
                readonly TYPE_AMOUNT:string;
                readonly TYPE_BASEDATA:string;
                readonly TYPE_DATE:string;
                readonly TYPE_QTY:string;
                readonly NO_DISPLAY_SCALE_ZERO:string;
                readonly TYPE_ASSISTANT:string;
                readonly TYPE_INTEGER:string;
                readonly TYPE_DECIMAL:string;
                readonly TYPE_FORMULA:string;
                readonly TYPE_UNIT:string;
                readonly TYPE_BASE_UNIT_QTY:string;
                readonly TYPE_BIGINT:string;
                readonly TYPE_CURRENCY:string;
                readonly TYPE_FLEX:string;
                readonly TYPE_PRICE:string;
                readonly TYPE_STEPPER:string;
                readonly TYPE_CHECKBOX:string;
                readonly TYPE_COMBO:string;
                /**
                 * 生成基础资料属性列
                 * @param fieldKey 字段标识
                 * @param refBasedataProp 引用的基础资料字段
                 * @param displayProp 基础资料显示属性
                 * @return
                 */
                createBaseDataPropColumn(fieldKey:string,refBasedataProp:string,displayProp:string):ReportColumn;
                /**
                 * 生成币别列
                 * @param fieldKey 字段标识
                 * @return
                 */
                createCurrencyColumn(fieldKey:string):ReportColumn;
                /**
                 * 生成基础资料列
                 * @param fieldKey 字段标识
                 * @param entityId 基础资料实体
                 * @return
                 */
                createBaseDataColumn(fieldKey:string,entityId:string):ReportColumn;
                /**
                 * 被金额和数量引用的币别和计量单位精度取值
                 *
                 * @param datas
                 * @param columns
                 * @return
                 */
                initNumberFormatProvider(datas:$.kd.bos.dataentity.entity.DynamicObjectCollection,columns:$.java.util.List):NumberFormatProvider;
            }
            type ReportColumn_ST = AbstractReportColumn_S & IColumn_S & ReportColumn_S;
            interface ReportColumn_C extends ReportColumn_ST {
                new():ReportColumn;
            }
            interface ReportColumn$ {
                /**
                 * 设置（复选框）显示勾选时显示内容
                 * @param oTitleReport 显示勾选时显示内容
                 */
                setOTitleReport(oTitleReport:string):void;
                /**
                 * 是否脱敏
                 * @return
                 */
                isDesensitized():boolean;
                /**
                 * 获取（复选框）显示勾选时显示内容
                 * @return
                 */
                getOTitleReport():string;
                /**
                 * 设置列实体属性
                 *
                 * @param fieldProperty
                 */
                setFieldProperty(fieldProperty:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):void;
                /**
                 * 获取是否格式化显示
                 *
                 * @return
                 */
                isNeedFormat():boolean;
                /**
                 * 获取基础资料显示属性
                 *
                 * @return
                 */
                getDisplayProp():string;
                /**
                 * 获取列实体属性
                 * @return
                 */
                getFieldProperty():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 获取冻结列
                 * @return
                 */
                isFreeze():boolean;
                /**
                 * 根据字段实体属性类型获取格式化值
                 * @param rowData 行数据
                 * @param value 当前字段值
                 * @param numberFormatProvider 格式化信息
                 * @return
                 */
                formatCell(rowData:$.kd.bos.dataentity.entity.DynamicObject,value:any,numberFormatProvider:NumberFormatProvider):any;
                /**
                 * 获取数据源字段
                 *
                 * @return
                 */
                getDateIndex():string;
                /**
                 * 设置字段类型
                 *
                 * @param fieldType 字段类型
                 */
                setFieldType(fieldType:string):void;
                /**
                 * 设置小数精度
                 *
                 * @param scale 精度
                 */
                setScale(scale:number):void;
                /**
                 * 获取是否显示为超链接
                 * @return
                 */
                isHyperlink():boolean;
                /**
                 * 设置数量对应的计量单位字段
                 *
                 * @param measureUnitField 计量单位字段
                 */
                setMeasureUnitField(measureUnitField:string):void;
                /**
                 * 设置是否是组织字段或者是基础资料绑定的组织
                 *
                 * @param isRefOrg 组织字段
                 */
                setRefOrg(isRefOrg:boolean):void;
                /**
                 * 获取字段类型
                 * 报表列字段类型用途列举：确定比较符；动态添加列，根据列定义反向生成实体属性；
                 * 可选值范围在本类常量中有定义，基本固定：TYPE_TEXT, TYPE_DATE...
                 * 增加新类型需要同步调整上述使用的代码。
                 *
                 * @return 返回字段类型，如 ReportColumn.TYPE_TEXT 等
                 */
                getFieldType():string;
                /**
                 * 设置是否是图片字段
                 * @param isPicture 图片类型
                 */
                setPicture(isPicture:boolean):void;
                /**
                 * 获取（复选框）显示不勾选时显示内容
                 * @return
                 */
                getXTitleReport():string;
                /**
                 * 获取金额对应的币别字段
                 * @return
                 */
                getCurrencyField():string;
                /**
                 * 获取复选框风格
                 * @return
                 */
                getCheckBoxReportShowStyle():number;
                /**
                 * 设置是否隐藏列
                 * @param isHide 隐藏列
                 */
                setHide(isHide:boolean):void;
                /**
                 * 设置字段是否需要脱敏展示
                 * @param desensitized 脱敏展示
                 */
                setDesensitized(desensitized:boolean):void;
                /**
                 * 设置是否显示为超链接
                 * @param isHyperlink 显示为超链接
                 */
                setHyperlink(isHyperlink:boolean):void;
                /**
                 * 设置为零显示
                 *
                 * @param zeroShow 为零显示
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 设置复选框）显示不勾选时显示内容
                 * @param xTitleReport 显示不勾选时显示内容
                 */
                setXTitleReport(xTitleReport:string):void;
                /**
                 * 获取组织职能id
                 *
                 * @return
                 */
                getOrgFuncs():string;
                /**
                 * 设置复选框风格
                 * @param checkBoxReportShowStyle 复选框风格
                 */
                setCheckBoxReportShowStyle(checkBoxReportShowStyle:number):void;
                /**
                 * 获取引用的基础资料字段
                 * @return
                 */
                getRefBasedataProp():string;
                /**
                 * 设置金额对应的币别字段
                 *
                 * @param currencyField 币别字段标识
                 */
                setCurrencyField(currencyField:string):void;
                /**
                 * 获取是否为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置是否格式化显示
                 * @param isNeedFormat 格式化显示
                 */
                setNeedFormat(isNeedFormat:boolean):void;
                /**
                 * 设置引用的基础资料字段
                 *
                 * @param refBasedataProp 引用的基础资料字段
                 */
                setRefBasedataProp(refBasedataProp:string):void;
                /**
                 * 设置列样式
                 * @param style 列样式
                 */
                setStyle(style:ColumnStyle):void;
                /**
                 * 设置基础资料显示属性
                 *
                 * @param displayProp 显示属性
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 设置组织职能id
                 *
                 * @param orgFuncs 组织职能id
                 */
                setOrgFuncs(orgFuncs:string):void;
                /**
                 * 设置列宽度
                 *
                 * @param width 宽度
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取是否显示尾零
                 * @return
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 设置计算列公式
                 * @param formula 计算列公式
                 */
                setFormula(formula:string):void;
                /**
                 * 设置冻结列
                 * @param isFreeze 冻结列
                 */
                setFreeze(isFreeze:boolean):void;
                /**
                 * 获取数量对应的计量单位字段
                 *
                 * @return
                 */
                getMeasureUnitField():string;
                /**
                 * 获取字段默认值
                 * @return
                 */
                getDefValue():any;
                /**
                 * 获取小数精度
                 * @return
                 */
                getScale():number;
                /**
                 * 获取基础资料实体ID
                 * @return
                 */
                getEntityId():string;
                /**
                 * 获取计算列公式
                 * @return
                 */
                getFormula():string;
                /**
                 * 报表引出和合计无法支持缺省值，先不调用此方法
                 * 报表列表字段支持缺省值
                 * @param rowData
                 * @param value
                 * @param numberFormatProvider
                 * @param dynamicProperty
                 * @return
                 */
                formatCell(rowData:$.kd.bos.dataentity.entity.DynamicObject,value:any,numberFormatProvider:NumberFormatProvider,dynamicProperty:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):any;
                /**
                 * 设置基础资料实体ID
                 * @param entityId 基础资料实体ID
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取列样式
                 * @return
                 */
                getStyle():ColumnStyle;
                /**
                 * 设置是否显示尾零
                 * @param noDisplayScaleZero 不显示尾零
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 设置列标识
                 *
                 * @param key 列标识
                 */
                setFieldKey(key:string):void;
                /**
                 * 获取是否是组织字段或者是基础资料绑定的组织
                 *
                 * @return
                 */
                isRefOrg():boolean;
                /**
                 * 设置数据源字段
                 *
                 * @param dateIndex 数据源字段
                 */
                setDateIndex(dateIndex:string):void;
            }
            type ReportColumn_T = AbstractReportColumn & IColumn & ReportColumn$;
            interface ReportColumn extends ReportColumn_T {
            }
            interface ColumnStyle_S {
            }
            type ColumnStyle_ST = $.java.io.Serializable & ColumnStyle_S;
            interface ColumnStyle_C extends ColumnStyle_ST {
                new():ColumnStyle;
            }
            interface ColumnStyle$ {
                /**
                 * 获取前景色
                 *
                 * @return
                 */
                getForeColor():string;
                /**
                 * 获取文本对齐方式
                 *
                 * @return 文本对齐方式，默认为"left"
                 */
                getTextAlign():string;
                /**
                 * 获取字体大小
                 *
                 * @return 字体大小，默认为12
                 */
                getFontSize():number;
                /**
                 * 设置字体大小
                 *
                 * @param fontSize 字体大小
                 */
                setFontSize(fontSize:number):void;
                /**
                 * 设置文本对齐方式
                 *
                 * @param textAlign 文本对齐方式
                 */
                setTextAlign(textAlign:string):void;
                /**
                 * 获取圆角半径
                 *
                 * @return
                 */
                getRadius():string;
                /**
                 * 获取背景色
                 *
                 * @return
                 */
                getBackColor():string;
                /**
                 * 设置圆角半径
                 *
                 * @param radius 圆角半径
                 */
                setRadius(radius:string):void;
                /**
                 * 设置前景色
                 *
                 * @param foreColor 前景色
                 */
                setForeColor(foreColor:string):void;
                /**
                 * 设置背景色
                 *
                 * @param backColor 背景色
                 */
                setBackColor(backColor:string):void;
            }
            type ColumnStyle_T = $.java.io.Serializable & ColumnStyle$;
            interface ColumnStyle extends ColumnStyle_T {
            }
            interface IReportBatchQueryInfo_S {
            }
            interface IReportBatchQueryInfo_C extends IReportBatchQueryInfo_S {
            }
            interface IReportBatchQueryInfo$ {
                /**
                 * 当前批次(一般直接用getCurrentBatchRows获取当前批次过滤依据，放开用于个别特殊场景)
                 * (0基，起始批次为0)
                 * @return
                 */
                getCurrentBatchIndex():number;
                /**
                 * 每批个数
                 * （-1:表示插件未设置， 没设置时报表框架按【过滤依据数据】总行数的量级大致设置每批个数）
                 * @param countPerBatch
                 */
                setCountPerBatch(countPerBatch:number):void;
                /**
                 * 当前批次的过滤依据行数据
                 * @return
                 */
                getCurrentBatchRows():$.java.util.List;
                /**
                 * 【过滤依据数据】
                 *  （注：查询过程全量缓存）
                 * @return
                 */
                getBatchBy():$.kd.bos.algo.CachedDataSet;
                /**
                 * 每个Excel表允许最大行数，超过时拆分文件(默认100w)
                 * @param maxExcelRowCountPerSheet
                 */
                setMaxExcelRowCountPerSheet(maxExcelRowCountPerSheet:number):void;
                /**
                 * 最大缓存行数(默认10w)
                 * -超过时释放离当前较远的批次
                 * -翻页到已释放批次时解发query重新取数
                 * @param maxRowCountCached
                 */
                setMaxRowCountCached(maxRowCountCached:number):void;
            }
            type IReportBatchQueryInfo_T = IReportBatchQueryInfo$;
            interface IReportBatchQueryInfo extends IReportBatchQueryInfo_T {
            }
            interface DecimalReportColumn_S {
            }
            type DecimalReportColumn_ST = DecimalReportColumn_S & ReportColumn_S;
            interface DecimalReportColumn_C extends DecimalReportColumn_ST {
                new():DecimalReportColumn;
            }
            interface DecimalReportColumn$ {
                /**
                 * 获取汇总类型:
                 * 0：无，1:合计
                 *
                 * @return
                 */
                getSummary():number;
                /**
                 * 设置汇总类型
                 *
                 * @param summary 汇总类型
                 */
                setSummary(summary:number):void;
            }
            type DecimalReportColumn_T = DecimalReportColumn$ & ReportColumn;
            interface DecimalReportColumn extends DecimalReportColumn_T {
            }
            interface FlexReportColumn_S {
            }
            type FlexReportColumn_ST = FlexReportColumn_S & ReportColumn_S;
            interface FlexReportColumn_C extends FlexReportColumn_ST {
                new():FlexReportColumn;
            }
            interface FlexReportColumn$ {
                /**
                 * 设置弹性域列是否需要根据类型拆分显示
                 * @param isNeedSplit
                 */
                setNeedSplit(isNeedSplit:boolean):void;
                /**
                 * 获取弹性域列是否默认拆分显示
                 * @return
                 */
                isDefaultSplit():boolean;
                /**
                 * 获取弹性域列是否需要拆分显示
                 * @return
                 */
                isNeedSplit():boolean;
                /**
                 * 获取弹性域列最大拆分列数，缺省值是40
                 * @return
                 */
                getFlexMaxShow():string;
                /**
                 * 设置弹性域列最大拆分列数
                 * @param flexMaxShow
                 */
                setFlexMaxShow(flexMaxShow:string):void;
                /**
                 * 设置弹性域列是否默认拆分显示
                 * @param defaultSplit 默认拆分显示
                 */
                setDefaultSplit(defaultSplit:boolean):void;
            }
            type FlexReportColumn_T = FlexReportColumn$ & ReportColumn;
            interface FlexReportColumn extends FlexReportColumn_T {
            }
            interface ReportFilterDefaultField_S {
            }
            type ReportFilterDefaultField_ST = $.java.io.Serializable & ReportFilterDefaultField_S;
            interface ReportFilterDefaultField_C extends ReportFilterDefaultField_ST {
                new():ReportFilterDefaultField;
            }
            interface ReportFilterDefaultField$ {
                /**
                 * 是否是用户隐藏字段
                 * @return
                 */
                isUserHide():boolean;
                /**
                 * 设置是否是初始隐藏字段
                 * @param initialHide
                 */
                setInitialHide(initialHide:boolean):void;
                /**
                 * 设置是否是用户隐藏字段
                 * @param userHide
                 */
                setUserHide(userHide:boolean):void;
                /**
                 * 获取字段标识
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 设置字段标识
                 * @param fieldName
                 */
                setFieldKey(fieldName:string):void;
                /**
                 * 是否是初始隐藏字段
                 * @return
                 */
                isInitialHide():boolean;
            }
            type ReportFilterDefaultField_T = $.java.io.Serializable & ReportFilterDefaultField$;
            interface ReportFilterDefaultField extends ReportFilterDefaultField_T {
            }
            interface MulComboReportColumn_S {
            }
            type MulComboReportColumn_ST = ComboReportColumn_S & MulComboReportColumn_S;
            interface MulComboReportColumn_C extends MulComboReportColumn_ST {
                new():MulComboReportColumn;
            }
            interface MulComboReportColumn$ {
            }
            type MulComboReportColumn_T = ComboReportColumn & MulComboReportColumn$;
            interface MulComboReportColumn extends MulComboReportColumn_T {
            }
            interface ReportBatchQueryInfo_S {
            }
            type ReportBatchQueryInfo_ST = $.java.io.Serializable & IReportBatchQueryInfo_S & ReportBatchQueryInfo_S;
            interface ReportBatchQueryInfo_C extends ReportBatchQueryInfo_ST {
                new():ReportBatchQueryInfo;
            }
            interface ReportBatchQueryInfo$ {
                /**
                 * 获取分批取数的【过滤依据数据】
                 * eg:以物料为分批依据，接口返回涉及的所有物料，
                 * 然后query接口中通queryParam.getCurrentBatch获取当前分批，
                 * 并可基于该分批过滤取数
                 * setC
                 * *ountPerBatch设置每批的个数，没设置时报表框架按【过滤依据数据】总行数的量级大致设置每批个数
                 *
                 * @return
                 */
                getBatchByDataSetCacheId():string;
                /**
                 * 获取每批个数
                 * （-1:表示插件未设置， 没设置时报表框架按【过滤依据数据】总行数的量级大致设置每批个数）
                 *
                 * @return
                 */
                getCountPerBatch():number;
                /**
                 * 设置是否大数据
                 * （指插件有实现重载AbstractReportListDataPlugin.queryBatchBy，一般数据量超10w考虑用这种分批加载方式）
                 *
                 * @param largeData 大数据
                 */
                setLargeData(largeData:boolean):void;
                /**
                 * 设置分批取数的【过滤依据数据】
                 * eg:以物料为分批依据，接口返回涉及的所有物料，
                 * 然后query接口中通queryParam.getCurrentBatch获取当前分批，
                 * 并可基于该分批过滤取数
                 * setCountPerBatch设置每批的个数，没设置时报表框架按【过滤依据数据】总行数的量级大致设置每批个数
                 *
                 * @param batchByDataSetCacheId
                 */
                setBatchByDataSetCacheId(batchByDataSetCacheId:string):void;
                /**
                 * 获取每个Excel表允许最大行数，超过时拆分文件(默认100w)
                 *
                 * @return
                 */
                getMaxExcelRowCountPerSheet():number;
                /**
                 * 设置当前批次(0基，起始批次为0)
                 *
                 * @param currentBatchIndex 当前批次
                 */
                setCurrentBatchIndex(currentBatchIndex:number):void;
                /**
                 * 获取是否大数据
                 * （指插件有实现重载AbstractReportListDataPlugin.queryBatchBy，一般数据量超10w考虑用这种分批加载方式）
                 *
                 * @return
                 */
                isLargeData():boolean;
                /**
                 * 获取总批次
                 *
                 * @return
                 */
                getBatchCount():number;
                /**
                 * 获取最大缓存行数
                 * -超过时释放离当前较远的批次
                 * -翻页到已释放批次时解发query重新取数
                 *
                 * @return
                 */
                getMaxRowCountCached():number;
            }
            type ReportBatchQueryInfo_T = $.java.io.Serializable & IReportBatchQueryInfo & ReportBatchQueryInfo$;
            interface ReportBatchQueryInfo extends ReportBatchQueryInfo_T {
            }
            interface TimeReportColumn_S {
            }
            type TimeReportColumn_ST = ReportColumn_S & TimeReportColumn_S;
            interface TimeReportColumn_C extends TimeReportColumn_ST {
                new():TimeReportColumn;
            }
            interface TimeReportColumn$ {
            }
            type TimeReportColumn_T = ReportColumn & TimeReportColumn$;
            interface TimeReportColumn extends TimeReportColumn_T {
            }
            interface FilterItemInfo_S {
            }
            type FilterItemInfo_ST = $.java.io.Serializable & FilterItemInfo_S;
            interface FilterItemInfo_C extends FilterItemInfo_ST {
                /**
                 * 构造函数
                 */
                new():FilterItemInfo;
                /**
                 * 构造函数
                 *
                 * @param propName    过滤字段名
                 * @param value       过滤字段值
                 * @param compareType 比较符
                 */
                new(propName:string,value:any,compareType:string):FilterItemInfo;
            }
            interface FilterItemInfo$ {
                /**
                 * 获取日期类型值
                 *
                 * @return
                 */
                getDate():Date;
                /**
                 * 获取字符串类型值
                 *
                 * @return
                 */
                getString():string;
                /**
                 * 获取字段值
                 *
                 * @return
                 */
                getDynamicObjectPKs():any[];
                /**
                 * 获取整形类型值
                 *
                 * @return
                 */
                getInt():number;
                /**
                 * 设置字段比较符
                 *
                 * @param compareType 比较符
                 */
                setCompareType(compareType:string):void;
                /**
                 * 获取比较符
                 *
                 * @return
                 */
                getCompareType():string;
                /**
                 * 获取布尔类型值
                 *
                 * @return
                 */
                getBoolean():boolean;
                /**
                 * 获取长整形类型值
                 *
                 * @return
                 */
                getLong():long;
                /**
                 * 获取过滤字段名
                 *
                 * @return
                 */
                getPropName():string;
                /**
                 * 设置过滤字段名
                 *
                 * @param propName 过滤字段名
                 */
                setPropName(propName:string):void;
                /**
                 * 设置过滤比较值
                 *
                 * @param value 过滤比较值
                 */
                setValue(value:any):void;
                /**
                 * 拷贝过滤字段信息
                 *
                 * @return
                 */
                clone():this;
                /**
                 * 获取小数值
                 *
                 * @return
                 */
                getBigDecimal():$.java.math.BigDecimal;
                /**
                 * 获取过滤比较值
                 *
                 * @return 返回过滤比较值
                 */
                getValue():any;
            }
            type FilterItemInfo_T = $.java.io.Serializable & FilterItemInfo$;
            interface FilterItemInfo extends FilterItemInfo_T {
            }
            interface AbstractReportColumn_S {
            }
            type AbstractReportColumn_ST = $.java.io.Serializable & AbstractReportColumn_S & IBaseColumn_S;
            interface AbstractReportColumn_C extends AbstractReportColumn_ST {
                new():AbstractReportColumn;
            }
            interface AbstractReportColumn$ {
                /**
                 * 设置用户格式化数据
                 *
                 * @param userFormat 格式化信息
                 */
                setUserFormat(userFormat:kd.bos.entity.format.FormatObject):void;
                /**
                 * 获取用户格式化数据
                 *
                 * @return
                 */
                getUserFormat():kd.bos.entity.format.FormatObject;
                /**
                 * 设置是否允许隐藏只有列的表头行: True: 隐藏(默认), False: 不隐藏
                 *
                 * @param hideSingleColumnRow 是否隐私
                 */
                setHideSingleColumnRow(hideSingleColumnRow:boolean):void;
                /**
                 * 设置表头单元格背景色
                 * @param tableHeaderCellBackColor 表头单元格背景色
                 */
                setTableHeaderCellBackColor(tableHeaderCellBackColor:string):void;
                /**
                 * 设置字段显示tips，可配置
                 * 内容可以为纯文本或者单据Id
                 *
                 * @param ctlTips 字段显示tips
                 */
                setCtlTips(ctlTips:Tips):void;
                /**
                 * 设置报表列运行时元数据信息
                 *
                 * @return
                 */
                createColumn():$.java.util.Map;
                /**
                 * 设置报表列名称
                 *
                 * @param name 列名称
                 */
                setCaption(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取是否允许隐藏只有列的表头行
                 *
                 * @return
                 */
                isHideSingleColumnRow():boolean;
                /**
                 * 获取表头单元格背景色
                 * @return
                 */
                getTableHeaderCellBackColor():string;
                /**
                 * 字段显示tips
                 *
                 * @return
                 */
                getCtlTips():Tips;
            }
            type AbstractReportColumn_T = $.java.io.Serializable & AbstractReportColumn$ & IBaseColumn;
            interface AbstractReportColumn extends AbstractReportColumn_T {
            }
            interface Col2ndFilterOption_S {
            }
            type Col2ndFilterOption_ST = $.java.io.Serializable & Col2ndFilterOption_S;
            interface Col2ndFilterOption_C extends Col2ndFilterOption_ST {
                /**
                 * 构造函数
                 *
                 * @param filterItemInfos 原始列头条件设置，使用列标识
                 * @param orderbys 原始列头排序设置，使用列标识
                 */
                new(filterItemInfos:$.java.util.List,orderbys:string[]):Col2ndFilterOption;
            }
            interface Col2ndFilterOption$ {
                /**
                 * 获取基于列标识的原始列头过滤设置
                 * <p>内含列标识、比较符(枚举值)、比较值
                 * @return 返回基于列标识的列头过滤设置
                 */
                getFilterItemInfos():$.java.util.List;
                /**
                 * 从列头条件集合中移除指定了的条件：可能是重置了该列条件，或者重新设置了条件，先移除后重现添加
                 *
                 * @param colKey 列标识
                 * @return 移除成功返回true
                 */
                removeFilterItemInfo(colKey:string):boolean;
                /**
                 * 设置基于列表式的原始排序设置
                 * @param orderbys 传入null，不排序
                 */
                setOrderbys(orderbys:string[]):void;
                /**
                 * 是否为空：没有条件、没有排序
                 *
                 * @return 返回true=没有条件、没有排序
                 */
                isEmpty():boolean;
                /**
                 * 获取是否仅仅进行二次过滤，不需要提前重新刷新报表数据。
                 * @return 返回true=仅执行二次过滤
                 */
                isOnly2ndFilter():boolean;
                /**
                 * 是否优先基于自动排序、过滤结果再次排序、过滤？
                 * @return 返回true，优先基于上次排序、过滤结果进行再次过滤、排序，以减少处理的数据量，提升性能
                 */
                isBaseCol2FilterResult():boolean;
                /**
                 * 设置是否仅进行二次过滤，不需重新取数
                 * @param only2ndFilter 传入true=仅执行二次过滤，略过报表取数逻辑
                 */
                setOnly2ndFilter(only2ndFilter:boolean):void;
                /**
                 * 设置基于列表式的原始列头过滤条件
                 * @param filterItemInfos 传入null不过滤
                 */
                setFilterItemInfos(filterItemInfos:$.java.util.List):void;
                /**
                 * 设置本次二次过滤、排序，要基于上次排序、过滤结果进行
                 * @param baseCol2FilterResult 传入true，基于上次结果再次过滤
                 */
                setBaseCol2FilterResult(baseCol2FilterResult:boolean):void;
                /**
                 * 添加列头过滤条件，传入原始的条件设置（报表列表控件前端传过来的原始列头过滤条件）
                 * @param colFilter 传入报表列表控件前端传过来的原始列头过滤条件，内含[FieldName, Compare, Value]
                 * @return 返回转换成功的条件对象
                 */
                addFilterItemInfo(colFilter:$.java.util.Map):FilterItemInfo;
                /**
                 * 获取基于列标识的原始排序设置，支持多列，每列排序参数格式为："列标识 + 排序方式"
                 * @return 返回基于列标识的原始排序配置
                 */
                getOrderbys():string[];
            }
            type Col2ndFilterOption_T = $.java.io.Serializable & Col2ndFilterOption$;
            interface Col2ndFilterOption extends Col2ndFilterOption_T {
            }
            interface DateTimeReportColumn_S {
            }
            type DateTimeReportColumn_ST = DateTimeReportColumn_S & ReportColumn_S;
            interface DateTimeReportColumn_C extends DateTimeReportColumn_ST {
                new():DateTimeReportColumn;
            }
            interface DateTimeReportColumn$ {
                /**
                 * 获取掩码，用于前端控件展示格式
                 * @return
                 */
                getMask():string;
                /**
                 * 设置掩码
                 * @param mask
                 */
                setMask(mask:string):void;
            }
            type DateTimeReportColumn_T = DateTimeReportColumn$ & ReportColumn;
            interface DateTimeReportColumn extends DateTimeReportColumn_T {
            }
            interface ReportQueryParam_S {
            }
            type ReportQueryParam_ST = $.java.io.Serializable & ReportQueryParam_S;
            interface ReportQueryParam_C extends ReportQueryParam_ST {
                new():ReportQueryParam;
            }
            interface ReportQueryParam$ {
                /**
                 * 获取排序类型
                 * @return
                 */
                getSortSource():string;
                /**
                 * 获取多语言
                 * @return
                 */
                getMulLang():$.kd.bos.lang.Lang;
                /**
                 * 设置排序类型
                 * @param sortSource 排序类型：singleSort、multiSort
                 */
                setSortSource(sortSource:string):void;
                /**
                 * 获取排序信息
                 * @return
                 */
                getSortInfo():string;
                /**
                 * 设置提示信息
                 * @param message
                 */
                setMessage(message:string):void;
                /**
                 * 获取通用过滤条件
                 * @return
                 */
                getFilter():FilterInfo;
                /**
                 * 设置排序信息
                 * @param sortInfo
                 */
                setSortInfo(sortInfo:string):void;
                /**
                 * 获取是否树形报表
                 * @return
                 */
                isTreeReportList():boolean;
                /**
                 * 设置自定义参数到取数插件
                 * @param customParam 自定义参数
                 */
                setCustomParam(customParam:$.java.util.Map):void;
                /**
                 * 设置报表过滤条件配置
                 * @param reportFilterFieldConfig 过滤配置
                 */
                setReportFilterFieldConfig(reportFilterFieldConfig:kd.bos.entity.report.queryds.ReportFilterFieldConfig):void;
                /**
                 * 设置通用过滤条件
                 * @param filter 通用过滤条件
                 */
                setFilter(filter:FilterInfo):void;
                /**
                 * 获取报表过滤条件配置
                 * @return
                 */
                getReportFilterFieldConfig():kd.bos.entity.report.queryds.ReportFilterFieldConfig;
                /**
                 * 获取提示信息
                 * @return
                 */
                getMessage():string;
                /**
                 * 获取报表自定义过滤条件
                 *
                 * @return
                 */
                getCustomFilter():$.java.util.List;
                /**
                 * 设置多语言
                 * @param mulLang
                 */
                setMulLang(mulLang:$.kd.bos.lang.Lang):void;
                /**
                 * 分批加载数据-批次等信息
                 * @return
                 */
                byBatchInfo():IReportBatchQueryInfo;
                /**
                 * 设置是否树形报表
                 * @param isTreeReportList 树形报表
                 */
                setTreeReportList(isTreeReportList:boolean):void;
                /**
                 * 获取自定义参数
                 * @return
                 */
                getCustomParam():$.java.util.Map;
                /**
                 * 设置报表自定义过滤条件
                 *
                 * @param customFilter
                 */
                setCustomFilter(customFilter:$.java.util.List):void;
            }
            type ReportQueryParam_T = $.java.io.Serializable & ReportQueryParam$;
            interface ReportQueryParam extends ReportQueryParam_T {
            }
            interface ReportBaseDataFilterInfo_S {
            }
            type ReportBaseDataFilterInfo_ST = $.java.io.Serializable & ReportBaseDataFilterInfo_S;
            interface ReportBaseDataFilterInfo_C extends ReportBaseDataFilterInfo_ST {
                new():ReportBaseDataFilterInfo;
                new(fieldKey:string,entityNumber:string,qFilters:$.java.util.List):ReportBaseDataFilterInfo;
            }
            interface ReportBaseDataFilterInfo$ {
                /**
                 * 获取基础资料权限过滤条件
                 *
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 获取基础资料过滤字段标识
                 *
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 获取基础资料实体编码
                 *
                 * @return
                 */
                getEntityNumber():string;
            }
            type ReportBaseDataFilterInfo_T = $.java.io.Serializable & ReportBaseDataFilterInfo$;
            interface ReportBaseDataFilterInfo extends ReportBaseDataFilterInfo_T {
            }
            interface TextReportColumn_S {
                readonly TYPE_TELEPHONE:string;
            }
            type TextReportColumn_ST = ReportColumn_S & TextReportColumn_S;
            interface TextReportColumn_C extends TextReportColumn_ST {
                new():TextReportColumn;
            }
            interface TextReportColumn$ {
                /**
                 * 设置内容显示为密码
                 * @param value 是否内容显示为密码
                 */
                setPassword(value:boolean):void;
                /**
                 * 设置字段的原始类型，如手机号
                 * @param originType
                 */
                setOriginType(originType:string):void;
                /**
                 * 内容显示为密码
                 *
                 * @return 是否内容显示为密码
                 */
                isPassword():boolean;
                /**
                 * 获取字段的原始类型，如手机号
                 * @return
                 */
                getOriginType():string;
            }
            type TextReportColumn_T = ReportColumn & TextReportColumn$;
            interface TextReportColumn extends TextReportColumn_T {
            }
            interface CellStyle_S {
            }
            type CellStyle_ST = CellStyle_S & ColumnStyle_S;
            interface CellStyle_C extends CellStyle_ST {
                /**
                 * 构造函数
                 */
                new():CellStyle;
            }
            interface CellStyle$ {
                /**
                 * 设置字段标识
                 *
                 * @param fieldKey 字段标识
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 获取行号
                 *
                 * @return 行号
                 */
                getRow():number;
                /**
                 * 设置行号
                 *
                 * @param row 行号
                 */
                setRow(row:number):void;
                /**
                 * 获取字段标识
                 *
                 * @return 字段标识
                 */
                getFieldKey():string;
                /**
                 * 把样式（背景色、前景色、字体大小）打包输出
                 *
                 * @return 样式参数包
                 */
                setStyles():$.java.util.Map;
            }
            type CellStyle_T = CellStyle$ & ColumnStyle;
            interface CellStyle extends CellStyle_T {
            }
            interface ComboReportColumn_S {
            }
            type ComboReportColumn_ST = ComboReportColumn_S & ReportColumn_S;
            interface ComboReportColumn_C extends ComboReportColumn_ST {
                new():ComboReportColumn;
            }
            interface ComboReportColumn$ {
                /**
                 * 设置下拉框风格
                 *
                 * @param comboShowStyle 下拉框风格
                 */
                setComboShowStyle(comboShowStyle:number):void;
                /**
                 * 设置下拉列表值
                 *
                 * @param comboItems 下拉列表值集合
                 */
                setComboItems(comboItems:$.java.util.List):void;
                /**
                 * 获取下拉框风格
                 *
                 * @return
                 */
                getComboShowStyle():number;
                /**
                 * 获取下拉列表值
                 *
                 * @return
                 */
                getComboItems():$.java.util.List;
            }
            type ComboReportColumn_T = ComboReportColumn$ & ReportColumn;
            interface ComboReportColumn extends ComboReportColumn_T {
            }
            interface IReportListModel_S {
            }
            interface IReportListModel_C extends IReportListModel_S {
            }
            interface IReportListModel$ {
                /**
                 * 获取行数据
                 *
                 * @param rowIndex 行索引
                 * @return
                 */
                getRowData(rowIndex:number):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取单元格的值
                 *
                 * @param rowIndex  行索引
                 * @param columnKey 报表列标识
                 * @return
                 */
                getValue(rowIndex:number,columnKey:string):any;
                /**
                 * 获取列表列信息
                 *
                 * @return
                 */
                getColumns():$.java.util.List;
                /**
                 * 获取关联查询参数
                 *
                 * @return
                 */
                getOtherQueryParam():any;
                /**
                 * 记录总行数
                 *
                 * @return
                 */
                getRowCount():number;
                /**
                 * 获取报表某行数据
                 *
                 * @param startIndex           初始查询位置
                 * @param length               查询条数
                 * @param onlyWithSelectedRows 是否只获取已选行数据
                 * @return 报表数据
                 */
                getRowData(startIndex:number,length:number,onlyWithSelectedRows:boolean):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 当前进度信息
                 *
                 * @return
                 */
                getProgress():number;
                /**
                 * 获取查询参数
                 *
                 * @return
                 */
                getReportQueryParam():ReportQueryParam;
            }
            type IReportListModel_T = IReportListModel$;
            interface IReportListModel extends IReportListModel_T {
            }
            interface FilterInfo_S {
            }
            type FilterInfo_ST = $.java.io.Serializable & FilterInfo_S;
            interface FilterInfo_C extends FilterInfo_ST {
                new():FilterInfo;
            }
            interface FilterInfo$ {
                /**
                 * 获取按列头对报表数据进行二次过滤时的参数（内含过滤条件、排序设置）
                 * @param reportListKey 报表列表控件标识，列头过滤条件，按报表控件隔离存储
                 * @return 默认返回为null，不需要对报表数据按列头进行二次过滤
                 */
                getCol2ndFilterOption(reportListKey:string):Col2ndFilterOption;
                /**
                 * 添加过滤条件
                 *
                 * @param propName 过滤字段名
                 * @param value    过滤字段值
                 */
                addFilterItem(propName:string,value:any):void;
                /**
                 * 获取报表表头过滤条件
                 *
                 * @return
                 */
                getTableHeadFilterItems():$.java.util.List;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回long类型的过滤比较值
                 */
                getLong(propertyName:string):long;
                /**
                 * 添加日期类型过滤条件
                 *
                 * @param propName 过滤字段名
                 * @param dateEnum 过滤字段值
                 */
                addDateEnumFilterItem(propName:string,dateEnum:DateEnum):void;
                /**
                 * 设置报表快速过滤条件
                 *
                 * @param fastFilter 快速过滤
                 */
                setFastFilter(fastFilter:FastFilter):void;
                /**
                 * 把另一个条件对象上的列头过滤选项，复制到本对象上
                 * @param src 来源条件对象
                 */
                copyCol2ndFilterOption(src:FilterInfo):void;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回boolean类型的过滤比较值
                 */
                getBoolean(propertyName:string):boolean;
                /**
                 * 判断过滤条件中是否包含指定字段
                 *
                 * @param propName 字段
                 * @return 返回true包含
                 */
                containProp(propName:string):boolean;
                /**
                 * 获取通用过滤条件
                 *
                 * @return
                 */
                getCommFilter():$.java.util.Map;
                /**
                 * 添加默认过滤条件
                 *
                 * @param defaultFilterList 默认过滤条件集合
                 */
                addDefaultFilters(defaultFilterList:$.java.util.List):void;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回int类型的过滤比较值
                 */
                getInt(propertyName:string):number;
                /**
                 * 获取弹性域过滤字段及其比较值
                 *
                 * @return 返回弹性域过滤字段及其比较值集合
                 */
                getFlexFilterItems():$.java.util.List;
                /**
                 * 设置通用过滤条件
                 *
                 * @param commFilters 过滤条件信息
                 */
                setCommFilter(commFilters:$.java.util.Map):void;
                /**
                 * 获取过滤字段及其比较值
                 *
                 * @return 返回过滤字段及其比较值集合
                 */
                getFilterItems():$.java.util.List;
                /**
                 * 设置实际过滤条件
                 *
                 * @param qFilters 过滤条件集合
                 */
                setQFilters(qFilters:$.java.util.List):void;
                /**
                 * 获取报表快速过滤条件
                 *
                 * @return
                 */
                getFastFilter():FastFilter;
                /**
                 * 获取通用过滤条件
                 *
                 * @param entityId 单据实体编码
                 * @return
                 */
                getCommFilter(entityId:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 设置报表表头过滤条件
                 *
                 * @param tableHeadFilterItems 表头过滤条件集合
                 */
                setTableHeadFilterItems(tableHeadFilterItems:$.java.util.List):void;
                /**
                 * 获取过滤字段未选值时的默认权限过滤条件
                 * 为基础资料字段的原始条件，需要转换成报表字段的过滤条件
                 */
                getBdRightQFilters():$.java.util.List;
                /**
                 * 复制本对象
                 */
                clone():this;
                /**
                 * 获取报表表头过滤条件，并转成{@link QFilter}
                 *
                 * @return
                 */
                getHeadFilters():$.java.util.List;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回BigDecimal类型的过滤比较值
                 */
                getBigDecimal(propertyName:string):$.java.math.BigDecimal;
                /**
                 * 添加过滤条件
                 *
                 * @param propName    过滤字段名
                 * @param value       过滤字段值
                 * @param compareType 字段比较符
                 */
                addFilterItem(propName:string,value:any,compareType:string):void;
                /**
                 * 获取指定字段的默认过滤项
                 *
                 * @param propName 字段
                 * @return
                 */
                getFilterItem(propName:string):FilterItemInfo;
                /**
                 * 设置按列头二次过滤参数
                 * @param reportListKey 报表列表控件标识，列头过滤条件，按报表控件隔离存储
                 * @param col2ndFilterOption 按列头二次过滤参数
                 */
                setCol2ndFilterOption(reportListKey:string,col2ndFilterOption:Col2ndFilterOption):void;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回DynamicObjectCollection类型的过滤比较值
                 */
                getDynamicObjectCollection(propertyName:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 设置其他单据体过滤信息
                 *
                 * @param otherEntryFilter 其他单据体过滤信息
                 */
                setOtherEntryFilter(otherEntryFilter:$.java.util.Map):void;
                /**
                 * 获取其他单据体过滤信息
                 *
                 * @return 返回其他单据体过滤信息
                 */
                getOtherEntryFilter():$.java.util.Map;
                /**
                 * 获取字段的过滤值
                 *
                 * @return 返回Object类型的过滤比较值
                 */
                getValue(propName:string):any;
                /**
                 * 增加通用过滤条件
                 *
                 * @param entityId    单据实体编码
                 * @param filter      过滤条件
                 * @param timeService 时间服务接口类
                 * @param userService 用户服务接口类
                 */
                addCommFilter(entityId:string,filter:$.kd.bos.entity.filter.FilterCondition,timeService:$.kd.bos.service.ITimeService,userService:kd.bos.service.IUserService):void;
                /**
                 * 条件字段的默认过滤条件，需要在插件中自己获取该条件使用
                 *
                 * @param info
                 */
                addBdRightQFilters(info:ReportBaseDataFilterInfo):void;
                /**
                 * 设置弹性域过滤字段及其比较值
                 *
                 * @param flexFilterItems 弹性域过滤字段及其比较值集合
                 */
                setFlexFilterItems(flexFilterItems:$.java.util.List):void;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回Date类型的过滤比较值
                 */
                getDate(propertyName:string):Date;
                /**
                 * 获取实际的过滤条件
                 *
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回String类型的过滤比较值
                 */
                getString(propertyName:string):string;
                /**
                 * 获取字段的过滤值
                 *
                 * @param propertyName 字段
                 * @return 返回DynamicObject类型的过滤比较值
                 */
                getDynamicObject(propertyName:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取指定字段的全部过滤项
                 *
                 * @param propName 字段
                 * @return
                 */
                getFilterItems(propName:string):$.java.util.List;
            }
            type FilterInfo_T = $.java.io.Serializable & FilterInfo$;
            interface FilterInfo extends FilterInfo_T {
            }
            interface MulBasedataReportColumn_S {
            }
            type MulBasedataReportColumn_ST = MulBasedataReportColumn_S & ReportColumn_S;
            interface MulBasedataReportColumn_C extends MulBasedataReportColumn_ST {
                new():MulBasedataReportColumn;
            }
            interface MulBasedataReportColumn$ {
            }
            type MulBasedataReportColumn_T = MulBasedataReportColumn$ & ReportColumn;
            interface MulBasedataReportColumn extends MulBasedataReportColumn_T {
            }
            interface FastFilter_S {
            }
            type FastFilter_ST = $.java.io.Serializable & FastFilter_S;
            interface FastFilter_C extends FastFilter_ST {
                /**
                 * 快速过滤构造函数
                 *
                 * @param fastFilterValues 快速过滤集合
                 * @param qFilters         实际过滤条件集合
                 */
                new(fastFilterValues:$.java.util.List,qFilters:$.java.util.List):FastFilter;
            }
            interface FastFilter$ {
                /**
                 * 根据过滤字段名获取过滤字段值
                 *
                 * @param propName 过滤字段名
                 * @return
                 */
                getValue(propName:string):$.java.util.List;
                /**
                 * 获取过滤条件：已把过滤字段和比较值组合起来，生成了最终取数条件
                 *
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 获取快速过滤条件：原始过滤条件设置
                 *
                 * @return 返回数据字典，过滤字段为Key，比较值集合为Value
                 */
                getFastFilter():$.java.util.List;
            }
            type FastFilter_T = $.java.io.Serializable & FastFilter$;
            interface FastFilter extends FastFilter_T {
            }
            interface ReportColumnGroup_S {
                readonly GroupDefaultCollapse:string;
                readonly GroupCollapsible:string;
            }
            type ReportColumnGroup_ST = $.java.io.Serializable & AbstractReportColumn_S & IColumnGroup_S & ReportColumnGroup_S;
            interface ReportColumnGroup_C extends ReportColumnGroup_ST {
                new():ReportColumnGroup;
            }
            interface ReportColumnGroup$ {
                /**
                 * 获取控件中字体的布局方式
                 *
                 * @return 控件中字体的布局方式
                 */
                getTextAlign():string;
                /**
                 * 获取字段分组是否可以折叠
                 * @return
                 */
                isGroupCollapsible():boolean;
                /**
                 * 设置字段分组是否可以折叠
                 * @param groupCollapsible 是否可以折叠
                 */
                setGroupCollapsible(groupCollapsible:boolean):void;
                /**
                 * 设置字段标识
                 *
                 * @param key 字段标识
                 */
                setFieldKey(key:string):void;
                /**
                 * 设置合并显示
                 *
                 * @param isMerge 设置为true合并显示
                 */
                setMerge(isMerge:boolean):void;
                /**
                 * 设置字段分组是否默认折叠
                 * @param groupDefaultCollapse 默认折叠
                 */
                setGroupDefaultCollapse(groupDefaultCollapse:boolean):void;
                /**
                 * 获取字段标识
                 *
                 * @return 字段标识
                 */
                getFieldKey():string;
                /**
                 * 获取合并显示
                 *
                 * @return 返回true合并显示
                 */
                isMerge():boolean;
                /**
                 * 获取字段分组是否默认折叠
                 * @return
                 */
                isGroupDefaultCollapse():boolean;
                /**
                 * 设置控件中字体的布局方式
                 *
                 * @param textAlign 字体的布局方式
                 */
                setTextAlign(textAlign:string):void;
            }
            type ReportColumnGroup_T = $.java.io.Serializable & AbstractReportColumn & IColumnGroup & ReportColumnGroup$;
            interface ReportColumnGroup extends ReportColumnGroup_T {
            }
            interface AbstractReportListDataPlugin_S {
            }
            type AbstractReportListDataPlugin_ST = AbstractReportListDataPlugin_S & IReportListDataPlugin_S;
            interface AbstractReportListDataPlugin_C extends AbstractReportListDataPlugin_ST {
                new():AbstractReportListDataPlugin;
            }
            interface AbstractReportListDataPlugin$ {
                /**
                 * 获取左表、左树选择行或节点
                 * @return
                 */
                getSelectedObj():any;
                /**
                 * 设置进度
                 * @return
                 */
                setProgress(percent:number):void;
                /**
                 * 获取查询条件
                 * @return
                 */
                getQueryParam():$.kd.bos.entity.report.ReportQueryParam;
            }
            type AbstractReportListDataPlugin_T = AbstractReportListDataPlugin$ & IReportListDataPlugin;
            interface AbstractReportListDataPlugin extends AbstractReportListDataPlugin_T {
            }
            interface ReportResultLimit_S {
            }
            type ReportResultLimit_ST = $.java.io.Serializable & ReportResultLimit_S;
            interface ReportResultLimit_C extends ReportResultLimit_ST {
                /**
                 * 构造函数
                 */
                new():ReportResultLimit;
                /**
                 * 构造函数
                 *
                 * @param limitCount 限制总行数
                 */
                new(limitCount:number):ReportResultLimit;
            }
            interface ReportResultLimit$ {
            }
            type ReportResultLimit_T = $.java.io.Serializable & ReportResultLimit$;
            interface ReportResultLimit extends ReportResultLimit_T {
            }
            interface AbstractReportListDataPluginExt_S {
            }
            type AbstractReportListDataPluginExt_ST = AbstractReportListDataPluginExt_S & IReportListDataServiceExt_S;
            interface AbstractReportListDataPluginExt_C extends AbstractReportListDataPluginExt_ST {
                new():AbstractReportListDataPluginExt;
            }
            interface AbstractReportListDataPluginExt$ {
            }
            type AbstractReportListDataPluginExt_T = AbstractReportListDataPluginExt$ & IReportListDataServiceExt;
            interface AbstractReportListDataPluginExt extends AbstractReportListDataPluginExt_T {
            }
            interface ReportBatchQueryResult_S {
            }
            type ReportBatchQueryResult_ST = $.java.io.Serializable & ReportBatchQueryResult_S;
            interface ReportBatchQueryResult_C extends ReportBatchQueryResult_ST {
                new():ReportBatchQueryResult;
                new(arg0:string):ReportBatchQueryResult;
                new(arg0:string,arg1:number):ReportBatchQueryResult;
            }
            interface ReportBatchQueryResult$ {
                getCacheId():string;
                getRootCounts():number;
            }
            type ReportBatchQueryResult_T = $.java.io.Serializable & ReportBatchQueryResult$;
            interface ReportBatchQueryResult extends ReportBatchQueryResult_T {
            }
            interface IReportCache_S {
            }
            interface IReportCache_C extends IReportCache_S {
            }
            interface IReportCache$ {
            }
            type IReportCache_T = IReportCache$;
            interface IReportCache extends IReportCache_T {
            }
            interface IReportListDataServiceExt_S {
            }
            type IReportListDataServiceExt_ST = $.java.io.Serializable & IReportListDataServiceExt_S;
            interface IReportListDataServiceExt_C extends IReportListDataServiceExt_ST {
            }
            interface IReportListDataServiceExt$ {
                afterQuery(afterQueryEvent:kd.bos.event.AfterQueryEvent):void;
                /**
                 * 获取报表动态添加的字段，以便此类字段可以在授权、打印等地方能获取到
                 * @param event
                 */
                getDynamicColumns?(event:DynamicReportColumnEvent):void;
            }
            type IReportListDataServiceExt_T = $.java.io.Serializable & IReportListDataServiceExt$;
            interface IReportListDataServiceExt extends IReportListDataServiceExt_T {
            }
            interface ReportQueryBuilder_S {
            }
            type ReportQueryBuilder_ST = $.kd.bos.entity.AbstractQueryBuilder & ReportQueryBuilder_S;
            interface ReportQueryBuilder_C extends ReportQueryBuilder_ST {
                new():ReportQueryBuilder;
            }
            interface ReportQueryBuilder$ {
            }
            type ReportQueryBuilder_T = $.kd.bos.entity.AbstractQueryBuilder & ReportQueryBuilder$;
            interface ReportQueryBuilder extends ReportQueryBuilder_T {
            }
            interface ReportTaskParam_S {
            }
            type ReportTaskParam_ST = $.java.io.Serializable & ReportTaskParam_S;
            interface ReportTaskParam_C extends ReportTaskParam_ST {
                new():ReportTaskParam;
            }
            interface ReportTaskParam$ {
                /**
                 * 获取后台任务类型
                 * @return
                 */
                getTaskType():string;
                /**
                 * 获取报表设计列
                 * @return
                 */
                getColumns():$.java.util.List;
                /**
                 * 界面是否已经关闭
                 * @return
                 */
                isRelease():boolean;
                /**
                 * 设置查询数据源
                 * @param queryDataSource
                 */
                setQueryDataSource(queryDataSource:string):void;
                /**
                 * 获取是否开启异步合计
                 *
                 * @return
                 */
                isAsyncTotal():boolean;
                /**
                 * 设置是否树形报表
                 * @param isReportTree
                 */
                setReportTree(isReportTree:boolean):void;
                /**
                 * 设置报表名称
                 * @param reportName 报表名称
                 */
                setReportName(reportName:string):void;
                /**
                 * 获取后台任务ID
                 * @return
                 */
                getTaskId():string;
                /**
                 * 获取报表名称
                 * @return
                 */
                getReportName():string;
                /**
                 * 设置过滤条件
                 * @param queryParam
                 */
                setQueryParam(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 获取是否树形报表
                 * @return
                 */
                isReportTree():boolean;
                /**
                 * 设置过滤条件实体
                 * @param filterEntityId 过滤条件实体
                 */
                setFilterEntityId(filterEntityId:string):void;
                /**
                 * 设置查询插件
                 * @param reportQueryPlugins 查询插件
                 */
                setReportQueryPlugins(reportQueryPlugins:$.java.util.List):void;
                existQueryPlugin():boolean;
                /**
                 * 设置数据源配置json
                 * @param dataSource
                 */
                setDataSource(dataSource:string):void;
                /**
                 * 设置界面是否已关闭
                 * @param release
                 */
                setRelease(release:boolean):void;
                initQueryPlugin():IReportListDataPlugin;
                /**
                 * 设置报表查询扩展插件
                 * @param pluginExtplugins 查询扩展插件
                 */
                setPluginExtplugins(pluginExtplugins:$.java.util.List):void;
                /**
                 * 获取过滤条件
                 * @return
                 */
                getQueryParam():$.kd.bos.entity.report.ReportQueryParam;
                /**
                 * 设置其他参数，例如左树（表）选择对象
                 * @param otherParam 其他参数
                 */
                setOtherParam(otherParam:any):void;
                /**
                 * 设置报表设计列
                 * @param columns 报表列
                 */
                setColumns(columns:$.java.util.List):void;
                /**
                 * 设置后台任务id
                 * @param taskId
                 */
                setTaskId(taskId:string):void;
                /**
                 * 获取报表查询扩展插件
                 * @return
                 */
                getPluginExtplugins():$.java.util.List;
                /**
                 * 获取查询数据源
                 * @return
                 */
                getQueryDataSource():string;
                /**
                 * 获取数据源配置json
                 *
                 * @param queryParam  查询参数
                 * @param selectedObj 数据包
                 * @return
                 */
                getDataSource(queryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):kd.bos.entity.report.ds.DataSource;
                /**
                 * 获取数据源配置json
                 * @return
                 */
                getDataSource():string;
                /**
                 * 获取过滤条件实体
                 * @return
                 */
                getFilterEntityId():string;
                /**
                 * 获取其他参数，例如左树（表）选择对象
                 * @return
                 */
                getOtherParam():any;
                /**
                 * 获取报表查询插件
                 * @return
                 */
                getPluginClassName():string;
                /**
                 * 设置后台任务类型
                 * @param taskType
                 */
                setTaskType(taskType:string):void;
                /**
                 * 设置报表查询插件
                 * @param pluginClassName 报表查询插件
                 */
                setPluginClassName(pluginClassName:string):void;
                /**
                 * 获取查询插件
                 * @return   查询插件
                 */
                getReportQueryPlugins():$.java.util.List;
                /**
                 * 设置是否开启异步合计
                 *
                 * @param asyncTotal
                 */
                setAsyncTotal(asyncTotal:boolean):void;
            }
            type ReportTaskParam_T = $.java.io.Serializable & ReportTaskParam$;
            interface ReportTaskParam extends ReportTaskParam_T {
            }
            interface AbstractReportTreeDataPlugin_S {
            }
            interface AbstractReportTreeDataPlugin_C extends AbstractReportTreeDataPlugin_S {
                new():AbstractReportTreeDataPlugin;
            }
            interface AbstractReportTreeDataPlugin$ {
                /**
                 * 查询树节点数据
                 *
                 * @param queryParam 查询参数
                 * @param parentId 上级节点ID
                 * @return 返回树控件一级节点集合，内含下级节点（树形结构）
                 * @throws Throwable 抛出查询异常
                 */
                query(queryParam:$.kd.bos.entity.report.ReportQueryParam,nodeId:string):$.java.util.List;
                /**
                 * 设置进度
                 */
                setProgress(percent:number):void;
            }
            type AbstractReportTreeDataPlugin_T = AbstractReportTreeDataPlugin$;
            interface AbstractReportTreeDataPlugin extends AbstractReportTreeDataPlugin_T {
            }
            interface ReportTaskResult_S {
            }
            type ReportTaskResult_ST = $.java.io.Serializable & ReportTaskResult_S;
            interface ReportTaskResult_C extends ReportTaskResult_ST {
                /**
                 * 构造函数
                 * @param resultId 执行结果ID
                 * @param reportColumns 报表列信息
                 */
                new(resultId:string,reportColumns:$.java.util.List):ReportTaskResult;
            }
            interface ReportTaskResult$ {
            }
            type ReportTaskResult_T = $.java.io.Serializable & ReportTaskResult$;
            interface ReportTaskResult extends ReportTaskResult_T {
            }
            interface TreeModel_S {
            }
            interface TreeModel_C extends TreeModel_S {
                /**
                 * 构造函数
                 */
                new():TreeModel;
                /**
                 * 获取树形报表model
                 * @param nodes 树节点
                 */
                new(nodes:$.java.util.List):TreeModel;
            }
            interface TreeModel$ {
            }
            type TreeModel_T = TreeModel$;
            interface TreeModel extends TreeModel_T {
            }
            interface ReportBatchLoadInfo_S {
            }
            type ReportBatchLoadInfo_ST = $.java.io.Serializable & ReportBatchLoadInfo_S;
            interface ReportBatchLoadInfo_C extends ReportBatchLoadInfo_ST {
                new():ReportBatchLoadInfo;
            }
            interface ReportBatchLoadInfo$ {
            }
            type ReportBatchLoadInfo_T = $.java.io.Serializable & ReportBatchLoadInfo$;
            interface ReportBatchLoadInfo extends ReportBatchLoadInfo_T {
            }
            interface ReportByBatchTaskResult_S {
            }
            type ReportByBatchTaskResult_ST = $.java.io.Serializable & ReportByBatchTaskResult_S & ReportTaskResult_S;
            interface ReportByBatchTaskResult_C extends ReportByBatchTaskResult_ST {
                /**
                 * 构造函数
                 *
                 * @param pageId                   页面ID
                 * @param firstBatchDataSetCacheId dataSetCacheId
                 * @param reportColumns            报表列信息
                 * @param batchQueryInfo           批量查询信息
                 */
                new(pageId:string,firstBatchDataSetCacheId:string,reportColumns:$.java.util.List,batchQueryInfo:$.kd.bos.entity.report.ReportBatchQueryInfo):ReportByBatchTaskResult;
                /**
                 * 构造函数
                 * @param pageId
                 * @param firstBatchDataSetCacheId
                 * @param reportColumns
                 * @param batchQueryInfo
                 * @param batchInfo
                 */
                new(pageId:string,firstBatchDataSetCacheId:string,reportColumns:$.java.util.List,batchQueryInfo:$.kd.bos.entity.report.ReportBatchQueryInfo,batchInfo:ReportBatchLoadInfo):ReportByBatchTaskResult;
            }
            interface ReportByBatchTaskResult$ {
            }
            type ReportByBatchTaskResult_T = $.java.io.Serializable & ReportByBatchTaskResult$ & ReportTaskResult;
            interface ReportByBatchTaskResult extends ReportByBatchTaskResult_T {
            }
            interface ReportRowSet_S {
            }
            type ReportRowSet_ST = $.java.io.Serializable & ReportRowSet_S;
            interface ReportRowSet_C extends ReportRowSet_ST {
                /**
                 * 构造函数
                 * @param metaData 元数据信息
                 * @param rowData 行数据包
                 */
                new(metaData:$.kd.bos.algo.RowMeta,rowData:$.java.util.List):ReportRowSet;
            }
            interface ReportRowSet$ {
            }
            type ReportRowSet_T = $.java.io.Serializable & ReportRowSet$;
            interface ReportRowSet extends ReportRowSet_T {
            }
            interface IReportListDataPlugin_S {
            }
            interface IReportListDataPlugin_C extends IReportListDataPlugin_S {
            }
            interface IReportListDataPlugin$ {
                /**
                 * 返回用于分批取数的依据数据
                 * eg：以物料为分批依据，此接口返回涉及的所有物料，
                 * 然后{@link #query(ReportQueryParam, Object)}接口中通过queryParam.getCurrentBatch获取当前分批，
                 * 并可基于该分批过滤取数
                 * @param queryParam 查询参数
                 * @return 返回报表数据
                 */
                queryBatchBy?(queryParam:$.kd.bos.entity.report.ReportQueryParam):$.kd.bos.algo.DataSet;
                /**
                 * 改变列信息
                 * @param columns 报表设计列
                 * @return 页面显示列
                 */
                getColumns?(columns:$.java.util.List):$.java.util.List;
                /**
                 * 导出查询全量数据
                 *
                 * @param queryParam  查询参数
                 * @param selectedObj 左树（表）右表是选中左树（表）对象，左树时为节点ID，左表时为选中行数据
                 * @return 返回报表数据
                 */
                export?(queryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):$.kd.bos.algo.DataSet;
                /**
                 * 获取报表动态添加的字段，以便此类字段可以在授权、打印等地方能获取到
                 * @param event
                 */
                getDynamicColumns?(event:DynamicReportColumnEvent):void;
                /**
                 * 查询数据
                 * @param queryParam 查询参数
                 * @param selectedObj 左树（表）右表是选中左树（表）对象，左树时为节点ID，左表时为选中行数据
                 * @return 返回报表数据
                 */
                query?(queryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):$.kd.bos.algo.DataSet;
                /**
                 * 分sheet页导出数据
                 *
                 * @param queryParam  查询参数
                 * @param selectedObj 左树（表）右表是选中左树（表）对象，左树时为节点ID，左表时为选中行数据
                 * @return 一个sheet页对一个一个数据 {@link ReportExportDataResult}
                 */
                exportWithSheet?(queryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):$.java.util.List;
            }
            type IReportListDataPlugin_T = IReportListDataPlugin$;
            interface IReportListDataPlugin extends IReportListDataPlugin_T {
            }
            interface ReportCacheManager_S {
            }
            interface ReportCacheManager_C extends ReportCacheManager_S {
                new():ReportCacheManager;
            }
            interface ReportCacheManager$ {
            }
            type ReportCacheManager_T = ReportCacheManager$;
            interface ReportCacheManager extends ReportCacheManager_T {
            }
            interface ReportModule_S {
            }
            type ReportModule_ST = $.kd.sdk.module.Module & ReportModule_S;
            interface ReportModule_C extends ReportModule_ST {
                new():ReportModule;
            }
            interface ReportModule$ {
            }
            type ReportModule_T = $.kd.sdk.module.Module & ReportModule$;
            interface ReportModule extends ReportModule_T {
            }
            interface ReportException_S {
            }
            type ReportException_ST = $.java.io.Serializable & ReportException_S;
            interface ReportException_C extends ReportException_ST {
                new():ReportException;
                new(showType:ReportException$ShowType,content:string):ReportException;
            }
            interface ReportException$ {
                /**
                 * 获取提示的消息
                 *
                 * @return
                 */
                getContent():string;
                /**
                 * 获取提示的类型，悬浮框提示或弹窗提示
                 *
                 * @return
                 */
                getShowType():ReportException$ShowType;
            }
            type ReportException_T = $.java.io.Serializable & ReportException$;
            interface ReportException extends ReportException_T {
            }
            class ReportException$ShowType {
                static readonly SHOW_ERROR_MESSAGE:kd.bos.entity.report.ReportException$ShowType;
                static readonly SHOW_MESSAGE:kd.bos.entity.report.ReportException$ShowType;
                static readonly SHOW_NOTIFICATION_MSG:kd.bos.entity.report.ReportException$ShowType;
                static values():kd.bos.entity.report.ReportException$ShowType[];
                static valueOf(arg0:string):kd.bos.entity.report.ReportException$ShowType;
                getType():number;
            }
            interface DynamicReportColumnEvent_S {
            }
            type DynamicReportColumnEvent_ST = $.java.io.Serializable & DynamicReportColumnEvent_S;
            interface DynamicReportColumnEvent_C extends DynamicReportColumnEvent_ST {
                new():DynamicReportColumnEvent;
            }
            interface DynamicReportColumnEvent$ {
                /**
                 * 设置当前报表标识
                 * @param rptFormId 报表标识
                 */
                setRptFormId(rptFormId:string):void;
                /**
                 * 获取当前报表标识
                 * @return 返回当前报表标识
                 */
                getRptFormId():string;
                setColumns(columns:$.java.util.List):void;
                /**
                 * 获取报表动态字段
                 * @return
                 */
                getColumns():$.java.util.List;
            }
            type DynamicReportColumnEvent_T = $.java.io.Serializable & DynamicReportColumnEvent$;
            interface DynamicReportColumnEvent extends DynamicReportColumnEvent_T {
            }
            interface IReportTreeModel_S {
            }
            interface IReportTreeModel_C extends IReportTreeModel_S {
            }
            interface IReportTreeModel$ {
                /**
                 * 获取树形报表model
                 *
                 * @return
                 */
                getTreeModel():TreeModel;
                /**
                 * 当前进度信息
                 *
                 * @return
                 */
                getProgress():number;
            }
            type IReportTreeModel_T = IReportTreeModel$;
            interface IReportTreeModel extends IReportTreeModel_T {
            }
            interface IProgressRecorder_S {
            }
            interface IProgressRecorder_C extends IProgressRecorder_S {
            }
            interface IProgressRecorder$ {
                setProgress(arg0:number):void;
            }
            type IProgressRecorder_T = IProgressRecorder$;
            interface IProgressRecorder extends IProgressRecorder_T {
            }
        }
        namespace kd.bos.entity.report.ds{
            interface DataSource_S {
            }
            interface DataSource_C extends DataSource_S {
            }
            interface DataSource$ {
                /**
                 * 获取数据
                 * @return
                 */
                getDataSet():$.kd.bos.algo.DataSet;
                /**
                 * 获取列配置
                 * @param columns
                 * @return
                 */
                getColumns(columns:$.java.util.List):$.java.util.List;
            }
            type DataSource_T = DataSource$;
            interface DataSource extends DataSource_T {
            }
        }
        namespace kd.bos.entity.report.queryds{
            interface ReportFilterField_S {
            }
            type ReportFilterField_ST = $.java.io.Serializable & ReportFilterField_S;
            interface ReportFilterField_C extends ReportFilterField_ST {
                /**
                 * 构造函数
                 */
                new():ReportFilterField;
            }
            interface ReportFilterField$ {
                /**
                 * 设置比较符标题
                 *
                 * @param compareTypeCaption 比较符标题
                 */
                setCompareTypeCaption(compareTypeCaption:string):void;
                /**
                 * 获取绑定字段
                 *
                 * @return 绑定字段
                 */
                getFieldName():string;
                /**
                 * 获取关联的数据源标识
                 *
                 * @return 数据源标识
                 */
                getDataSourceId():string;
                /**
                 * 设置绑定字段
                 *
                 * @param fieldName 绑定字段
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取绑定字段标题
                 *
                 * @return 字段标题
                 */
                getFieldCaption():string;
                /**
                 * 获取比较符标题
                 *
                 * @return 比较符标题
                 */
                getCompareTypeCaption():string;
                /**
                 * 设置过滤字段控件标题
                 *
                 * @param keyCaption 标题
                 */
                setKeyCaption(keyCaption:string):void;
                /**
                 * 设置绑定字段标题
                 *
                 * @param fieldCaption 字段标题
                 */
                setFieldCaption(fieldCaption:string):void;
                /**
                 * 获取比较符类型
                 *
                 * @return 比较符类型
                 */
                getCompareTypeId():string;
                /**
                 * 设置关联的数据源标识
                 *
                 * @param dataSourceId 数据源标识
                 */
                setDataSourceId(dataSourceId:string):void;
                /**
                 * 设置比较符类型
                 *
                 * @param compareTypeId 比较符类型
                 */
                setCompareTypeId(compareTypeId:string):void;
                /**
                 * 获取数据源标题
                 *
                 * @return 数据源标题
                 */
                getDataSourceCaption():string;
                /**
                 * 获取唯一标识
                 *
                 * @return 唯一标识
                 */
                getId():string;
                /**
                 * 设置过滤字段控件标识
                 *
                 * @param key 过滤字段控件标识
                 */
                setKey(key:string):void;
                /**
                 * 获取过滤字段控件标题
                 *
                 * @return 标题
                 */
                getKeyCaption():string;
                /**
                 * 设置唯一标识
                 *
                 * @param id 唯一标识
                 */
                setId(id:string):void;
                /**
                 * 获取数据源标题
                 *
                 * @param dataSourceCaption 数据源标题
                 */
                setDataSourceCaption(dataSourceCaption:string):void;
                /**
                 * 获取过滤字段控件标识
                 *
                 * @return 过滤字段控件标识
                 */
                getKey():string;
            }
            type ReportFilterField_T = $.java.io.Serializable & ReportFilterField$;
            interface ReportFilterField extends ReportFilterField_T {
            }
            interface ReportFilterFieldConfig_S {
            }
            type ReportFilterFieldConfig_ST = $.java.io.Serializable & ReportFilterFieldConfig_S;
            interface ReportFilterFieldConfig_C extends ReportFilterFieldConfig_ST {
                /**
                 * 构造函数
                 */
                new():ReportFilterFieldConfig;
            }
            interface ReportFilterFieldConfig$ {
            }
            type ReportFilterFieldConfig_T = $.java.io.Serializable & ReportFilterFieldConfig$;
            interface ReportFilterFieldConfig extends ReportFilterFieldConfig_T {
            }
        }
        namespace kd.bos.entity.rule{
            interface BR_S {
            }
            type BR_ST = AbstractRule_S & BR_S;
            interface BR_C extends BR_ST {
                new():BR;
            }
            interface BR$ {
                /**
                 * 设置规则类型
                 *
                 * @param ruleType 规则类型
                 */
                setRuleType(ruleType:string):void;
                /**
                 * 规则类型，分为表单规则和k流规则
                 * 具体值 kd.bos.metadata.kflow.enums.RuleType
                 *
                 * @return 规则类型
                 */
                getRuleType():string;
                /**
                 * 扩展属性字典，k流使用
                 *
                 * @return 扩展属性字典
                 */
                getExtProps():$.java.util.Map;
                /**
                 * 获取触发字段
                 */
                getTriggerField():string;
                /**
                 * 设置触发字段
                 * @param triggerField
                 */
                setTriggerField(triggerField:string):void;
                /**
                 * 设置扩展属性字典
                 *
                 * @param extProps 扩展属性字典
                 */
                setExtProps(extProps:$.java.util.Map):void;
            }
            type BR_T = AbstractRule & BR$;
            interface BR extends BR_T {
            }
            interface ClientBR_S {
            }
            type ClientBR_ST = BR_S & ClientBR_S;
            interface ClientBR_C extends ClientBR_ST {
                new():ClientBR;
            }
            interface ClientBR$ {
                /**
                 * 设置规则分组
                 *
                 * @param groupName 规则分组
                 */
                setGroupName(groupName:string):void;
                /**
                 * 获取规则分组
                 *
                 * @return 规则分组，行规则，字段规则等，用于分组解析
                 */
                getGroupName():string;
            }
            type ClientBR_T = BR & ClientBR$;
            interface ClientBR extends ClientBR_T {
            }
            interface RuleUtils_S {
            }
            interface RuleUtils_C extends RuleUtils_S {
                new():RuleUtils;
            }
            interface RuleUtils$ {
            }
            type RuleUtils_T = RuleUtils$;
            interface RuleUtils extends RuleUtils_T {
            }
            interface RuleExecuteContext_S {
            }
            interface RuleExecuteContext_C extends RuleExecuteContext_S {
                new():RuleExecuteContext;
            }
            interface RuleExecuteContext$ {
                setContextObj(map:$.java.util.Map):void;
                /**
                 * K流运行时通过此map获取view
                 * @return
                 */
                getContextObj():$.java.util.Map;
                /**
                 * 获取规则执行的数据行
                 *
                 * @return 规则执行数据行
                 */
                getDataEntities():$.java.util.List;
                /**
                 * 获取触发规则的数据源
                 *
                 * @return 触发规则数据源
                 */
                getRaiseEventSources():$.java.util.List;
            }
            type RuleExecuteContext_T = RuleExecuteContext$;
            interface RuleExecuteContext extends RuleExecuteContext_T {
            }
            interface AbstractRule_S {
            }
            interface AbstractRule_C extends AbstractRule_S {
                new():AbstractRule;
            }
            interface AbstractRule$ {
                /**
                 * 设置是否启用规则
                 *
                 * @param enabled 是否启用规则
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 是否启用规则，默认启用
                 *
                 * @return 是否启用规则
                 */
                isEnabled():boolean;
                /**
                 * 获取条件成立时执行的规则动作集合
                 *
                 * @return 条件成立时执行的规则动作集合
                 */
                getTrueActions():$.java.util.List;
                /**
                 * 设置条件描述，支持多语言
                 *
                 * @param localPreDescription 条件描述
                 */
                setLocalPreDescription(localPreDescription:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 本规则依赖的字段
                 *
                 * @return 依赖字段
                 */
                getDepFldKeys():string;
                /**
                 * 本规则依赖的字段
                 *
                 * @return 依赖字段集合
                 */
                getDepFldSet():$.java.util.Set;
                /**
                 * 设置条件成立时执行的规则动作集合
                 *
                 * @param actions 条件成立时执行的规则动作集合
                 */
                setTrueActions(actions:$.java.util.List):void;
                /**
                 * 获取规则id，若是id为空，会随机生成一个
                 *
                 * @return 规则id
                 */
                getId():string;
                /**
                 * 获取规则前置条件
                 *
                 * @return 规则的前置条件
                 */
                getPreCondition():string;
                /**
                 * 设置规则id
                 *
                 * @param id 规则id
                 */
                setId(id:string):void;
                /**
                 * 规则执行顺序
                 *
                 * @return seq
                 */
                getSeq():number;
                /**
                 * 设置规则执行顺序
                 *
                 * @param seq 执行顺序
                 */
                setSeq(seq:number):void;
                /**
                 * 设置条件不成立时执行的规则动作集合
                 *
                 * @param actions 条件不成立时执行的规则动作集合
                 */
                setFalseActions(actions:$.java.util.List):void;
                /**
                 * 获取条件不成立时执行的规则动作集合
                 *
                 * @return 条件不成立时执行的规则动作集合
                 */
                getFalseActions():$.java.util.List;
                /**
                 * 设置规则前置条件
                 *
                 * @param preCondition 规则前置条件
                 */
                setPreCondition(preCondition:string):void;
                /**
                 * 获取规则描述
                 *
                 * @return 规则描述
                 */
                getDescription():string;
                /**
                 * 设置条件描述
                 *
                 * @param preDescription 条件描述
                 */
                setPreDescription(preDescription:string):void;
                /**
                 * 设置规则对应的实体标识
                 *
                 * @param source 规则对应的实体标识
                 */
                setSource(source:string):void;
                /**
                 * 设置规则依赖字段
                 *
                 * @param depFldKeys 规则依赖字段
                 */
                setDepFldKeys(depFldKeys:string):void;
                /**
                 * 规则执行入口方法
                 *
                 * @param executeContext 规则执行上下文参数
                 */
                execute(executeContext:RuleExecuteContext):void;
                /**
                 * 获取条件描述，支持多语言
                 *
                 * @return 条件描述
                 */
                getLocalPreDescription():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置规则描述
                 *
                 * @param description 规则描述
                 */
                setDescription(description:string):void;
                /**
                 * 获取规则对应的实体标识
                 *
                 * @return 返回规则对应的实体标识
                 */
                getSource():string;
            }
            type AbstractRule_T = AbstractRule$;
            interface AbstractRule extends AbstractRule_T {
            }
            interface BRErrorCode_S {
                readonly BOS_RULE_ERROR_CODE_PREFIX:string;
                readonly ERROR_PRECONDITION_RUN:$.kd.bos.exception.ErrorCode;
                readonly ERROR_RULE_ACTION_RUN:$.kd.bos.exception.ErrorCode;
                readonly ERROR_UNKNOWN_RUN:$.kd.bos.exception.ErrorCode;
                readonly ERROR_PRECONDITION_RESULT_NOT_BOOL:$.kd.bos.exception.ErrorCode;
                /**
                 * 判断异常是否为表单业务规则执行异常
                 *
                 * @param errorCode 异常编码对象
                 * @return 如果是表单规则执行异常，返回true
                 */
                isBRErrorCode(errorCode:$.kd.bos.exception.ErrorCode):boolean;
            }
            interface BRErrorCode_C extends BRErrorCode_S {
                new():BRErrorCode;
            }
            interface BRErrorCode$ {
            }
            type BRErrorCode_T = BRErrorCode$;
            interface BRErrorCode extends BRErrorCode_T {
            }
            interface RaiseEventSource_S {
            }
            interface RaiseEventSource_C extends RaiseEventSource_S {
                new(arg0:$.kd.bos.entity.datamodel.RaiseEventType,arg1:$.java.util.List,arg2:$.kd.bos.dataentity.metadata.IDataEntityType):RaiseEventSource;
                new(arg0:$.kd.bos.entity.datamodel.RaiseEventType,arg1:$.java.util.List,arg2:$.kd.bos.dataentity.metadata.IDataEntityProperty):RaiseEventSource;
            }
            interface RaiseEventSource$ {
                getDataEntityType():$.kd.bos.dataentity.metadata.IDataEntityType;
                getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                getDataEntities():$.java.util.List;
                getRaiseEventType():$.kd.bos.entity.datamodel.RaiseEventType;
            }
            type RaiseEventSource_T = RaiseEventSource$;
            interface RaiseEventSource extends RaiseEventSource_T {
            }
            interface RuleContainer_S {
            }
            interface RuleContainer_C extends RuleContainer_S {
                new():RuleContainer;
            }
            interface RuleContainer$ {
                setMaxTaskCount(arg0:long):void;
                suspend(arg0:long):void;
                resume(arg0:RuleExecuteContext):void;
                suspend():void;
                raise(arg0:RaiseEventSource,arg1:RuleExecuteContext):void;
            }
            type RuleContainer_T = RuleContainer$;
            interface RuleContainer extends RuleContainer_T {
            }
            interface BRExecuteContext_S {
            }
            type BRExecuteContext_ST = BRExecuteContext_S & RuleExecuteContext_S;
            interface BRExecuteContext_C extends BRExecuteContext_ST {
                new(arg0:$.kd.bos.entity.datamodel.IDataModel):BRExecuteContext;
            }
            interface BRExecuteContext$ {
                getModel():$.kd.bos.entity.datamodel.IDataModel;
            }
            type BRExecuteContext_T = BRExecuteContext$ & RuleExecuteContext;
            interface BRExecuteContext extends BRExecuteContext_T {
            }
        }
        namespace kd.bos.entity.tree{
            interface SuffixIconProps_S {
            }
            interface SuffixIconProps_C extends SuffixIconProps_S {
                new():SuffixIconProps;
                new(suffixIcons:$.java.util.List,suffixIconShowType:number,suffixIconCanClick:boolean):SuffixIconProps;
            }
            interface SuffixIconProps$ {
                setSuffixIcons(suffixIcons:$.java.util.List):void;
                /**
                 * 树节点后缀小图标
                 *
                 * @return
                 */
                getSuffixIcons():$.java.util.List;
                /**
                 * 图标是否可点击
                 * 不传或true 可点击
                 *
                 * @return
                 */
                isSuffixIconCanClick():boolean;
                setSuffixIconCanClick(suffixIconCanClick:boolean):void;
                /**
                 * 后缀图标展示方式
                 * 0：hover展示
                 * 1：常驻展示
                 *
                 * @return
                 */
                getSuffixIconShowType():number;
                setSuffixIconShowType(suffixIconShowType:number):void;
            }
            type SuffixIconProps_T = SuffixIconProps$;
            interface SuffixIconProps extends SuffixIconProps_T {
            }
            interface TreeNode_S {
                readonly LNUMBERDLM:string;
                /**
                 * Map<String,Object> 转 TreeNode
                 *
                 * @param rootParentId 父节点标识
                 * @param map 传入节点数据包，用Key-Value存储节点的属性值
                 * @param idKey 传入的节点数据包中，存储节点标识属性的Key值
                 * @param textKey 节点数据包中，存储节点显示内容属性的Key值
                 * @param itemsKey 节点数据包中，存储节点子节点的Key值
                 *
                 * @return 返回转换成功的节点
                 */
                Parse(rootParentId:string,map:$.java.util.Map,idKey:string,textKey:string,itemsKey:string):TreeNode;
            }
            type TreeNode_ST = $.java.io.Serializable & TreeNode_S;
            interface TreeNode_C extends TreeNode_ST {
                /**
                 * 构造函数
                 */
                new():TreeNode;
                /**
                 * 构造叶子节点
                 *
                 * @param parentId 父节点标识
                 * @param id 本节点标识
                 * @param text 节点显示内容
                 */
                new(parentId:string,id:string,text:string):TreeNode;
                /**
                 * 构造附加数据的叶子节点
                 *
                 * @param parentId 父节点标识
                 * @param id 本节点标识
                 * @param text 节点显示内容
                 * @param data 附加数据
                 */
                new(parentId:string,id:string,text:string,data:any):TreeNode;
                /**
                 * 构造节点
                 *
                 * @param parentId 父节点标识
                 * @param id 本节点标识
                 * @param text 节点显示内容
                 * @param isParent	true-非叶子节点，false-叶子节点
                 */
                new(parentId:string,id:string,text:string,isParent:boolean):TreeNode;
                /**
                 * 构造带数据的节点
                 *
                 * @param parentId 父节点标识
                 * @param id 本节点标识
                 * @param text 节点显示内容
                 * @param isParent true-非叶子节点，false-叶子节点
                 * @param data 附加数据
                 */
                new(parentId:string,id:string,text:string,isParent:boolean,data:any):TreeNode;
            }
            interface TreeNode$ {
                /**
                 * 返回附加数据
                 *
                 * @return 附加数据
                 */
                getData():any;
                /**
                 * 递归查找text所在节点（模糊匹配）
                 *
                 * @param text 节点显示内容
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 *
                 * @return 返回第一个查到的节点
                 */
                getTreeNodeByText(text:string,maxLevel:number):this;
                /**
                 * 获取颜色
                 *
                 * @return 颜色
                 */
                getColor():string;
                /**
                 * 获取子节点路径
                 *
                 * @param id 子节点标识
                 * @return 返回子节点所有的上级节点标识集合，逐层往下排列
                 */
                getChildPath(id:string):$.java.util.List;
                /**
                 * 设置节点是否禁用
                 *
                 * @param disabled 设置为true-禁用
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 返回父节点标识
                 *
                 * @return 父节点标识
                 */
                getParentid():string;
                /**
                 * 树节点后缀小图标属性
                 *
                 * @return
                 */
                getSuffixIconProps():SuffixIconProps;
                /**
                 * 设置节点标识
                 *
                 * @param value 节点标识
                 */
                setId(value:string):void;
                /**
                 * 遍历所有节点
                 *
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 * @param callback 回调函数，可以传个lambda表达式
                 */
                iterate(maxLevel:number,consumer1:(t:any)=>void):void;
                /**
                 * 获取节点的标签参数包
                 *
                 * @return 返回客户端树形控件使用的参数包
                 */
                getLabelPara():$.java.util.List;
                /**
                 * 添加单个子节点
                 *
                 * @param node 子节点
                 * @return 返回当前节点，方便链式操作
                 */
                addChild(node:TreeNode):this;
                /**
                 * 本节点是否叶子节点（即无下级节点）
                 *
                 * @return 返回true-是叶子节点
                 */
                isLeaf():boolean;
                /**
                 * 设置节点图片
                 *
                 * @param icon 节点图片
                 */
                setIcon(icon:string):void;
                /**
                 * 返回节点类型
                 *
                 * @return 节点类型
                 */
                getType():string;
                /**
                 * 设置节点的标签，自动转为客户端控件使用的参数包
                 *
                 * @param labelPara 标签
                 */
                setLabelPara(labelPara:$.java.util.List):void;
                /**
                 * 递归查找模糊匹配id所有节点
                 *
                 * @param treeNodes 输出找到的节点集合
                 * @param id 节点标识
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 *
                 * @return 返回所有找到的节点
                 */
                getTreeNodeListById(treeNodes:$.java.util.List,id:string,maxLevel:number):$.java.util.List;
                /**
                 * 递归删除子节点
                 *
                 * @param id 子节点标识
                 * @return 删除节点的上一级节点
                 */
                deleteChildNode(id:string):this;
                /**
                 * 返回节点是否默认展开
                 *
                 * @return 返回true-默认展开
                 */
                getIsOpened():boolean;
                /**
                 * 获取节点的层级，没有找到返回-1
                 *
                 * @param id 节点标识
                 * @param startLevel 开始层级
                 *
                 * @return 返回节点的层级
                 */
                getNodeLevel(id:string,startLevel:number):number;
                /**
                 * 获取图片路径
                 * @return img
                 */
                getImg():string;
                /**
                 * 返回节点标识
                 *
                 * @return 节点标识
                 */
                getId():string;
                /**
                 * 设置图片路径 可传完整路径也可传相对路径
                 * @return img
                 */
                setImg(img:string):void;
                /**
                 * 节点是否可选
                 */
                isCheckable():boolean;
                /**
                 * 设置本节点是否叶子节点
                 *
                 * @param isLeaf 设置为true是叶子节点
                 */
                setLeaf(isLeaf:boolean):void;
                /**
                 * 获取或返回长编码
                 *
                 * @return 返回长编码
                 */
                getLongNumber():string;
                /**
                 * 获取节点图片
                 *
                 * @return 节点图片
                 */
                getIcon():string;
                /**
                 * 设置颜色
                 *
                 * @param color 颜色
                 */
                setColor(color:string):void;
                /**
                 * 获取标签的显示风格
                 *
                 * @return 0：鼠标移动到节点时显示  1：显示在节点右侧(名称后)
                 */
                getLabelShowType():number;
                /**
                 * 设置节点长名称
                 *
                 * @param value 长名称
                 */
                setLongText(value:string):void;
                /**
                 * 设置节点显示内容
                 *
                 * @param value 显示内容
                 */
                setText(value:string):void;
                /**
                 * 设置标签的显示风格
                 *
                 * @param labelShowType 0：鼠标移动到节点时显示  1：显示在节点右侧(名称后)
                 */
                setLabelShowType(labelShowType:number):void;
                /**
                 * 本节点是否禁用
                 *
                 * @return 返回true-禁用
                 */
                isDisabled():boolean;
                /**
                 * 获取子节点路径
                 *
                 * @param id 子节点标识
                 * @return 返回子节点所有的上级节点集合，逐层往下排列
                 */
                getChildPathNodes(id:string):$.java.util.List;
                /**
                 * 节点是否展开
                 *
                 * @return 返回true-展开
                 */
                isExpend():boolean;
                /**
                 * 设置节点是否展开
                 *
                 * @param isExpend 设置为true-展开
                 */
                setExpend(isExpend:boolean):void;
                /**
                 * 设置节点类型
                 *
                 * @param type 节点类型
                 */
                setType(type_arg:string):void;
                /**
                 * 设置树节点后缀小图标属性
                 * @param suffixIconProps
                 */
                setSuffixIconProps(suffixIconProps:SuffixIconProps):void;
                /**
                 * 递归查找text所在节点（模糊匹配）
                 *
                 * @param treeNodes 输出所有匹配的节点
                 * @param text 节点显示内容
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 *
                 * @return 返回所有模糊匹配的树节点集合
                 */
                getTreeNodeListByText(treeNodes:$.java.util.List,text:string,maxLevel:number):$.java.util.List;
                /**
                 * 递归查找text所在节点（模糊匹配）
                 *
                 * @param treeNodes 输出所有匹配的节点
                 * @param text 节点显示内容
                 * @param childrenLoader 子节点加载实现：在递归时，如果发现子节点未加载，会通知本对象加载子节点
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 *
                 * @return 返回所有模糊匹配的树节点集合
                 */
                getTreeNodeListByText(treeNodes:$.java.util.List,text:string,consumer2:(t:any)=>void,maxLevel:number):$.java.util.List;
                /**
                 * 设置子节点的一些属性。在这里设置，所有子节点都会生效
                 * @param childrenAttr
                 */
                setChildrenAttr(childrenAttr:$.java.util.Map):void;
                /**
                 * 递归查找id所在节点（准确匹配）
                 *
                 * @param id 节点标识
                 * @return 返回查到的节点
                 */
                getTreeNode(id:string):this;
                /**
                 * 设置附加数据
                 *
                 * @param data 附加数据
                 */
                setData(data:any):void;
                /**
                 * 特定位置添加单个子节点
                 *
                 * @param node 子节点
                 * @return 返回当前节点，方便链式操作
                 */
                addChild(i:number,node:TreeNode):this;
                /**
                 * 设置子节点集合
                 *
                 * @param arrayList 设置为null-无子节点；设置为空集合标识子节点还未加载
                 */
                setChildren(arrayList:$.java.util.List):void;
                /**
                 * 返回节点显示内容
                 *
                 * @return 显示内容
                 */
                getText():string;
                /**
                 * 设置父节点标识
                 *
                 * @param value 父节点标识
                 */
                setParentid(value:string):void;
                /**
                 * 设置节点是否可选
                 *
                 * @param checkable 设置为true可选
                 */
                setCheckable(checkable:boolean):void;
                /**
                 * 设置长编码：使用{@link #LNUMBERDLM}分割的多节编码
                 *
                 * @param longNumber 长编码
                 */
                setLongNumber(longNumber:string):void;
                /**
                 * 获取子节点的一些属性。在这里设置，所有子节点都会生效
                 *
                 * @return
                 */
                getChildrenAttr():$.java.util.Map;
                /**
                 * 设置节点是否默认展开
                 *
                 * @param isOpened 设为true-默认展开
                 */
                setIsOpened(isOpened:boolean):void;
                /**
                 * 返回节点长名称
                 *
                 * @return 长名称
                 */
                getLongText():string;
                /**
                 * 添加多个子节点
                 *
                 * @param nodes 子节点集合
                 * @return 返回当前节点，方便链式操作
                 */
                addChildren(nodes:$.java.util.List):this;
                /**
                 * 返回子节点集合
                 *
                 * @return 返回null表示无子节点；返回空集合表示子节点还未加载
                 */
                getChildren():$.java.util.List;
                /**
                 * 递归查找id所在节点（准确匹配）
                 *
                 * @param id 节点标识
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 * @return 返回查到的节点
                 */
                getTreeNode(id:string,maxLevel:number):this;
            }
            type TreeNode_T = $.java.io.Serializable & TreeNode$;
            interface TreeNode extends TreeNode_T {
            }
            interface TreeMenuNode_S {
            }
            type TreeMenuNode_ST = $.java.io.Serializable & TreeMenuNode_S;
            interface TreeMenuNode_C extends TreeMenuNode_ST {
                /**
                 * 构造函数
                 */
                new():TreeMenuNode;
                /**
                 * 构造叶子节点
                 *
                 * @param parentId 父节点标识
                 * @param id       本节点标识
                 * @param text     显示内容
                 */
                new(parentId:string,id:string,text:string):TreeMenuNode;
                /**
                 * 构造带图标的节点
                 *
                 * @param parentId       父节点标识
                 * @param id             本节点标识
                 * @param text           显示内容
                 * @param iconUrl        图标
                 * @param activedIconUrl 聚焦时的图标
                 */
                new(parentId:string,id:string,text:string,iconUrl:string,activedIconUrl:string):TreeMenuNode;
            }
            interface TreeMenuNode$ {
                /**
                 * 设置父节点标识
                 *
                 * @param value 父节点标识
                 */
                setParentid(value:string):void;
                /**
                 * 返回父节点标识
                 *
                 * @return 父节点标识
                 */
                getParentid():string;
                /**
                 * 设置本节点标识
                 *
                 * @param value 节点标识
                 */
                setId(value:string):void;
                /**
                 * 递归查找id所在节点（准确匹配）
                 *
                 * @param id       节点标识
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 * @return 返回查到的节点
                 */
                getTreeNode(id:string,maxLevel:number):this;
                /**
                 * 设置菜单类型，page为页面，link为打开链接
                 * @param menuType
                 */
                setMenuType(menuType:string):void;
                /**
                 * 返回子节点集合
                 *
                 * @return 子节点集合
                 */
                getChildren():$.java.util.List;
                /**
                 * 获取节点的层级，没有找到返回-1
                 *
                 * @param id         节点标识
                 * @param startLevel 开始层级
                 * @return 节点的层级
                 */
                getNodeLevel(id:string,startLevel:number):number;
                /**
                 * 设置节点聚焦后的图标
                 *
                 * @param activedIconUrl 图标
                 */
                setActivedIconUrl(activedIconUrl:string):void;
                /**
                 * 返回本节点标识
                 *
                 * @return 节点标识
                 */
                getId():string;
                /**
                 * 设置节点显示内容
                 *
                 * @param value 显示内容
                 */
                setText(value:string):void;
                /**
                 * 遍历所有节点
                 *
                 * @param maxLevel 最大遍历深度（子节点算第一层）
                 * @param callback 回调函数，可以传个lambda表达式
                 */
                iterate(maxLevel:number,consumer1:(t:any)=>void):void;
                /**
                 * 灰度菜单标识
                 * @return
                 */
                getGrayValid():string;
                /**
                 * 设置灰度菜单标识
                 * @param grayValid
                 */
                setGrayValid(grayValid:string):void;
                /**
                 * 获取菜单类型，page为页面，link为打开链接
                 * @return 菜单类型
                 */
                getMenuType():string;
                /**
                 * 返回图标
                 *
                 * @return 图标
                 */
                getIconUrl():string;
                /**
                 * 添加单个子节点
                 *
                 * @param node 子节点
                 * @return 返回当前节点，方便链式操作
                 */
                addChild(node:TreeMenuNode):this;
                /**
                 * 递归删除子节点
                 *
                 * @param id 子节点
                 * @return 删除节点的上一级节点
                 */
                deleteChildNode(id:string):this;
                /**
                 * 设置图标
                 *
                 * @param iconUrl 图标
                 */
                setIconUrl(iconUrl:string):void;
                /**
                 * 特定位置添加单个子节点
                 *
                 * @param node 子节点
                 * @return 返回当前节点，方便链式操作
                 */
                addChild(i:number,node:TreeMenuNode):this;
                /**
                 * 返回聚焦后的图标
                 *
                 * @return 图标
                 */
                getActivedIconUrl():string;
                /**
                 * 返回节点显示内容
                 *
                 * @return 显示内容
                 */
                getText():string;
                /**
                 * 获取子节点路径
                 *
                 * @param id 子节点标识
                 * @return 返回子节点的全部父级节点，按层级往下排列
                 */
                getChildPath(id:string):$.java.util.List;
                /**
                 * 设置子节点集合
                 *
                 * @param arrayList 子节点集合
                 */
                setChildren(arrayList:$.java.util.List):void;
                /**
                 * 添加多个子节点
                 *
                 * @param nodes 子节点集合
                 * @return 返回当前节点，方便链式操作
                 */
                addChildren(nodes:$.java.util.List):this;
            }
            type TreeMenuNode_T = $.java.io.Serializable & TreeMenuNode$;
            interface TreeMenuNode extends TreeMenuNode_T {
            }
            interface TreeNodeLabel_S {
            }
            interface TreeNodeLabel_C extends TreeNodeLabel_S {
                /**
                 * 构造函数
                 */
                new():TreeNodeLabel;
                /**
                 * 构造函数，传入标签、颜色
                 *
                 * @param label 标签
                 * @param color 颜色
                 */
                new(label:string,color:string):TreeNodeLabel;
            }
            interface TreeNodeLabel$ {
            }
            type TreeNodeLabel_T = TreeNodeLabel$;
            interface TreeNodeLabel extends TreeNodeLabel_T {
            }
            interface TreeNodePartialVariables_S {
            }
            type TreeNodePartialVariables_ST = $.java.io.Serializable & TreeNodePartialVariables_S;
            interface TreeNodePartialVariables_C extends TreeNodePartialVariables_ST {
                /**
                 * 构造函数
                 */
                new():TreeNodePartialVariables;
                /**
                 * 构造节点
                 *
                 * @param id   本节点标识
                 * @param text 节点显示内容
                 */
                new(id:string,text:string):TreeNodePartialVariables;
                /**
                 * 构造节点
                 *
                 * @param parentId 父节点标识
                 * @param id       本节点标识
                 * @param text     节点显示内容
                 */
                new(parentId:string,id:string,text:string):TreeNodePartialVariables;
                /**
                 * 构造带数据的节点
                 *
                 * @param parentId  父节点标识
                 * @param id        本节点标识
                 * @param text      节点显示内容
                 * @param disabled  是否锁定
                 * @param isOpened  展开折叠状态
                 * @param icon      图标信息
                 * @param labelPara 标签信息
                 */
                new(parentId:string,id:string,text:string,disabled:boolean,isOpened:boolean,icon:string,labelPara:$.java.util.List):TreeNodePartialVariables;
            }
            interface TreeNodePartialVariables$ {
                /**
                 * 设置节点图片
                 *
                 * @param icon 节点图片
                 */
                setIcon(icon:string):void;
                /**
                 * 返回节点是否默认展开
                 *
                 * @return 返回true-默认展开
                 */
                getIsOpened():boolean;
                /**
                 * 设置节点是否禁用
                 *
                 * @param disabled 设置为true-禁用
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 返回父节点标识
                 *
                 * @return 父节点标识
                 */
                getParentid():string;
                /**
                 * 本节点是否禁用
                 *
                 * @return 返回true-禁用
                 */
                isDisabled():boolean;
                /**
                 * 返回节点显示内容
                 *
                 * @return 显示内容
                 */
                getText():string;
                /**
                 * 设置父节点标识，仅用于当存在相同ID时，可根据parentid找到对应节点进行更新其他属性，不支持更新当前的父节点ID
                 *
                 * @param value 父节点标识
                 */
                setParentid(value:string):void;
                /**
                 * 获取节点的标签参数包
                 *
                 * @return 返回客户端树形控件使用的参数包
                 */
                getLabelPara():$.java.util.List;
                /**
                 * 设置节点的标签，自动转为客户端控件使用的参数包
                 *
                 * @param labelPara 标签
                 */
                setLabelPara(labelPara:$.java.util.List):void;
                /**
                 * 获取树节点后缀小图标属性
                 *
                 * @return
                 */
                getSuffixIconProps():SuffixIconProps;
                /**
                 * 设置节点是否默认展开
                 *
                 * @param isOpened 设为true-默认展开
                 */
                setIsOpened(isOpened:boolean):void;
                /**
                 * 获取节点图片
                 *
                 * @return 节点图片
                 */
                getIcon():string;
                /**
                 * 设置节点的标签，自动转为客户端控件使用的参数包
                 *
                 * @param labelPara 标签
                 */
                addLabelPara(labelPara:$.java.util.List):void;
                /**
                 * 设置树节点后缀小图标属性
                 * @param suffixIconProps
                 */
                setSuffixIconProps(suffixIconProps:SuffixIconProps):void;
                /**
                 * 设置节点显示内容
                 *
                 * @param value 显示内容
                 */
                setText(value:string):void;
                /**
                 * 设置节点标识，用于指定更新哪个节点信息，不支持更新节点的id值
                 *
                 * @param value 节点标识
                 */
                setId(value:string):void;
                /**
                 * 返回节点标识
                 *
                 * @return 节点标识
                 */
                getId():string;
            }
            type TreeNodePartialVariables_T = $.java.io.Serializable & TreeNodePartialVariables$;
            interface TreeNodePartialVariables extends TreeNodePartialVariables_T {
            }
        }
        namespace kd.bos.entity.userconfig{
            interface UserConfig_S {
            }
            type UserConfig_ST = $.java.io.Serializable & UserConfig_S;
            interface UserConfig_C extends UserConfig_ST {
                new():UserConfig;
            }
            interface UserConfig$ {
                /**
                 * 设置主键
                 *
                 * @param id 主键
                 */
                setId(id:string):void;
                /**
                 * 获取用户配置检索字段
                 *
                 * @return 用户配置检索字段
                 */
                getKey():string;
                /**
                 * 设置用户配置检索字段
                 *
                 * @param key 用户配置检索字段
                 */
                setKey(key:string):void;
                /**
                 *  获取ORM状态管理
                 *
                 * @return 状态管理
                 */
                getDataEntityState():$.kd.bos.dataentity.entity.DataEntityState;
                /**
                 * 获取用户标识
                 *
                 * @return 用户标识
                 */
                getUserId():long;
                /**
                 * 设置用户标识
                 *
                 * @param userId 用户标识
                 */
                setUserId(userId:long):void;
                /**
                 * 获取主键
                 *
                 * @return 主键
                 */
                getId():string;
                /**
                 * 获取用户配置
                 *
                 * @return 用户配置
                 */
                getSetting():string;
                /**
                 * 设置用户配置
                 *
                 * @param setting 用户配置
                 */
                setSetting(setting:string):void;
                /**
                 * 设置ORM状态管理
                 *
                 * @param dataEntityState 状态管理
                 */
                setDataEntityState(dataEntityState:$.kd.bos.dataentity.entity.DataEntityState):void;
            }
            type UserConfig_T = $.java.io.Serializable & UserConfig$;
            interface UserConfig extends UserConfig_T {
            }
        }
        namespace kd.bos.entity.validate{
            interface FieldPos_S {
                copy(src:FieldPos):FieldPos;
            }
            type FieldPos_ST = $.java.io.Serializable & FieldPos_S;
            interface FieldPos_C extends FieldPos_ST {
                new():FieldPos;
                new(promptFieldKey:string,tip:string,type_arg:string):FieldPos;
                new(promptFieldKey:string,tip:string,type_arg:string,group:string):FieldPos;
                new(parentEntryKey:string,parentEntryRow:number,promptFieldKey:string,tip:string,type_arg:string):FieldPos;
                new(parentEntryKey:string,parentEntryRow:number,promptFieldKey:string,tip:string,type_arg:string,group:string):FieldPos;
                new(parentEntryKey:string,subEntryKey:string,parentEntryRow:number,subEntryRow:number,promptFieldKey:string,tip:string,type_arg:string):FieldPos;
                new(parentEntryKey:string,subEntryKey:string,parentEntryRow:number,subEntryRow:number,promptFieldKey:string,tip:string,type_arg:string,group:string):FieldPos;
            }
            interface FieldPos$ {
                /**
                 * 子分录行号
                 * @return 子分录行号
                 */
                getSr():number;
                /**
                 * 子分录行号
                 * @param sr 子分录行号
                 */
                setSr(sr:number):void;
                /**
                 * 字段标识
                 * @return 字段标识
                 */
                getF():string;
                /**
                 * 提示语
                 * @return 提示语
                 */
                getTip():string;
                setFullMsg(fullMsg:string):void;
                /**
                 * 是否是单头字段
                 * @param h 是否是单头字段
                 */
                setH(h:boolean):void;
                /**
                 * 分录标识
                 * @param ek 分录标识
                 */
                setEk(ek:string):void;
                /**
                 * 字段标识
                 * @param f 字段标识
                 */
                setF(f:string):void;
                /**
                 * 分录行号
                 * @return 分录行号
                 */
                getR():number;
                /**
                 * 类型，校验类型
                 * @param t 类型，校验类型
                 */
                setT(t:string):void;
                /**
                 * 是否是单头字段
                 * @return 是否是单头字段
                 */
                isH():boolean;
                /**
                 * 子分录标识
                 * @return 子分录标识
                 */
                getSek():string;
                /**
                 * 全量校验信息  ， 操作结果弹窗简要信息页使用，   tip用于表单页面字段下标红色提示
                 * 未设置时显示tip
                 * @return
                 */
                getFullMsg():string;
                getGroup():string;
                /**
                 * 字段所属分录标识
                 */
                getEk():string;
                /**
                 * 类型，校验类型
                 * @return 类型，校验类型
                 */
                getT():string;
                buildActionData():$.java.util.Map;
                /**
                 * 分录行号
                 * @param r 分录行号
                 */
                setR(r:number):void;
                /**
                 * 子分录标识
                 * @param sek 子分录标识
                 */
                setSek(sek:string):void;
                /**
                 * 分组
                 * @param grp
                 */
                setGroup(grp:string):void;
                /**
                 * 提示语
                 * @param tip 提示
                 */
                setTip(tip:string):void;
            }
            type FieldPos_T = $.java.io.Serializable & FieldPos$;
            interface FieldPos extends FieldPos_T {
            }
            class ValidataErrorCode {
                static readonly AttTimeout:kd.bos.entity.validate.ValidataErrorCode;
                static valueOf(arg0:string):kd.bos.entity.validate.ValidataErrorCode;
                static values():kd.bos.entity.validate.ValidataErrorCode[];
                setCode(code:string):void;
                getCode():string;
            }
            interface AbstractValidator_S {
            }
            interface AbstractValidator_C extends AbstractValidator_S {
                /**
                 * 构造函数
                 */
                new():AbstractValidator;
            }
            interface AbstractValidator$ {
                /**
                 * 设置操作拉平的数据集
                 * @param dataEntities 操作拉平的数据集
                 */
                setDataEntities(dataEntities:ExtendedDataEntity[]):void;
                /**
                 * 获取本次校验上下文信息
                 *
                 * @return 校验上下文
                 */
                getValidateContext():ValidateContext;
                /**
                 * 在校验前，校验系统调用此方法，以便初始化校验器的配置信息
                 */
                initializeConfiguration():void;
                /**
                 * 编译后的前置条件
                 *
                 * @return 前置条件表达式
                 */
                getPreConditionExpr():kd.bos.entity.formula.BOSExpression;
                /**
                 * 提示消息前是否加上billNo
                 *
                 * @return boolean
                 */
                isAddBillNoForContent():boolean;
                /**
                 * 获取本校验器，需要校验的实体：由本校验器对外输出
                 *
                 * @return String
                 */
                getEntityKey():string;
                /**
                 * 获取本校验器输出的错误级别
                 *
                 * @return
                 */
                getErrorLevl():ErrorLevel;
                /**
                 * 获取操作类型
                 *
                 * @return 操作类型
                 */
                getOperateType():string;
                /**
                 * 获取校验不通过的数据集
                 * @return 校验不通过的数据集
                 */
                getFalseDataEntities():$.java.util.List;
                /**
                 * 设置执行顺序
                 *
                 * @param seq 顺序
                 */
                setSeq(seq:number):void;
                /**
                 * 设置操作上下文
                 *
                 * @param validateContext 校验上下文
                 */
                setValidateContext(validateContext:ValidateContext):void;
                /**
                 * 设置操作类型
                 *
                 * @param operateType 操作类型
                 */
                setOperateType(operateType:string):void;
                /**
                 * 获取校验结果
                 * @return 校验结果
                 */
                getValidateResult():ValidateResult;
                /**
                 * 获取操作标识
                 * @return 操作标识
                 */
                getOperateKey():string;
                /**
                 * 设置提示消息前是否加上billNo
                 *
                 * @param addBillNoForContent 添加单据编码
                 */
                setAddBillNoForContent(addBillNoForContent:boolean):void;
                /**
                 * 获取执行顺序
                 *
                 * @return 顺序
                 */
                getSeq():number;
                /**
                 * 获取操作名称
                 *
                 * @return String
                 */
                getOperationName():string;
                /**
                 * 获取操作自定义参数对象
                 *
                 * @return 操作选项
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 设置操作名称
                 *
                 * @param operationName 操作名
                 */
                setOperationName(operationName:string):void;
                /**
                 * 设置本校验器输出的错误级别
                 *
                 * @param errorLevel 错误
                 */
                setErrorLevel(errorLevel:ErrorLevel):void;
                /**
                 * 设置执行优先级
                 *
                 * @param validatePriority 优先级
                 */
                setValidatePriority(validatePriority:ValidatePriority):void;
                /**
                 * 获取校验器的前置条件
                 *
                 * @return 前置条件
                 */
                getPreCondition():string;
                /**
                 * 设置校验器原始配置
                 *
                 * @param validation 校验
                 */
                setValidation(validation:$.java.util.Map):void;
                /**
                 * 获取校验器原始配置
                 *
                 * @return 校验元数据上配置的信息
                 */
                getValidation():$.java.util.Map;
                /**
                 * 设置待校验的全部单据
                 *
                 * @param extendedDataEntitySet
                 */
                setExtendedDataEntitySet(extendedDataEntitySet:ExtendedDataEntitySet):void;
                /**
                 * 输出校验器需要用到的字段
                 * @return Set
                 */
                preparePropertys():$.java.util.Set;
                /**
                 * 获取操作拉平的数据集
                 * @return 操作拉平的数据集
                 */
                getDataEntities():ExtendedDataEntity[];
                /**
                 * 在校验前，校验系统调用此方法，以便初始化校验器的配置信息
                 */
                initialize():void;
                /**
                 * 校验逻辑，由具体的校验器子类自己去实现，例如必录校验，唯一性校验
                 */
                validate():void;
                /**
                 * 校验器实例id （随机生成，在当前操作中区分不同实例）
                 * @return
                 */
                getValidatorId():string;
                /**
                 * 获取执行优先级
                 *
                 * @return 获取优先级
                 */
                getValidatePriority():ValidatePriority;
                /**
                 * 获取待校验的全部单据
                 *
                 * @return
                 */
                getExtendedDataEntitySet():ExtendedDataEntitySet;
                /**
                 * 设置操作标识
                 * @param operateKey 操作标识
                 */
                setOperateKey(operateKey:string):void;
                /**
                 * 设置本校验器，需要校验的实体：由本校验器对外输出
                 *
                 * @param entityKey 实体标识
                 */
                setEntityKey(entityKey:string):void;
                /**
                 * 是否支持单据体分页加载模式
                 *
                 * @return 如果已对单据体分页加载进行了针对性的处理，重写此方法，返回true；
                 * 如果返回false，则操作引擎在遇到大单分页时，自动略过本校验器
                 * @remark 大单处理时，单据体会分页加载，当前数据包中只有一页数据，
                 * 校验器如果要对全部单据体行进行处理，必须考虑到有些行还没有加载出来，并针对性处理
                 */
                isSupportSplitPageMode():boolean;
            }
            type AbstractValidator_T = AbstractValidator$;
            interface AbstractValidator extends AbstractValidator_T {
            }
            interface ValidateResult_S {
            }
            type ValidateResult_ST = $.java.io.Serializable & ValidateResult_S & kd.bos.entity.operate.AbstractOperationResult_S;
            interface ValidateResult_C extends ValidateResult_ST {
                new():ValidateResult;
            }
            interface ValidateResult$ {
                /**
                 * 设置校验器标识
                 * @param validatorKey 校验器标识
                 */
                setValidatorKey(validatorKey:string):void;
                /**
                 * 设置自定操作结果反馈信息， 在操作结果中返回 kd.bos.entity.operate.result.OperationResult#getCustomData()
                 * @param feedbackCusOpData
                 */
                setFeedbackCusOpData(feedbackCusOpData:$.java.util.Map):void;
                /**
                 * 获取校验器标识
                 * @return 校验器标识
                 */
                getValidatorKey():string;
                /**
                 * 自定操作结果反馈信息， 在操作结果中返回 kd.bos.entity.operate.result.OperationResult#getCustomData()
                 * @return
                 */
                getFeedbackCusOpData():$.java.util.Map;
            }
            type ValidateResult_T = $.java.io.Serializable & ValidateResult$ & kd.bos.entity.operate.AbstractOperationResult;
            interface ValidateResult extends ValidateResult_T {
            }
            interface IScopeCheck_S {
            }
            interface IScopeCheck_C extends IScopeCheck_S {
            }
            interface IScopeCheck$ {
                /**
                 * 超出数据范围时，给出的错误提示，以指导用户修正字段值
                 * @return
                 */
                getDataScopeMessage(fldValue:any):string;
                /**
                 * 超出数据范围时，给出的错误提示，以指导用户修正字段值
                 * @param fldValue   字段值
                 * @param withFieldTitle 拼接字段名标题
                 * @return
                 */
                getDataScopeMessage(fldValue:any,withFieldTitle:boolean):string;
                /**
                 * 检查字段值是否在限定范围内；
                 *
                 * @param fldValue 当前字段值
                 *
                 * @return 返回true，即符合限定范围
                 */
                checkScope(fldValue:any):boolean;
            }
            type IScopeCheck_T = IScopeCheck$;
            interface IScopeCheck extends IScopeCheck_T {
            }
            class BillStatus {
                static readonly A:kd.bos.entity.validate.BillStatus;
                static readonly B:kd.bos.entity.validate.BillStatus;
                static readonly C:kd.bos.entity.validate.BillStatus;
                static readonly Z:kd.bos.entity.validate.BillStatus;
                static readonly D:kd.bos.entity.validate.BillStatus;
                static values():kd.bos.entity.validate.BillStatus[];
                static valueOf(arg0:string):kd.bos.entity.validate.BillStatus;
                /**
                 * 获取单据状态当前语种下的显示值
                 *
                 * @return 当前语种显示值
                 */
                getValue():string;
            }
            interface ValidateContext_S {
                /**
                 * 将语言码转化为对应的名称
                 *
                 * @param langBillParams 单据参数设置多语言字段必录的语种编码
                 * @return
                 */
                switchLang(langBillParams:$.java.util.List):string;
            }
            interface ValidateContext_C extends ValidateContext_S {
                /**
                 * 构造方法
                 * @param validationMeta        校验元数据相关信息
                 * @param entityNumber          实体编码
                 * @param extendedDataEntitySet 拉平的数据信息，供自定义校验器使用
                 * @param operateKey            操作标识
                 */
                new(validationMeta:$.java.util.List,entityNumber:string,operateKey:string,extendedDataEntitySet:ExtendedDataEntitySet):ValidateContext;
            }
            interface ValidateContext$ {
                /**
                 * 获取操作校验支持的自定义函数运行实例管理器
                 *
                 * @return
                 */
                getFuncLib():kd.bos.entity.function_.FunctionManage;
                /**
                 * 设置操作类型：save, submit, audit等
                 *
                 * @param operateType
                 */
                setOperateType(operateType:string):void;
                /**
                 * 获取校验前缀
                 *
                 * @return String
                 */
                getValidatePrefix():string;
                /**
                 * 操作名称：主要用于提示信息，嵌入操作名称
                 *
                 * @return String
                 */
                getOperateName():string;
                /**
                 * 设置单据主实体编码
                 *
                 * @param entityNumber 实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置操作进度控制接口
                 *
                 * @param operateProgress
                 */
                setOperateProgress(operateProgress:kd.bos.entity.operate.OperateProgress):void;
                /**
                 * 获取单据主实体，只包括本次操作用到的字段，与单据数据包一致
                 *
                 * @return
                 */
                getSubEntityType():MainEntityType;
                /**
                 * 设置全部校验器的校验结果
                 *
                 * @param validateResults
                 */
                setValidateResults(validateResults:ValidateResultCollection):void;
                /**
                 * 待校验的单据数据
                 *
                 * @return ExtendedDataEntitySet
                 */
                getExtendedDataEntitySet():ExtendedDataEntitySet;
                /**
                 * 是否校验必录
                 * @return
                 */
                isCheckMustInput():boolean;
                /**
                 * 设置单据主实体，只包括本次操作用到的字段，与单据数据包一致
                 *
                 * @param subEntityType
                 */
                setSubEntityType(subEntityType:MainEntityType):void;
                /**
                 * 验权维度 组织、体系
                 *
                 * @return
                 */
                getDimType():string;
                /**
                 * 验权开关
                 *
                 * @return boolean
                 */
                isControlFunction():boolean;
                /**
                 * 本操作，配置的校验器元数据，包含了各个校验规则
                 *
                 * @return List
                 */
                getValidationMeta():$.java.util.List;
                /**
                 * 设置校验前缀
                 *
                 * @param validatePrefix 校验前缀
                 */
                setValidatePrefix(validatePrefix:string):void;
                /**
                 * 设置操作校验支持的自定义函数运行实例管理器
                 *
                 * @param funcLib
                 */
                setFuncLib(funcLib:kd.bos.entity.function_.FunctionManage):void;
                /**
                 * 设置必录语种
                 * @param mustInputLang 必录语种
                 */
                setMustInputLang(mustInputLang:$.java.util.List):void;
                /**
                 * 设置操作元数据
                 * @param operateMetaMap 操作元数据
                 */
                setOperateMetaMap(operateMetaMap:$.java.util.Map):void;
                /**
                 * 设置是否校验必录
                 * @param checkMustInput
                 */
                setCheckMustInput(checkMustInput:boolean):void;
                /**
                 * 验权辅字段
                 *
                 * @return String
                 */
                getDimAssistFldKey():string;
                /**
                 * 获取操作元数据
                 *
                 * @return Map
                 */
                getOperateMetaMap():$.java.util.Map;
                /**
                 * 验权主字段
                 *
                 * @return String
                 */
                getDimFldKey():string;
                /**
                 * 获取单据主实体，包括了完整的字段；可能比单据数据包中的属性多
                 *
                 * @return MainEntityType 主实体
                 */
                getBillEntityType():MainEntityType;
                /**
                 * 获取全部校验器的校验结果
                 *
                 * @return
                 */
                getValidateResults():ValidateResultCollection;
                /**
                 * 设置操作自定义对象
                 *
                 * @param option
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 设置单据主实体 全量
                 *
                 * @param billEntityType
                 */
                setBillEntityType(billEntityType:MainEntityType):void;
                /**
                 * 获取操作编码：默认使用操作类型名(如audit)，但用户可以修改为wfaudit等
                 *
                 * @return String
                 */
                getOperateKey():string;
                /**
                 * 获取操作进度控制接口
                 *
                 * @return
                 */
                getOperateProgress():kd.bos.entity.operate.OperateProgress;
                /**
                 * 获取单据主实体编码
                 *
                 * @return String
                 */
                getEntityNumber():string;
                /**
                 * 获取必录语种
                 * @return 必录语种集合
                 */
                getMustInputLang():$.java.util.List;
                /**
                 * 获取操作自定义参数对象
                 *
                 * @return
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 设置 操作名称
                 * @param operateName 操作名称
                 */
                setOperateName(operateName:string):void;
                /**
                 * 获取操作类型：save, submit, audit等
                 *
                 * @return
                 */
                getOperateType():string;
                /**
                 * 获取传入数据的数量
                 * @return
                 */
                getDataEntityLength():number;
                /**
                 * 设置传入数据的数量
                 * @param dataEntityLength
                 */
                setDataEntityLength(dataEntityLength:number):void;
            }
            type ValidateContext_T = ValidateContext$;
            interface ValidateContext extends ValidateContext_T {
            }
            interface SingleFieldValidator_S {
                readonly CHECKPOINT_ALL:number;
                readonly CHECKPOINT_LIST:number;
                readonly CHECKPOINT_EDIT:number;
            }
            type SingleFieldValidator_ST = AbstractValidator_S & SingleFieldValidator_S;
            interface SingleFieldValidator_C extends SingleFieldValidator_ST {
                new():SingleFieldValidator;
            }
            interface SingleFieldValidator$ {
                setFieldKey(fieldKey:string):void;
                setvProperty(vProperty:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):void;
                setCheckPoint(checkPoint:number):void;
                /**
                 * 需检查的场景（按位排列需要检查的场景），默认为-1，即所有场景都需要检查
                 *
                 * @return
                 */
                getCheckPoint():number;
                getFieldKey():string;
                setFieldName(fieldName:string):void;
                getValueComparetor():IValueComparator;
                getvProperty():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                setValueComparetor(valueComparetor:IValueComparator):void;
                getFieldName():string;
            }
            type SingleFieldValidator_T = AbstractValidator & SingleFieldValidator$;
            interface SingleFieldValidator extends SingleFieldValidator_T {
            }
            interface RequiredValidator_S {
            }
            type RequiredValidator_ST = RequiredValidator_S & SingleFieldValidator_S;
            interface RequiredValidator_C extends RequiredValidator_ST {
                /**
                 * 构造函数
                 */
                new():RequiredValidator;
                /**
                 * 构造函数
                 *
                 * @param vProperty       要校验的字段属性
                 * @param fieldKey        字段标识
                 * @param fieldName       名称
                 * @param valueComparator 数据比较器
                 */
                new(vProperty:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty,fieldKey:string,fieldName:string,valueComparator:IValueComparator):RequiredValidator;
            }
            interface RequiredValidator$ {
            }
            type RequiredValidator_T = RequiredValidator$ & SingleFieldValidator;
            interface RequiredValidator extends RequiredValidator_T {
            }
            class ValidatePriority {
                static readonly Normal:kd.bos.entity.validate.ValidatePriority;
                static readonly Last:kd.bos.entity.validate.ValidatePriority;
                static readonly First:kd.bos.entity.validate.ValidatePriority;
                /**
                 * 根据顺序等级或者对象
                 * @param level
                 * @return
                 */
                static valueOf(level:number):kd.bos.entity.validate.ValidatePriority;
                static values():kd.bos.entity.validate.ValidatePriority[];
                static valueOf(arg0:string):kd.bos.entity.validate.ValidatePriority;
                /**
                 * 执行顺序等级
                 * @return
                 */
                getValue():number;
            }
            interface ValidateResultCollection_S {
            }
            type ValidateResultCollection_ST = $.java.io.Serializable & ValidateResultCollection_S;
            interface ValidateResultCollection_C extends ValidateResultCollection_ST {
                new():ValidateResultCollection;
            }
            interface ValidateResultCollection$ {
                /**
                 * 设置操作校验失败的主键值集合
                 * @param errorPkIds
                 */
                setErrorPkIds(errorPkIds:$.java.util.HashSet):void;
                /**
                 * 获取校验错误的结果集
                 * @return
                 */
                getValidateErrors():$.java.util.List;
                /**
                 * 输出校验器有没有发现警告级别以上的错误： 只有没有任何警告及以上级别的错误，才返回true
                 *
                 * @return the success
                 */
                isSuccess():boolean;
                /**
                 * 设置操作校验失败的数据包索引：需要基于数据包索引，确认失败的数据包
                 * @param errorDataIndex
                 */
                setErrorDataIndexs(errorDataIndex:$.java.util.HashSet):void;
                /**
                 * 设置校验信息
                 * @param message
                 */
                setMessage(message:string):void;
                /**
                 * 校验失败的单据张数
                 * @return
                 */
                errorSize():number;
                /**
                 * 获取单个校验器校验失败的结果集
                 * @param validatorKey
                 * @return
                 */
                getValidateErrors(validatorKey:string):$.java.util.List;
                /**
                 * 获取校验信息
                 * @return
                 */
                getMessage():string;
                /**
                 * 获取操作校验失败的数据包索引：需要基于数据包索引，确认失败的数据包
                 * @remark
                 */
                getErrorDataIndexs():$.java.util.HashSet;
                /**
                 * 为指定校验器添加校验结果
                 * @param validatorKey
                 * @param result
                 */
                addValidateError(validatorKey:string,result:ValidateResult):void;
                /**
                 * 校验失败的单据张数
                 *
                 * @param reset 重新分析校验结果，提取失败的单据内码、序号
                 * @return
                 */
                errorSize(reset:boolean):number;
            }
            type ValidateResultCollection_T = $.java.io.Serializable & ValidateResultCollection$;
            interface ValidateResultCollection extends ValidateResultCollection_T {
            }
            interface GroupFieldsUniqueValidateResult_S {
            }
            type GroupFieldsUniqueValidateResult_ST = $.java.io.Serializable & GroupFieldsUniqueValidateResult_S & ValidateResult_S;
            interface GroupFieldsUniqueValidateResult_C extends GroupFieldsUniqueValidateResult_ST {
                new():GroupFieldsUniqueValidateResult;
            }
            interface GroupFieldsUniqueValidateResult$ {
                /**
                 * 设置原始属性名
                 * @param fieldKeys
                 */
                setFieldKeys(fieldKeys:$.java.util.List):void;
                /**
                 * 是否展示唯一校验结果
                 * @return
                 */
                isShowUniqueResult():boolean;
                /**
                 * 设置属性标题
                 * @param fieldCaptions 属性标题
                 */
                setFieldCaptions(fieldCaptions:$.java.util.List):void;
                /**
                 * 属性标题
                 * @return
                 */
                getFieldCaptions():$.java.util.List;
                /**
                 * 原始属性名
                 * @return
                 */
                getFieldKeys():$.java.util.List;
                /**
                 * 设置是否展示唯一校验结果
                 * @param showUniqueResult
                 */
                setShowUniqueResult(showUniqueResult:boolean):void;
            }
            type GroupFieldsUniqueValidateResult_T = $.java.io.Serializable & GroupFieldsUniqueValidateResult$ & ValidateResult;
            interface GroupFieldsUniqueValidateResult extends GroupFieldsUniqueValidateResult_T {
            }
            interface ValidationErrorInfo_S {
            }
            type ValidationErrorInfo_ST = $.java.io.Serializable & ValidationErrorInfo_S & kd.bos.entity.operate.result.OperateErrorInfo_S;
            interface ValidationErrorInfo_C extends ValidationErrorInfo_ST {
                /**
                 * 空构造函数，用于反序列化调用
                 */
                new():ValidationErrorInfo;
                /**
                 * 初始化 ValidationErrorInfo 实例
                 * @param displayToFieldKey
                 * @param dataEntity
                 * @param errCode
                 * @param title
                 * @param message
                 * @param level
                 */
                new(displayToFieldKey:string,dataEntity:ExtendedDataEntity,errCode:string,title:string,message:string,level:ErrorLevel):ValidationErrorInfo;
                /**
                 * 初始化 ValidationErrorInfo 实例
                 * @param displayToFieldKey		此错误信息将显示到哪个属性上。此属性并不是总是和实际的结果一致，例如某个校验器校验出多个错误，而这些错误可能分布在不同的字段上，而不是一个字段上
                 * @param pkId			        pkid
                 * @param dataEntityIndex		帮助定位此错误信息的位置，此参数描述了批量校验时发生错误的实体索引
                 * @param rowIndex				帮助定位此错误信息的位置，此参数描述了如果错误存在与明细，他在第几行
                 * @param errCode					此错误的类型编号
                 * @param message				此错误的文本信息
                 * @param title                 标题
                 * @param level					此条目的错误级别
                 */
                new(displayToFieldKey:string,pkId:any,dataEntityIndex:number,rowIndex:number,errCode:string,title:string,message:string,level:ErrorLevel):ValidationErrorInfo;
                /**
                 * 初始化 ValidationErrorInfo 实例
                 * @param displayToFieldKey 此错误信息将显示到哪个属性上。此属性并不是总是和实际的结果一致，例如某个校验器校验出多个错误，而这些错误可能分布在不同的字段上，而不是一个字段上
                 * @param pkId 主键id
                 * @param dataEntityIndex 帮助定位此错误信息的位置，此参数描述了批量校验时发生错误的实体索引
                 * @param rowIndex 帮助定位此错误信息的位置，此参数描述了如果错误存在与明细，他在第几行
                 * @param errCode 此错误的类型编号
                 * @param title 标题
                 * @param message 此错误的文本信息
                 * @param level 此条目的错误级别
                 * @param pattern 提示语格式
                 */
                new(displayToFieldKey:string,pkId:any,dataEntityIndex:number,rowIndex:number,errCode:string,title:string,message:string,level:ErrorLevel,pattern:string):ValidationErrorInfo;
            }
            interface ValidationErrorInfo$ {
                /**
                 * 获取显示字段标题
                 *
                 * @param entityType
                 * @param sFieldDelimChar =','
                 * @return
                 */
                getDisplayFieldsCaption(entityType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,sFieldDelimChar:string):string;
                /**
                 * 返回此错误信息将显示到哪个字段上。
                 * 多数情况下，错误的字段并不显示到界面上，这样造成设置了错误，但是不能很好的定位到控件上的问题。为解决这一问题，我们提供了此属性。
                 */
                getDisplayToFieldKey():string;
            }
            type ValidationErrorInfo_T = $.java.io.Serializable & ValidationErrorInfo$ & kd.bos.entity.operate.result.OperateErrorInfo;
            interface ValidationErrorInfo extends ValidationErrorInfo_T {
            }
            class ErrorLevel {
                static readonly Error:kd.bos.entity.validate.ErrorLevel;
                static readonly Warning:kd.bos.entity.validate.ErrorLevel;
                static readonly FatalError:kd.bos.entity.validate.ErrorLevel;
                static readonly Info:kd.bos.entity.validate.ErrorLevel;
                static valueOf(arg0:string):kd.bos.entity.validate.ErrorLevel;
                static values():kd.bos.entity.validate.ErrorLevel[];
                /**
                 * 根据错误值取错误级别对象
                 * @param level
                 * @return
                 */
                static valueOf(level:number):kd.bos.entity.validate.ErrorLevel;
                /**
                 * 获取错误值
                 * @return
                 */
                getValue():number;
            }
            interface IValueComparator_S {
            }
            interface IValueComparator_C extends IValueComparator_S {
            }
            interface IValueComparator$ {
                compareValue(o:any):boolean;
            }
            type IValueComparator_T = IValueComparator$;
            interface IValueComparator extends IValueComparator_T {
            }
            interface IValidatorHanlder_S {
            }
            interface IValidatorHanlder_C extends IValidatorHanlder_S {
            }
            interface IValidatorHanlder$ {
                /**
                 * 获取值比较器
                 * @return
                 */
                getValueComparator():IValueComparator;
                /**
                 * 获取比较属性
                 * @return
                 */
                getCompareProp():$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 获取运行时操作校验器
                 * @return
                 */
                getValidators():$.java.util.List;
            }
            type IValidatorHanlder_T = IValidatorHanlder$;
            interface IValidatorHanlder extends IValidatorHanlder_T {
            }
        }
        namespace kd.bos.event{
            interface AfterQueryEvent_S {
            }
            interface AfterQueryEvent_C extends AfterQueryEvent_S {
                /**
                 * 构造函数
                 *
                 * @param reportQueryParam 报表查询条件
                 * @param dataSet          报表查询插件返回的数据
                 */
                new(reportQueryParam:$.kd.bos.entity.report.ReportQueryParam,dataSet:$.kd.bos.algo.DataSet):AfterQueryEvent;
            }
            interface AfterQueryEvent$ {
                /**
                 * 设置报表插件返回的数据
                 * @param dataSet
                 */
                setDataSet(dataSet:$.kd.bos.algo.DataSet):void;
                /**
                 * 获取报表插件返回的数据
                 * @return
                 */
                getDataSet():$.kd.bos.algo.DataSet;
                /**
                 * 获取报表查询参数
                 * @return
                 */
                getReportQueryParam():$.kd.bos.entity.report.ReportQueryParam;
                /**
                 * 设置报表查询参数
                 * @param reportQueryParam
                 */
                setReportQueryParam(reportQueryParam:$.kd.bos.entity.report.ReportQueryParam):void;
            }
            type AfterQueryEvent_T = AfterQueryEvent$;
            interface AfterQueryEvent extends AfterQueryEvent_T {
            }
            interface EventArgs_S {
            }
            interface EventArgs_C extends EventArgs_S {
                new():EventArgs;
            }
            interface EventArgs$ {
            }
            type EventArgs_T = EventArgs$;
            interface EventArgs extends EventArgs_T {
            }
        }
        namespace kd.bos.exception{
            interface KDException_S {
            }
            type KDException_ST = $.java.lang.RuntimeException & KDException_S;
            interface KDException_C extends KDException_ST {
                /**
                 * @param errorCode
                 *            错误码
                 * @param args
                 *            错误码对应的表达式参数
                 */
                new(errorCode:ErrorCode,args:any[]):KDException;
                /**
                 * @param cause 异常类
                 * @param errorCode 异常码
                 * @param args 错误码对应的表达式参数
                 */
                new(cause:$.java.lang.Throwable,errorCode:ErrorCode,args:any[]):KDException;
            }
            interface KDException$ {
                /**
                 * @return 堆栈异常信息
                 */
                getStackTraceMessage():string;
                /**
                 * @return 错误码对应的表达式参数
                 */
                getArgs():any[];
                /**
                 * @return 异常码
                 */
                getErrorCode():ErrorCode;
            }
            type KDException_T = $.java.lang.RuntimeException & KDException$;
            interface KDException extends KDException_T {
            }
            interface ErrorCode$LangMessage_S {
            }
            type ErrorCode$LangMessage_ST = $.java.io.Serializable & ErrorCode$LangMessage_S;
            interface ErrorCode$LangMessage_C extends ErrorCode$LangMessage_ST {
                new():ErrorCode$LangMessage;
            }
            interface ErrorCode$LangMessage$ {
                getKey():string;
                getDesc():string;
                getProject():string;
            }
            type ErrorCode$LangMessage_T = $.java.io.Serializable & ErrorCode$LangMessage$;
            interface ErrorCode$LangMessage extends ErrorCode$LangMessage_T {
            }
            interface ExceptionModule_S {
            }
            type ExceptionModule_ST = $.kd.sdk.module.Module & ExceptionModule_S;
            interface ExceptionModule_C extends ExceptionModule_ST {
                new():ExceptionModule;
            }
            interface ExceptionModule$ {
            }
            type ExceptionModule_T = $.kd.sdk.module.Module & ExceptionModule$;
            interface ExceptionModule extends ExceptionModule_T {
            }
            interface ErrorCode_S {
            }
            type ErrorCode_ST = $.java.io.Serializable & ErrorCode_S;
            interface ErrorCode_C extends ErrorCode_ST {
                /**
                 * @param errorCode
                 *            产品全局唯一，格式：产品云.应用.错误码；产品云、应用均为小写，错误码与java变量名同(驼峰式)。
                 * @param message
                 *            默认的错误信息，运行期将优先使用外部配置的错误信息；可用%s等模版参数(参见String.format)，
                 *            在抛KDException时传入值(args)。
                 */
                new(errorCode:string,message:string):ErrorCode;
            }
            interface ErrorCode$ {
                /**
                 * 获取错误码
                 * @return
                 */
                getCode():string;
                /**
                 * 获取多语言异常信息
                 * @return
                 */
                getLangMessage():ErrorCode$LangMessage;
                /**
                 * 获取错误信息
                 * @return
                 */
                getMessage():string;
            }
            type ErrorCode_T = $.java.io.Serializable & ErrorCode$;
            interface ErrorCode extends ErrorCode_T {
            }
            interface __ErrorCode$ResourceMessageGetter_S {
            }
            type __ErrorCode$ResourceMessageGetter_ST = $.java.io.Serializable & __ErrorCode$ResourceMessageGetter_S;
            interface __ErrorCode$ResourceMessageGetter_C extends __ErrorCode$ResourceMessageGetter_ST {
            }
            interface __ErrorCode$ResourceMessageGetter$ {
                get():string;
            }
            type __ErrorCode$ResourceMessageGetter_T = $.java.io.Serializable & __ErrorCode$ResourceMessageGetter$;
            interface __ErrorCode$ResourceMessageGetter extends __ErrorCode$ResourceMessageGetter_T {
            }
            interface KDBizException_S {
            }
            type KDBizException_ST = KDBizException_S & KDException_S;
            interface KDBizException_C extends KDBizException_ST {
                new(arg0:string):KDBizException;
                new(arg0:ErrorCode,arg1:any[]):KDBizException;
                new(arg0:$.java.lang.Throwable,arg1:ErrorCode,arg2:any[]):KDBizException;
            }
            interface KDBizException$ {
            }
            type KDBizException_T = KDBizException$ & KDException;
            interface KDBizException extends KDBizException_T {
            }
        }
        namespace kd.bos.export_{
            interface IExportExcelOperate_S {
            }
            interface IExportExcelOperate_C extends IExportExcelOperate_S {
            }
            interface IExportExcelOperate$ {
                /**
                 * 导出PDF文件
                 * @param info 配置信息
                 * @return
                 */
                exportPdf(info:$.kd.bos.entity.print.PaperSetting):string;
                /**
                 * 导出EXCEL表格
                 */
                exportExcel():void;
            }
            type IExportExcelOperate_T = IExportExcelOperate$;
            interface IExportExcelOperate extends IExportExcelOperate_T {
            }
        }
        namespace kd.bos.ext.form.container{
            interface GridContainer_S {
                readonly CALLBACK_SHOWADDCARDFORM:string;
            }
            type GridContainer_ST = $.kd.bos.form.container.Container & GridContainer_S;
            interface GridContainer_C extends GridContainer_ST {
                new():GridContainer;
            }
            interface GridContainer$ {
                setLayout(layout:string):void;
                /**
                 * 往栅格容器上批量新增卡片
                 * @param cardInfoMaps  <br/>
                 * cardInfoMaps中每一个cardInfoMap的初始方法：<br/>
                 * cardInfoMap.put("formId", formId);<br/>
                 * cardInfoMap.put("cardId", cardId);<br/>
                 * cardInfoMap.put("config", config);
                 */
                addCards(cardInfoMaps:$.java.util.List):void;
                /**
                 * 响应前端点击卡片右上角上的删除按钮的方法
                 * @param cardId
                 */
                deleteCard(cardId:string):void;
                editEnd(layout:string,isSetDefault:boolean):void;
                editCancel():void;
                /**
                 * 保存布局
                 * @param layout 布局
                 */
                save(layout:string):void;
                /**
                 * 另存为方案类型
                 * @param type 方案类型
                 * @param layout 布局
                 */
                saveAsSchemeType(type_arg:string,layout:string):void;
                /**
                 * 响应前端点击卡片右上角上的删除按钮的方法
                 * @param cardId
                 */
                trigger():void;
                /**
                 * 根据指定ID，请求前端删除指定卡片。
                 * @param cardId
                 */
                triggerContainer():void;
                /**
                 * 刷新栅格容器
                 */
                refresh():void;
                /**
                 * 重置栅格容器
                 * @param layout
                 */
                reset(layout:string):void;
                /**
                 * 设置默认
                 * @param schemeId 方案id
                 */
                setDefaultScheme(schemeId:string):void;
                /**
                 * 根据指定ID，请求前端删除指定卡片。
                 * @param cardId
                 */
                delCard(cardId:string):void;
                /**
                 * 点击“新增卡片”按钮后的响应处理，可以交由插件响应
                 */
                addCard(layout:string):void;
                /**
                 * 编辑栅格容器
                 */
                edit():void;
                /**
                 * 设置控件是否进入编辑态
                 */
                setDesignMode(canEdit:boolean):void;
                /**
                 * 设置“是否设置默认”复选框的可见性
                 */
                setIsDefaultVisible(setDefVisible:boolean):void;
                /**
                 * 切换方案
                 * @param schemeId 方案id
                 */
                switchScheme(schemeId:string):void;
                /**
                 * 删除方案
                 * @param schemeId 方案id
                 */
                deleteScheme(schemeId:string):void;
            }
            type GridContainer_T = $.kd.bos.form.container.Container & GridContainer$;
            interface GridContainer extends GridContainer_T {
            }
            interface MessageCarouselContainer_S {
            }
            type MessageCarouselContainer_ST = $.kd.bos.form.container.Container & MessageCarouselContainer_S;
            interface MessageCarouselContainer_C extends MessageCarouselContainer_ST {
                new():MessageCarouselContainer;
            }
            interface MessageCarouselContainer$ {
                /**
                 * 轮播容器中字段/控件点击事件
                 *
                 * @param rowKey
                 *            行索引
                 * @param fieldId
                 *            字段或者控件id
                 */
                carouselFieldClick(rowKey:number,fieldId:string):void;
                /**
                 * 行点击事件
                 *
                 * @param rowKey
                 *            行索引
                 */
                carouselRowClick(rowKey:number):void;
                setData(data:$.java.util.List):void;
            }
            type MessageCarouselContainer_T = $.kd.bos.form.container.Container & MessageCarouselContainer$;
            interface MessageCarouselContainer extends MessageCarouselContainer_T {
            }
        }
        namespace kd.bos.ext.form.control{
            interface Media_S {
            }
            type Media_ST = $.kd.bos.form.control.Control & Media_S;
            interface Media_C extends Media_ST {
                new():Media;
            }
            interface Media$ {
                /**
                 * 动态设置音频/视频 文件路径
                 *
                 * @param src
                 */
                setSrc(src:string):void;
                play():void;
                pause():void;
            }
            type Media_T = $.kd.bos.form.control.Control & Media$;
            interface Media extends Media_T {
            }
            interface TilePanel_S {
            }
            type TilePanel_ST = $.kd.bos.form.control.Control & TilePanel_S;
            interface TilePanel_C extends TilePanel_ST {
                new():TilePanel;
            }
            interface TilePanel$ {
                /**
                 * 单个item点击事件
                 *
                 * @param args
                 */
                itemClick(args:$.java.util.List):void;
                /**
                 * 设置TilePanel的数据
                 *
                 * @param data
                 */
                setData(data:$.java.util.List):void;
                /**
                 * 设置文本是否可点击
                 *
                 * @param textClickable
                 */
                setTextClickable(textClickable:boolean):void;
                addItemClickListener(listener:kd.bos.form.control.events.TileItemClickListener):void;
                /**
                 * 设置TilePanel项的图标样式
                 *
                 * @param fontClass
                 */
                setFontClass(fontClass:$.java.util.List):void;
            }
            type TilePanel_T = $.kd.bos.form.control.Control & TilePanel$;
            interface TilePanel extends TilePanel_T {
            }
            interface AnchorControl_S {
            }
            type AnchorControl_ST = $.kd.bos.form.control.Control & AnchorControl_S;
            interface AnchorControl_C extends AnchorControl_ST {
                new():AnchorControl;
            }
            interface AnchorControl$ {
                /**
                 * 设置跳转面板是否高亮提示
                 *
                 * @param highlight
                 */
                setHighlight(highlight:boolean):void;
                /**
                 * 动态给锚点控件配置数据集合
                 *
                 * @param list
                 *            数据集合
                 */
                addItems(list:$.java.util.List):void;
            }
            type AnchorControl_T = $.kd.bos.form.control.Control & AnchorControl$;
            interface AnchorControl extends AnchorControl_T {
            }
            interface LittleK_S {
            }
            type LittleK_ST = $.kd.bos.form.control.Control & LittleK_S;
            interface LittleK_C extends LittleK_ST {
                new():LittleK;
            }
            interface LittleK$ {
                /**
                 * 启动
                 */
                start():void;
                /**
                 * 停止
                 */
                stop():void;
                /**
                 * 前端组件调用，后端调用无效
                 */
                onProgress():void;
                /**
                 * 添加到监听列表
                 *
                 * @param listener
                 *            监听器
                 */
                addProgressListener(listener:$.kd.bos.form.control.events.ProgresssListener):void;
                /**
                 * 更新小K状态
                 * @param status
                 */
                updateStatus(status:kd.bos.entity.LittleKStatus):void;
                /**
                 * 停止并返回结果
                 */
                stopWithStatus(status:kd.bos.entity.LittleKStatus):void;
            }
            type LittleK_T = $.kd.bos.form.control.Control & LittleK$;
            interface LittleK extends LittleK_T {
            }
            interface CountDown_S {
            }
            type CountDown_ST = $.kd.bos.form.control.Control & CountDown_S;
            interface CountDown_C extends CountDown_ST {
                new():CountDown;
            }
            interface CountDown$ {
                /**
                 * 添加倒计时控件监听
                 * @param listener 地图选中坐标事件
                 */
                addCountDownListener(listener:kd.bos.ext.form.control.events.CountDownListener):void;
                /**
                 * 按照剩余时间设置倒计时
                 * @param second 秒
                 */
                setDuration(second:number):void;
                /**
                 * 暂停后继续启动倒计时，如需重新设置时间，需先调用setDuration
                 */
                start():void;
                /**
                 * 前端倒计时结束回调
                 */
                onCountDownEnd():void;
                /**
                 * 暂停倒计时
                 */
                pause():void;
            }
            type CountDown_T = $.kd.bos.form.control.Control & CountDown$;
            interface CountDown extends CountDown_T {
            }
            interface HelpCenter_S {
            }
            type HelpCenter_ST = $.kd.bos.form.control.Control & HelpCenter_S;
            interface HelpCenter_C extends HelpCenter_ST {
                new():HelpCenter;
            }
            interface HelpCenter$ {
                setData(data:any):void;
                getData():string;
                /**
                 * 激活帮助中心指定tag
                 * @param tag
                 */
                activeTag(tag:string):void;
            }
            type HelpCenter_T = $.kd.bos.form.control.Control & HelpCenter$;
            interface HelpCenter extends HelpCenter_T {
            }
            interface SuspendButton_S {
            }
            type SuspendButton_ST = $.kd.bos.form.control.Button & SuspendButton_S;
            interface SuspendButton_C extends SuspendButton_ST {
                new():SuspendButton;
            }
            interface SuspendButton$ {
                /**
                 * 设置水平偏移量
                 * @param offsetH
                 */
                setOffsetH(offsetH:string):void;
                /**
                 * 设置悬浮按钮位置
                 * @param pos
                 */
                setPosition(pos:kd.bos.form.control.SuspendButtonPosition):void;
                /**
                 * 设置位置锁定
                 * @param lock
                 */
                setPositionLock(lock:boolean):void;
                /**
                 * 设置垂直偏移量
                 * @param offsetV
                 */
                setOffsetV(offsetV:string):void;
                /**
                 * 动态设置扩展按钮
                 * @param items
                 */
                setExtItems(items:$.java.util.List):void;
                /**
                 * 动态设置悬浮按钮字体图标
                 * @param fontClass
                 */
                setBtnFontClass(fontClass:string):void;
            }
            type SuspendButton_T = $.kd.bos.form.control.Button & SuspendButton$;
            interface SuspendButton extends SuspendButton_T {
            }
            interface CommonFunctionControl_S {
            }
            type CommonFunctionControl_ST = $.kd.bos.form.control.Control & CommonFunctionControl_S;
            interface CommonFunctionControl_C extends CommonFunctionControl_ST {
                new():CommonFunctionControl;
            }
            interface CommonFunctionControl$ {
                itemClick(args:$.java.util.Map):void;
                addItemClickListener(listener:kd.bos.form.control.events.CommonFunctionItemClickListener):void;
            }
            type CommonFunctionControl_T = $.kd.bos.form.control.Control & CommonFunctionControl$;
            interface CommonFunctionControl extends CommonFunctionControl_T {
            }
            interface Video_S {
            }
            type Video_ST = Media_S & Video_S;
            interface Video_C extends Video_ST {
                new():Video;
            }
            interface Video$ {
                /**
                 * 设置视频当前时间
                 * @param second : 秒
                 */
                updateCurrentTime(second:long):void;
            }
            type Video_T = Media & Video$;
            interface Video extends Video_T {
            }
            interface CustomControl_S {
            }
            type CustomControl_ST = $.kd.bos.form.control.Control & CustomControl_S;
            interface CustomControl_C extends CustomControl_ST {
                new():CustomControl;
            }
            interface CustomControl$ {
                /**
                 * 设置自定义组件数据
                 *  @param text text
                 */
                setData(data:any):void;
                getSchemaInfo():$.kd.bos.entity.CtlSchemaInfo;
                /**
                 * 设置自定义组件数据
                 *  @return text
                 */
                getData():string;
                /**
                 * 設置自定義控件 配置項數據
                 * @param items
                 */
                setConfigItems(items:$.java.util.List):void;
                setSchemaInfo(schemaInfo:$.kd.bos.entity.CtlSchemaInfo):void;
            }
            type CustomControl_T = $.kd.bos.form.control.Control & CustomControl$;
            interface CustomControl extends CustomControl_T {
            }
            interface MapControl_S {
            }
            type MapControl_ST = $.kd.bos.form.control.Control & MapControl_S;
            interface MapControl_C extends MapControl_ST {
                new():MapControl;
            }
            interface MapControl$ {
                /**
                 * 设置地址
                 * @param address 详细地址
                 */
                selectAddress(address:string):void;
                /**
                 * 添加选择地图坐标监听
                 * @param listener 地图选中坐标事件
                 */
                addSelectListener(listener:kd.bos.ext.form.control.events.MapSelectListener):void;
                /**
                 * 批量设置多个地址
                 *
                 * @param address 多个详细地址
                 */
                selectAddress(address:$.java.util.List):void;
                /**
                 * 设置多个坐标
                 *
                 * @param options 多个坐标对象
                 */
                selectPoint(options:$.java.util.List):void;
                /**
                 * 支持业务调用官方支持的任意JS API
                 *
                 * @param script script js脚本
                 */
                executeCustomEvent(script:string):void;
                /**
                 * 前端选中坐标事件
                 */
                select(point:$.java.util.Map):void;
                /**
                 * 插件设置前端地图坐标
                 * @param data
                 * {"title":"TCL","lng":113.96624,"lat":22.576339,"address":"南山区珠光路239号宝珠花园华润万家(西丽店)2层","city":"深圳市","province":"广东省”}<BR/>
                 * title：标题<BR/>
                 * lng：经度<BR/>
                 * lat：纬度<BR/>
                 * address：详细地址<BR/>
                 * city：城市<BR/>
                 * province：省份<BR/>
                 */
                selectPoint(option:kd.bos.ext.form.dto.MapSelectPointOption):void;
                /**
                 * 获取地址,该方法目前只在移动端生效
                 */
                getAddress():void;
            }
            type MapControl_T = $.kd.bos.form.control.Control & MapControl$;
            interface MapControl extends MapControl_T {
            }
            interface Audio_S {
            }
            type Audio_ST = Audio_S & Media_S;
            interface Audio_C extends Audio_ST {
                new():Audio;
            }
            interface Audio$ {
            }
            type Audio_T = Audio$ & Media;
            interface Audio extends Audio_T {
            }
            interface Listbox_S {
            }
            type Listbox_ST = $.kd.bos.form.control.Control & Listbox_S;
            interface Listbox_C extends Listbox_ST {
                new():Listbox;
            }
            interface Listbox$ {
                addListboxClickListener(listener:$.kd.bos.form.control.events.ListboxClickListener):void;
                /**
                 * 选中某个项目
                 * @param itemId
                 */
                activeItem(itemId:string):void;
                /**
                 * listbox点击事件，组件内部方法，不提供插件直接调用
                 * 需要调用请实现ListboxClickListener接口listboxClick方法
                 * @param itemId
                 */
                listboxClick(itemId:string):void;
                /**
                 * 废弃，改用listboxClick
                 * @param itemId
                 * @deprecated
                 */
                listboxItemClick(itemId:string):void;
                addItems(items:$.java.util.List):void;
            }
            type Listbox_T = $.kd.bos.form.control.Control & Listbox$;
            interface Listbox extends Listbox_T {
            }
            interface AppStarted_S {
            }
            type AppStarted_ST = $.kd.bos.form.control.Control & AppStarted_S;
            interface AppStarted_C extends AppStarted_ST {
                new():AppStarted;
            }
            interface AppStarted$ {
                setData(data:any):void;
                /**
                 * 前端点击更多回调
                 */
                getMore(obj:$.java.util.Map):void;
                /**
                 * 添加应用入门点击更多事件监听
                 * @param listener
                 */
                addGetMoreListener(listener:kd.bos.ext.form.control.events.AppStartedListener):void;
                getData():string;
            }
            type AppStarted_T = $.kd.bos.form.control.Control & AppStarted$;
            interface AppStarted extends AppStarted_T {
            }
            interface Markdown_S {
                readonly Warp:string;
            }
            type Markdown_ST = $.kd.bos.form.control.Control & Markdown_S;
            interface Markdown_C extends Markdown_ST {
                new():Markdown;
            }
            interface Markdown$ {
                /**
                 * 设置内容
                 *
                 * @param text
                 */
                setText(text:string):void;
                /**
                 * 设置Markdown链接数据
                 * @param data
                 */
                setLinkData(data:$.java.util.List):void;
                /**
                 * 获取内容
                 *
                 * @return text
                 */
                getText():string;
            }
            type Markdown_T = $.kd.bos.form.control.Control & Markdown$;
            interface Markdown extends Markdown_T {
            }
        }
        namespace kd.bos.ext.form.control.events{
            interface MapSelectEvent_S {
            }
            type MapSelectEvent_ST = $.java.util.EventObject & MapSelectEvent_S;
            interface MapSelectEvent_C extends MapSelectEvent_ST {
                new(source:any,point:$.java.util.Map):MapSelectEvent;
            }
            interface MapSelectEvent$ {
                setPoint(point:$.java.util.Map):void;
                /**
                 * 获取坐标信息
                 * @return
                 */
                getPoint():$.java.util.Map;
            }
            type MapSelectEvent_T = $.java.util.EventObject & MapSelectEvent$;
            interface MapSelectEvent extends MapSelectEvent_T {
            }
            interface CountDownListener_S {
            }
            interface CountDownListener_C extends CountDownListener_S {
            }
            interface CountDownListener$ {
                /**
                 * 倒计时介绍回调
                 * @param evt
                 */
                onCountDownEnd?(evt:CountDownEvent):void;
            }
            type CountDownListener_T = CountDownListener$;
            interface CountDownListener extends CountDownListener_T {
            }
            interface AppStartedEvent_S {
            }
            type AppStartedEvent_ST = $.java.util.EventObject & AppStartedEvent_S;
            interface AppStartedEvent_C extends AppStartedEvent_ST {
                new(source:any,args:$.java.util.Map):AppStartedEvent;
            }
            interface AppStartedEvent$ {
                getArgs():$.java.util.Map;
                setArgs(args:$.java.util.Map):void;
            }
            type AppStartedEvent_T = $.java.util.EventObject & AppStartedEvent$;
            interface AppStartedEvent extends AppStartedEvent_T {
            }
            interface AppStartedListener_S {
            }
            interface AppStartedListener_C extends AppStartedListener_S {
            }
            interface AppStartedListener$ {
                /**
                 * 应用入门点击更多
                 * @param evt
                 */
                getMore?(evt:AppStartedEvent):void;
            }
            type AppStartedListener_T = AppStartedListener$;
            interface AppStartedListener extends AppStartedListener_T {
            }
            interface MapSelectListener_S {
            }
            interface MapSelectListener_C extends MapSelectListener_S {
            }
            interface MapSelectListener$ {
                /**
                 * 前端选中地图坐标回传
                 * @param evt
                 */
                select?(evt:MapSelectEvent):void;
            }
            type MapSelectListener_T = MapSelectListener$;
            interface MapSelectListener extends MapSelectListener_T {
            }
            interface CountDownEvent_S {
            }
            type CountDownEvent_ST = $.java.util.EventObject & CountDownEvent_S;
            interface CountDownEvent_C extends CountDownEvent_ST {
                new(source:any):CountDownEvent;
            }
            interface CountDownEvent$ {
            }
            type CountDownEvent_T = $.java.util.EventObject & CountDownEvent$;
            interface CountDownEvent extends CountDownEvent_T {
            }
        }
        namespace kd.bos.ext.form.dto{
            interface MapSelectPointOption_S {
            }
            interface MapSelectPointOption_C extends MapSelectPointOption_S {
                new():MapSelectPointOption;
                new(title:string,lng:number,lat:number,address:string,city:string,province:string):MapSelectPointOption;
            }
            interface MapSelectPointOption$ {
                getTitle():string;
                getLat():number;
                setAddress(address:string):void;
                getCity():string;
                getProvince():string;
                setProvince(province:string):void;
                setLng(lng:number):void;
                getLng():number;
                setLat(lat:number):void;
                getAddress():string;
                setTitle(title:string):void;
                setCity(city:string):void;
            }
            type MapSelectPointOption_T = MapSelectPointOption$;
            interface MapSelectPointOption extends MapSelectPointOption_T {
            }
        }
        namespace kd.bos.extplugin{
            interface PluginFilter_S {
                /**
                 * 创建插件过滤默认实现
                 * @return 插件过滤默认实现
                 */
                create():PluginFilter;
            }
            interface PluginFilter_C extends PluginFilter_S {
            }
            interface PluginFilter$ {
                /**
                 * 设置过滤器
                 * @param filter 过滤标识
                 * @param value 过滤器
                 * @return 插件过滤实现
                 */
                set(filter:string,value:any):this;
                /**
                 * 输出过滤器Map
                 * @return 过滤器Map
                 */
                toMap():$.java.util.Map;
                /**
                 * 设置全部过滤器
                 * @param filterMap 全部过滤器Map
                 * @return 插件过滤实现
                 */
                setAll(filterMap:$.java.util.Map):this;
            }
            type PluginFilter_T = PluginFilter$;
            interface PluginFilter extends PluginFilter_T {
            }
            interface ScriptExtensionManager_S {
            }
            interface ScriptExtensionManager_C extends ScriptExtensionManager_S {
                /**
                 * 构造方法
                 */
                new():ScriptExtensionManager;
            }
            interface ScriptExtensionManager$ {
                /**
                 * 通过编码加载脚本扩展点
                 * @param useCaseNumber
                 * @return
                 * @param <T>
                 */
                load(useCaseNumber:string):any;
            }
            type ScriptExtensionManager_T = ScriptExtensionManager$;
            interface ScriptExtensionManager extends ScriptExtensionManager_T {
            }
            interface AbstractStdExtPlugin_S {
            }
            type AbstractStdExtPlugin_ST = AbstractStdExtPlugin_S & StdExtPlugin_S;
            interface AbstractStdExtPlugin_C extends AbstractStdExtPlugin_ST {
                new():AbstractStdExtPlugin;
            }
            interface AbstractStdExtPlugin$ {
            }
            type AbstractStdExtPlugin_T = AbstractStdExtPlugin$ & StdExtPlugin;
            interface AbstractStdExtPlugin extends AbstractStdExtPlugin_T {
            }
            interface StdExtPlugin_S {
            }
            interface StdExtPlugin_C extends StdExtPlugin_S {
            }
            interface StdExtPlugin$ {
                /**
                 * 关闭释放资源
                 * 增加注解：如有脚本插件，通知脚本引擎释放资源
                 */
                release?():void;
                /**
                 * 扩展事件
                 * @param event 事件参数，内含事件名和具体的参数值
                 */
                extEvent(event:ExtEvent):void;
            }
            type StdExtPlugin_T = StdExtPlugin$;
            interface StdExtPlugin extends StdExtPlugin_T {
            }
            interface PluginProxy_S {
                /**
                 * 创建KingScript声明的接口的插件代理
                 * <pre>
                 * 由KingScript插件调用，如：
                 *
                 * let ext=plugin.loadExtension(caseName) as MyExt
                 * ext.hello()
                 *
                 * @param caseName 应用场景名称
                 * @param engineSupplier 扩展插件使用的引擎
                 * @return 多个扩展插件的组合操作代理
                 */
                createByKingScriptDeclared(caseName:string,supplier1:()=>any):any;
                create(arg0:any,arg1:$.java.lang.Class,arg2:string,arg3:PluginFilter):PluginProxy;
                /**
                 * 创建没有默认插件的插件代理
                 *
                 * @param pluginCls 插件接口
                 * @param caseName  应用场景名称
                 * @return 多个扩展插件的组合操作代理
                 */
                create(pluginCls:$.java.lang.Class,caseName:string):PluginProxy;
                create(arg0:any,arg1:$.java.lang.Class,arg2:string,arg3:PluginFilter,arg4:PluginProvider):PluginProxy;
                /**
                 * 创建操作通用扩展点的扩展插件
                 *
                 * @param pluginCls 插件接口
                 * @param entityNumber 实体编码
                 * @param opKey     操作编码
                 * @param extNumber  通用扩展点编码
                 *
                 * @return 多个扩展插件的组合操作代理
                 */
                createOpPlugin(pluginCls:$.java.lang.Class,entityNumber:string,opKey:string,extNumber:string):PluginProxy;
                create(arg0:any,arg1:$.java.lang.Class,arg2:string):PluginProxy;
            }
            interface PluginProxy_C extends PluginProxy_S {
            }
            interface PluginProxy$ {
                /**
                 * 在调用默认实现前，先调用扩展插件的同名方法（扩展插件、默认实现，二者依次执行）
                 *
                 * @param call 插件委托
                 * @param <R>  插件执行返回值
                 * @return 插件执行返回值集合
                 */
                callBefore(call:PluginCall):$.java.util.List;
                /**
                 * 获取所有扩展插件，自行处理(如：调整顺序，调用方法)。
                 *
                 * @return 扩展插件集合
                 */
                getPlugins():$.java.util.List;
                /**
                 * 如果存在扩展则替换，否则调用默认实现。（扩展插件和默认实现，二选一）
                 *
                 * @param call 插件委托
                 * @param <R>  插件执行返回值
                 * @return 插件执行返回值集合
                 */
                callReplaceIfPresent(call:PluginCall):$.java.util.List;
                /**
                 * 替换执行扩展插件，如果无扩展则不执行
                 *
                 * @param call 插件委托
                 * @param <R>  插件执行返回值
                 * @return 插件执行返回值集合
                 */
                callReplace(call:PluginCall):$.java.util.List;
                /**
                 * 在调用默认实现后，再调用扩展插件的同名方法（默认实现、扩展插件，二者都执行）
                 *
                 * @param call 插件委托
                 * @param <R>  插件执行返回值
                 * @return 插件执行返回值集合
                 */
                callAfter(call:PluginCall):$.java.util.List;
            }
            type PluginProxy_T = PluginProxy$;
            interface PluginProxy extends PluginProxy_T {
            }
            interface StdExtPluginProxy_S {
                /**
                 * 传入业务扩展场景编码，创建插件代理，内含绑定的二次扩展插件
                 * @param caseName 传入业务扩展场景编码，注册业务场景时需指定，唯一编码
                 * @return 返回插件代理，已包含了绑定的二次扩展插件
                 */
                create(caseName:string):StdExtPluginProxy;
            }
            interface StdExtPluginProxy_C extends StdExtPluginProxy_S {
                new():StdExtPluginProxy;
            }
            interface StdExtPluginProxy$ {
                /**
                 * 触发扩展事件
                 * @param event 事件参数
                 */
                fireExtEvent(event:ExtEvent):void;
                /**
                 * 关闭释放资源
                 */
                release():void;
            }
            type StdExtPluginProxy_T = StdExtPluginProxy$;
            interface StdExtPluginProxy extends StdExtPluginProxy_T {
            }
            interface PluginCall_S {
            }
            interface PluginCall_C extends PluginCall_S {
            }
            interface PluginCall$ {
                call(arg0:any):any;
            }
            type PluginCall_T = PluginCall$;
            interface PluginCall extends PluginCall_T {
            }
            interface ExtEvent_S {
            }
            interface ExtEvent_C extends ExtEvent_S {
                /**
                 * 构造函数，传入二次扩展事件名
                 *
                 * @param eventName 二次扩展事件名
                 */
                new(eventName:string):ExtEvent;
            }
            interface ExtEvent$ {
                /**
                 * 存入事件参数值
                 * 本方法通常由业务插件调用，向二次扩展插件事件传递参数值
                 *
                 * @param key 指定参数名
                 * @param eventArg 传入参数值
                 */
                putEventArg(key:string,eventArg:any):void;
                /**
                 * 获取事件参数值
                 * @param key 指定参数名。事件可能有多个参数值，通过参数名(key)区分
                 * @return 返回参数值
                 */
                getEventArg(key:string):any;
                /**
                 * 获取二次扩展事件名，根据事件名区分当前事件
                 * @return
                 */
                getEventName():string;
            }
            type ExtEvent_T = ExtEvent$;
            interface ExtEvent extends ExtEvent_T {
            }
            interface PluginProvider_S {
            }
            interface PluginProvider_C extends PluginProvider_S {
            }
            interface PluginProvider$ {
                /**
                 * 默认SPI实现
                 * @return 需要做AOP拦截的类名列表
                 */
                getAOPClassNames?():$.java.util.List;
                /**
                 * 获取扩展插件类集合
                 * @param extensionPoint 扩展点名称
                 * @param filter 扩展插件过滤器
                 * @return 扩展插件类集合
                 */
                getPluginClasses(extensionPoint:string,filter:PluginFilter):$.java.util.List;
            }
            type PluginProvider_T = PluginProvider$;
            interface PluginProvider extends PluginProvider_T {
            }
            interface PluginModule_S {
            }
            type PluginModule_ST = $.kd.sdk.module.Module & PluginModule_S;
            interface PluginModule_C extends PluginModule_ST {
                new():PluginModule;
            }
            interface PluginModule$ {
            }
            type PluginModule_T = $.kd.sdk.module.Module & PluginModule$;
            interface PluginModule extends PluginModule_T {
            }
        }
        namespace kd.bos.fileservice{
            interface FileItem_S {
            }
            interface FileItem_C extends FileItem_S {
                /**
                 * 构造文件项（适用于流式上传）
                 * @param fileName 文件名（包含扩展名）
                 * @param path     文件存储相对路径
                 * @param in       文件输入流，调用方需确保流的正确打开和关闭
                 */
                new(fileName:string,path:string,in_arg:$.java.io.InputStream):FileItem;
            }
            interface FileItem$ {
                /**
                 * setter appId
                 * @param appId
                 */
                setAppId(appId:string):void;
                /**
                 * getter方法
                 * @return path在服务器已经存在时，是否创建新的文件，true:创建新文件，false:覆盖已存在文件
                 */
                isCreateNewFileWhenExists():boolean;
                getKey():string;
                /**
                 * getter方法，获取文件存储相对路径
                 * @return
                 */
                getPath():string;
                /**
                 * setter方法，设置文件输入流
                 * @param in 新的文件输入流，设置后会替换原有流
                 */
                setInputStream(in_arg:$.java.io.InputStream):void;
                /**
                 * getter pageId
                 * @return
                 */
                getPageId():string;
                /**
                 * getter appId
                 * @return
                 */
                getAppId():string;
                /**
                 * setter pageId
                 * @param pageId
                 */
                setPageId(pageId:string):void;
                /**
                 * 释放资源并清理临时文件
                 * <p>
                 * 安全关闭文件输入流
                 * 建议在文件处理完成后主动调用以防止资源泄漏
                 * </p>
                 */
                close():void;
                /**
                 * setter type
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * setter fid
                 * @param fId
                 */
                setFId(fId:string):void;
                /**
                 * getter方法， 获取文件名（包含扩展名）
                 * @return
                 */
                getFileName():string;
                /**
                 * getter方法，获取加密存储标识
                 * @return 加密标识字符串（""/"true"/"false"）
                 */
                getEncrypt():string;
                /**
                 * setter方法，设置加密存储策略
                 * @param encrypt 加密标识：
                 *                - ""   使用系统默认
                 *                - "true" 强制加密
                 *                - "false" 不加密
                 */
                setEncrypt(encrypt:string):void;
                /**
                 * setter verified
                 * @param verified 标记是否已调用过 getFileServiceExt().checkFile
                 */
                setVerified(verified:boolean):void;
                /**
                 * getter type
                 * @return
                 */
                getType():string;
                /**
                 * setter方法，设置文件存储相对路径
                 * @param path 文件相对路径
                 */
                setPath(path:string):void;
                /**
                 * setter方法，设置文件名（包含扩展名）
                 * @param fileName 文件名
                 */
                setFileName(fileName:string):void;
                /**
                 * getter fid
                 * @return
                 */
                getFId():string;
                setKey(key:string):void;
                /**
                 * 设置临时文件数组
                 * @param tempFiles 临时文件数组，这些文件会在close()时自动删除
                 */
                setTempFiles(tempFiles:$.java.io.File[]):void;
                /**
                 * 当目标路径存在文件时的处理策略：
                 * <p>
                 * - true:  创建带后缀的新文件，保留原文件，新文件路径会自动添加后缀（如时间戳/序列号）
                 *          示例：原路径为 /docs/report.txt 将生成类似 /docs/report_1740124672706.txt 的新路径
                 * </p>
                 * <p>
                 * - false: 直接覆盖现有文件，原文件内容将被替换
                 * </p>
                 * 默认值为 false，即覆盖已有文件
                 */
                setCreateNewFileWhenExists(createNewFileWhenExists:boolean):void;
                /**
                 * getter方法，获取文件输入流
                 * @return 当前关联的文件输入流，可能为 null
                 */
                getInputStream():$.java.io.InputStream;
            }
            type FileItem_T = FileItem$;
            interface FileItem extends FileItem_T {
            }
            interface FileServiceModule_S {
            }
            type FileServiceModule_ST = $.kd.sdk.module.Module & FileServiceModule_S;
            interface FileServiceModule_C extends FileServiceModule_ST {
                new():FileServiceModule;
            }
            interface FileServiceModule$ {
            }
            type FileServiceModule_T = $.kd.sdk.module.Module & FileServiceModule$;
            interface FileServiceModule extends FileServiceModule_T {
            }
            interface FileService_S {
            }
            type FileService_ST = FileService_S & kd.bos.fileservice.preview.PreviewService_S;
            interface FileService_C extends FileService_ST {
            }
            interface FileService$ {
                /**
                 * 检查文件是否存在
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 * @return
                 */
                exists(path:string):boolean;
                /**
                 * 文件删除（物理删除）
                 * 从文件系统中物理删除指定路径的文件，不可恢复，调用时请谨慎操作。
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 */
                delete(path:string):void;
                /**
                 * 内部方法
                 * @param path
                 * @return
                 */
                _existsNopm?(path:string):boolean;
                /**
                 * 批量下载请求，将一批文件url下载为一个压缩包，默认支持zip压缩
                 * @param request 构造 BatchDownloadRequest
                 * @param servletResponse 响应体对象
                 * @param userAgent 用户代理
                 */
                batchDownload(request:BatchDownloadRequest,servletResponse:$.javax.servlet.http.HttpServletResponse,userAgent:string):void;
                /**
                 * 文件上传大小限制，单位 B，默认最大 50M
                 * @return
                 */
                maxUploadSize?():long;
                /**
                 * 批量下载请求，将一批文件url下载为一个压缩包，默认支持zip压缩
                 * @param request 构造 BatchDownloadRequest
                 * @param out 文件输出流
                 * @param userAgent 用户代理
                 */
                batchDownload(request:BatchDownloadRequest,out:$.java.io.OutputStream,userAgent:string):void;
                /**
                 * 文件服务扩展服务
                 * @return 文件服务扩展服务实现
                 */
                getFileServiceExt?():kd.bos.fileservice.extension.FileServiceExt;
                /**
                 * 获取文件流
                 *
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 * @return 文件流
                 */
                getInputStream(path:string):$.java.io.InputStream;
                /**
                 * 下载文件到输出流
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 * @param out 目标输出流（需自行关闭）
                 * @param userAgent 文件版本标识（如使用版本控制）
                 */
                download(path:string,out:$.java.io.OutputStream,userAgent:string):void;
                /**
                 * 文件下载
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 * @param header 请求头对象
                 * @param resHeader 响应头对象
                 * @return 文件流
                 */
                download(path:string,header:$.java.util.Map,resHeader:$.java.util.Map):$.java.io.InputStream;
                /**
                 * 文件下载
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 * @param servletResponse 响应体对象
                 * @param userAgent 用户代理
                 */
                download(path:string,servletResponse:$.javax.servlet.http.HttpServletResponse,userAgent:string):void;
                /**
                 * 文件下载
                 * @param path 文件路径（相对路径）。eg：/ierp/1402323749146986496/20230801/finance/report.pdf
                 * @param userAgent 用户代理
                 * @param ext 文件后缀（类型）
                 * @return
                 */
                download(path:string,userAgent:string,ext:string):$.java.util.Map;
                /**
                 * 获取文件服务认证码
                 * @return
                 */
                getTicket():string;
                /**
                 * 批量上传多个文件
                 * <p><strong>注意</strong></p>
                 * 该接口仅是对上传单个文件的简单封装，如果异常会自动删除所有已经上传文件，不推荐使用该接口批量上传大量文件
                 * @param fileItems 封装的文件项数组
                 * @return 成功上传的文件存储路径标识符（通常为相对路径）列表（顺序与输入数组一致）
                 */
                upload(fileItems:FileItem[]):$.java.util.List;
                /**
                 * 获取禁止上传的文件扩展名列表（黑名单）
                 * <p>文件存储实现的黑名单限制，如 fileserver ，如果是二开扩展存储，根据业务需要实现该接口
                 * @return 禁止上传的文件扩展名列表（如 ["exe", "bat"]），可能为空
                 */
                getForbiddenExtensions():$.java.util.List;
                /**
                 * 上传单个文件
                 * @param fileItem 封装的文件项，需特别注意path参数的格式规范<p></p><b>路径格式要求：</b>
                 *                必须符合分层存储结构 <code>/租户ID/数据中心ID/日期/自定义路径</code>
                 *                <p>格式说明：
                 *                <p>- 租户ID:        如 ierp
                 *                <p>- 数据中心ID:    如 1402323749146986496
                 *                <p>- 日期:         业务日期，格式yyyyMMdd或yyyyMM（如 20230801、202308）
                 *                <p>- 自定义路径:    业务自定义目录结构（需符合文件名规范）
                 *                <p>正确示例：
                 *                <p>"/ierp/1402323749146986496/20230801/finance/report.pdf"
                 *                <p>"/ierp/1402323749146986496/20230802/contracts/PO2023001.docx"
                 *                <p>错误示例：
                 *                <p>"finance/report.pdf" （缺少前缀）
                 *                <p>"/1001/20230801/docs.txt" （缺少租户ID）
                 * @return 文件存储路径标识符（通常为相对路径），上传成功后可通过该标识符获取文件
                 * @throws KDException 当文件大小超过限制或类型不合法时抛出
                 */
                upload(fileItem:FileItem):string;
                /**
                 * 获取允许上传的文件扩展名列表（白名单）
                 * <p>文件存储实现的白名单，如 fileserver ，如果是二开扩展存储，根据业务需要实现该接口
                 * @return 允许上传的文件扩展名（如 ["pdf", "doc"]），可能为空
                 */
                getAllowExtensions():$.java.util.List;
                /**
                 * 压缩图片后上传
                 * @param fileItem 图片文件项
                 * @param capacity 压缩后最大文件大小（单位：KB）
                 * @return 成功上传的图片存储的相对路径
                 */
                compressPicUpload(fileItem:FileItem,capacity:long):string;
                getHttpUrlPrefix?():string;
            }
            type FileService_T = FileService$ & kd.bos.fileservice.preview.PreviewService;
            interface FileService extends FileService_T {
            }
            interface BatchDownloadRequest$File_S {
            }
            interface BatchDownloadRequest$File_C extends BatchDownloadRequest$File_S {
                new(arg0:string,arg1:string):BatchDownloadRequest$File;
            }
            interface BatchDownloadRequest$File$ {
                setUrl(arg0:string):void;
                getName():string;
                getUrl():string;
            }
            type BatchDownloadRequest$File_T = BatchDownloadRequest$File$;
            interface BatchDownloadRequest$File extends BatchDownloadRequest$File_T {
            }
            interface BatchDownloadRequest_S {
                readonly TYPE_ZIP:string;
            }
            type BatchDownloadRequest_ST = $.java.io.Serializable & BatchDownloadRequest_S;
            interface BatchDownloadRequest_C extends BatchDownloadRequest_ST {
                /**
                 * 创建ZIP格式打包请求
                 *
                 * @param fileName 输出文件基名称
                 */
                new(fileName:string):BatchDownloadRequest;
                /**
                 * 构造方法
                 * @param fileName 文件名
                 * @param type     类型
                 */
                new(fileName:string,type_arg:string):BatchDownloadRequest;
            }
            interface BatchDownloadRequest$ {
                /**
                 * getter方法，当前目录下的直接文件集合
                 * @return
                 */
                getFiles():BatchDownloadRequest$File[];
                /**
                 * getter方法，获取压缩类型
                 * @return
                 */
                getType():string;
                /**
                 * getter方法，获取目标压缩文件基名称
                 */
                getFileName():string;
                setFiles(arg0:BatchDownloadRequest$File[]):void;
                setDirs(arg0:BatchDownloadRequest$Dir[]):void;
                /**
                 * getter方法，子目录列表
                 * @return
                 */
                getDirs():BatchDownloadRequest$Dir[];
            }
            type BatchDownloadRequest_T = $.java.io.Serializable & BatchDownloadRequest$;
            interface BatchDownloadRequest extends BatchDownloadRequest_T {
            }
            interface BatchDownloadRequest$Dir_S {
            }
            interface BatchDownloadRequest$Dir_C extends BatchDownloadRequest$Dir_S {
                new(arg0:string):BatchDownloadRequest$Dir;
            }
            interface BatchDownloadRequest$Dir$ {
                setDirs(arg0:BatchDownloadRequest$Dir[]):void;
                getDirs():BatchDownloadRequest$Dir[];
                getName():string;
                setFiles(arg0:BatchDownloadRequest$File[]):void;
                getFiles():BatchDownloadRequest$File[];
            }
            type BatchDownloadRequest$Dir_T = BatchDownloadRequest$Dir$;
            interface BatchDownloadRequest$Dir extends BatchDownloadRequest$Dir_T {
            }
            interface FileServiceFactory_S {
                /**
                 * 获取图片服务实现对象
                 *
                 * @return 图片服务实现类
                 */
                getImageFileService():FileService;
                /**
                 * 获取文件服务实现对象
                 *
                 * @return 文件服务实现类
                 */
                getAttachmentFileService():FileService;
                /**
                 * 获取租户级的参数。如果没有配置，则取集群级的参数。
                 *
                 * @param property 参数名
                 * @return 参数值
                 */
                getPropertyByTenant(property:string):string;
            }
            interface FileServiceFactory_C extends FileServiceFactory_S {
                new():FileServiceFactory;
            }
            interface FileServiceFactory$ {
            }
            type FileServiceFactory_T = FileServiceFactory$;
            interface FileServiceFactory extends FileServiceFactory_T {
            }
        }
        namespace kd.bos.fileservice.extension{
            interface FileServiceExtFactory_S {
                getDefaultFileServiceExt():FileServiceExt;
                hasAttachFileServiceExt():boolean;
                getImageFileServiceExt():FileServiceExt;
                hasImageFileServiceExt():boolean;
                getAttachFileServiceExt():FileServiceExt;
            }
            interface FileServiceExtFactory_C extends FileServiceExtFactory_S {
                new():FileServiceExtFactory;
            }
            interface FileServiceExtFactory$ {
            }
            type FileServiceExtFactory_T = FileServiceExtFactory$;
            interface FileServiceExtFactory extends FileServiceExtFactory_T {
            }
            interface FileServiceExt_S {
                readonly FILE_SIZE:string;
                readonly RETURN_IN:string;
            }
            interface FileServiceExt_C extends FileServiceExt_S {
            }
            interface FileServiceExt$ {
                /**
                 * 上传文件后调用该方法
                 * <p>
                 * FileService.upload()中，文件上传后，调用该方法
                 *
                 * @param originalPath 文件路径。
                 * @param in           文件流
                 * @return
                 */
                encode?(originalPath:string,in_arg:$.java.io.InputStream):$.java.io.InputStream;
                /**
                 * 下载文件后调用该方法
                 * <p>
                 * FileService.download()中，文件下载后，调用该方法
                 *
                 * @param originalPath 文件路径。
                 * @param in           文件流
                 * @return
                 */
                decode?(originalPath:string,in_arg:$.java.io.InputStream):$.java.io.InputStream;
                /**
                 * 删除文件后调用该方法
                 * <p>
                 * FileService.delete()中，文件删除后，调用该方法
                 *
                 * @param originalPath 文件路径。
                 */
                afterDeleteFile?(originalPath:string):void;
                /**
                 * @param idOrPath
                 * @return 传入ID返回映射path, 传入path直接返回
                 */
                getRealPath?(idOrPath:string):string;
                /**
                 * 上传文件后，调用该方法
                 * <p>
                 * FileService.upload()中，文件上传后，调用该方法，返回新的路径
                 *
                 * @param path 文件在文件服务器的路径。格式：/xxx/1.pdf
                 * @return 根据path生成的新字符串（可对path进行加密等自定义操作）
                 */
                save?(path:string):string;
                /**
                 * @param in
                 * @return 文件内容校验后返回的文件流
                 */
                checkFile?(in_arg:$.java.io.InputStream,fileName:string):$.java.io.InputStream;
                /**
                 * 下载文件后调用该方法
                 * <p>
                 * FileService.download()中，文件下载后，调用该方法。如果实现该方法，需先自行调用decode()
                 *
                 * @param originalPath 文件路径。
                 * @param in           文件流
                 * @return
                 */
                beforeWriteToResponse?(originalPath:string,in_arg:$.java.io.InputStream,userAgent:string):$.java.io.InputStream;
                /**
                 * 下载文件后调用该方法
                 * <p>
                 * FileService.download()中，文件下载后，调用该方法。如果实现该方法，需先自行调用beforeWriteToResponse()
                 *
                 * @param originalPath
                 * @param in
                 * @param userAgent
                 * @return
                 */
                beforeWrite?(originalPath:string,in_arg:$.java.io.InputStream,userAgent:string,params:$.java.util.Map):$.java.util.Map;
            }
            type FileServiceExt_T = FileServiceExt$;
            interface FileServiceExt extends FileServiceExt_T {
            }
        }
        namespace kd.bos.fileservice.preview{
            interface PreviewService_S {
            }
            interface PreviewService_C extends PreviewService_S {
            }
            interface PreviewService$ {
                previewFromCache(fileName:string,path:string,userAgent:string,cacheIn:$.java.io.InputStream):$.java.util.Map;
                preview(fileName:string,path:string,userAgent:string):$.java.util.Map;
                init?(fileService:FileService):void;
                /**
                 * 使用云之家转换文档预览
                 */
                previewWPS(fileName:string,path:string,userAgent:string,config:$.java.util.Map):$.java.util.Map;
                removePreview(id:string):void;
                previewFromCacheWPS(fileName:string,path:string,userAgent:string,cacheIn:$.java.io.InputStream,config:$.java.util.Map):$.java.util.Map;
                deletePreviewWps(path:string,config:$.java.util.Map):void;
                deletePreviewCacheWps(url:string,config:$.java.util.Map):void;
            }
            type PreviewService_T = PreviewService$;
            interface PreviewService extends PreviewService_T {
            }
        }
        namespace kd.bos.filestorage.spi{
            interface FileStorageConfig_S {
            }
            interface FileStorageConfig_C extends FileStorageConfig_S {
                /**
                 * 默认构造方法
                 */
                new():FileStorageConfig;
                /**
                 * 构造方法
                 * @param fileServerHttpUrl 服务地址
                 * @param authUserName      授权用户名
                 * @param authPassword      授权密码
                 * @param container         容器
                 * @param authType          授权方式
                 * @param uploadTimeout     上传超时时间
                 * @param maxUploadSize     上传文件大小限制，单位 B
                 * @param previewCacheEnable    是否开启预览缓存
                 * @param previewUrl        预览链接
                 */
                new(fileServerHttpUrl:string,authUserName:string,authPassword:string,container:string,authType:string,uploadTimeout:number,maxUploadSize:number,previewCacheEnable:boolean,previewUrl:string):FileStorageConfig;
            }
            interface FileStorageConfig$ {
                /**
                 * getter方法 获取是否开启预览缓存
                 * @return 是否开启预览缓存
                 */
                isPreviewCacheEnable():boolean;
                /**
                 * setter方法 设置授权用户名
                 * @param authUserName 授权用户名
                 */
                setAuthUserName(authUserName:string):void;
                /**
                 * setter方法 设置上传超时时间
                 * @param uploadTimeout 上传超时时间
                 */
                setUploadTimeout(uploadTimeout:number):void;
                /**
                 * getter方法 获取授权用户名
                 * @return 授权用户名
                 */
                getAuthUserName():string;
                /**
                 * getter方法 获取授权方式
                 * @return 授权方式
                 */
                getAuthType():string;
                /**
                 * getter方法 获取容器名称
                 * @return 容器名称
                 */
                getContainer():string;
                /**
                 * setter方法 设置容器
                 * @param container 容器名称
                 */
                setContainer(container:string):void;
                /**
                 * getter方法 获取上传文件大小限制
                 * @return 文件大小限制
                 */
                getMaxUploadSize():number;
                /**
                 * setter方法 设置文件服务地址
                 * @param fileServerHttpUrl 文件服务地址
                 */
                setFileServerHttpUrl(fileServerHttpUrl:string):void;
                /**
                 * setter方法 设置上传文件大小限制
                 * @param maxUploadSize 文件大小限制
                 */
                setMaxUploadSize(maxUploadSize:number):void;
                /**
                 * setter方法 设置授权密码
                 * @param authPassword 授权密码
                 */
                setAuthPassword(authPassword:string):void;
                /**
                 * setter方法 设置授权方式
                 * @param authType 授权方式
                 */
                setAuthType(authType:string):void;
                /**
                 * getterge方法 获取文件服务地址
                 * @return 文件服务地址
                 */
                getFileServerHttpUrl():string;
                /**
                 * setter方法 设置是否开启预览缓存
                 * @param previewCacheEnable 是否开启预览缓存
                 */
                setPreviewCacheEnable(previewCacheEnable:boolean):void;
                /**
                 * getter方法 获取授权密码
                 * @return 授权密码
                 */
                getAuthPassword():string;
                /**
                 * gettter方法 获取上传超时时间
                 * @return 上传超时时间
                 */
                getUploadTimeout():number;
            }
            type FileStorageConfig_T = FileStorageConfig$;
            interface FileStorageConfig extends FileStorageConfig_T {
            }
            interface FileStorageService_S {
            }
            type FileStorageService_ST = $.java.io.Closeable & FileStorageService_S;
            interface FileStorageService_C extends FileStorageService_ST {
            }
            interface FileStorageService$ {
                /**
                 * 获取系统禁止存储的文件扩展名黑名单
                 *
                 * @return 小写形式的后缀集合（如["php", "jsp"]），空列表表示无限制
                 */
                getForbiddenExtensions():$.java.util.List;
                /**
                 * 获取文件内容输入流
                 * @param path       文件路径（如"/ierp/1402323749146986496/20230801/finance/report.pdf"）
                 * @param userAgent 客户端标识（部分存储服务用于权限适配）
                 * @return 非空输入流，调用方负责关闭资源
                 */
                getInputStream(path:string,userAgent:string):$.java.io.InputStream;
                /**
                 * 下载文件到输出流
                 * @param path       文件路径（如"/ierp/1402323749146986496/20230801/finance/report.pdf"）
                 * @param out        输出流（通常为ServletResponse流，实现类<b>不关闭</b>该流）
                 * @param userAgent 客户端标识（影响下载策略如文件名编码）
                 */
                download(path:string,out:$.java.io.OutputStream,userAgent:string):void;
                /**
                 * 获取允许存储的文件扩展名白名单
                 *
                 * @return 小写形式的后缀集合（如["pdf", "docx"]），空列表表示未启用白名单机制
                 */
                getAllowExtensions?():$.java.util.List;
                /**
                 * 文件上传核心方法
                 * @param inputStream 输入流（实现类<b>不强制关闭</b>该流，由调用方管理）
                 * @param path        文件存储路径（如"/ierp/1402323749146986496/20230801/finance/report.pdf"）
                 * @param fileName    文件名（需包含后缀，如"report.pdf"）
                 * @param isCreateNewFileWhenExists 冲突解决策略：
                 *                                  true=自动重命名(/ierp/1402323749146986496/20230801/finance/report_1.pdf)，
                 *                                  false=覆盖原文件
                 * @param headers     存储特定元数据，暂未用到
                 * @return 文件最终存储路径，调用方通过返回路径获取上传的文件
                 */
                upload(inputStream:$.java.io.InputStream,path:string,fileName:string,isCreateNewFileWhenExists:boolean,headers:$.java.util.Map):string;
                /**
                 * 注入存储配置元数据
                 * <p>实现类应在本方法内完成客户端初始化（如MinIO Client构建），
                 * 而非在构造函数中，以保证配置动态加载能力
                 * @param fileStorageConfig 存储连接配置
                 */
                setConfig(fileStorageConfig:FileStorageConfig):void;
                /**
                 * 获取存储访问凭证（特定存储协议需要）
                 *
                 * @return 认证字符串，格式与具体实现相关
                 */
                getTicket():string;
                /**
                 *  删除文件
                 *  上层接口定义为物理删除文件，从文件系统中物理删除指定路径的文件，不可恢复，调用时请谨慎操作。
                 * @param path 文件路径（如"/ierp/1402323749146986496/20230801/finance/report.pdf"）
                 */
                delete(path:string):void;
                /**
                 * 获取文件精确大小（单位：字节）
                 * 该方法仅平台内部使用
                 * @see kd.bos.fileservice.FileService#getFileSize(String)
                 * @param path 文件路径（如"/ierp/1402323749146986496/20230801/finance/report.pdf"）
                 * @return 文件大小，返回-1表示该存储不支持大小查询
                 */
                getFileSize?(path:string):long;
                /**
                 * 校验文件是否存在
                 * @param path 文件路径（如"/ierp/1402323749146986496/20230801/finance/report.pdf"）
                 * @return true 仅当文件存在且可访问
                 */
                exists(path:string):boolean;
            }
            type FileStorageService_T = $.java.io.Closeable & FileStorageService$;
            interface FileStorageService extends FileStorageService_T {
            }
        }
        namespace kd.bos.filter{
            interface FilterSchemeUIProxy_S {
            }
            interface FilterSchemeUIProxy_C extends FilterSchemeUIProxy_S {
                /**
                 * 构造方法
                 */
                new():FilterSchemeUIProxy;
                /**
                 * 构造方法
                 *
                 * @param view 视图
                 * @param filterModel 过滤数据模型
                 * @param formId 表单标识
                 * @param invokeMethodControlKey 方法标识
                 * @param fieldCompareTypeMap 比较符集合
                 * @param billFormId 单据标识
                 */
                new(view:kd.bos.form.IFormView,filterModel:$.kd.bos.entity.datamodel.IFilterModel,formId:string,invokeMethodControlKey:string,fieldCompareTypeMap:$.java.util.Map,billFormId:string):FilterSchemeUIProxy;
            }
            interface FilterSchemeUIProxy$ {
            }
            type FilterSchemeUIProxy_T = FilterSchemeUIProxy$;
            interface FilterSchemeUIProxy extends FilterSchemeUIProxy_T {
            }
            interface PinnedConditionCollection_S {
            }
            interface PinnedConditionCollection_C extends PinnedConditionCollection_S {
                /**
                 * 构造函数
                 */
                new():PinnedConditionCollection;
                /**
                 * 构造函数
                 *
                 * @param pinnedConditions 固定信息集合
                 */
                new(pinnedConditions:$.java.util.List):PinnedConditionCollection;
            }
            interface PinnedConditionCollection$ {
            }
            type PinnedConditionCollection_T = PinnedConditionCollection$;
            interface PinnedConditionCollection extends PinnedConditionCollection_T {
            }
            class SchemeCodeType {
                static readonly JSON:kd.bos.filter.SchemeCodeType;
                static readonly BASE64:kd.bos.filter.SchemeCodeType;
                static valueOf(arg0:string):kd.bos.filter.SchemeCodeType;
                static values():kd.bos.filter.SchemeCodeType[];
            }
            interface FilterSchemeService_S {
                /**
                 * 根据传入的过滤方案集合，获取默认过滤方案
                 *
                 * @param filterSchemes 过滤方案集合
                 * @return 默认过滤方案
                 */
                getDefaultSchemeFromAll(filterSchemes:$.java.util.List):$.kd.bos.entity.filter.FilterScheme;
                /**
                 * 创建过滤方案字典
                 *
                 * @param filterScheme 过滤方案
                 * @param isSimple 是否简单
                 * @param schemeCodeType 过滤方案类型
                 * @return 过滤方案字典
                 */
                createSchemeMap(filterScheme:$.kd.bos.entity.filter.FilterScheme,isSimple:boolean,schemeCodeType:SchemeCodeType):$.java.util.Map;
            }
            interface FilterSchemeService_C extends FilterSchemeService_S {
                new():FilterSchemeService;
            }
            interface FilterSchemeService$ {
            }
            type FilterSchemeService_T = FilterSchemeService$;
            interface FilterSchemeService extends FilterSchemeService_T {
            }
            interface PinnedCondition_S {
            }
            interface PinnedCondition_C extends PinnedCondition_S {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段key
                 * @param value
                 *            值
                 */
                new(key:string,value:string):PinnedCondition;
            }
            interface PinnedCondition$ {
            }
            type PinnedCondition_T = PinnedCondition$;
            interface PinnedCondition extends PinnedCondition_T {
            }
            interface ICustomController_S {
            }
            interface ICustomController_C extends ICustomController_S {
            }
            interface ICustomController$ {
                /**
                 * 设置自定义过滤条件
                 * @param para 自定义过滤条件
                 */
                setCustomQFilters?(para:kd.bos.list.ListShowParameter):void;
            }
            type ICustomController_T = ICustomController$;
            interface ICustomController extends ICustomController_T {
            }
            interface FilterContainerFilterValues_S {
                /**
                 * 将序列化的字符串反序列化为QingCachedFormParameter对象
                 *
                 * @param serializeString
                 * @return
                 */
                deSerialize(serializeString:string):FilterContainerFilterValues;
            }
            interface FilterContainerFilterValues_C extends FilterContainerFilterValues_S {
                /**
                 * 构造函数
                 */
                new():FilterContainerFilterValues;
                /**
                 * 构造函数
                 *
                 * @param fastFilterValues
                 *            快速过滤字段值
                 * @param otherFilterValues
                 *            常用/方案字段默认值
                 */
                new(fastFilterValues:$.kd.bos.entity.filter.FilterKeyValueCollections,otherFilterValues:$.kd.bos.entity.filter.FilterKeyValueCollections):FilterContainerFilterValues;
                /**
                 * 构造函数
                 *
                 * @param fastFilter
                 *            快速过滤字段值
                 * @param filterKey
                 *            common/scheme 固定值
                 * @param filter
                 *            常用/方案字段默认值
                 * @param entryEntity
                 *            查询实体范围
                 */
                new(fastFilter:$.java.util.List,filterKey:string,filter:$.java.util.List,entryEntity:string):FilterContainerFilterValues;
            }
            interface FilterContainerFilterValues$ {
                /**
                 * 设置常用/方案字段默认值
                 *
                 * @param otherFilterValues
                 */
                setOtherFilterValues(otherFilterValues:$.kd.bos.entity.filter.FilterKeyValueCollections):void;
                /**
                 * 设置实体查询范围
                 *
                 * @param entryEntity
                 */
                setEntryEntity(entryEntity:string):void;
                /**
                 * 内容是否为空
                 *
                 * @return
                 */
                isEmpty():boolean;
                /**
                 * 创建过滤集合
                 *
                 * @return
                 */
                createMapFilterValues():$.java.util.Map;
                /**
                 * @return 将此类实例进行序列化
                 */
                serialize():string;
                /**
                 * 快速过滤字段值
                 *
                 * @return
                 */
                getFastFilterValues():$.kd.bos.entity.filter.FilterKeyValueCollections;
                /**
                 * 获取实体查询范围
                 *
                 * @return
                 */
                getEntryEntity():string;
                /**
                 * 设置快速过滤字段值
                 *
                 * @param fastFilterValues
                 */
                setFastFilterValues(fastFilterValues:$.kd.bos.entity.filter.FilterKeyValueCollections):void;
                /**
                 * 常用/方案过滤字段默认值
                 *
                 * @return
                 */
                getOtherFilterValues():$.kd.bos.entity.filter.FilterKeyValueCollections;
            }
            type FilterContainerFilterValues_T = FilterContainerFilterValues$;
            interface FilterContainerFilterValues extends FilterContainerFilterValues_T {
            }
            interface CustomOrgSchemeFilterColumn_S {
            }
            type CustomOrgSchemeFilterColumn_ST = CustomBaseDataSchemeFilterColumn_S & CustomOrgSchemeFilterColumn_S;
            interface CustomOrgSchemeFilterColumn_C extends CustomOrgSchemeFilterColumn_ST {
                new():CustomOrgSchemeFilterColumn;
            }
            interface CustomOrgSchemeFilterColumn$ {
                /**
                 * 设置是否主业务组织
                 *
                 * @param isMainOrg 是否主业务组织
                 */
                setMainOrg(isMainOrg:boolean):void;
                /**
                 * 设置组织职能
                 *
                 * @param orgFunc 组织职能
                 */
                setOrgFunc(orgFunc:string):void;
                /**
                 * 是否主业务组织
                 *
                 * @return 是否主业务组织
                 */
                isMainOrg():boolean;
                /**
                 * 获取组织职能
                 *
                 * @return 组织职能
                 */
                getOrgFunc():string;
            }
            type CustomOrgSchemeFilterColumn_T = CustomBaseDataSchemeFilterColumn & CustomOrgSchemeFilterColumn$;
            interface CustomOrgSchemeFilterColumn extends CustomOrgSchemeFilterColumn_T {
            }
            interface CustomBaseDataFilterColumn_S {
            }
            type CustomBaseDataFilterColumn_ST = CommonFilterColumn_S & CustomBaseDataFilterColumn_S;
            interface CustomBaseDataFilterColumn_C extends CustomBaseDataFilterColumn_ST {
                new():CustomBaseDataFilterColumn;
            }
            interface CustomBaseDataFilterColumn$ {
                /**
                 * 设置字段上的“过滤条件”属性
                 *
                 * @param filter
                 *            “过滤条件”属性
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 获取显示字段属性名
                 *
                 * @return 显示字段属性名
                 */
                getDisplayProp():string;
                /**
                 * 设置显示字段属性名
                 *
                 * @param displayProp
                 *            显示字段属性名
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 获取字段上的“过滤条件”属性
                 *
                 * @return 字段上的“过滤条件”属性
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 设置字段绑定的基础资料实体标识
                 *
                 * @param baseEntityId
                 *            基础资料实体标识
                 */
                setBaseEntityId(baseEntityId:string):void;
                /**
                 * 获取字段绑定的基础资料实体标识
                 *
                 * @return 字段绑定的基础资料实体标识
                 */
                getBaseEntityId():string;
            }
            type CustomBaseDataFilterColumn_T = CommonFilterColumn & CustomBaseDataFilterColumn$;
            interface CustomBaseDataFilterColumn extends CustomBaseDataFilterColumn_T {
            }
            interface CommonCheckBoxFilterColumn_S {
            }
            type CommonCheckBoxFilterColumn_ST = CommonCheckBoxFilterColumn_S & CommonFilterColumn_S;
            interface CommonCheckBoxFilterColumn_C extends CommonCheckBoxFilterColumn_ST {
                /**
                 * 构造函数
                 */
                new():CommonCheckBoxFilterColumn;
                /**
                 * 构造函数
                 *
                 * @param fieldName
                 *            字段名
                 */
                new(fieldName:string):CommonCheckBoxFilterColumn;
            }
            interface CommonCheckBoxFilterColumn$ {
            }
            type CommonCheckBoxFilterColumn_T = CommonCheckBoxFilterColumn$ & CommonFilterColumn;
            interface CommonCheckBoxFilterColumn extends CommonCheckBoxFilterColumn_T {
            }
            interface SchemeFilterColumn_S {
            }
            type SchemeFilterColumn_ST = FilterColumn_S & SchemeFilterColumn_S;
            interface SchemeFilterColumn_C extends SchemeFilterColumn_ST {
                /**
                 * 构造函数
                 */
                new():SchemeFilterColumn;
                /**
                 * 构造函数
                 *
                 * @param fieldName 字段标识
                 */
                new(fieldName:string):SchemeFilterColumn;
            }
            interface SchemeFilterColumn$ {
                /**
                 * 设置下拉列表类型方案值
                 *
                 * @param comboItems 下拉列表类型方案值
                 */
                setComboItems(comboItems:$.java.util.List):void;
                /**
                 * 设置为必录
                 *
                 * @param value 必录值
                 */
                setMustInput(value:boolean):void;
                /**
                 * 获取下拉列表类型选项值
                 *
                 * @return 下拉列表类型选项值
                 */
                getComboItems():$.java.util.List;
                /**
                 * 获取默认的比较符
                 *
                 * @return 默认的比较符
                 */
                getDefaultCompareType():string;
                /**
                 * 返回是否必须录入，如果为非0，表示必须录入
                 *
                 * @return 是否必须录入
                 */
                isMustInput():boolean;
            }
            type SchemeFilterColumn_T = FilterColumn & SchemeFilterColumn$;
            interface SchemeFilterColumn extends SchemeFilterColumn_T {
            }
            interface IFilterGridView_S {
            }
            interface IFilterGridView_C extends IFilterGridView_S {
            }
            interface IFilterGridView$ {
                /**
                 * 根据设计器的配置初始化过滤控件默认值
                 */
                initDefaultValues():void;
                /**
                 * @return 获取元数据标识
                 */
                getClientKey():string;
                /**
                 * @return 获取所有字段过滤控件
                 */
                getFilterColumns():$.java.util.List;
            }
            type IFilterGridView_T = IFilterGridView$;
            interface IFilterGridView extends IFilterGridView_T {
            }
            interface CustomBaseDataSchemeFilterColumn_S {
            }
            type CustomBaseDataSchemeFilterColumn_ST = CustomBaseDataSchemeFilterColumn_S & SchemeFilterColumn_S;
            interface CustomBaseDataSchemeFilterColumn_C extends CustomBaseDataSchemeFilterColumn_ST {
                new():CustomBaseDataSchemeFilterColumn;
            }
            interface CustomBaseDataSchemeFilterColumn$ {
                /**
                 * 设置字段名是否为空
                 *
                 * @param isFieldNameEmpty 是否为空
                 */
                setFieldNameEmpty(isFieldNameEmpty:boolean):void;
                /**
                 * 设置显示字段属性名
                 *
                 * @param displayProp 显示字段属性名
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 设置字段上的“过滤条件”属性
                 *
                 * @param filter 字段上的“过滤条件”属性
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 字段名是否为空
                 *
                 * @return 是否为空
                 */
                isFieldNameEmpty():boolean;
                /**
                 * 设置字段绑定的基础资料实体标识
                 *
                 * @param baseEntityId 字段绑定的基础资料实体标识
                 */
                setBaseEntityId(baseEntityId:string):void;
                /**
                 * 获取字段绑定的基础资料实体标识
                 *
                 * @return 字段绑定的基础资料实体标识
                 */
                getBaseEntityId():string;
                /**
                 * 获取显示字段属性名
                 *
                 * @return 显示字段属性名
                 */
                getDisplayProp():string;
                /**
                 * 获取字段上的“过滤条件”属性
                 *
                 * @return 字段上的“过滤条件”属性
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
            }
            type CustomBaseDataSchemeFilterColumn_T = CustomBaseDataSchemeFilterColumn$ & SchemeFilterColumn;
            interface CustomBaseDataSchemeFilterColumn extends CustomBaseDataSchemeFilterColumn_T {
            }
            interface CommonFilterColumn_S {
            }
            type CommonFilterColumn_ST = CommonFilterColumn_S & FilterColumn_S;
            interface CommonFilterColumn_C extends CommonFilterColumn_ST {
                /**
                 * 构造函数
                 */
                new():CommonFilterColumn;
                /**
                 * 构造函数
                 *
                 * @param fieldName
                 *            字段名
                 */
                new(fieldName:string):CommonFilterColumn;
            }
            interface CommonFilterColumn$ {
                /**
                 * 返回是否多选
                 *
                 * @return 是否多选
                 */
                isMulti():boolean;
                /**
                 * 获取设置过滤条件监听
                 *
                 * @return 设置过滤条件监听
                 */
                getSetFilterListeners():$.java.util.List;
                /**
                 * 设置设置过滤过滤条件监听
                 *
                 * @param setFilterListeners
                 *            设置过滤条件监听
                 */
                setSetFilterListeners(setFilterListeners:$.java.util.List):void;
                /**
                 * 添加设置过滤监听
                 *
                 * @param setFilterListener
                 *            设置过滤监听
                 */
                addSetFilterListeners(consumer:(t:any)=>void):void;
                /**
                 * 返回是否必须录入，如果为非0，表示必须录入
                 *
                 * @return 是否必须录入
                 */
                isMustInput():boolean;
                /**
                 * 字段是否能移除
                 *
                 * @return 是否能移除
                 */
                isCanRemove():boolean;
                /**
                 * 设置是否多选
                 *
                 * @param isMulti
                 *            是否多选
                 */
                setMulti(isMulti:boolean):void;
                /**
                 * 设置为必录
                 *
                 * @param value
                 *            必录值
                 */
                setMustInput(value:boolean):void;
                /**
                 * 给过滤字段设置常量默认值，与CompareTypeEnum配合使用
                 *
                 * @param defaultValue
                 *            常量默认值
                 */
                setConstantDefaultValue(defaultValue:any):void;
                /**
                 * 设置下拉选项值
                 *
                 * @param comboItems
                 *            下拉选项值
                 */
                setComboItems(comboItems:$.java.util.List):void;
                /**
                 * 设置字段是否能移除
                 *
                 * @param canRemove
                 *            是否能移除
                 */
                setCanRemove(canRemove:boolean):void;
            }
            type CommonFilterColumn_T = CommonFilterColumn$ & FilterColumn;
            interface CommonFilterColumn extends CommonFilterColumn_T {
            }
            interface CommonCheckBoxGroupFilterColumn_S {
            }
            type CommonCheckBoxGroupFilterColumn_ST = CommonCheckBoxGroupFilterColumn_S & CommonFilterColumn_S;
            interface CommonCheckBoxGroupFilterColumn_C extends CommonCheckBoxGroupFilterColumn_ST {
                new():CommonCheckBoxGroupFilterColumn;
            }
            interface CommonCheckBoxGroupFilterColumn$ {
            }
            type CommonCheckBoxGroupFilterColumn_T = CommonCheckBoxGroupFilterColumn$ & CommonFilterColumn;
            interface CommonCheckBoxGroupFilterColumn extends CommonCheckBoxGroupFilterColumn_T {
            }
            interface SchemeFilterView_S {
            }
            type SchemeFilterView_ST = AbstractFilterGridView_S & SchemeFilterView_S;
            interface SchemeFilterView_C extends SchemeFilterView_ST {
                new():SchemeFilterView;
            }
            interface SchemeFilterView$ {
            }
            type SchemeFilterView_T = AbstractFilterGridView & SchemeFilterView$;
            interface SchemeFilterView extends SchemeFilterView_T {
            }
            interface AbstractFilterGridView_S {
            }
            type AbstractFilterGridView_ST = $.kd.bos.form.container.Container & AbstractFilterGridView_S & IFilterGridView_S;
            interface AbstractFilterGridView_C extends AbstractFilterGridView_ST {
                new():AbstractFilterGridView;
            }
            interface AbstractFilterGridView$ {
                /**
                 * 获取实体信息
                 *
                 * @return 实体信息
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 获取设置过滤监听
                 *
                 * @return 设置过滤监听
                 */
                getSetFilterListeners():$.java.util.List;
                /**
                 * 查看可见性
                 * @return 可见性
                 */
                getVisible():number;
                /**
                 * 获取控件上下文
                 *
                 * @return 控件上下文
                 */
                getContext():kd.bos.list.ControlContext;
                /**
                 * 添加设置过滤监听
                 *
                 * @param setFilterListener 设置过滤监听
                 */
                addSetFilterListeners(consumer:(t:any)=>void):void;
                /**
                 * 设置设置过滤监听
                 *
                 * @param setFilterListeners 设置过滤监听
                 */
                setSetFilterListeners(setFilterListeners:$.java.util.List):void;
            }
            type AbstractFilterGridView_T = $.kd.bos.form.container.Container & AbstractFilterGridView$ & IFilterGridView;
            interface AbstractFilterGridView extends AbstractFilterGridView_T {
            }
            interface CompareTypeField_S {
            }
            type CompareTypeField_ST = $.java.io.Serializable & CompareTypeField_S;
            interface CompareTypeField_C extends CompareTypeField_ST {
                new():CompareTypeField;
                new(id:string,fieldNames:string):CompareTypeField;
            }
            interface CompareTypeField$ {
                getId():string;
                getFieldNames():string;
                setFieldNames(fieldNames:string):void;
                setId(id:string):void;
            }
            type CompareTypeField_T = $.java.io.Serializable & CompareTypeField$;
            interface CompareTypeField extends CompareTypeField_T {
            }
            interface FilterModel_S {
            }
            type FilterModel_ST = $.kd.bos.entity.datamodel.IFilterModel & FilterModel_S;
            interface FilterModel_C extends FilterModel_ST {
                /**
                 * 构造方法
                 */
                new():FilterModel;
            }
            interface FilterModel$ {
            }
            type FilterModel_T = $.kd.bos.entity.datamodel.IFilterModel & FilterModel$;
            interface FilterModel extends FilterModel_T {
            }
            interface CommonDateFilterColumn_S {
            }
            type CommonDateFilterColumn_ST = CommonDateFilterColumn_S & CommonFilterColumn_S;
            interface CommonDateFilterColumn_C extends CommonDateFilterColumn_ST {
                /**
                 * 构造函数
                 */
                new():CommonDateFilterColumn;
                /**
                 * 构造函数
                 *
                 * @param fieldName 字段名
                 */
                new(fieldName:string):CommonDateFilterColumn;
            }
            interface CommonDateFilterColumn$ {
                /**
                 * 设置自定义筛选维度
                 * @param selectDimension
                 */
                setSelectDimension(selectDimension:string):void;
            }
            type CommonDateFilterColumn_T = CommonDateFilterColumn$ & CommonFilterColumn;
            interface CommonDateFilterColumn extends CommonDateFilterColumn_T {
            }
            interface DependField_S {
            }
            interface DependField_C extends DependField_S {
                /**
                 * 构造函数
                 */
                new():DependField;
                /**
                 * 构造函数
                 *
                 * @param fieldName
                 *            依赖字段名
                 * @param dependFieldName
                 *            被依赖字段名
                 * @param joinPropertyName
                 *            被依赖字段与依赖字段的关系字段，一般在被依赖字段上
                 */
                new(fieldName:string,dependFieldName:string,joinPropertyName:string):DependField;
            }
            interface DependField$ {
                /**
                 * 获取被依赖字段与依赖字段的关系字段
                 *
                 * @return 被依赖字段与依赖字段的关系字段
                 */
                getJoinPropertyName():string;
                /**
                 * 设置依赖字段名
                 *
                 * @param fieldName 依赖字段名
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 设置被依赖字段名
                 *
                 * @param dependFieldName 被依赖字段名
                 */
                setDependFieldName(dependFieldName:string):void;
                /**
                 * 获取依赖字段名
                 *
                 * @return 依赖字段名
                 */
                getFieldName():string;
                /**
                 * 设置被依赖字段与依赖字段的关系字段
                 *
                 * @param joinPropertyName 被依赖字段与依赖字段的关系字段
                 */
                setJoinPropertyName(joinPropertyName:string):void;
                /**
                 * 获取被依赖字段名
                 *
                 * @return 被依赖字段名
                 */
                getDependFieldName():string;
            }
            type DependField_T = DependField$;
            interface DependField extends DependField_T {
            }
            interface FilterColumn_S {
            }
            type FilterColumn_ST = $.kd.bos.form.container.Container & FilterColumn_S;
            interface FilterColumn_C extends FilterColumn_ST {
                /**
                 * 构造方法：无参
                 */
                new():FilterColumn;
                /**
                 * 构造函数
                 *
                 * @param fieldName
                 *            字段标识
                 */
                new(fieldName:string):FilterColumn;
            }
            interface FilterColumn$ {
                /**
                 * 设置列表上下文
                 *
                 * @param context 列表上下文
                 */
                setContext(context:kd.bos.list.ControlContext):void;
                /**
                 * 设置单据实体
                 *
                 * @param entryEntity
                 *            单据实体
                 */
                setEntryEntity(entryEntity:string):void;
                /**
                 * 设置父视图标识
                 *
                 * @param parentViewKey 父视图标识
                 */
                setParentViewKey(parentViewKey:string):void;
                /**
                 * 设置默认值
                 *
                 * @param value 默认值
                 */
                setDefaultValue(value:string):void;
                /**
                 * 获取字段标识映射
                 *
                 * @return 字段标识映射
                 */
                getFieldName():string;
                /**
                 * 获取过滤字段内部嵌套的过滤字段
                 *
                 * @return 过滤字段
                 */
                getFilterColumns():$.java.util.List;
                /**
                 * 获取字段标题
                 *
                 * @return 字段标题
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取单据实体
                 *
                 * @return 单据实体
                 */
                getEntryEntity():string;
                /**
                 * 获取父视图标识
                 *
                 * @return 父视图标识
                 */
                getParentViewKey():string;
                /**
                 * 设置默认值（多个）
                 *
                 * @param defaultValues 默认值集合
                 */
                setDefaultValues(defaultValues:$.java.util.List):void;
                /**
                 * 获取列表上下文
                 *
                 * @return 列表上下文
                 */
                getContext():kd.bos.list.ControlContext;
                /**
                 * 设置是否实体字段
                 *
                 * @param isEntityField 是否实体字段
                 */
                setEntityField(isEntityField:boolean):void;
                /**
                 * 星辰改造，需要公开该方法
                 * @return 字段名
                 */
                getFilterFieldName():string;
                /**
                 * 获取默认值
                 *
                 * @return 默认值
                 */
                getDefaultValues():$.java.util.List;
                /**
                 * 获取控件类型，通用过滤报表使用,text,data,enum,basedata,org,user等
                 *
                 * @return 控件类型
                 */
                getType():string;
                /**
                 * 设置字段标识映射
                 *
                 * @param fieldName  字段标识映射
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取是否实体字段
                 *
                 * @return 是否实体字段
                 */
                isEntityField():boolean;
                /**
                 * 设置字段标题
                 *
                 * @param caption 字段标题
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置控件类型，报表使用
                 *
                 * @param type 控件类型
                 */
                setType(type_arg:string):void;
                /**
                 * 设置默认值（多个）
                 *
                 * @param defaultValues 默认值（可多个参数）
                 */
                setDefaultValues(...defaultValues:any[]):void;
                /**
                 * 设置实体类型
                 *
                 * @param entityType 实体类型
                 */
                setEntityType(entityType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 获取实体类型
                 *
                 * @return 实体类型
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
            }
            type FilterColumn_T = $.kd.bos.form.container.Container & FilterColumn$;
            interface FilterColumn extends FilterColumn_T {
            }
            interface CompareTypeConfig_S {
            }
            interface CompareTypeConfig_C extends CompareTypeConfig_S {
                new():CompareTypeConfig;
            }
            interface CompareTypeConfig$ {
                addCompareTypeField(compareTypeField:CompareTypeField):void;
                getCompareTypeFields():$.java.util.List;
                setCompareTypeFields(compareTypeFields:$.java.util.List):void;
            }
            type CompareTypeConfig_T = CompareTypeConfig$;
            interface CompareTypeConfig extends CompareTypeConfig_T {
            }
            interface SchemeBaseDataFilterColumn_S {
            }
            type SchemeBaseDataFilterColumn_ST = SchemeBaseDataFilterColumn_S & SchemeFilterColumn_S;
            interface SchemeBaseDataFilterColumn_C extends SchemeBaseDataFilterColumn_ST {
                new():SchemeBaseDataFilterColumn;
            }
            interface SchemeBaseDataFilterColumn$ {
                /**
                 * 设置依赖字段
                 *
                 * @param dependField 依赖字段
                 */
                setDependField(dependField:DependField):void;
                /**
                 * 获取字段上的“过滤条件”属性
                 *
                 * @return 字段上的“过滤条件”属性
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 获取依赖字段
                 *
                 * @return 依赖字段
                 */
                getDependField():DependField;
                /**
                 * 设置字段上的“过滤条件”属性
                 *
                 * @param filter 字段上的“过滤条件”属性
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
            }
            type SchemeBaseDataFilterColumn_T = SchemeBaseDataFilterColumn$ & SchemeFilterColumn;
            interface SchemeBaseDataFilterColumn extends SchemeBaseDataFilterColumn_T {
            }
            interface FastSearchGridView_S {
            }
            type FastSearchGridView_ST = AbstractFilterGridView_S & FastSearchGridView_S;
            interface FastSearchGridView_C extends FastSearchGridView_ST {
                new():FastSearchGridView;
            }
            interface FastSearchGridView$ {
            }
            type FastSearchGridView_T = AbstractFilterGridView & FastSearchGridView$;
            interface FastSearchGridView extends FastSearchGridView_T {
            }
            interface IFilterControlCache_S {
            }
            interface IFilterControlCache_C extends IFilterControlCache_S {
            }
            interface IFilterControlCache$ {
                setCachedFilterValues(cachedFilterValues:$.kd.bos.filter.FilterContainerFilterValues):void;
            }
            type IFilterControlCache_T = IFilterControlCache$;
            interface IFilterControlCache extends IFilterControlCache_T {
            }
            interface CustomOrgFilterColumn_S {
            }
            type CustomOrgFilterColumn_ST = CustomBaseDataFilterColumn_S & CustomOrgFilterColumn_S;
            interface CustomOrgFilterColumn_C extends CustomOrgFilterColumn_ST {
                new():CustomOrgFilterColumn;
            }
            interface CustomOrgFilterColumn$ {
                /**
                 * 设置组织职能
                 *
                 * @param orgFunc 组织职能
                 */
                setOrgFunc(orgFunc:string):void;
                /**
                 * 是否主业务组织
                 *
                 * @return 是否主业务组织
                 */
                isMainOrg():boolean;
                /**
                 * 获取组织职能
                 *
                 * @return 组织职能
                 */
                getOrgFunc():string;
                /**
                 * 设置是否主业务组织
                 *
                 * @param isMainOrg 是否主业务组织
                 */
                setMainOrg(isMainOrg:boolean):void;
            }
            type CustomOrgFilterColumn_T = CustomBaseDataFilterColumn & CustomOrgFilterColumn$;
            interface CustomOrgFilterColumn extends CustomOrgFilterColumn_T {
            }
            interface FilterContainer_S {
            }
            type FilterContainer_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.container.Container & FilterContainer_S & IFilterControlCache_S & kd.bos.list.ITemplateControl_S;
            interface FilterContainer_C extends FilterContainer_ST {
                new():FilterContainer;
            }
            interface FilterContainer$ {
                /**
                 * 方案过滤查询
                 *
                 * @param fastFilter  快速过滤条件
                 * @param filter      过滤条件
                 * @param andFilter   二次过滤条件
                 * @param entryEntity 单据实体
                 */
                schemeSearch(fastFilter:$.java.util.List,filter:$.java.util.List,entryEntity:string,andFilter:$.java.util.List):void;
                /**
                 * 获取实体类型
                 *
                 * @return 实体类型
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 设置过滤容器标题
                 *
                 * @param title 标题
                 */
                updateTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 重绘过滤字段信息
                 */
                setColumns():void;
                /**
                 * 放置联查PK集合
                 *
                 * @param linkQueryPkIdCollection
                 *            联查PK集合
                 */
                putLinkQueryPkIdCollection(linkQueryPkIdCollection:$.kd.bos.list.LinkQueryPkIdCollection):void;
                /**
                 * 过滤条件展开收起，与前端对接接口
                 *
                 * @param isExpand 是否展开过滤条件
                 */
                expand(isExpand:boolean):void;
                /**
                 * 添加过滤搜索条件解析后的触发事件，列表视图监听了此方法
                 *
                 * @param listener
                 *            过滤搜索条件解析后的触发事件
                 */
                addAfterSearchClickListener(listener:$.kd.bos.form.control.events.AfterSearchClickListener):void;
                /**
                 * 获取联查描述
                 *
                 * @return 联查描述
                 */
                getLinkQueryDescription():string;
                /**
                 * 获取联查PK集合
                 *
                 * @return 联查PK集合
                 */
                getLinkQueryPkIdCollection():$.kd.bos.list.LinkQueryPkIdCollection;
                /**
                 * 设置F7跳转过来的快速搜索过滤字段值集合
                 *
                 * @param searchValueMap
                 *            快速搜索过滤字段值集合
                 */
                setSearchValueMap(searchValueMap:$.java.util.Map):void;
                /**
                 * 设置列表过滤模型类
                 *
                 * @param filterModelClassName
                 *            类名
                 */
                setFilterModelClassName(filterModelClassName:string):void;
                /**
                 * 获取过滤条件缓存值
                 *
                 * @return 过滤条件缓存值
                 */
                getCachedFilterValues():$.kd.bos.filter.FilterContainerFilterValues;
                /**
                 * 添加基础资料过滤字段的添加过滤和排序监听
                 *
                 * @param setFilterListener
                 *            基础资料过滤字段的添加过滤和排序监听
                 */
                addSetFilterListeners(consumer:(t:any)=>void):void;
                /**
                 * 添加到查找监听列表
                 *
                 * @param listener
                 *            监听器
                 */
                addSearchClickListener(listener:$.kd.bos.form.control.events.SearchClickListener):void;
                /**
                 * 添加BeforeF7事件监听器
                 * @param listener
                 */
                addBeforeF7SelectListener(listener:$.kd.bos.form.field.events.BeforeFilterF7SelectListener):void;
                /**
                 * 获取是否需要分享方案功能
                 *
                 * @return 是否需要
                 */
                isNeedShareScheme():boolean;
                /**
                 * 获取过滤方案ID
                 *
                 * @return 过滤方案ID
                 */
                getSchemeId():string;
                /**
                 * 设置标题
                 *
                 * @param title
                 *            标题
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 添加到过滤容器初始化监听列表
                 *
                 * @param listener
                 *            监听器
                 */
                addBaseDataColumnDependFieldSetListener(listener:kd.bos.form.control.events.BaseDataColumnDependFieldSetListener):void;
                /**
                 * 方案过滤字段基础资料模糊查询接口
                 *
                 * @param entityId 实体标识
                 * @param fieldName 字段标识
                 * @param searchKey 搜索内容
                 * @param filters 过滤条件
                 */
                getSchemeBaseDataItems(entityId:string,fieldName:string,searchKey:string,filters:$.java.util.List):void;
                /**
                 * 用户设置联查描述，AI使用，用于显示用户能看懂的联查条件
                 *
                 * @param linkQueryDescription
                 *            联查描述
                 */
                setLinkQueryDescription(linkQueryDescription:string):void;
                /**
                 * 添加绑定数据之后事件
                 *
                 * @param listener
                 *            绑定数据之后事件
                 */
                addAfterBindDataListener(listener:$.kd.bos.form.events.AfterBindDataListener):void;
                /**
                 * 添加绑定数据之前事件
                 *
                 * @param listener
                 *            绑定数据之前事件
                 */
                addBeforeBindDataListener(listener:$.kd.bos.form.events.BeforeBindDataListener):void;
                /**
                 * 添加新旧版切换监听事件
                 *
                 * @param listener
                 *            监听器
                 */
                addSwitchModeListener(listener:kd.bos.form.control.events.SwitchModeListener):void;
                /**
                 * 添加关闭常用过滤基础资料模糊查询事件
                 *
                 * @param listener
                 *            关闭常用过滤基础资料模糊查询事件
                 */
                addSetFilterContainerBaseDataSearchClosedListener(listener:kd.bos.filter.events.SetFilterContainerBaseDataSearchClosedListener):void;
                /**
                 * 获取过滤容器绑定的布局或者实体
                 *
                 * @return 过滤容器绑定的布局或者实体
                 */
                getBillFormId():string;
                /**
                 * 获取二次过滤的条件
                 *
                 * @return 二次过滤的条件
                 */
                getAndFilter():$.java.util.List;
                /**
                 * 方案过滤查询
                 *
                 * @param fastFilter  快速过滤条件
                 * @param filter      过滤条件
                 * @param entryEntity 单据实体
                 */
                schemeSearch(fastFilter:$.java.util.List,filter:$.java.util.List,entryEntity:string):void;
                /**
                 * 外部设置过滤容器实体数据
                 *
                 * @param entityType
                 *            过滤容器实体数据
                 */
                setEntityType(entityType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 获取基础资料过滤字段的添加过滤和排序监听
                 *
                 * @return 基础资料过滤字段的添加过滤和排序监听
                 */
                getSetFilterListeners():$.java.util.List;
                /**
                 * 获取列表过滤模型类
                 *
                 * @return 类名
                 */
                getFilterModelClassName():string;
                /**
                 * 跟前端交互接口，不对外使用
                 *
                 * @param schemeFilterConfig 方案过滤设置
                 */
                setSchemeFilterConfig(schemeFilterConfig:$.java.util.Map):void;
                /**
                 * 添加到过滤容器初始化监听列表
                 *
                 * @param listener
                 *            监听器
                 */
                addFilterContainerInitListener(listener:kd.bos.form.control.events.FilterContainerInitListener):void;
                /**
                 * 设置基础资料过滤字段的添加过滤和排序监听,目前估计没有用到，单独使用过滤容器开发较少
                 *
                 * @param setFilterListeners
                 *            基础资料过滤字段的添加过滤和排序监听
                 */
                setSetFilterListeners(setFilterListeners:$.java.util.List):void;
                /**
                 * 获取F7跳转过来的快速搜索过滤字段值集合
                 *
                 * @return 快速搜索过滤字段值集合
                 */
                getSearchValueMap():$.java.util.Map;
                /**
                 * 设置过滤方案ID
                 *
                 * @param schemeId
                 *            过滤方案ID
                 */
                setSchemeId(schemeId:string):void;
                /**
                 * 获取标题
                 *
                 * @return 标题
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 添加支持OR查询监听器
                 *
                 * @param listener
                 */
                addExpandListener(listener:kd.bos.filter.events.ExpandListener):void;
                /**
                 * 注册列表方案校验监听器
                 *
                 * @param schemeValidateListener 校验监听器
                 */
                addSchemeValidateListener(schemeValidateListener:$.kd.bos.form.control.events.filter.SchemeValidateListener):void;
                /**
                 * 向前端发送需要钉住的过滤条件
                 *
                 * @param pinnedConditionCollection
                 *            需要钉住的过滤条件集合
                 */
                setPinnedCondition(pinnedConditionCollection:$.kd.bos.filter.PinnedConditionCollection):void;
                /**
                 * 设置是否需要分享方案功能
                 *
                 * @param isNeedShareScheme
                 *            是否需要
                 */
                setNeedShareScheme(isNeedShareScheme:boolean):void;
                /**
                 * 添加支持OR查询监听器
                 *
                 * @param listener
                 */
                addQueryByOrListener(listener:kd.bos.filter.events.CloseQueryByOrListener):void;
            }
            type FilterContainer_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.container.Container & FilterContainer$ & IFilterControlCache & kd.bos.list.ITemplateControl;
            interface FilterContainer extends FilterContainer_T {
            }
            interface FilterGridView_S {
            }
            type FilterGridView_ST = AbstractFilterGridView_S & FilterGridView_S;
            interface FilterGridView_C extends FilterGridView_ST {
                new():FilterGridView;
            }
            interface FilterGridView$ {
                /**
                 * 是否新版过滤
                 *
                 * @return
                 */
                isNewFilter():boolean;
                /**
                 * 初始化过滤字段
                 *
                 * @param filterColumn 过滤字段
                 */
                initFilterColumn(filterColumn:FilterColumn):void;
                /**
                 * 设置初始字段
                 *
                 * @param defaultHiddenFields
                 */
                setDefaultHiddenFields(defaultHiddenFields:$.java.util.List):void;
                /**
                 * 设置是否新版过滤
                 *
                 * @param isNewFilter
                 */
                setNewFilter(isNewFilter:boolean):void;
                /**
                 * 获取初始字段
                 *
                 * @return
                 */
                getDefaultHiddenFields():$.java.util.List;
            }
            type FilterGridView_T = AbstractFilterGridView & FilterGridView$;
            interface FilterGridView extends FilterGridView_T {
            }
            interface CustomNumberFilterColumn_S {
            }
            type CustomNumberFilterColumn_ST = CustomNumberFilterColumn_S & SchemeFilterColumn_S;
            interface CustomNumberFilterColumn_C extends CustomNumberFilterColumn_ST {
                new():CustomNumberFilterColumn;
            }
            interface CustomNumberFilterColumn$ {
            }
            type CustomNumberFilterColumn_T = CustomNumberFilterColumn$ & SchemeFilterColumn;
            interface CustomNumberFilterColumn extends CustomNumberFilterColumn_T {
            }
            interface CommonBaseDataFilterColumn_S {
            }
            type CommonBaseDataFilterColumn_ST = CommonBaseDataFilterColumn_S & CommonFilterColumn_S;
            interface CommonBaseDataFilterColumn_C extends CommonBaseDataFilterColumn_ST {
                new():CommonBaseDataFilterColumn;
            }
            interface CommonBaseDataFilterColumn$ {
                /**
                 * 获取过滤条件设置
                 *
                 * @return 过滤条件设置
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 设置过滤条件元数据
                 *
                 * @param filter 过滤条件元数据
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 获取依赖字段
                 *
                 * @return 依赖字段
                 */
                getDependField():DependField;
                /**
                 * 设置依赖字段
                 *
                 * @param dependField 依赖字段
                 */
                setDependField(dependField:DependField):void;
            }
            type CommonBaseDataFilterColumn_T = CommonBaseDataFilterColumn$ & CommonFilterColumn;
            interface CommonBaseDataFilterColumn extends CommonBaseDataFilterColumn_T {
            }
        }
        namespace kd.bos.filter.events{
            interface SetFilterContainerBaseDataSearchClosedEvent_S {
            }
            type SetFilterContainerBaseDataSearchClosedEvent_ST = $.java.util.EventObject & SetFilterContainerBaseDataSearchClosedEvent_S;
            interface SetFilterContainerBaseDataSearchClosedEvent_C extends SetFilterContainerBaseDataSearchClosedEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件来源
                 */
                new(source:any):SetFilterContainerBaseDataSearchClosedEvent;
            }
            interface SetFilterContainerBaseDataSearchClosedEvent$ {
                /**
                 * 添加需要关闭的基础资料模糊查询字段标识
                 *
                 * @param fieldName
                 */
                addFieldName(fieldName:string):void;
                /**
                 * 需要关闭的基础资料模糊查询字段标识集合
                 *
                 * @return
                 */
                getFieldNames():$.java.util.Collection;
            }
            type SetFilterContainerBaseDataSearchClosedEvent_T = $.java.util.EventObject & SetFilterContainerBaseDataSearchClosedEvent$;
            interface SetFilterContainerBaseDataSearchClosedEvent extends SetFilterContainerBaseDataSearchClosedEvent_T {
            }
            interface SetFilterContainerBaseDataSearchClosedListener_S {
            }
            interface SetFilterContainerBaseDataSearchClosedListener_C extends SetFilterContainerBaseDataSearchClosedListener_S {
            }
            interface SetFilterContainerBaseDataSearchClosedListener$ {
                setFilterContainerBaseDataSearchClosed(arg0:SetFilterContainerBaseDataSearchClosedEvent):void;
            }
            type SetFilterContainerBaseDataSearchClosedListener_T = SetFilterContainerBaseDataSearchClosedListener$;
            interface SetFilterContainerBaseDataSearchClosedListener extends SetFilterContainerBaseDataSearchClosedListener_T {
            }
            interface SetFilterContainerFlatEvent_S {
            }
            type SetFilterContainerFlatEvent_ST = $.java.util.EventObject & SetFilterContainerFlatEvent_S;
            interface SetFilterContainerFlatEvent_C extends SetFilterContainerFlatEvent_ST {
                new(arg0:any):SetFilterContainerFlatEvent;
            }
            interface SetFilterContainerFlatEvent$ {
                setNewFilter(arg0:boolean):void;
                isNewFilter():boolean;
            }
            type SetFilterContainerFlatEvent_T = $.java.util.EventObject & SetFilterContainerFlatEvent$;
            interface SetFilterContainerFlatEvent extends SetFilterContainerFlatEvent_T {
            }
            interface CloseQueryByOrListener_S {
            }
            interface CloseQueryByOrListener_C extends CloseQueryByOrListener_S {
            }
            interface CloseQueryByOrListener$ {
                setQueryByOr(arg0:CloseQueryByOrEvent):void;
            }
            type CloseQueryByOrListener_T = CloseQueryByOrListener$;
            interface CloseQueryByOrListener extends CloseQueryByOrListener_T {
            }
            interface ExpandEvent_S {
            }
            type ExpandEvent_ST = $.java.util.EventObject & ExpandEvent_S;
            interface ExpandEvent_C extends ExpandEvent_ST {
                new(arg0:any):ExpandEvent;
                new(arg0:any,arg1:boolean):ExpandEvent;
            }
            interface ExpandEvent$ {
                setExpand(arg0:boolean):void;
                isExpand():boolean;
            }
            type ExpandEvent_T = $.java.util.EventObject & ExpandEvent$;
            interface ExpandEvent extends ExpandEvent_T {
            }
            interface ExpandListener_S {
            }
            interface ExpandListener_C extends ExpandListener_S {
            }
            interface ExpandListener$ {
                expand(arg0:ExpandEvent):void;
            }
            type ExpandListener_T = ExpandListener$;
            interface ExpandListener extends ExpandListener_T {
            }
            interface CloseQueryByOrEvent_S {
            }
            type CloseQueryByOrEvent_ST = $.java.util.EventObject & CloseQueryByOrEvent_S;
            interface CloseQueryByOrEvent_C extends CloseQueryByOrEvent_ST {
                new(arg0:any):CloseQueryByOrEvent;
            }
            interface CloseQueryByOrEvent$ {
                setQueryByOr(arg0:boolean):void;
                isQueryByOr():boolean;
            }
            type CloseQueryByOrEvent_T = $.java.util.EventObject & CloseQueryByOrEvent$;
            interface CloseQueryByOrEvent extends CloseQueryByOrEvent_T {
            }
        }
        namespace kd.bos.filter.helper{
            interface BaseDataSearchHelper_S {
                readonly BOS_FORM_METADATA:string;
                /**
                 * 根据实体获取显示字段对于的索引信息
                 *
                 * @param basedataEntityType
                 * @param showFields
                 * @return
                 */
                getFieldsIndexMap(basedataEntityType:$.kd.bos.entity.BasedataEntityType,showFields:$.java.util.List):$.java.util.Map;
                /**
                 * 通过查询内容，查询字段和实体构造查询qfilter
                 *
                 * @param searchKey
                 * @param searchFields
                 * @param entityName
                 * @return
                 */
                getSearchFilter(searchKey:string,searchFields:$.java.util.List,entityName:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据当前数据包组装基础资料模糊查询需要的数据并根据去重字段去重，数据根据显示字段的索引用数组进行返回
                 *
                 * @param showFields      显示字段
                 * @param start           初始查询位置
                 * @param limit           查询条数
                 * @param queryCollection 当前数据包
                 * @param fieldsIndexMap
                 * @param distinctFields  去重字段
                 * @return
                 */
                assembleDataDistinct(showFields:$.java.util.List,start:number,limit:number,queryCollection:$.kd.bos.dataentity.entity.DynamicObjectCollection,fieldsIndexMap:$.java.util.Map,distinctFields:$.java.util.Set):$.java.util.List;
                /**
                 * 组装基础资料模糊查询需要的数据，数据根据显示字段的索引用数组进行返回
                 *
                 * @param showFields
                 * @param start
                 * @param limit
                 * @param queryCollection
                 * @param fieldsIndexMap
                 * @return
                 */
                assembleData(showFields:$.java.util.List,start:number,limit:number,queryCollection:$.kd.bos.dataentity.entity.DynamicObjectCollection,fieldsIndexMap:$.java.util.Map):$.java.util.List;
                /**
                 * 构造模糊查询下拉列表表头信息
                 *
                 * @param refBDType
                 * @param setting
                 */
                setComboFieldCaption(refBDType:$.kd.bos.entity.BasedataEntityType,setting:$.kd.bos.entity.param.FuzzySearch):void;
                /**
                 * 读取基础资料模糊查询配置
                 */
                loadLookUpSetting(refBDType:$.kd.bos.entity.BasedataEntityType):$.kd.bos.entity.param.FuzzySearch;
            }
            interface BaseDataSearchHelper_C extends BaseDataSearchHelper_S {
                /**
                 * 构造函数
                 *
                 * @param queryLookUpdataParameter 模糊查询参数{@link QueryLookUpdataParameter}
                 */
                new(queryLookUpdataParameter:QueryLookUpdataParameter):BaseDataSearchHelper;
            }
            interface BaseDataSearchHelper$ {
                /**
                 * 根据查询参数获取查询数据
                 *
                 * @return
                 */
                queryLookUpdata():$.java.util.List;
            }
            type BaseDataSearchHelper_T = BaseDataSearchHelper$;
            interface BaseDataSearchHelper extends BaseDataSearchHelper_T {
            }
            interface QueryLookUpdataParameter_S {
            }
            interface QueryLookUpdataParameter_C extends QueryLookUpdataParameter_S {
                /**
                 * 构造函数
                 *
                 * @param dt
                 *            实体
                 * @param searchFields
                 *            搜索字段
                 * @param showFields
                 *            显示字段
                 * @param fullSearchKey
                 *            搜索内容
                 * @param start
                 *            起始行
                 * @param limit
                 *            结束行
                 * @param fieldsIndexMap
                 *            字段索引
                 */
                new(dt:$.kd.bos.entity.BasedataEntityType,searchFields:$.java.util.List,showFields:$.java.util.List,fullSearchKey:string,start:number,limit:number,fieldsIndexMap:$.java.util.Map):QueryLookUpdataParameter;
            }
            interface QueryLookUpdataParameter$ {
                /**
                 * 获取模糊查询排序方式
                 * @return
                 */
                getSortOrder():string;
                /**
                 * 获取模糊查询显示字段
                 * @return
                 */
                getShowFields():$.java.util.List;
                /**
                 * 设置模糊查询排序查询方式
                 * @param sortOrder
                 */
                setSortOrder(sortOrder:string):void;
                /**
                 * 获取模糊查询字段
                 * @return
                 */
                getSearchFields():$.java.util.List;
                /**
                 * 当前匹配方式，暂未使用
                 * @return
                 */
                getFullSearchKey():string;
                /**
                 * 获取列表打开参数，包含过滤条件等
                 * @return
                 */
                getPara():kd.bos.list.ListShowParameter;
                /**
                 * 获取当前基础资料实体
                 * @return
                 */
                getDt():$.kd.bos.entity.BasedataEntityType;
                /**
                 * 获取查询总条数
                 * @return
                 */
                getLimit():number;
                /**
                 * 设置字段的显示顺序
                 * @return
                 */
                getFieldsIndexMap():$.java.util.Map;
                /**
                 * 设置列表打开参数，包含过滤条件等
                 * @param para
                 */
                setPara(para:kd.bos.list.ListShowParameter):void;
                /**
                 * 获取初始查询位置
                 * @return
                 */
                getStart():number;
            }
            type QueryLookUpdataParameter_T = QueryLookUpdataParameter$;
            interface QueryLookUpdataParameter extends QueryLookUpdataParameter_T {
            }
        }
        namespace kd.bos.filter.mcontrol{
            interface MobCommonDateFilterColumn_S {
            }
            type MobCommonDateFilterColumn_ST = CommonDateFilterColumn_S & MobCommonDateFilterColumn_S;
            interface MobCommonDateFilterColumn_C extends MobCommonDateFilterColumn_ST {
                /**
                 * 构造方法，初始化设置默认日期常量值("13,11,10,61,63,92")
                 */
                new():MobCommonDateFilterColumn;
            }
            interface MobCommonDateFilterColumn$ {
            }
            type MobCommonDateFilterColumn_T = CommonDateFilterColumn & MobCommonDateFilterColumn$;
            interface MobCommonDateFilterColumn extends MobCommonDateFilterColumn_T {
            }
            interface MobSortColumn_S {
            }
            type MobSortColumn_ST = $.kd.bos.form.control.Control & MobSortColumn_S;
            interface MobSortColumn_C extends MobSortColumn_ST {
                new():MobSortColumn;
            }
            interface MobSortColumn$ {
                /**
                 * 设置父容器字段名
                 * @param parentFieldName 父容器字段名
                 */
                setParentFieldName(parentFieldName:string):void;
                /**
                 * 初始化属性
                 */
                initProperties():void;
                /**
                 * 设置上下文
                 * @param context 上下文
                 */
                setContext(context:kd.bos.list.ControlContext):void;
                /**
                 * 添加过滤字段
                 * @param filterFields 过滤字段
                 */
                addFilterFields(filterFields:$.java.util.Map):void;
                /**
                 * 设置标题
                 * @param caption 标题
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取标题
                 * @return 标题
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取子单据实体
                 *
                 * @return 子单据实体
                 */
                getEntryEntity():string;
                /**
                 * 设置单据实体
                 * @param entityType 单据实体
                 */
                setEntityType(entityType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 设置字段名标识
                 * @param fieldName 字段名标识
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取上下文
                 * @return 上下文
                 */
                getContext():kd.bos.list.ControlContext;
                /**
                 * 获取父容器字段名
                 * @return 父容器字段名
                 */
                getParentFieldName():string;
                /**
                 * 设置子单据实体
                 *
                 * @param entryEntity 子单据实体
                 */
                setEntryEntity(entryEntity:string):void;
                /**
                 * 获取单据实体
                 * @return 单据实体
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 获取字段名标识
                 * @return 字段名标识
                 */
                getFieldName():string;
                /**
                 * 设置父容器字段标识
                 * @param parentCaption 父容器字段标识
                 */
                setParentCaption(parentCaption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取父容器字段标识
                 * @return 父容器字段标识
                 */
                getParentCaption():$.kd.bos.dataentity.entity.LocaleString;
            }
            type MobSortColumn_T = $.kd.bos.form.control.Control & MobSortColumn$;
            interface MobSortColumn extends MobSortColumn_T {
            }
            interface MobAdvFilterPanel_S {
            }
            type MobAdvFilterPanel_ST = $.kd.bos.form.container.Container & MobAdvFilterPanel_S;
            interface MobAdvFilterPanel_C extends MobAdvFilterPanel_ST {
                new():MobAdvFilterPanel;
            }
            interface MobAdvFilterPanel$ {
                setSynchronizeFilterItems(synchronizeFilterItems:boolean):void;
                /**
                 * 获取高级筛选面板是否开启用户配置
                 *
                 * @return
                 */
                isUserConfiguration():boolean;
                getUserInitialField():$.java.util.List;
                /**
                 * 获取面板打开方式
                 * @return
                 */
                getPanelOpenStyle():string;
                /**
                 * 获取高级筛选面板是否开启同步过滤项
                 *
                 * @return
                 */
                isSynchronizeFilterItems():boolean;
                /**
                 * 获取高级筛选面板是否开启记住筛选条件
                 *
                 * @return
                 */
                isRememberFilterCriteria():boolean;
                setUserConfiguration(userConfiguration:boolean):void;
                setRememberFilterCriteria(rememberFilterCriteria:boolean):void;
                setPanelOpenStyle(panelOpenStyle:string):void;
                setUserInitialField(userInitialField:$.java.util.List):void;
            }
            type MobAdvFilterPanel_T = $.kd.bos.form.container.Container & MobAdvFilterPanel$;
            interface MobAdvFilterPanel extends MobAdvFilterPanel_T {
            }
            interface MobCommonFilterColumn_S {
            }
            type MobCommonFilterColumn_ST = CommonFilterColumn_S & MobCommonFilterColumn_S;
            interface MobCommonFilterColumn_C extends MobCommonFilterColumn_ST {
                new():MobCommonFilterColumn;
            }
            interface MobCommonFilterColumn$ {
            }
            type MobCommonFilterColumn_T = CommonFilterColumn & MobCommonFilterColumn$;
            interface MobCommonFilterColumn extends MobCommonFilterColumn_T {
            }
            interface MobCommonBaseDataFilterColumn_S {
            }
            type MobCommonBaseDataFilterColumn_ST = CommonBaseDataFilterColumn_S & MobCommonBaseDataFilterColumn_S;
            interface MobCommonBaseDataFilterColumn_C extends MobCommonBaseDataFilterColumn_ST {
                new():MobCommonBaseDataFilterColumn;
            }
            interface MobCommonBaseDataFilterColumn$ {
            }
            type MobCommonBaseDataFilterColumn_T = CommonBaseDataFilterColumn & MobCommonBaseDataFilterColumn$;
            interface MobCommonBaseDataFilterColumn extends MobCommonBaseDataFilterColumn_T {
            }
            interface MobFilterSort_S {
            }
            type MobFilterSort_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.container.Container & IFilterControlCache_S & MobFilterSort_S & kd.bos.list.ITemplateControl_S;
            interface MobFilterSort_C extends MobFilterSort_ST {
                new():MobFilterSort;
            }
            interface MobFilterSort$ {
                /**
                 * 常用过滤 F7点击处理
                 */
                f7Click(fieldName:string,isMulti:boolean,selectedIds:$.java.util.List,filter:$.java.util.List):void;
                /**
                 * 设置标题
                 *
                 * @param title 标题
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 添加到查找监听列表
                 * @param listener 监听器
                 */
                addAfterSearchClickListener(listener:$.kd.bos.form.control.events.AfterSearchClickListener):void;
                /**
                 * 获取控件上下文
                 * @return 控件上下文
                 */
                getContext():kd.bos.list.ControlContext;
                /**
                 * 添加到查找监听列表
                 *
                 * @param listener 监听器
                 */
                addSearchClickListener(listener:$.kd.bos.form.control.events.SearchClickListener):void;
                /**
                 * 获取移动筛选排序控件是否开启方案查询
                 *
                 * @return 是否开启方案查询
                 */
                isSchemeQuery():boolean;
                /**
                 * 获取实体类型
                 *
                 * @return 实体类型
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 方案过滤查询
                 *
                 * @param search [{"fieldName":"filterscheme","Id":["1XZMFNHC6MS5"]}]
                 */
                schemeSearch(search:$.java.util.List):void;
                /**
                 * 添加到过滤容器初始化监听列表
                 *
                 * @param listener 监听器
                 */
                addMobFilterSortInitListener(listener:kd.bos.form.control.events.MobFilterSortInitListener):void;
                /**
                 * 设置控件上下文
                 * @param context 控件上下文
                 */
                setContext(context:kd.bos.list.ControlContext):void;
                /**
                 * 查询
                 * @param filter 过滤条件
                 * @param sortFilter 排序条件
                 * @param entryEntity 单据实体
                 */
                search(filter:$.java.util.List,sortFilter:$.java.util.List,entryEntity:string):void;
                /**
                 * 设置过滤容器的可见性
                 *
                 * @param visible 可见性
                 */
                setVisible(visible:number):void;
                /**
                 * 添加到BeforeF7事件监听器列表
                 * @param listener 监听器
                 */
                addBeforeF7SelectListener(listener:$.kd.bos.form.field.events.BeforeFilterF7SelectListener):void;
                /**
                 * 设置移动筛选排序控件是否开启方案查询
                 *
                 * @param schemeQuery 是否开启方案查询
                 */
                setSchemeQuery(schemeQuery:boolean):void;
                /**
                 * 获取过滤容器的单据体
                 * @return 过滤容器的单据体
                 */
                getValidEntryList():$.java.util.List;
                /**
                 * 获取标题
                 *
                 * @return 标题
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取缓存的过滤值
                 * @return 缓存的过滤值
                 */
                getCachedFilterValues():$.kd.bos.filter.FilterContainerFilterValues;
                /**
                 * 获取单据表单标识
                 * @return 单据表单标识
                 */
                getBillFormId():string;
                /**
                 * 获取过滤容器的可见性
                 *
                 * @return 可见性
                 */
                getVisible():number;
                /**
                 * 添加绑定数据之后事件
                 *
                 * @param listener 监听器
                 */
                addAfterBindDataListener(listener:$.kd.bos.form.events.AfterBindDataListener):void;
                /**
                 * 常用过滤 F7点击处理
                 */
                f7Click(fieldName:string,isMulti:boolean,selectedIds:$.java.util.List):void;
            }
            type MobFilterSort_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.container.Container & IFilterControlCache & MobFilterSort$ & kd.bos.list.ITemplateControl;
            interface MobFilterSort extends MobFilterSort_T {
            }
        }
        namespace kd.bos.flex{
            interface FlexService_S {
                /**
                 * 根据基础资料值获取启用的弹性域属性
                 *
                 * @param entityNumber    基础资料实体标识
                 * @param flexPropertyKey 基础资料上的弹性域属性标识
                 * @param basePKVals      基础资料值
                 * @return
                 */
                getBaseUseFlexProperties(entityNumber:string,flexPropertyKey:string,basePKVals:any[]):$.java.util.Map;
                /**
                 * 保存弹性域数据入库
                 * @param flexEntityType
                 * @param flexEntireData
                 * @return
                 */
                saveFlexData(flexEntityType:$.kd.bos.entity.MainEntityType,flexEntireData:$.kd.bos.entity.flex.FlexEntireData):long;
                /**
                 * @param flexEntityType
                 *            弹性域实体类型（基础资料的弹性域完整实体类型）
                 *            弹性域数据
                 */
                save(flexEntityType:$.kd.bos.entity.MainEntityType,flexObject:$.kd.bos.dataentity.entity.DynamicObject):long;
                /**
                 * 批量保存弹性域数据
                 *
                 * @param flexTypeId
                 * @param flexEntireDatas
                 * @return
                 */
                batchSaveFlexData(flexTypeId:number,flexEntireDatas:$.java.util.List):$.java.util.List;
                /**
                 * 根据基础资料值获取启用的弹性域属性
                 *
                 * @param entityNumber
                 *            基础资料实体标识
                 * @param basePKVal
                 *            基础资料值
                 * @param flexPropertyKey
                 *            基础资料上的弹性域属性标识
                 * @return
                 */
                getBaseUseFlexProperties(entityNumber:string,basePKVal:any,flexPropertyKey:string):$.java.util.List;
            }
            interface FlexService_C extends FlexService_S {
                new():FlexService;
            }
            interface FlexService$ {
            }
            type FlexService_T = FlexService$;
            interface FlexService extends FlexService_T {
            }
        }
        namespace kd.bos.form{
            interface SignCallbackLisenter_S {
            }
            type SignCallbackLisenter_ST = $.java.io.Serializable & SignCallbackLisenter_S;
            interface SignCallbackLisenter_C extends SignCallbackLisenter_ST {
            }
            interface SignCallbackLisenter$ {
                /**
                 * 构造函数
                 * @param evt 签名回调事件参数
                 */
                signCallback?(evt:SignCallbackEvent):void;
            }
            type SignCallbackLisenter_T = $.java.io.Serializable & SignCallbackLisenter$;
            interface SignCallbackLisenter extends SignCallbackLisenter_T {
            }
            interface FormMetadataCache_S {
                /**
                 * 获取表单运行时视图层根控件-表单容器
                 * @param formId 表单标识，如"bos_billtpl"
                 * @return 视图层-表单容器
                 */
                getRootControl(formId:string):kd.bos.form.container.FormRoot;
                /**
                 * 获取单据列表轻分析视图元数据
                 * @param billFormId 单据标识，如"bos_billtpl"
                 * @return 列表轻分析视图元数据
                 */
                getListQingView(billFormId:string):any;
                /**
                 * 获取表单的客户端显示配置
                 * @param formId 表单标识，如"bos_billtpl"
                 * @return 表单的客户端显示配置
                 */
                getFormConfig(formId:string):FormConfig;
                /**
                 * 获取单据列表元数据
                 * @param formId 单据标识，如"bos_billtpl"
                 * @return 单据列表元数据
                 */
                getListMeta(formId:string):$.java.util.Map;
                /**
                 * 获取单据移动列表元数据
                 * @param formId 单据标识，如"bos_billtpl"
                 * @return 移动列表元数据
                 */
                getMobListMeta(formId:string):$.java.util.Map;
                /**
                 * 获取单据列表前端显示配置
                 * @param formId 单据标识，如"bos_billtpl"
                 * @return 前端显示配置
                 */
                getListFormConfig(formId:string):FormConfig;
                /**
                 * 获取表单视图层控件
                 * @param formId 表单标识，如"bos_billtpl"
                 * @param key 控件标识
                 * @return 视图层控件
                 */
                getControl(formId:string,key:string):kd.bos.form.control.Control;
                /**
                 * 获取运行时表单操作执行类
                 *
                 * @param entityId 表单标识，如"bos_billtpl"
                 * @param operationKey 操作标识，如"save"
                 * @return 操作执行类
                 */
                getFormOperation(entityId:string,operationKey:string):kd.bos.entity.operate.IOperate;
                /**
                 * 获取单据移动列表前端显示配置
                 * @param formId 单据标识，如"bos_billtpl"
                 * @return 前端显示配置
                 */
                getMobListFormConfig(formId:string):FormConfig;
                /**
                 * 获取表单所在的应用
                 * @param formId 表单标识，如"bos_billtpl"
                 * @return 应用标识，如"bos"等
                 */
                getFormAppId(formId:string):string;
                /**
                 * 获取移动过滤元数据
                 * @param formId 表单标识，如"bos_billtpl"
                 * @return 移动过滤元数据
                 */
                getMobFilterMeta(formId:string):$.java.util.Map;
                /**
                 * 获取单据过滤元数据
                 * @param formId 单据标识，如"bos_billtpl"
                 * @return 过滤元数据
                 */
                getFilterMeta(formId:string):$.java.util.Map;
                /**
                 * 把实体对象转为树结构，每个字段属性对象对应一个节点
                 *
                 * 本方法不能对输出的字段做过滤，不推荐使用
                 * 建议使用{@code kd.bos.metadata.treebuilder.FormTreeBuilder.buildDynamicPropertyTree(dt, option)}构建实体树结构
                 * @param dt 实体对象
                 * @return 树结构
                 */
                getEntityTypeTree(dt:$.kd.bos.entity.EntityType):$.kd.bos.entity.tree.TreeNode;
            }
            interface FormMetadataCache_C extends FormMetadataCache_S {
                new():FormMetadataCache;
            }
            interface FormMetadataCache$ {
            }
            type FormMetadataCache_T = FormMetadataCache$;
            interface FormMetadataCache extends FormMetadataCache_T {
            }
            class ListVisible {
                static readonly LOOKUP:kd.bos.form.ListVisible;
                static readonly NOT:kd.bos.form.ListVisible;
                static readonly INIT:kd.bos.form.ListVisible;
                static readonly DEFAULT:kd.bos.form.ListVisible;
                static values():kd.bos.form.ListVisible[];
                static valueOf(arg0:string):kd.bos.form.ListVisible;
                /**
                 * 获取可见性
                 *
                 * @return
                 */
                getVisible():number;
            }
            class MessageBoxResult {
                static readonly Ignore:kd.bos.form.MessageBoxResult;
                static readonly OK:kd.bos.form.MessageBoxResult;
                static readonly None:kd.bos.form.MessageBoxResult;
                static readonly Abort:kd.bos.form.MessageBoxResult;
                static readonly CUSTOM:kd.bos.form.MessageBoxResult;
                static readonly Cancel:kd.bos.form.MessageBoxResult;
                static readonly No:kd.bos.form.MessageBoxResult;
                static readonly Yes:kd.bos.form.MessageBoxResult;
                static readonly Retry:kd.bos.form.MessageBoxResult;
                static valueOf(arg0:string):kd.bos.form.MessageBoxResult;
                static values():kd.bos.form.MessageBoxResult[];
                /**
                 * 把枚举值转换为枚举项
                 *
                 * @param value 枚举值
                 * @return 枚举项
                 */
                static forValue(value:number):kd.bos.form.MessageBoxResult;
                /**
                 * 获取枚举值
                 *
                 * @return 枚举值
                 */
                getValue():number;
            }
            class FieldTip$FieldTipsLevel {
                static readonly Warning:kd.bos.form.FieldTip$FieldTipsLevel;
                static readonly Info:kd.bos.form.FieldTip$FieldTipsLevel;
                static readonly Error:kd.bos.form.FieldTip$FieldTipsLevel;
                static values():kd.bos.form.FieldTip$FieldTipsLevel[];
                static valueOf(arg0:string):kd.bos.form.FieldTip$FieldTipsLevel;
            }
            interface ClientMethodResult_S {
            }
            interface ClientMethodResult_C extends ClientMethodResult_S {
                /**
                 * 构造函数
                 */
                new():ClientMethodResult;
                /**
                 * 构造函数
                 * @param success 是否处理成功
                 * @param result 处理结果
                 */
                new(success:boolean,result:$.java.util.Map):ClientMethodResult;
            }
            interface ClientMethodResult$ {
                /**
                 * 设置是否处理成功
                 * @param success
                 */
                setSuccess(success:boolean):void;
                /**
                 * 是否处理成功
                 * @return
                 */
                getSuccess():boolean;
                /**
                 * 获取处理结果
                 * @return
                 */
                getResult():$.java.util.Map;
                /**
                 * 设置处理结果
                 * @param result
                 */
                setResult(result:$.java.util.Map):void;
            }
            type ClientMethodResult_T = ClientMethodResult$;
            interface ClientMethodResult extends ClientMethodResult_T {
            }
            interface CtsyFormShowParameter_S {
            }
            type CtsyFormShowParameter_ST = CtsyFormShowParameter_S & FormShowParameter_S & ICtsyShowParameter_S;
            interface CtsyFormShowParameter_C extends CtsyFormShowParameter_ST {
                /**
                 * 构造函数
                 */
                new():CtsyFormShowParameter;
                /**
                 * 构造函数
                 * @param tenantCode 远程租户编码
                 * @param accountId 远程租户数据中心id
                 * @param formId 远程业务单编码
                 */
                new(tenantCode:string,accountId:string,formId:string):CtsyFormShowParameter;
            }
            interface CtsyFormShowParameter$ {
                /**
                 * 获取关闭回调actionId的固定后缀缀，后面业务可在前面加自定义的actionId，已用"$"分隔
                 * @return
                 */
                getCloseCallBackActionIdSuffix():string;
                /**
                 * 设置远程租户数据中心id
                 * @param accountId
                 */
                setAccountId(accountId:string):void;
                /**
                 * 设置远程租户编码
                 * @param tenantCode
                 */
                setTenantCode(tenantCode:string):void;
            }
            type CtsyFormShowParameter_T = CtsyFormShowParameter$ & FormShowParameter & ICtsyShowParameter;
            interface CtsyFormShowParameter extends CtsyFormShowParameter_T {
            }
            interface ControlTypes_S {
                /**
                 * map反序列为对象类型
                 * @param map
                 * @return
                 */
                fromMap(map:$.java.util.Map):any;
                /**
                 * 字符串反序列为对象类型
                 * @param str
                 * @param <T>
                 * @return
                 */
                fromJsonString(str:string):kd.bos.form.control.Control;
                /**
                 * 字符串反序列为实体对象类型
                 * @param str
                 * @return
                 */
                fromJsonStringToObj(str:string):any;
                /**
                 * xml字符串反序列为实体对象类型
                 * @param str
                 * @return
                 */
                fromXMLString(str:string):any;
                /**
                 * 注册类
                 * @param claszName 类名
                 */
                register(claszName:string):void;
                /**
                 * 序列对象类型为json字符串
                 * @param type
                 * @return
                 */
                toJsonString(type_arg:any):string;
                /**
                 * 注册类
                 * @param clasz
                 */
                register(clasz:$.java.lang.Class):void;
                /**
                 * 序列对象类型为xml字符串
                 * @param type
                 * @return
                 */
                toXmlString(type_arg:any):string;
                /**
                 * 获取实体对象类型
                 * @param name
                 * @return
                 */
                getDataEntityType(name:string):$.kd.bos.dataentity.metadata.IDataEntityType;
            }
            interface ControlTypes_C extends ControlTypes_S {
                new():ControlTypes;
            }
            interface ControlTypes$ {
            }
            type ControlTypes_T = ControlTypes$;
            interface ControlTypes extends ControlTypes_T {
            }
            class ConfirmTypes {
                static readonly Wait:kd.bos.form.ConfirmTypes;
                static readonly Delete:kd.bos.form.ConfirmTypes;
                static readonly Fail:kd.bos.form.ConfirmTypes;
                static readonly Default:kd.bos.form.ConfirmTypes;
                static readonly Save:kd.bos.form.ConfirmTypes;
                static valueOf(arg0:string):kd.bos.form.ConfirmTypes;
                static values():kd.bos.form.ConfirmTypes[];
                /**
                 * 获取枚举值
                 *
                 * @return 枚举值
                 */
                getValue():number;
            }
            interface SignCallbackEvent_S {
            }
            type SignCallbackEvent_ST = $.java.util.EventObject & SignCallbackEvent_S;
            interface SignCallbackEvent_C extends SignCallbackEvent_ST {
                new(source:any,result:ClientMethodResult,view:IFormView,clearText:string,option:$.java.util.Map,customParameter:$.java.util.Map,callbackId:string):SignCallbackEvent;
            }
            interface SignCallbackEvent$ {
                getCallbackId():string;
                getCustomParameter():$.java.util.Map;
                getOption():$.java.util.Map;
                getClearText():string;
                getView():IFormView;
                getResult():ClientMethodResult;
            }
            type SignCallbackEvent_T = $.java.util.EventObject & SignCallbackEvent$;
            interface SignCallbackEvent extends SignCallbackEvent_T {
            }
            interface ColorUtils_S {
            }
            interface ColorUtils_C extends ColorUtils_S {
                new():ColorUtils;
            }
            interface ColorUtils$ {
                /**
                 * 生成渐变色
                 * @param colorStr 16进制颜色字符串
                 * @param step 步数
                 * @return
                 */
                gradientColor(colorStr:string,step:number):$.java.util.Map;
                /**
                 * 字符串转换成Color对象
                 *
                 * @param colorStr
                 *            16进制颜色字符串
                 * @return Color对象
                 */
                toColorFromString(colorStr:string):$.java.awt.Color;
                /**
                 * 根据颜色名获取16进制颜色字符串
                 * @param colorName
                 * @return
                 */
                getHexColorNameFromColorName(colorName:string):string;
                /**
                 * Convert hexColor to rgb, then call getColorNameFromRgb(r, g, b)
                 *
                 * @param hexColor
                 * @return
                 */
                getColorNameFromHex(hexColor:number):string;
                /**
                 * 将颜色值转换为16进制
                 * @param c
                 * @return
                 */
                colorToHex(c:$.java.awt.Color):number;
                /**
                 * Get the closest color name from our list
                 *
                 * @param r
                 * @param g
                 * @param b
                 * @return
                 */
                getColorNameFromRgb(r:number,g:number,b:number):string;
                /**
                 * Color对象转换成字符串
                 *
                 * @param color
                 *            Color对象
                 * @return 16进制颜色字符串
                 */
                toHexFromColor(color:$.java.awt.Color):string;
                /**
                 * 根据颜色值获取颜色名
                 * @param color
                 * @return
                 */
                getColorNameFromColor(color:$.java.awt.Color):string;
            }
            type ColorUtils_T = ColorUtils$;
            interface ColorUtils extends ColorUtils_T {
            }
            interface IConfirmCallBack_S {
            }
            interface IConfirmCallBack_C extends IConfirmCallBack_S {
            }
            interface IConfirmCallBack$ {
                /**
                 * 传入表单视图
                 * @param formView 表单视图
                 */
                setView?(formView:IFormView):void;
                /**
                 * 回调处理
                 * @param e 事件参数，含确认结果
                 */
                confirmCallBack(e:kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 返回表单视图
                 * @return 表单视图
                 */
                getView?():IFormView;
            }
            type IConfirmCallBack_T = IConfirmCallBack$;
            interface IConfirmCallBack extends IConfirmCallBack_T {
            }
            class MessageBoxOptions {
                static readonly YesNoCancel:kd.bos.form.MessageBoxOptions;
                static readonly Minimize:kd.bos.form.MessageBoxOptions;
                static readonly RetryCancel:kd.bos.form.MessageBoxOptions;
                static readonly OKCancel:kd.bos.form.MessageBoxOptions;
                static readonly AbortRetryIgnore:kd.bos.form.MessageBoxOptions;
                static readonly YesNo:kd.bos.form.MessageBoxOptions;
                static readonly None:kd.bos.form.MessageBoxOptions;
                static readonly Toast:kd.bos.form.MessageBoxOptions;
                static readonly OK:kd.bos.form.MessageBoxOptions;
                static valueOf(arg0:string):kd.bos.form.MessageBoxOptions;
                static values():kd.bos.form.MessageBoxOptions[];
                /**
                 * 返回枚举值
                 *
                 * @return 枚举值
                 */
                getValue():number;
            }
            class AnimationType {
                static readonly fadein:kd.bos.form.AnimationType;
                static readonly fadeinandzoomin:kd.bos.form.AnimationType;
                static readonly zoomin:kd.bos.form.AnimationType;
                static readonly none:kd.bos.form.AnimationType;
                static valueOf(arg0:string):kd.bos.form.AnimationType;
                static values():kd.bos.form.AnimationType[];
            }
            interface IMobileView_S {
            }
            type IMobileView_ST = IFormView_S & IMobileView_S;
            interface IMobileView_C extends IMobileView_ST {
            }
            interface IMobileView$ {
                /**
                 * 启动移动设备时区定位
                 */
                timeZoneLocate?():void;
                /**
                 * 设置移动端右上角菜单可见性
                 *
                 * @param visbile 设置为false隐藏不可见
                 * @param itemkeys 菜单标识
                 */
                setMenuItemVisible(visbile:boolean,...itemkeys:string[]):void;
                /**
                 * 文件上传成功，传入文件地址
                 *
                 * @param urls 文件地址
                 */
                upload(urls:$.java.util.List):void;
                /**
                 * 获取移动设备当前所在城市
                 *
                 * @return
                 */
                getCurrentCityId():long;
                /**
                 * 获取移动设备位置信息
                 *
                 * @return 位置信息
                 */
                getLocation():$.kd.bos.entity.MobLocation;
                /**
                 * 调用移动端客户端App（云之家）提供的方法
                 *
                 * 如前端有回调方法，可在customevent方法监听key为callAppMethod
                 *
                 * @param clientMethod 方法枚举，包括客户端支持的几种方法
                 * @param parameter 参数
                 */
                callClientAppMethod(clientMethod:ClientMethod,parameter:any):void;
                /**
                 * 启动移动设备定位
                 */
                locate():void;
            }
            type IMobileView_T = IFormView & IMobileView$;
            interface IMobileView extends IMobileView_T {
            }
            interface CoreShowFormHelper_S {
                /**
                 * 构建列表打开参数
                 * @param option 列表打开参数选项
                 * @return
                 */
                createShowListForm(option:CoreShowFormHelper$ListParamCreateOption):kd.bos.list.ListShowParameter;
                /**
                 * 构建列表打开参数
                 *
                 * @param formId 单据实体标识
                 * @param isMultiSelect 是否支持多选
                 * @return 列表打开参数
                 */
                createShowListForm(formId:string,isMultiSelect:boolean):kd.bos.list.ListShowParameter;
            }
            interface CoreShowFormHelper_C extends CoreShowFormHelper_S {
                new():CoreShowFormHelper;
            }
            interface CoreShowFormHelper$ {
            }
            type CoreShowFormHelper_T = CoreShowFormHelper$;
            interface CoreShowFormHelper extends CoreShowFormHelper_T {
            }
            interface CoreShowFormHelper$ListParamCreateOption_S {
            }
            interface CoreShowFormHelper$ListParamCreateOption_C extends CoreShowFormHelper$ListParamCreateOption_S {
                new(arg0:string,arg1:boolean):CoreShowFormHelper$ListParamCreateOption;
                new(arg0:string,arg1:boolean,arg2:number):CoreShowFormHelper$ListParamCreateOption;
                new(arg0:string,arg1:boolean,arg2:number,arg3:boolean):CoreShowFormHelper$ListParamCreateOption;
            }
            interface CoreShowFormHelper$ListParamCreateOption$ {
                isLookUp():boolean;
                setLookUp(arg0:boolean):void;
                setMultiSelect(arg0:boolean):void;
                getF7Style():number;
                getFormId():string;
                isMultiSelect():boolean;
                setFormId(arg0:string):void;
                setF7Style(arg0:number):void;
            }
            type CoreShowFormHelper$ListParamCreateOption_T = CoreShowFormHelper$ListParamCreateOption$;
            interface CoreShowFormHelper$ListParamCreateOption extends CoreShowFormHelper$ListParamCreateOption_T {
            }
            interface FormShowParameter_S {
                readonly ISNEED_CHECKPERMAPPIDSBYFORMNUM:string;
                readonly ISFROMURL:string;
                /**
                 * 添加表单显示参数类类型
                 * @param name
                 * @param classz
                 */
                putPTypes(name:string,classz:$.java.lang.Class):void;
            }
            type FormShowParameter_ST = $.java.io.Serializable & FormShowParameter_S;
            interface FormShowParameter_C extends FormShowParameter_ST {
                /**
                 * 构造函数
                 */
                new():FormShowParameter;
            }
            interface FormShowParameter$ {
                /**
                 * 设计客户端参数，可以传递到自定义控件
                 *
                 * @param name 参数名
                 * @param value 参数值
                 */
                setClientParam(name:string,value:any):void;
                /**
                 * 设置是否为调试模式
                 *
                 * 表单绑定脚本插件，可以进行在线调试
                 * @param debugModel 设置为true是调试模式
                 */
                setDebugModel(debugModel:boolean):void;
                /**
                 * 设置页面标题
                 *
                 * @param value 页面标题
                 */
                setCaption(value:string):void;
                /**
                 * 设置前端页面打开动画类型
                 *
                 * 页面打开动画类型，包括淡入、放大等
                 * @param animationType
                 */
                setAnimationType(animationType:AnimationType):void;
                /**
                 * 返回表单打开时验证的权限项
                 *
                 * 动态表单打开，检查查看权限 "47150e89000000ac" view权限项
                 * 单据打开，根据界面状态可能验证查看、新建或修改权限项
                 * @return 权限项内码，系统预置了一批常用的权限项
                 */
                getPermissionItemId():string;
                /**
                 * 是否为调试模式
                 * @return 返回true是调试模式
                 */
                isDebugModel():boolean;
                /**
                 * 获取前端页面打开动画类型
                 * @return 页面显示动画类型
                 */
                getAnimationType():AnimationType;
                /**
                 * 页面是否显示满屏按钮
                 * @return 返回true显示满屏按钮
                 */
                isShowFullScreen():boolean;
                /**
                 * 获取父页面PageId
                 *
                 * 子页面据此检索、通知父页面
                 * 显示表单页面时，系统自动会把当前页面作为新显示页面的父页面
                 * 例如使用{@code this.getView().showForm(showParam)}显示表单页面，{@code this.getView()}被自动当成父页面
                 * @return 父页面pageId
                 */
                getParentPageId():string;
                /**
                 * 打开这个表单在那个应用打开，用于页面挂在哪个应用主页上
                 *
                 * @return 应用标识（编码）
                 */
                getAppId():string;
                /**
                 * 设置界面显示风格
                 * @param value 界面显示风格
                 */
                setOpenStyle(value:OpenStyle):void;
                /**
                 * 获取界面显示风格
                 * @return 界面显示风格
                 */
                getOpenStyle():OpenStyle;
                /**
                 * 获取新页面的PageId
                 *
                 * 显示表单时，默认系统会自动为表单产生一个随机页面PageId返回
                 */
                getPageId():string;
                /**
                 * 获取界面操作状态
                 * @return 界面状态
                 */
                getStatus():kd.bos.bill.OperationStatus;
                /**
                 * 需要打开的单据是否已经验权
                 *
                 * @return 返回true已验权，无需再验权
                 */
                isHasRight():boolean;
                /**
                 * 指定父页面PageId
                 *
                 * 显示表单页面时，系统自动会把当前页面作为新显示页面的父页面，不需要调用代码指定
                 * @param value 父页面pageId
                 */
                setParentPageId(value:string):void;
                /**
                 * 设置表单挂在哪个应用主页下
                 *
                 * 在应用的主页中打开表单时，系统默认都会把表单挂在本应用主页下，如在A应用首页中打开B应用下的表单，默认会挂在A应用主页下
                 *
                 * @param appId 应用标识（编码）
                 */
                setAppId(appId:string):void;
                /**
                 * 返回表单标识，必选参数
                 *
                 * @return 表单标识
                 */
                getFormId():string;
                /**
                 * 设置首页pageId
                 * @param rootPageId 首页pageId
                 */
                setRootPageId(rootPageId:string):void;
                /**
                 * 设置页面是否显示顶部关闭按钮，默认显示
                 * @param showClose 设置为false隐藏页面关闭按钮
                 */
                setShowClose(showClose:boolean):void;
                /**
                 * 获取前端等待超时时间
                 * @return
                 */
                getInvokeTimeout():number;
                /**
                 * 返回分享页面标识
                 *
                 * 在分享模式下，无需校验用户，页面锁定只能查看
                 * @return
                 */
                getShareId():string;
                /**
                 * 设置分享页面标识
                 * @param shareId
                 */
                setShareId(shareId:string):void;
                /**
                 * 获取父表单标识
                 * @return 父表单标识
                 */
                getParentFormId():string;
                /**
                 * 设置自定义参数包
                 *
                 * 调用此方法会完整替换自定义参数包，会把已设置的参数覆盖掉，需慎重
                 * 推荐使用{@link #setCustomParam(String,Object)}传入自定义参数
                 * @param value
                 */
                setCustomParams(value:$.java.util.Map):void;
                /**
                 * 设置回调参数
                 * @param closeCallBack 回调参数
                 */
                setCloseCallBack(closeCallBack:CloseCallBack):void;
                /**
                 * 指定新页面的PageId
                 *
                 * 显示表单时，系统默认会自动为表单产生一个随机页面PageId，每次打开表单都会产生不同pageId，同一个表单可重复打开
                 * 调用者也可以自行指定新页面的PageId，以避免重复打开表单
                 * 风险警示：如果指定的PageId已被其他用户打开，本地并不存在，就显示不出来。所以，不要指定一个完全固定的页面pageId
                 * @param value 页面pageId
                 */
                setPageId(value:string):void;
                /**
                 * 获取页面标题
                 *
                 * 显示页面时，默认取发布到主控台那边的信息作为标题； 比如：同一个实体发票，发布到主控台后，有可能扮演普通发票与增值税发票的角色；
                 * @return 页面标题
                 */
                getCaption():string;
                /**
                 * 设置单开的单据是否已经验权
                 *
                 * @param hasRight 设置为true已验权，无需再验权
                 */
                setHasRight(hasRight:boolean):void;
                /**
                 * 设置页面是否显示水印，默认显示
                 * @param showWaterMark 设置为false不显示水印
                 */
                setShowWaterMark(showWaterMark:boolean):void;
                /**
                 * 设置前端等待超时时间
                 * @param timeout
                 */
                setInvokeTimeout(timeout:number):void;
                /**
                 * 运行时元数据是否已改变
                 * @return
                 */
                isRuntimeMetaChanged():boolean;
                /**
                 * 返回回调参数
                 *
                 * 打开的表单页面，关闭后通知父页面接收返回数据，这个过程称为回调
                 * 父页面通过设置回调参数控制回调逻辑
                 * @return
                 */
                getCloseCallBack():CloseCallBack;
                /**
                 * 是否可拖拽
                 */
                isResizable():boolean;
                /**
                 * 页面是否显示标题
                 *
                 * @return 返回true显示页面标题
                 */
                isShowTitle():boolean;
                /**
                 * 是否先发送到客户端
                 * @param sendToClient
                 *            参数先发送到客户端再请求配置，适合批量打开页面提升性能
                 */
                setSendToClient(sendToClient:boolean):void;
                /**
                 * 显示界面前，向界面动态添加插件
                 *
                 * @param pluginClassName 插件类名（带包名的长类名）
                 */
                addCustPlugin(pluginClassName:string):void;
                /**
                 * 是否数据权限项目被取消，仅用于界面被打开的时候，用户的权限被取消场景
                 * @param cancelDataRight :true:取消 false:未取消。默认是未取消
                 */
                setCancelDataRight(cancelDataRight:boolean):void;
                /**
                 * 设置界面打开时的操作状态
                 *
                 * 界面操作状态包括查看、新建、修改，前端页面会根据状态设置字段、控件的锁定性
                 * @param value 界面状态
                 */
                setStatus(value:kd.bos.bill.OperationStatus):void;
                /**
                 * 设置要显示的表单标识，必选参数
                 *
                 * @param value
                 *            表单标识
                 */
                setFormId(value:string):void;
                /**
                 * 创建为WebApi服务请求包装的视图控制接口实例返回
                 *
                 * 在WebApi服务请求处理模式，无需真实的视图层，视图控制接口需单独实现删减很多逻辑
                 * @return 视图控制接口实例
                 */
                createViewForWebApi():IFormView;
                /**
                 * 设置页面是否显示顶部满屏按钮，默认隐藏
                 * @param isShowFullScreen 设置为true显示满屏按钮
                 */
                setShowFullScreen(isShowFullScreen:boolean):void;
                /**
                 * 设置是否可拖拽
                 */
                setResizable(resizable:boolean):void;
                /**
                 * 页面是否显示关闭按钮
                 * @return 返回true显示关闭按钮
                 */
                isShowClose():boolean;
                /**
                 * 是否权限项目被取消，仅用于界面被打开的时候，用户的权限被取消场景
                 * @param cancelRight : 0:权限没有变更 1：权限变更 2：权限变更后，验权失败
                 */
                setCancelRight(cancelRight:number):void;
                /**
                 * 页面是否显示水印
                 * @return 返回true显示水印
                 */
                isShowWaterMark():boolean;
                /**
                 * 拼接出表单设置标识返回
                 * @return 表单设置标识
                 */
                getSettingKey():string;
                /**
                 *  获取页面使用的验权应用
                 *
                 *  @return
                 *  <pre><code> 1. 通常来说，页面在哪个应用显示，就使用哪个应用进行验权、许可检查
                 *  2. 如果页面未发布权限当前显示应用，则按照页面设计时应用进行验权
                 *  3. 某些特殊场景，比如工作流消息应用，在打开业务单据(差旅报销单)时，
                 *     不能按照工作流应用验权，也不能按照页面设计时应用(出纳)验权，必须由工作流代码自行指定按哪个应用(人人差旅)验权
                 * </code></pre>
                 */
                getCheckRightAppId():string;
                /**
                 * 其他非标准参数，可以任意添加
                 */
                getCustomParams():$.java.util.Map;
                /**
                 * 是否权限项目被取消，仅用于界面被打开的时候，用户的权限被取消场景
                 * @return： 0:权限没有变更 1：权限变更 2：权限变更后，验权失败
                 */
                getCancelRight():number;
                /**
                 * 设置表单打开时验证的权限项
                 *
                 * @param permissionItemId 权限项内码
                 */
                setPermissionItemId(permissionItemId:string):void;
                /**
                 * 设置父表单标识
                 * @param parentFormId 父表单标识
                 */
                setParentFormId(parentFormId:string):void;
                /**
                 * 获取页面标题，如未主动设置，则取设计时页面标题
                 *
                 * @return 页面标题
                 */
                getFormName():string;
                /**
                 * 获取首页pageid
                 * @return 首页pageid
                 */
                getRootPageId():string;
                /**
                 * 设置页面是否显示标题，默认显示
                 * @param isShowTitle 设置为false隐藏标题
                 */
                setShowTitle(isShowTitle:boolean):void;
                /**
                 * 设置自定义参数
                 * @param name 参数名
                 * @param value 参数值
                 */
                setCustomParam(name:string,value:any):void;
                /**
                 * 是否数据权限项目被取消，仅用于界面被打开的时候，用户的权限被取消场景
                 * @return
                 */
                isCancelDataRight():boolean;
                /**
                 * 获取页面使用的微服务应用节点，该微服务节点，必须部署有页面插件
                 * @return
                 * <pre><code> 1. 通常来说，业务插件只部署在设计时的应用节点，因此，需要路由到设计时应用的微服务节点
                 * 2. BOS页面插件，会部署到所有微服务节点，因此，返回当前页面挂在哪个应用主页下即可
                 * 3. 某些特殊场景，由调用者直接指定页面使用的微服务节点
                 * </code></pre>
                 */
                getServiceAppId():string;
                /**
                 * 获取自定义参数
                 * @param name 参数名
                 * @return 参数值
                 */
                getCustomParam(name:string):any;
            }
            type FormShowParameter_T = $.java.io.Serializable & FormShowParameter$;
            interface FormShowParameter extends FormShowParameter_T {
            }
            interface OpenStyle_S {
            }
            type OpenStyle_ST = $.java.io.Serializable & OpenStyle_S;
            interface OpenStyle_C extends OpenStyle_ST {
                /**
                 * 构造函数
                 */
                new():OpenStyle;
            }
            interface OpenStyle$ {
                /**
                 * 设置缓存标识
                 *
                 * @param value 缓存标识
                 */
                setCacheId(value:string):void;
                /**
                 * 获取缓存标识
                 *
                 * @return 缓存标识
                 */
                getCacheId():string;
                /**
                 * 获取父容器标识
                 *
                 * @return 父容器标识
                 */
                getTargetKey():string;
                /**
                 * 新界面显示时，是否获取焦点
                 *
                 * @return 返回true获取焦点
                 */
                isNoSwitchFocus():boolean;
                /**
                 * 设置新界面显示时是否获取焦点
                 *
                 * @param noSwitchFocus 设置为true获取焦点
                 */
                setNoSwitchFocus(noSwitchFocus:boolean):void;
                /**
                 * 插件中调用showForm时，可以放入自定义参数返回前端
                 *
                 * 本参数供前端使用，与{@link FormShowParameter#getCustomParams()}供插件使用不同
                 * @return 自定义参数
                 */
                getCustParam():$.java.util.Map;
                /**
                 * 获取界面展示风格
                 *
                 * @return 展示风格
                 */
                getShowType():ShowType;
                /**
                 * 设置发到前端的自定义参数
                 *
                 * @param custParam 自定义参数
                 */
                setCustParam(custParam:$.java.util.Map):void;
                /**
                 * 设置父容器标识
                 *
                 * 界面嵌入到面板、页签时，指定父容器的标识
                 *
                 * @param value 父容器标识
                 */
                setTargetKey(value:string):void;
                /**
                 * 是否需要占位 抽屉控件使用
                 * @return
                 */
                isPlaceholder():boolean;
                /**
                 * 返回窗体风格层叠样式(HTML Only)
                 *
                 * @return 返回层叠样式
                 */
                getInlineStyleCss():StyleCss;
                /**
                 * 设置窗体风格层叠样式(HTML Only)
                 *
                 * @param value 层叠样式
                 */
                setInlineStyleCss(value:StyleCss):void;
                /**
                 * 设置界面展示风格
                 *
                 * @param value 展示风格
                 */
                setShowType(value:ShowType):void;
                /**
                 * 设置界面显示位置
                 *
                 * @param floatingDirection 显示位置
                 */
                setFloatingDirection(floatingDirection:FloatingDirection):void;
                /**
                 * 设置是否需要占位 抽屉控件使用
                 * @param placeholder
                 */
                setPlaceholder(placeholder:boolean):void;
                /**
                 * 获取界面显示位置
                 *
                 * @return 显示位置
                 */
                getFloatingDirection():FloatingDirection;
            }
            type OpenStyle_T = $.java.io.Serializable & OpenStyle$;
            interface OpenStyle extends OpenStyle_T {
            }
            interface OperateParameter_S {
            }
            interface OperateParameter_C extends OperateParameter_S {
                /**
                 * 构造函数
                 * @param sourceName 操作名称
                 * @param sourceEvent 操作事件源
                 */
                new(sourceName:string,sourceEvent:any):OperateParameter;
            }
            interface OperateParameter$ {
                /**
                 * 获取操作名称
                 * @return
                 */
                getSourceName():string;
                /**
                 * 设置操作事件源
                 * @param sourceEvent
                 */
                setSourceEvent(sourceEvent:any):void;
                /**
                 * 获取操作事件源
                 * @return
                 */
                getSourceEvent():any;
                /**
                 * 设置操作名称
                 * @param sourceName
                 */
                setSourceName(sourceName:string):void;
            }
            type OperateParameter_T = OperateParameter$;
            interface OperateParameter extends OperateParameter_T {
            }
            interface IPageCache_S {
            }
            interface IPageCache_C extends IPageCache_S {
            }
            interface IPageCache$ {
                /**
                 * 移除缓存项
                 *
                 * @param keyName 缓存项标识
                 */
                remove(keyName:string):void;
                /**
                 * 移除缓存的大数据
                 *
                 * @param keyName 缓存项标识
                 */
                removeBigObject(keyName:string):void;
                /**
                 * 读取本页面所有缓存项
                 * @return
                 */
                getAll():$.java.util.Map;
                /**
                 * 单独使用一块区域，缓存大数据
                 *
                 * 使用本方法缓存的大数据，须使用{@link #getBigObject(String)}读取缓存值
                 * @param key 缓存项标识
                 * @param name 缓存值
                 */
                putBigObject(key:string,name:string):void;
                /**
                 * 批量存入缓存
                 *
                 * @param values 缓存值，Key为缓存项标识，Value为缓存值
                 */
                put(values:$.java.util.Map):void;
                /**
                 * 存入缓存
                 *
                 * @param keyName 缓存项标识
                 * @param name 缓存值
                 */
                put(keyName:string,name:string):void;
                /**
                 * 暂停提交缓存
                 */
                suspendCommit?():void;
                /**
                 * 批量移除缓存项
                 *
                 * @param keyNames 缓存项标识
                 */
                batchRemove(keyNames:$.java.util.List):void;
                /**
                 * 获取缓存的大数据
                 *
                 * @param key 缓存项标识
                 * @return 缓存值
                 * @see #putBigObject(String, String)
                 */
                getBigObject(key:string):string;
                /**
                 * 当前是否暂停提交缓存
                 * 在循环中更新页面缓存值，如果每次都即时提交，会极大增加缓存访问次数。
                 * 可以在循环外，调用{@link #suspendCommit()}方法，暂停缓存即时提交。
                 * 循环结束后，调用{@link #resumeCommit()}恢复缓存提交
                 * @return
                 */
                isSuspendCommit?():boolean;
                /**
                 * 返回表单页面pageId
                 * @return 表单页面pageId
                 */
                getPageId():string;
                /**
                 * 恢复提交缓存
                 */
                resumeCommit?():void;
                /**
                 * 推迟页面缓存过期时间
                 *
                 * @param timeout 延迟时长（秒）
                 */
                expireAfter(timeout:number):void;
                /**
                 * 读取缓存
                 *
                 * @param keyName 缓存项标识
                 * @return 缓存值
                 */
                get(keyName:string):string;
                /**
                 * 批量写入缓存
                 *
                 * 默认情况下，页面缓存数据会在页面请求完成时写入缓存服务器。
                 * 代码可调用此方法，要求即时写入缓存服务器
                 */
                saveChanges():void;
            }
            type IPageCache_T = IPageCache$;
            interface IPageCache extends IPageCache_T {
            }
            interface ClientCallbackListener_S {
            }
            type ClientCallbackListener_ST = $.java.io.Serializable & ClientCallbackListener_S;
            interface ClientCallbackListener_C extends ClientCallbackListener_ST {
                new():ClientCallbackListener;
                new(listCallBack:$.java.util.List):ClientCallbackListener;
            }
            interface ClientCallbackListener$ {
                getSignCallbackPlugins():$.java.util.List;
                getView():IFormView;
                setOptionVariables(optionVariables:$.java.util.Map):void;
                setSignCallbackPlugins(signCallbackPlugins:$.java.util.List):void;
                setListCallBack(listCallBack:$.java.util.List):void;
                getListCallBack():$.java.util.List;
                finish(ret:ClientMethodResult):void;
                addSignCallbackLisenter(clzName:string):void;
                addSignCallbackLisenter(listener:SignCallbackLisenter):void;
                setView(view:IFormView):void;
                getOptionVariables():$.java.util.Map;
            }
            type ClientCallbackListener_T = $.java.io.Serializable & ClientCallbackListener$;
            interface ClientCallbackListener extends ClientCallbackListener_T {
            }
            interface MessageBoxLink_S {
            }
            type MessageBoxLink_ST = $.java.io.Serializable & MessageBoxLink_S;
            interface MessageBoxLink_C extends MessageBoxLink_ST {
                new():MessageBoxLink;
            }
            interface MessageBoxLink$ {
                /**
                 * 设置占位索引，对应消息内容中的占位符编号
                 *
                 * @param index 索引，从0开始
                 * @return 返回本对象
                 */
                setIndex(index:number):this;
                /**
                 * 返回占位索引，对应消息内容中的占位符编号
                 *
                 * @return 索引，从0开始
                 */
                getIndex():number;
                /**
                 * 设置超链接显示文本
                 *
                 * @param text 显示文本
                 * @return 返回本对象
                 */
                setText(text:string):this;
                /**
                 * 获取超链接显示文本
                 *
                 * @return 显示文本
                 */
                getText():string;
                /**
                 * 设置链接回调标识
                 *
                 * 如果超链接是内部调整，需要设置此值。
                 * 用户点击时，会带上此值发送请求到服务端，以便服务端代码区分请求来自哪个链接
                 *
                 * @param value 链接回调标识
                 * @return 返回本对象
                 */
                setValue(value:string):this;
                /**
                 * 返回超链接地址
                 *
                 * @return 链接地址
                 */
                getUrl():string;
                /**
                 * 设置外部超链接地址
                 *
                 * 链接地址需要http开头全地址。
                 * 非必需，如果是跳转外部链接则需要设置
                 *
                 * @param url 链接地址
                 * @return 返回本对象
                 */
                setUrl(url:string):this;
                /**
                 * 返回链接回调标识
                 *
                 * @return 链接回调标识
                 */
                getValue():string;
            }
            type MessageBoxLink_T = $.java.io.Serializable & MessageBoxLink$;
            interface MessageBoxLink extends MessageBoxLink_T {
            }
            class MessageTypes {
                static readonly Business:kd.bos.form.MessageTypes;
                static readonly Permission:kd.bos.form.MessageTypes;
                static readonly Image_m:kd.bos.form.MessageTypes;
                static readonly ComingSoon:kd.bos.form.MessageTypes;
                static readonly Default:kd.bos.form.MessageTypes;
                static readonly Commit:kd.bos.form.MessageTypes;
                static readonly ImageWithText_m:kd.bos.form.MessageTypes;
                static valueOf(arg0:string):kd.bos.form.MessageTypes;
                static values():kd.bos.form.MessageTypes[];
                /**
                 * 获取枚举值
                 *
                 * @return 枚举值
                 */
                getValue():number;
            }
            interface IFormUserConfig_S {
            }
            interface IFormUserConfig_C extends IFormUserConfig_S {
            }
            interface IFormUserConfig$ {
                /**
                 * 读取用户参数值
                 *
                 * @param key 参数名称
                 * @return 参数值
                 */
                loadUserConfig(key:string):$.kd.bos.entity.userconfig.UserConfig;
                /**
                 * 保存用户参数值
                 *
                 * @param key 参数名称
                 * @param value 参数值
                 * @return 保存成功返回true
                 */
                saveUserConfig(key:string,value:string,errorMessage:$.java.lang.StringBuilder):boolean;
            }
            type IFormUserConfig_T = IFormUserConfig$;
            interface IFormUserConfig extends IFormUserConfig_T {
            }
            interface MobileFormShowParameter_S {
            }
            type MobileFormShowParameter_ST = FormShowParameter_S & MobileFormShowParameter_S;
            interface MobileFormShowParameter_C extends MobileFormShowParameter_ST {
                new():MobileFormShowParameter;
            }
            interface MobileFormShowParameter$ {
                /**
                 * 设置界面显示位置
                 *
                 * @param value 显示位置
                 */
                setPosition(value:kd.bos.bill.MobileFormPosition):void;
                /**
                 * 获取界面显示位置
                 * @return
                 */
                getPosition():kd.bos.bill.MobileFormPosition;
            }
            type MobileFormShowParameter_T = FormShowParameter & MobileFormShowParameter$;
            interface MobileFormShowParameter extends MobileFormShowParameter_T {
            }
            interface FieldTip_S {
            }
            interface FieldTip_C extends FieldTip_S {
                /**
                 * 构造函数
                 */
                new():FieldTip;
                /**
                 * 构造函数
                 *
                 * @param level 提示级别
                 * @param type 提示信息类别
                 * @param fieldKey 字段
                 * @param tip 提示内容
                 */
                new(level:FieldTip$FieldTipsLevel,type_arg:FieldTip$FieldTipsTypes,fieldKey:string,tip:string):FieldTip;
            }
            interface FieldTip$ {
                /**
                 * 设置提示级别
                 *
                 * @param level 提示级别
                 */
                setLevel(level:FieldTip$FieldTipsLevel):void;
                /**
                 * 是否隐藏提示
                 *
                 * 用户修复了字段非法录入之后，无需继续显示非法录入提示
                 * @return 返回true隐藏提示，返回false显示提示
                 */
                isSuccess():boolean;
                /**
                 * 获取自动隐藏提示的规则
                 * @return 自动隐藏提示的规则
                 */
                getDeleteRule():kd.bos.form.fieldtip.DeleteRule;
                /**
                 * 获取提示级别
                 *
                 * @return 提示级别
                 */
                getLevel():FieldTip$FieldTipsLevel;
                /**
                 * 设置参数，隐藏提示
                 *
                 * 在用户修复非法录入之后，设置此属性，隐藏字段提示
                 * @param success 设置为true隐藏提示
                 */
                setSuccess(success:boolean):void;
                /**
                 * 设置提示信息类别
                 *
                 * @param tipsType 提示信息类别
                 */
                setTipsType(tipsType:FieldTip$FieldTipsTypes):void;
                /**
                 * 设置显示提示的字段标识
                 * @param fieldKey 字段标识
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 设置显示的提示内容
                 * @param tip 提示内容
                 */
                setTip(tip:string):void;
                /**
                 * 获取显示提示的字段标识
                 * @return 字段标识
                 */
                getFieldKey():string;
                /**
                 * 设置自动隐藏字段提示的规则
                 * @param deleteRule 自动隐藏提示的规则
                 */
                setDeleteRule(deleteRule:kd.bos.form.fieldtip.DeleteRule):void;
                /**
                 * 获取提示信息类别
                 *
                 * @return 提示信息类别
                 */
                getTipsType():FieldTip$FieldTipsTypes;
                /**
                 * 获取显示的提示内容
                 * @return 提示内容
                 */
                getTip():string;
            }
            type FieldTip_T = FieldTip$;
            interface FieldTip extends FieldTip_T {
            }
            class FieldTip$FieldTipsTypes {
                static readonly backCard:kd.bos.form.FieldTip$FieldTipsTypes;
                static readonly notNull:kd.bos.form.FieldTip$FieldTipsTypes;
                static readonly scope:kd.bos.form.FieldTip$FieldTipsTypes;
                static readonly email:kd.bos.form.FieldTip$FieldTipsTypes;
                static readonly tele:kd.bos.form.FieldTip$FieldTipsTypes;
                static readonly others:kd.bos.form.FieldTip$FieldTipsTypes;
                static values():kd.bos.form.FieldTip$FieldTipsTypes[];
                static valueOf(arg0:string):kd.bos.form.FieldTip$FieldTipsTypes;
            }
            interface StyleCss_S {
            }
            type StyleCss_ST = $.java.io.Serializable & StyleCss_S;
            interface StyleCss_C extends StyleCss_ST {
                new():StyleCss;
            }
            interface StyleCss$ {
                /**
                 * 设置左边外部空白，格式："30px" 或者 "1%"
                 *
                 * @param value 左边外部空白
                 */
                setMarginLeft(value:string):void;
                /**
                 * 获取左边外部空白
                 *
                 * @return 左边外部空白
                 */
                getMarginLeft():string;
                /**
                 * 获取右边外部空白
                 *
                 * @return 右边外部空白
                 */
                getMarginRight():string;
                /**
                 * 设置右边外部空白，格式："30px" 或者 "1%"
                 *
                 * @param value 右边外部空白
                 */
                setMarginRight(value:string):void;
                /**
                 * 设置宽度
                 *
                 * @param width 宽度
                 */
                setWidth(width:string):void;
                /**
                 * 获取高度
                 *
                 * @return 高度
                 */
                getHeight():string;
                /**
                 * 设置高度
                 *
                 * @param height 高度
                 */
                setHeight(height:string):void;
                /**
                 * 获取宽度
                 *
                 * @return 宽度
                 */
                getWidth():string;
            }
            type StyleCss_T = $.java.io.Serializable & StyleCss$;
            interface StyleCss extends StyleCss_T {
            }
            interface ICloseCallBack_S {
            }
            interface ICloseCallBack_C extends ICloseCallBack_S {
            }
            interface ICloseCallBack$ {
                /**
                 * 回调处理
                 * @param e 事件参数，含回调标识、子界面返回值
                 */
                closedCallBack(e:kd.bos.form.events.ClosedCallBackEvent):void;
            }
            type ICloseCallBack_T = ICloseCallBack$;
            interface ICloseCallBack extends ICloseCallBack_T {
            }
            class ShowType {
                static readonly Default:kd.bos.form.ShowType;
                static readonly Floating:kd.bos.form.ShowType;
                static readonly IFrame:kd.bos.form.ShowType;
                static readonly ToolTips:kd.bos.form.ShowType;
                static readonly ReplaceHomePage:kd.bos.form.ShowType;
                static readonly FloatingAutoHide:kd.bos.form.ShowType;
                static readonly NewTabPage:kd.bos.form.ShowType;
                static readonly PageDrawer:kd.bos.form.ShowType;
                static readonly NewWindow:kd.bos.form.ShowType;
                static readonly NewBrowserPage:kd.bos.form.ShowType;
                static readonly InContainer:kd.bos.form.ShowType;
                static readonly MainNewTabPage:kd.bos.form.ShowType;
                static readonly Modal:kd.bos.form.ShowType;
                static readonly NonModal:kd.bos.form.ShowType;
                static readonly InCurrentForm:kd.bos.form.ShowType;
                static readonly RobotAutoFloat:kd.bos.form.ShowType;
                static valueOf(arg0:string):kd.bos.form.ShowType;
                /**
                 * 把枚举值转换为枚举项
                 *
                 * @param value 枚举值
                 * @return 枚举项
                 */
                static forValue(value:number):kd.bos.form.ShowType;
                static values():kd.bos.form.ShowType[];
                /**
                 * 获取枚举值
                 *
                 * @return 枚举值
                 */
                getValue():number;
            }
            interface CloseCallBackWraper_S {
            }
            type CloseCallBackWraper_ST = $.java.io.Serializable & CloseCallBackWraper_S;
            interface CloseCallBackWraper_C extends CloseCallBackWraper_ST {
                /**
                 * 构造函数
                 * @param pageId 页面id
                 * @param closeCallBack 界面关闭回调参数
                 * @param pkId 主键id
                 * @param isBillView
                 */
                new(pageId:string,closeCallBack:CloseCallBack,pkId:any,isBillView:boolean):CloseCallBackWraper;
            }
            interface CloseCallBackWraper$ {
                /**
                 * 获取界面关闭回调参数
                 * @return
                 */
                getCloseCallBack():CloseCallBack;
                /**
                 * 是否是单据页面
                 * @return
                 */
                isBillView():boolean;
                /**
                 * 获取主键id
                 * @return
                 */
                getPkId():any;
                /**
                 * 设置返回到父表单的返回值
                 * @param returnData
                 */
                setReturnData(returnData:any):void;
                /**
                 * 设置页面id
                 * @param scourePageId
                 */
                setPageId(scourePageId:string):void;
                /**
                 * 获取返回到父表单的返回值
                 * @return
                 */
                getReturnData():any;
                /**
                 * 获取页面id
                 * @return
                 */
                getPageId():string;
                /**
                 * 设置是否是单据页面
                 * @param isBillView
                 */
                setBillView(isBillView:boolean):void;
                /**
                 * 设置主键id
                 * @param pkId
                 */
                setPkId(pkId:any):void;
                /**
                 * 设置界面关闭回调参数
                 * @param closeCallBack
                 */
                setCloseCallBack(closeCallBack:CloseCallBack):void;
            }
            type CloseCallBackWraper_T = $.java.io.Serializable & CloseCallBackWraper$;
            interface CloseCallBackWraper extends CloseCallBackWraper_T {
            }
            interface IClientViewProxy_S {
                readonly STOP_SELECT_ROW:string;
                readonly STOP_UPDATE_CELL:string;
            }
            interface IClientViewProxy_C extends IClientViewProxy_S {
            }
            interface IClientViewProxy$ {
                /**
                 * 更新单元格格式化信息
                 *
                 * @param entryGridKey 单据体分录标识
                 * @param fieldKey     字段标识
                 * @param rowIndex     行号
                 */
                updateCellFmt(entryGridKey:string,fieldKey:string,rowIndex:number):void;
                /**
                 * 返回全部的指令, 包括元素和分录属性刷新
                 *
                 * @return
                 */
                getActionResult():$.java.util.List;
                /**
                 * 获取视图状态
                 *
                 * @param key key
                 * @return 视图状态
                 */
                getViewState(key:string):any;
                /**
                 * 加载保存到缓存中的控件状态
                 */
                loadViewStates():void;
                /**
                 * 设置锁定状态
                 *
                 * @param key   控件标识
                 * @param value 设置值
                 */
                setLockState(key:string,value:any):void;
                /**
                 * 获取可见状态
                 *
                 * @param key 控件key
                 * @return
                 */
                getVisibleState(key:string):any;
                /**
                 * 添加客户端指令
                 *
                 * @param actionName 指令名称
                 * @param arg 指令参数
                 */
                addAction(actionName:string,arg:any):void;
                /**
                 * 是否暂停更新指令
                 * @param entryKey
                 * @param state
                 * @return
                 */
                isState?(entryKey:string,state:string):boolean;
                /**
                 * 获取锁定状态
                 *
                 * @param key 控件key
                 * @return 锁定状态
                 */
                getLockState(key:string):any;
                /**
                 * 选中多行记录
                 *
                 * @param entrykey 单据体标识
                 * @param selRows  选择行的行号
                 * @param focusRow 焦点聚集的行号
                 * @param pr 父id
                 * @return 表格
                 */
                selectRows(entrykey:string,selRows:number[],focusRow:number,pr:number):kd.bos.form.control.AbstractGrid$GridState;
                /**
                 * 选中单元格
                 *
                 * @param entryKey 单据体标识
                 * @param rowIndex 行号
                 * @param colKey   列号
                 */
                focusCell(entryKey:string,rowIndex:number,colKey:string):void;
                /**
                 * 设置长日期的时区信息
                 * @param propName 字段名称
                 * @param info 时区信息
                 */
                setTimeZone(propName:string,info:$.java.util.Map):void;
                /**
                 * 异步获取客户端localStorage存储
                 * （插件clientCallBack事件中依据callbackid判断获取前端回调传值）
                 *
                 * @param key        键
                 * @param callbackid 回调Id
                 */
                getClientLocalStorage(key:string,callbackid:string):void;
                /**
                 * 置顶
                 *
                 * @param entrykey 单据体标识
                 * @param selRows  选择行的行号
                 * @param rowCount 行数
                 */
                moveTop(entrykey:string,selRows:number[],rowCount:number):void;
                /**
                 * 设置单据体属性
                 *
                 * @param key      控件标识
                 * @param property 属性值
                 * @param v        设置值
                 */
                setEntryProperty(key:string,property:string,v:any):void;
                /**
                 * 根据条件移除调用控件方法
                 *
                 * @param predicate
                 */
                removeInvokeControlMethod(predicate:(t:any)=>boolean):void;
                /**
                 * 获取树形状态
                 *
                 * @param key
                 * @return
                 */
                getTreeState(key:string):kd.bos.form.control.TreeView$TreeState;
                /**
                 * 添加需要延迟合计的单据体
                 *
                 * @param entryKey
                 */
                addLazySummaryGrid(entryKey:string):void;
                /**
                 * 设置多个num格式化信息，num是什么？
                 *
                 * @param info 格式化信息组
                 */
                setNumFmtInfos(info:$.java.util.Map):void;
                /**
                 * 获取自定义控件视图代理
                 * @param clazz
                 * @param <T>
                 * @return
                 */
                getControlViewProxy?(clazz:$.java.lang.Class):any;
                /**
                 * 清除单据体增删相关的指令：
                 * 重新绑定单据体数据前，需要调用此方法，清理可能已生成的新增行、删除行等指令，以免和重新绑定数据指令冲突
                 * <p>
                 * 会清除单据体已下达的插入行、删除行指令，需谨慎调用
                 *
                 * @param entryKey 单据体标识
                 */
                clearEntryRowActions?(entryKey:string):void;
                /**
                 * 设置各控件元数据属性值
                 * @param key 控件标识
                 * @param property 属性名
                 * @param meta 属性值
                 */
                setControlMetaState(key:string,property:string,meta:any):void;
                /**
                 * 设置num格式化信息，num是什么？
                 *
                 * @param propName 属性名
                 * @param info     格式化信息组
                 */
                setNumFmtInfo(propName:string,info:$.java.util.Map):void;
                /**
                 * 存储到客户端的localStorage
                 *
                 * @param key   键
                 * @param value 值(序列化为String)
                 */
                setClientLocalStorage(key:string,value:string):void;
                /**
                 * 在单据体中 删除行
                 *
                 * @param entrykey      单据体标识
                 * @param row           多个行号
                 * @param currRowsCount 删除后还有多少行
                 */
                deleteRows(entrykey:string,row:number[],currRowsCount:number):void;
                /**
                 * 在更新控件状态前调用控件方法
                 *
                 * @param key        控件标识
                 * @param methodName 方法名
                 * @param parameters 参数
                 */
                preInvokeControlMethod(key:string,methodName:string,...parameters:any[]):void;
                /**
                 * 获取单据体状态
                 *
                 * @param entryKey 单据体标识
                 * @return
                 */
                getEntryState(entryKey:string):kd.bos.form.control.AbstractGrid$GridState;
                /**
                 * 移除调用控件方法
                 *
                 * @param key        控件标识
                 * @param methodName 方法名
                 */
                removeInvokeControlMethod(key:string,methodName:string):void;
                /**
                 * 获取各控件元数据属性值
                 * @param key 控件标识
                 * @return
                 */
                getControlMetaState(key:string):$.java.util.Map;
                /**
                 * 给单据体追加行
                 *
                 * @param entryKey 单据体标识
                 * @param rowData  行数据
                 */
                appendRow(entryKey:string,rowData:$.java.util.List):void;
                /**
                 * 获取过滤器表格状态
                 *
                 * @param filterGridKey 过滤器表格标识
                 * @return
                 */
                getFilterGridState(filterGridKey:string):kd.bos.form.control.FilterGrid$FilterGridState;
                /**
                 * 选中多行记录
                 *
                 * @param entrykey 单据体标识
                 * @param selRows  选择行的行号
                 * @param focusRow 焦点聚集的行号
                 * @return 表格
                 */
                selectRows(entrykey:string,selRows:number[],focusRow:number):kd.bos.form.control.AbstractGrid$GridState;
                /**
                 * 更新单元格格式化信息
                 * @param entryGridKey 单据体分录标识
                 * @param rowsFmtMapping  行格式对照参数： {行号 : 字段标识集合}
                 */
                updateCellFmt(entryGridKey:string,rowsFmtMapping:$.java.util.Map):void;
                /**
                 * 设置单据体字段属性
                 *
                 * @param entryKey 单据体标识
                 * @param key      控件标识
                 * @param property 属性值
                 * @param v        设置值
                 */
                setEntryFieldProperty(entryKey:string,key:string,property:string,v:any):void;
                /**
                 * 设置可见状态
                 *
                 * @param key   控件标识
                 * @param value 设置值
                 */
                setVisibleState(key:string,value:any):void;
                /**
                 * 获取需要延迟合计的单据体
                 * @return
                 */
                getLazySummaryGrid():$.java.util.Set;
                /**
                 * 上移
                 *
                 * @param entrykey 单据体标识
                 * @param row      多个行号
                 */
                moveUp(entrykey:string,row:number[]):void;
                /**
                 * 添加提示信息  （tip/success/error  notification）
                 * @param param
                 */
                addNotificationMsg?(param:$.java.util.Map):void;
                /**
                 * 添加规则指令
                 * @param ruleActionId 规则指令Id
                 * @param index 行号
                 * @param parentIndex 父行号
                 */
                addRuleAction(ruleActionId:string,index:number,parentIndex:number):void;
                /**
                 * 设置弹性域拆分展示锁定性
                 * @param key
                 * @param value
                 */
                setFlexSplitLockState?(key:string,value:any):void;
                /**
                 * 在单据体中插入行
                 *
                 * @param entryKey 单据体标识
                 * @param row      行号
                 * @param rowData  行数据
                 */
                insertRow(entryKey:string,row:number,rowData:$.java.util.List):void;
                /**
                 * 设置焦点
                 * @param para
                 */
                setFocus(para:$.java.util.Map):void;
                /**
                 * 停止零散的更新单据体单元格数值，最后统一重新绑定单据体表格数据，以减少指令数量，提升前端执行性能
                 *
                 * @param entrykey
                 */
                stopUpdateGridCell?(entrykey:string,isStop:boolean):void;
                /**
                 * 清除控件状态
                 */
                clearControlsState():void;
                /**
                 * 设置长日期的时区信息
                 * @param info 时区信息
                 */
                setTimeZones(info:$.java.util.Map):void;
                /**
                 * 输出数据，用来存储控件状态
                 * @param key
                 * @param state
                 */
                postBack(key:string,state:any):void;
                /**
                 * 设置字段属性
                 *
                 * @param key      控件标识
                 * @param property 属性值
                 * @param v        设置值
                 */
                setFieldProperty(key:string,property:string,v:any):void;
                /**
                 * 合并收集指令发给前端
                 */
                queueActions?():void;
                /**
                 * 异步获取客户端localStorage存储
                 * （插件clientCallBack事件中依据callbackid判断获取前端回调传值）
                 *
                 * @param key 键(同时用于回调判断)
                 */
                getClientLocalStorage(key:string):void;
                /**
                 * 停止默认行勾选逻辑支持自定义行勾选逻辑，同时减少指令数量，提升前端执行性能
                 *
                 * @param entrykey
                 */
                stopSelectGridRow?(entrykey:string,isStop:boolean):void;
                /**
                 * 设置单据体单元格必录状态
                 *
                 * @param key   单据体控件标识
                 * @param value 设置值
                 */
                setMustInputState?(key:string,value:any):void;
                /**
                 * 清除单据体规则相关的指令
                 * @param entryKey 单据体标识
                 * @param parentIndex 父行号
                 */
                clearEntryRuleActions?(entryKey:string,parentIndex:number):void;
                /**
                 * 置底
                 *
                 * @param entrykey 单据体标识
                 * @param selRows  选择行的行号
                 * @param rowCount 行数
                 */
                moveBottom(entrykey:string,selRows:number[],rowCount:number):void;
                /**
                 * 选择不带子节点
                 * 前面接口无法通用,改动怕影响到其它的，因此写了这个接口，把前端指令拿出去，交给控件处理
                 *
                 * @param key 树形分支标识
                 * @param nodes   待检查节点
                 */
                checkNodesWithoutChild(key:string,nodes:$.java.util.List):kd.bos.form.control.TreeView$TreeState;
                /**
                 * 下移
                 *
                 * @param entrykey 单据体标识
                 * @param row      多个行号
                 * @param rowCount 行数
                 */
                moveDown(entrykey:string,row:number[],rowCount:number):void;
                /**
                 * 移除指令
                 * @param actionName
                 */
                removeAction(actionName:string):void;
                /**
                 * 检查节点状态
                 *
                 * @param key
                 * @param nodes 节点列表
                 * @return
                 */
                checkNodes(key:string,nodes:$.java.util.List):kd.bos.form.control.TreeView$TreeState;
                /**
                 * 在单据体中插入行()
                 *
                 * @param entryKey 单据体标识
                 * @param row      行号
                 * @param rowData  行数据
                 * @param insertNext  是否在当前行号后面插入 (解决单据体过滤排序模式下前端无法区别是上插还是下插问题)
                 */
                insertRow(entryKey:string,row:number,rowData:$.java.util.List,insertNext:boolean):void;
                /**
                 * 添加带返回Callback函数ID的客户端指令
                 * @param actionName 指令名称
                 * @param arg 指令参数
                 * @param callbackid Callback函数ID
                 */
                addAction(actionName:string,arg:any,callbackid:string):void;
                /**
                 * 添加规则指令
                 * @param ruleActionId 规则指令Id
                 * @param index 行号
                 */
                addRuleAction(ruleActionId:string,index:number):void;
                /**
                 * 在更新控件状态后调用控件方法
                 *
                 * @param key        控件标识
                 * @param methodName 方法名
                 * @param parameters 参数
                 */
                invokeControlMethod(key:string,methodName:string,...parameters:any[]):void;
                /**
                 * 设置单据体字段值
                 *
                 * @param grid     单据体分录
                 * @param key      单据体标识
                 * @param rowIndex 行号
                 * @param v        字段值
                 */
                setEntryFieldValue(grid:kd.bos.form.control.AbstractGrid,key:string,rowIndex:number,v:any):void;
            }
            type IClientViewProxy_T = IClientViewProxy$;
            interface IClientViewProxy extends IClientViewProxy_T {
            }
            interface AbstractFormView_S {
                readonly SHOW_TIP_DURATION:string;
            }
            type AbstractFormView_ST = AbstractFormView_S & IFormView_S;
            interface AbstractFormView_C extends AbstractFormView_ST {
                new():AbstractFormView;
            }
            interface AbstractFormView$ {
                /**
                 * 表单内显示信息（悬浮框），可设置消息头，消息类型，以及确认监听
                 *
                 * @param msg      消息头
                 * @param type     消息类型
                 * @param callBack 确认框回调
                 */
                showMessage(msg:string,type_arg:string,callBack:ConfirmCallBackListener):void;
                /**
                 * 设置参数条件将拦截下一个请求并中断
                 * @param param 拦截下一个请求并中断参数设置
                 */
                setShouldInterruptNextRequest(param:kd.bos.form.exception.InterruptNextRequestParam):void;
                /**
                 * 获取操作状态
                 *
                 * @return 操作状态
                 */
                getStatus():kd.bos.bill.OperationStatus;
                /**
                 * 弹出确认消息框
                 * @param msg 消息内容
                 * @param options 确认按钮选项
                 * @param callBack 回调处理参数
                 */
                showConfirm(msg:string,options:string,callBack:ConfirmCallBackListener):void;
                /**
                 * 获取客户端视图代理
                 * @return
                 */
                getClientProxy():IClientViewProxy;
                /**
                 * 发送操作校验反馈信息给客户端
                 * @see FieldPos 反馈信息（字段定位+提示）
                 * @param operationResult
                 */
                showOperationAllFieldLoc(operationResult:$.kd.bos.entity.operate.result.OperationResult):void;
                /**
                 * 弹出确认消息框
                 * @param msg 消息内容
                 * @param options 确认按钮选项
                 */
                showConfirm(msg:string,options:string):void;
                /**
                 * 展示操作结果页面
                 * @param operationResult 操作结果
                 * @param operateName     操作名称
                 */
                showOperationResultPage(operationResult:$.kd.bos.entity.operate.result.OperationResult,operateName:string):void;
                /**
                 * 检查参数条件拦截下一个请求并中断
                 * @param params 请求参
                 * @return
                 */
                checkAndInterruptNextRequest(params:$.java.util.List):string;
            }
            type AbstractFormView_T = AbstractFormView$ & IFormView;
            interface AbstractFormView extends AbstractFormView_T {
            }
            interface FormShowParameterNames_S {
                readonly CALL_SOURCE_TYPE:string;
                readonly ISMERGEROWS:string;
                readonly CHECKRIGHTAPPID:string;
                readonly ISCOPY:string;
                readonly SERVICEAPPID:string;
                readonly ISCOPYRELATEENTITY:string;
                readonly NAVIGATION_BILLIDS:string;
            }
            interface FormShowParameterNames_C extends FormShowParameterNames_S {
                new():FormShowParameterNames;
            }
            interface FormShowParameterNames$ {
            }
            type FormShowParameterNames_T = FormShowParameterNames$;
            interface FormShowParameterNames extends FormShowParameterNames_T {
            }
            interface IFormView_S {
            }
            interface IFormView_C extends IFormView_S {
            }
            interface IFormView$ {
                /**
                 * 获取页面缓存服务接口
                 *
                 * @return 页面缓存服务接口
                 */
                getPageCache():IPageCache;
                /**
                 * 获取父页面视图，不含父页面插件
                 *
                 * 效果类似于 {@code this.getView().getViewNoPlugin(this.getView().getFormShowParameter().getParentPageId())}
                 * @return
                 */
                getParentViewNoPlugin?():this;
                /**
                 * 添加客户端回调
                 *
                 * @param callBackName 回调名称
                 */
                addClientCallBack(callBackName:string):void;
                /**
                 * 更新客户端指定控件元数据
                 *
                 * @param key 控件标识
                 * @param ctl 控件客户端元数据
                 */
                updateControlMetadata(key:string,ctl:$.java.util.Map):void;
                /**
                 * 隐藏loading
                 *
                 * @see #showLoading(LocaleString)
                 */
                hideLoading():void;
                /**
                 * 弹出确认消息框
                 *
                 * @param msg 消息内容
                 * @param options 确认按钮选项
                 * @author rd_chengzhou_hong
                 */
                showConfirm(msg:string,options:MessageBoxOptions):void;
                /**
                 * 传入要返回给父表单的值
                 *
                 * @param value 返回值
                 */
                setReturnData(value:any):void;
                /**
                 * 显示错误提示
                 *
                 * @param msg 提示内容
                 * @param title 标题
                 */
                showErrMessage(msg:string,title:string):void;
                /**
                 * 刷新单据体行字段值
                 *
                 * @param key 单据体字段标识
                 * @param row 单据体分录行索引，从0开始
                 */
                updateView(key:string,row:number):void;
                /**
                 * 显示成功消息
                 *
                 * 消息文本可以设置超链接。
                 * 在表单内弹出悬浮消息框，绿框，默认2秒自动消失，可以设置延时关闭时间。
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替。消息内嵌入超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
                 * @param duration 延时关闭时间（毫秒）
                 * @param msgLinks 占位符替换对象
                 * @param callBackListener 回调监听，内部链接必须设置，不然不发送请求
                 */
                showSuccessNotification(msg:string,duration:number,msgLinks:$.java.util.List,callBackListener:ConfirmCallBackListener):void;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮消息框，默认没有按钮，自动消失
                 *
                 * @param msg 消息内容
                 */
                showMessage(msg:string):void;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮框，可以设置消息头，详细消息，消息类型
                 *
                 * @param msg    消息头
                 * @param detail 详细的信息
                 * @param type   消息类型
                 */
                showMessage(msg:string,detail:string,type_arg:MessageTypes):void;
                /**
                 * 获取返回给父表单的值
                 *
                 * @return 要返回给父表单页面的值
                 */
                getReturnData():any;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮消息框，橙框，默认3秒自动关闭，可指定自动关闭时间
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替
                 * @param duration 延时关闭时间（毫秒）
                 */
                showTipNotification(msg:string,duration:number):void;
                /**
                 * 刷新子单据体行字段值
                 *
                 * @param key 子单据体字段标识
                 * @param row 子单据体分录行索引，从0开始
                 * @param parent 父单据体分录行索引，从0开始
                 */
                updateView(key:string,row:number,parent:number):void;
                /**
                 * 获取弹性域字段编辑控件
                 *
                 * @param key 弹性域字段标识
                 * @param row 分录行号
                 * @return 控件
                 */
                getFlexControl(key:string,row:number):kd.bos.form.control.Control;
                /**
                 * 显示成功消息
                 *
                 * 在表单内弹出悬浮消息框，绿框，默认2秒自动消失，可以设置延时关闭时间
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替
                 * @param duration 延时关闭时间（毫秒）
                 */
                showSuccessNotification(msg:string,duration:number):void;
                /**
                 * 设置返回值到客户端动态表单
                 *
                 * @param retValue 返回的值对象，必须可序列化为JSON串
                 */
                setClientReturnData(retValue:any):void;
                /**
                 * 滚动界面，把指定控件显示出来
                 *
                 * @param key 控件标识
                 */
                scrollIntoView(key:string):void;
                /**
                 * 获取表单内置的服务接口实现类
                 * <p>
                 * 表单视图内置了{@link kd.bos.entity.datamodel.IBillModel IBillModel}、{@link kd.bos.service.IUserService IUserService}、{@link kd.bos.service.IBaseDataService IBaseDataService}、{@link IFormUserConfig} 等多种服务接口，可通过此方法获取到
                 * <pre>{@code IFormUserConfig formUserConfig = this.getView().getService(IFormUserConfig.class);
                 *             UserConfig userConfig = formUserConfig.loadUserConfig("key1");
                 * }</pre>
                 *
                 * @param clazz 服务接口定义
                 * @return 表单内置的服务接口实现类
                 */
                getService(clazz:$.java.lang.Class):any;
                /**
                 * 设置单据体分录字段锁定性
                 *
                 * @param value 设置为false锁定字段
                 * @param rowIndex 单据体分录行索引，从0开始
                 * @param ctlKeys 字段标识
                 */
                setEnable(value:boolean,rowIndex:number,...ctlKeys:string[]):void;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮框，可设置消息头，消息类型，以及确认监听
                 *
                 * @param msg      消息头
                 * @param type     消息类型
                 * @param callBack 确认框回调
                 */
                showMessage(msg:string,type_arg:MessageTypes,callBack:ConfirmCallBackListener):void;
                /**
                 * 设置表单操作状态
                 *
                 * @param value 表单操作状态，有查看、新建、修改
                 */
                setStatus(value:kd.bos.bill.OperationStatus):void;
                /**
                 * 将表单显示参数更新到页面缓存
                 * <p>
                 * 代码修改了表单显示参数的属性值之后，不会自动更新到页面缓存，下次页面请求从缓存恢复出来的还是旧值
                 */
                cacheFormShowParameter():void;
                /**
                 * 读取指定表单页面的客户端指令，和本页面的指令一起返回到前端
                 *
                 * 页面客户端指令是按页面隔离的，页面请求完成时，默认只会取到本页面的客户端指令返回到客户端，其他页面的指令会丢失。
                 * 调用本方法就可以把其他页面的指令一起打包返回到客户端，到了客户端之后，再通过本页面转给其他页面执行。
                 *
                 * @param view 其他表单视图
                 */
                sendFormAction(view:IFormView):void;
                /**
                 * 设置控件锁定性
                 *
                 * @param value 设置为false锁定控件
                 * @param ctlKeys 控件标识
                 */
                setEnable(value:boolean,...ctlKeys:string[]):void;
                /**
                 * 获取指定PageId对应视图所在服务节点的AppId
                 */
                getServiceAppId(pageId:string):string;
                /**
                 * 打开上传文件窗口
                 *
                 * @param option 文件上传参数
                 * <pre><code>
                 * ("multiple", true);                // 是否多选
                 * ("title", "我偏不叫上传文件");       // 文件上传对话框标题
                 * ("suffix", ".rar,.zip,.xls");      // 支持的文件后缀
                 * ("limitSize", 100);    // byte,单个文件限制大小
                 * ("limitCount", 3); // 上传数量限制
                 * </code></pre>
                 * @param callbackButtonKey 上传文件按钮标识
                 */
                showUpload(option:$.kd.bos.upload.UploadOption,callbackButtonKey:string):void;
                /**
                 * 字段上显示提示信息
                 *
                 * @param tip 提示信息
                 */
                showFieldTip(tip:FieldTip):void;
                /**
                 * 获取表单显示参数
                 *
                 * @return 表单显示参数
                 */
                getFormShowParameter():FormShowParameter;
                /**
                 * 获取表单模型层控制接口
                 *
                 * @return 模型层控制接口
                 */
                getModel():$.kd.bos.entity.datamodel.IDataModel;
                /**
                 * 显示页面loading
                 *
                 * @param msg 提示内容
                 * @param closeDuration 延时回调，毫秒
                 */
                showLoading(msg:$.kd.bos.dataentity.entity.LocaleString,closeDuration:number):void;
                /**
                 * 调用表单操作
                 *
                 * @param operationKey 操作编码
                 * @param option 自定义参数
                 * @return 返回操作结果
                 */
                invokeOperation(operationKey:string,option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 打开链接
                 *
                 * @param url 链接地址
                 */
                openUrl(url:string):void;
                /**
                 * 显示提示消息
                 *
                 * 消息文本可以设置超链接
                 * 在表单内弹出悬浮消息框，橙框，需要手动关闭
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替。消息内嵌入超链接占位符，格式如“保存失败，#{0},单据详情，#{1}”
                 * @param msgLinks 占位符替换对象， {@link MessageBoxLink}
                 * @param callBackListener 回调监听，内部链接必须设置，不然不发送请求
                 */
                showTipNotification(msg:string,msgLinks:$.java.util.List,callBackListener:ConfirmCallBackListener):void;
                /**
                 * 指明控件为自定义控件，需要由插件动态构建
                 * <p>
                 * 需要在运行时使用自定义的控件代替标准控件时，插件需要调用本方法传入此控件的Key，触发onGetControl事件由插件对控件进行实例化，否则会自动采用标准的控件。
                 * 常见的场景，如使用自定义的表格控件代替标准的表格，以实现分页取数，插件就要先调用此方法传入表格key，然后在onGetControl事件中创建自定义表格实例返回。
                 */
                addCustomControls(...key:string[]):void;
                /**
                 * 显示异常消息
                 *
                 * 在表单内弹出悬浮消息框，红框，需要手动关闭。
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替
                 */
                showErrorNotification(msg:string):void;
                /**
                 * 显示成功消息
                 *
                 * 消息文本可以设置超链接。
                 * 在表单内弹出悬浮消息框， 绿框，默认2秒自动消失。
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替。消息内嵌入超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
                 * @param msgLinks 占位符替换对象， {@link MessageBoxLink}
                 * @param callBackListener 回调监听，内部链接必须设置，不然不发送请求
                 */
                showSuccessNotification(msg:string,msgLinks:$.java.util.List,callBackListener:ConfirmCallBackListener):void;
                /**
                 * 下载资源
                 * @param url 链接地址
                 */
                download(url:string):void;
                /**
                 * 获取父页面视图控制接口
                 *
                 * 如果父页面属于其他应用，可能会因为缺少插件而失败，用 {@code this.getView().getViewNoPlugin(this.getView().getFormShowParameter().getParentPageId())} 替代
                 *
                 * @return 父页面视图
                 * @see #getViewNoPlugin(String)
                 */
                getParentView():this;
                /**
                 * 显示进度条loading
                 *
                 * 在服务端需要进行长时间的业务处理时，可以调用此方法，通过Stocket端口即时给客户端发送一个进行中的提示和进度
                 *
                 * @param msg 内容
                 * @param progress 进度
                 */
                showProgressLoading(msg:$.kd.bos.dataentity.entity.LocaleString,progress:number):void;
                /**
                 * 弹出确认消息框，带上提示类型，让前端显示提示的图片，指定回调处理参数
                 *
                 * @param msg 消息摘要
                 * @param detail 消息详细内容
                 * @param options 确认按钮选项
                 * @param confirmTypes 提示类型
                 * @param callBack 回调处理参数
                 */
                showConfirm(msg:string,detail:string,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener):void;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮框，可设置消息头，消息类型，以及确认监听
                 *
                 * @param msg      消息头
                 * @param iconfont 图标，仅支持字体图标
                 * @param type     消息类型
                 * @param callBack 确认框回调
                 */
                showMessage(msg:string,iconfont:string,type_arg:MessageTypes,callBack:ConfirmCallBackListener):void;
                /**
                 * 打开一个新的表单页面
                 *
                 * @param parameter 表单打开参数
                 */
                showForm(parameter:FormShowParameter):void;
                /**
                 * 获取指定的页面视图控制接口
                 *
                 * 如果指定的页面属于其他应用，可能会因为缺少插件而失败，用 {@code this.getView().getViewNoPlugin(pageId)} 替代
                 *
                 * @param pageId 页面pageId
                 * @return 页面视图
                 * @see #getViewNoPlugin(String)
                 */
                getView(pageId:string):this;
                /**
                 * 直接调用客户端控件方法，完成后立即回调
                 *
                 * @param method 方法名
                 * @param args 方法参数
                 * @param listner 回调执行参数，指定由哪个类处理回调
                 */
                executeClientMethodCallback(method:string,args:$.java.util.Map,listner:ClientCallbackListener):void;
                /**
                 * 执行客户端自定义指令
                 *
                 * @param cmdName 指令名
                 * @param parameter 指令参数，通常是map格式
                 */
                executeClientCommand(cmdName:string,...parameter:any[]):void;
                /**
                 *  预览附件
                 *
                 *  @param fileInfo 预览的文件对象信息
                 *  数据格式：
                 *  <pre><code>
                 * {
                 * 	"downloadUrl":"https://ierp.kingdee.com:2024/mainbiz/tempfile/download.do?configKey=redis.serversForCache&id=tempfile-470bc88a-1c0c-4d8d-868b-a10560c5bc86&kdedcba=MWMwOWNiM2EtMmEwNi00ZTQ5LTgzYmQtMmE0NTEyNTYyOGYxfn4xNTUwMjEwNDYxOTg4&v=0.5",
                 * 	"fileDownloadUrl":"https://ierp.kingdee.com:2024/mainbiz/tempfile/download.do?configKey=redis.serversForCache&id=tempfile-470bc88a-1c0c-4d8d-868b-a10560c5bc86&kdedcba=MWMwOWNiM2EtMmEwNi00ZTQ5LTgzYmQtMmE0NTEyNTYyOGYxfn4xNTUwMjEwNDYxOTg4&v=0.5",
                 * 	"fileExt":"png",
                 * 	"fileId":"iRXL8JgxOG2D",
                 * 	"fileName":"aaa.png",
                 * 	"fileSize":"141695",
                 * 	"fileTime":123235545,
                 * 	"status":"success"
                 * }
                 * </code></pre>
                 */
                previewAttachment(fileInfo:$.java.util.Map):void;
                /**
                 * 获取指定的页面视图控制接口，不含插件
                 *
                 * 苍穹是分应用部署的，获取跨应用的页面视图时，须用此方法获取：直接使用{@code this.getView().getView(pageId)}可能会因找不到插件而中断失败。
                 * <b>特别说明</b>：本方法返回的页面视图因为不含插件，仅可用于访问页面数据，不可调用其业务逻辑，以免遗漏插件功能
                 *
                 * @param pageId 页面pageId
                 * @return 页面视图
                 * @see #getView(String)
                 */
                getViewNoPlugin(pageId:string):this;
                /**
                 * 弹出确认消息框，带上提示类型，让前端显示提示的图片，指定回调处理参数
                 *
                 * @param msg 消息摘要
                 * @param detail 消息详细内容
                 * @param options 确认按钮选项
                 * @param confirmTypes 提示类型
                 * @param callBack 回调处理参数
                 * @param btnNameMaps 指定按钮的个性化名称，如把OK按钮指定为“知道了”： {@code  btnNameMaps.put(MessageBoxResult.OK.getValue(), "知道了") }
                 * @param customValue 用户自定义参数，前端会在回调事件{@link IConfirmCallBack#confirmCallBack(kd.bos.form.events.MessageBoxClosedEvent) confirmCallBack}中返回
                 */
                showConfirm(msg:string,detail:string,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener,btnNameMaps:$.java.util.Map,customValue:string):void;
                /**
                 * 显示操作结果
                 *
                 * @param operationResult 操作结果
                 */
                showOperationResult(operationResult:$.kd.bos.entity.operate.result.OperationResult):void;
                /**
                 * 检查指定的页面是否存在
                 *
                 * @param pageId 页面pageId
                 * @return 返回true页面存在
                 */
                existView?(pageId:string):boolean;
                /**
                 * 显示页面loading
                 *
                 * 在服务端需要进行长时间的业务处理时，可以调用此方法，通过Stocket端口即时给客户端发送一个进行中的提示
                 *
                 * @param msg 内容
                 */
                showLoading(msg:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 移动端批量显示指令
                 * @param title 标题
                 * @param msg 提示内容
                 * @param options 消息选项
                 */
                showTopConfirm(title:string,msg:string,options:MessageBoxOptions):void;
                /**
                 * 显示操作结果
                 *
                 * @param operationResult 操作结果
                 * @param operateName 操作名称（中文）
                 */
                showOperationResult(operationResult:$.kd.bos.entity.operate.result.OperationResult,operateName:string):void;
                /**
                 * 获取表单的下级控件
                 *
                 * @param key 控件标识
                 * @return 控件
                 */
                getControl(key:string):kd.bos.form.control.Control;
                /**
                 * 显示图片预览窗体
                 *
                 * @param urls 图片URL数组
                 * @param activeIndex 图层
                 */
                showPictureView(urls:string[],activeIndex:number):void;
                /**
                 * 弹出确认消息框，带上提示类型，让前端显示提示的图片，指定回调处理参数
                 *
                 * @param title        标题
                 * @param msg          消息摘要
                 * @param detail       消息详细内容
                 * @param options      确认按钮选项
                 * @param confirmTypes 提示类型
                 * @param callBack     回调处理参数
                 * @param btnNameMaps  指定按钮的个性化名称，如把OK按钮指定为“知道了”： {@code  btnNameMaps.put(MessageBoxResult.OK.getValue(), "知道了") }
                 * @param customValue  用户自定义参数，前端会在回调事件{@link IConfirmCallBack#confirmCallBack(kd.bos.form.events.MessageBoxClosedEvent) confirmCallBack}中返回
                 */
                showConfirm(title:string,msg:string,detail:string,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener,btnNameMaps:$.java.util.Map,customValue:string):void;
                /**
                 * 重新绑定数据到前端控件
                 *
                 * 此方法会重新刷新整个页面，插件推荐用 {@code this.getView().updateView(key)} 局部刷新指定控件
                 */
                updateView():void;
                /**
                 * 显示异常消息
                 *
                 * 消息文本可以设置超链接。
                 * 在表单内弹出悬浮消息框，红框，需要手动关闭
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替。消息内嵌入超链接占位符，格式如“保存失败，#{0},单据详情，#{1}”
                 * @param msgLinks 占位符替换对象， {@link MessageBoxLink}
                 * @param callBackListener 回调监听，内部链接必须设置，不然不发送请求
                 */
                showErrorNotification(msg:string,msgLinks:$.java.util.List,callBackListener:ConfirmCallBackListener):void;
                /**
                 * 关闭表单
                 */
                close():void;
                /**
                 * 获取表单的实例Id
                 *
                 * @return 表单的实例Id
                 */
                getPageId():string;
                /**
                 * 获取应用首页
                 *
                 * @return 应用首页
                 */
                getMainView():this;
                /**
                 * 弹出确认消息框，指定回调处理参数
                 *
                 * @param msg 消息内容
                 * @param options 确认按钮选项
                 * @param callBack 回调处理参数
                 * @author rd_chengzhou_hong
                 */
                showConfirm(msg:string,options:MessageBoxOptions,callBack:ConfirmCallBackListener):void;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮消息框，橙框，需要手动关闭
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替
                 */
                showTipNotification(msg:string):void;
                /**
                 * 隐藏loading
                 *
                 * @see #showLoading(LocaleString)
                 */
                hideLoading(async_arg:boolean):void;
                /**
                 * 弹出确认消息框，带上提示类型，让前端显示提示的图片，指定回调处理参数
                 *
                 * @param msg 消息摘要
                 * @param detail 消息详细内容
                 * @param options 确认按钮选项
                 * @param confirmTypes 提示类型
                 * @param callBack 回调处理参数
                 * @param btnNameMaps 指定按钮的个性化名称，如把OK按钮指定为“知道了”： {@code  btnNameMaps.put(MessageBoxResult.OK.getValue(), "知道了") }
                 */
                showConfirm(msg:string,detail:string,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener,btnNameMaps:$.java.util.Map):void;
                /**
                 * 激活表单
                 */
                activate():void;
                /**
                 * 获取表单实体标识
                 *
                 * @return 实体标识
                 */
                getEntityId():string;
                /**
                 * 弹出确认消息框，支持内容设置超链接，指定回调处理参数
                 *
                 * @param tempMsg 消息模板#{x}为超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
                 * @param msglinks 模板占位符替换对象， {@link MessageBoxLink}
                 *  @param options 确认按钮选项
                 * @param confirmTypes 提示类型
                 * @param callBack 回调处理参数
                 */
                showConfirm(tempMsg:string,msglinks:$.java.util.List,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener):void;
                /**
                 * 设置控件可见性
                 *
                 * @param value 设置为false隐藏不可见
                 * @param ctlKeys 控件标识
                 */
                setVisible(value:boolean,...ctlKeys:string[]):void;
                /**
                 * 动态添加新插件
                 *
                 * @param plugin 表单插件
                 */
                addPlugin(plugin:kd.bos.form.plugin.IFormPlugin):void;
                /**
                 * 弹出确认消息框，支持内容设置超链接，指定回调处理参数
                 *
                 * @param tempMsg 消息模板#{x}为超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
                 * @param msglinks 模板占位符替换对象， {@link MessageBoxLink}
                 * @param options 弹出框按钮选项
                 * @param confirmTypes 确认按钮选项
                 * @param callBack 提示类型
                 * @param callBack 回调处理参数
                 * @param btnNameMaps 指定按钮的个性化名称，如把OK按钮指定为“知道了”： {@code  btnNameMaps.put(MessageBoxResult.OK.getValue(), "知道了") }
                 */
                showConfirm(tempMsg:string,msglinks:$.java.util.List,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener,btnNameMaps:$.java.util.Map):void;
                /**
                 * 显示提示消息
                 *
                 * 消息文本可以设置超链接。
                 * 在表单内弹出悬浮消息框，橙框，默认3秒自动关闭，可指定自动关闭时间
                 *
                 * @param msg 带链接占位符的消息内容,不能超过50字,超过部分用三个点代替 ，消息内嵌入超链接占位符，格式如“保存失败，#{0},单据详情，#{1}”
                 * @param duration 延时关闭时间（毫秒）
                 * @param msgLinks 占位符替换对象， {@link MessageBoxLink}
                 * @param callBackListener 回调监听，内部链接必须设置，不然不发送请求
                 */
                showTipNotification(msg:string,duration:number,msgLinks:$.java.util.List,callBackListener:ConfirmCallBackListener):void;
                /**
                 * 更新客户端控件元数据
                 *
                 * 插件可用此方法，动态调整客户端控件的属性值
                 * @param ctls 控件客户端元数据
                 */
                updateUIMetadatas(ctls:$.java.util.Map):void;
                /**
                 * 字段上显示提示信息（批量）
                 *
                 * @param tips 提示信息
                 */
                showFieldTips(tips:$.java.util.List):void;
                /**
                 * 关闭机器人助手的消息
                 */
                closeRobotMessage():void;
                /**
                 * 发送消息给机器人助手，支持延时关闭
                 *
                 * @param msg 消失内容
                 * @param duration 延时关闭时间（ 毫秒）
                 */
                showRobotMessage(msg:string,duration:number):void;
                /**
                 * 移动端批量显示指令
                 * @param title 标题
                 * @param msg 提示内容
                 * @param detail 详情内容
                 * @param options 消息选项
                 * @param confirmTypes 确认按钮选项
                 * @param callBack 回调处理参数
                 * @param btnNameMaps 指定按钮的个性化名称，如把OK按钮指定为“知道了”： {@code  btnNameMaps.put(MessageBoxResult.OK.getValue(), "知道了") }
                 * @param customValue 用户自定义参数，前端会在回调事件{@link IConfirmCallBack#confirmCallBack(kd.bos.form.events.MessageBoxClosedEvent) confirmCallBack}中返回
                 */
                showTopConfirm(title:string,msg:string,detail:string,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener,btnNameMaps:$.java.util.Map,customValue:string):void;
                /**
                 * 显示表单校验反馈
                 * @param fieldPositions 字段提示语位置列表
                 */
                showFormValidMsg(fieldPositions:$.java.util.List):void;
                /**
                 * @param title   标题
                 * @param msg     消息摘要
                 * @param options 确认按钮选项
                 */
                showConfirm(title:string,msg:string,options:MessageBoxOptions):void;
                /**
                 * 设置页面标题
                 *
                 * @param title 标题
                 */
                setFormTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 显示表单校验反馈
                 * @param fieldPosition 字段提示语位置
                 */
                showFormValidMsg(fieldPosition:$.kd.bos.entity.validate.FieldPos):void;
                /**
                 * 显示提示消息
                 *
                 * 在表单内弹出悬浮框，支持内容设置超链接，可设置消息头，消息类型，以及确认监听
                 *
                 * @param tempMsg  消息模板#{x}为超链接占位符，格式如“保存成功，#{0},单据详情，#{1}”
                 * @param msglinks 模板占位符替换对象， {@link MessageBoxLink}
                 * @param type     消息类型
                 * @param callBack 确认框回调
                 */
                showMessage(tempMsg:string,msglinks:$.java.util.List,type_arg:MessageTypes,callBack:ConfirmCallBackListener):void;
                /**
                 * 通过Stocket端口给在线用户的客户端发送指令
                 *
                 * @param actionName 指令名
                 * @param param 指令参数
                 * @param userIds 接收用户
                 */
                sendWebSocketAction(actionName:string,param:any,userIds:$.java.util.List):void;
                /**
                 * 显示成功消息
                 *
                 * 在表单内弹出悬浮消息框，绿框，默认2秒自动消失
                 *
                 * @param msg 消息内容,不能超过50字,超过部分用三个点代替
                 */
                showSuccessNotification(msg:string):void;
                /**
                 * 弹出确认消息框，带上提示类型，让前端显示提示的图片，指定回调处理参数
                 *
                 * @param msg 消息内容
                 * @param options 确认按钮选项
                 * @param confirmTypes 提示类型
                 * @param callBack 回调处理参数
                 */
                showConfirm(msg:string,options:MessageBoxOptions,confirmTypes:ConfirmTypes,callBack:ConfirmCallBackListener):void;
                /**
                 * 调用表单操作
                 *
                 * @param operationKey 操作编码
                 * @return 返回操作结果，内含操作是否成功，失败提示等
                 */
                invokeOperation(operationKey:string):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 添加客户端回调
                 *
                 * @param callBackName 回调名称
                 * @param duration 回调延迟时间
                 */
                addClientCallBack(callBackName:string,duration:number):void;
                /**
                 * 发送消息给机器人助手
                 *
                 * @param msg 消息内容
                 */
                showRobotMessage(msg:string):void;
                /**
                 * 显示页面loading
                 *
                 * @param msg 提示内容
                 * @param closeDuration 延时回调，毫秒
                 * @param async 是否异步推送
                 */
                showLoading(msg:$.kd.bos.dataentity.entity.LocaleString,closeDuration:number,async_arg:boolean):void;
                /**
                 * 返回数据到到父表单
                 *
                 * @param value 返回值
                 */
                returnDataToParent(value:any):void;
                /**
                 * 获取表单根容器： {@link kd.bos.form.container.FormRoot FormRoot}
                 *
                 * @return 表单根容器
                 */
                getRootControl():kd.bos.form.control.Control;
                /**
                 * 刷新指定控件的数据到前端
                 * @param key 控件标识
                 */
                updateView(key:string):void;
            }
            type IFormView_T = IFormView$;
            interface IFormView extends IFormView_T {
            }
            interface BindingContext_S {
            }
            interface BindingContext_C extends BindingContext_S {
                /**
                 * 构造函数
                 *
                 * @param dataEntity 当前控件绑定的数据包
                 */
                new(dataEntity:any):BindingContext;
                /**
                 * 构造函数
                 *
                 * @param dataEntity 当前控件绑定的数据包
                 * @param rowIndex 单据体分录行索引
                 */
                new(dataEntity:any,rowIndex:number):BindingContext;
                /**
                 * 构造函数
                 *
                 * @param entityType 单据体实体
                 * @param dynamicObject 单据体分录行数据包
                 * @param rowIndex2 单据体分录行索引
                 */
                new(entityType:$.kd.bos.dataentity.metadata.IDataEntityType,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,rowIndex2:number):BindingContext;
                /**
                 * 构造函数
                 * @param dataEntity 当前控件绑定的数据包
                 * @param rowIndex 单据体分录行索引
                 * @param parentRowIndex 单据体分录父行索引
                 */
                new(dataEntity:any,rowIndex:number,parentRowIndex:number):BindingContext;
                /**
                 * 构造函数
                 *
                 * @param entityType 单据体实体
                 * @param dynamicObject 单据体分录行数据包
                 * @param rowIndex2 单据体分录行索引
                 * @param parentBCtx 父控件的绑定上下文对象：在绑定单据体分录行字段值时，把单据体的绑定上下文对象传入
                 */
                new(entityType:$.kd.bos.dataentity.metadata.IDataEntityType,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,rowIndex2:number,parentBCtx:BindingContext):BindingContext;
                /**
                 * 构造函数
                 *
                 * @param entityType 单据体实体
                 * @param dynamicObject 单据体分录行数据包
                 * @param rowIndex2 单据体分录行索引
                 * @param parentBCtx 父控件的绑定上下文对象：在绑定单据体分录行字段值时，把单据体的绑定上下文对象传入
                 * @param flexValueFormatter 分录弹性域字段预加载处理
                 */
                new(entityType:$.kd.bos.dataentity.metadata.IDataEntityType,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,rowIndex2:number,parentBCtx:BindingContext,flexValueFormatter:kd.bos.form.field.format.FlexValueFormatter):BindingContext;
            }
            interface BindingContext$ {
                /**
                 * 设置标志：是否是通过updateView调用过来
                 *
                 * @param callByUpdateView 设置为true是从updateView调用过来
                 */
                setCallByUpdateView(callByUpdateView:boolean):void;
                /**
                 * 返回当前处理的单据体分录行索引
                 *
                 * @return 如果当前不是在绑定单据体字段值，返回0
                 */
                getRowIndex():number;
                /**
                 * 设置当前处理的字父实体对象
                 *
                 * @param entityEntityType 实体
                 */
                setEntityEntityType(entityEntityType:$.kd.bos.dataentity.metadata.IDataEntityType):void;
                /**
                 * 获取当前处理的数据包
                 *
                 * @return 数据包
                 */
                getDataEntity():any;
                /**
                 * 设置父控件的绑定上下文，常用于在绑定单据体下级分录行字段值时，把单据体的绑定上下文对象传入
                 *
                 * @param parentBCtx 父控件的绑定上下文，
                 */
                setParentBCtx(parentBCtx:BindingContext):void;
                /**
                 * 获取父控件的绑定上下文
                 *
                 * @return 可能返回null
                 */
                getParentBCtx():this;
                /**
                 * 获取弹性域预处理数据
                 *
                 * @return 可能返回null
                 */
                getFlexValueFormatter():kd.bos.form.field.format.FlexValueFormatter;
                /**
                 * 是否是通过updateView调用过来，整个界面都在刷新（区别于局部刷新个别字段）
                 *
                 * @return 返回true是从updateView调用过来
                 */
                isCallByUpdateView():boolean;
                /**
                 * 返回当前处理的单据体分录父行索引
                 *
                 * @return 如果当前不是在绑定单据体字段值，返回0
                 */
                getParentRowIndex():number;
                /**
                 * 返回当前处理的字段父实体
                 *
                 * @return 可能返回null
                 */
                getEntityEntityType():$.kd.bos.dataentity.metadata.IDataEntityType;
            }
            type BindingContext_T = BindingContext$;
            interface BindingContext extends BindingContext_T {
            }
            class FloatingDirection {
                static readonly BottomLeft:kd.bos.form.FloatingDirection;
                static readonly RightCenter:kd.bos.form.FloatingDirection;
                static readonly LeftCenter:kd.bos.form.FloatingDirection;
                static readonly RightTop:kd.bos.form.FloatingDirection;
                static readonly RightBottom:kd.bos.form.FloatingDirection;
                static readonly TopRight:kd.bos.form.FloatingDirection;
                static readonly LeftTop:kd.bos.form.FloatingDirection;
                static readonly TopLeft:kd.bos.form.FloatingDirection;
                static readonly TopCenter:kd.bos.form.FloatingDirection;
                static readonly LeftBottom:kd.bos.form.FloatingDirection;
                static readonly BottomCenter:kd.bos.form.FloatingDirection;
                static readonly BottomRight:kd.bos.form.FloatingDirection;
                static valueOf(arg0:string):kd.bos.form.FloatingDirection;
                static values():kd.bos.form.FloatingDirection[];
                /**
                 * 返回枚举类型的内部值
                 *
                 * @return 枚举内部值
                 */
                getValue():string;
            }
            interface ConfirmCallBackListener_S {
            }
            type ConfirmCallBackListener_ST = $.java.io.Serializable & ConfirmCallBackListener_S & IConfirmCallBack_S;
            interface ConfirmCallBackListener_C extends ConfirmCallBackListener_ST {
                /**
                 * 构造函数
                 *
                 * @param callBackId 回调标识
                 * @param typeName 执行回调的插件类名
                 */
                new(callBackId:string,typeName:string):ConfirmCallBackListener;
                /**
                 * 构造函数
                 *
                 * @param callBackId 回调标识
                 * @param formPlugin 处理回调的插件
                 */
                new(callBackId:string,formPlugin:kd.bos.form.plugin.IFormPlugin):ConfirmCallBackListener;
                /**
                 * 构造函数
                 *
                 * @param callBackId 回调标识
                 * @param typeName 执行回调处理的类名
                 * @param messageCallBackType 回调处理类型
                 */
                new(callBackId:string,typeName:string,messageCallBackType:MessageCallBackType):ConfirmCallBackListener;
            }
            interface ConfirmCallBackListener$ {
                /**
                 * 设置回调标识
                 *
                 * @param callBackId 不同回调来源，需指定不同的回调标识以区分
                 */
                setCallBackId(callBackId:string):void;
                /**
                 * 获取回调标识
                 *
                 * @return 回调标识
                 */
                getCallBackId():string;
            }
            type ConfirmCallBackListener_T = $.java.io.Serializable & ConfirmCallBackListener$ & IConfirmCallBack;
            interface ConfirmCallBackListener extends ConfirmCallBackListener_T {
            }
            interface FormConfig_S {
                /**
                 * 获取
                 *
                 * @param in 输入流
                 * @return 内容
                 * @throws IOException io异常
                 */
                getContent(in_arg:$.java.io.InputStream):string;
            }
            type FormConfig_ST = $.java.io.Serializable & FormConfig_S;
            interface FormConfig_C extends FormConfig_ST {
                new():FormConfig;
            }
            interface FormConfig$ {
                /**
                 * 设置表单内容编解码类型，如base64
                 * @param kdEncoding
                 */
                setKdEncoding(kdEncoding:string):void;
                /**
                 * @return the caption
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置是否已绑定实体元数据
                 * @param hasBinderMap
                 */
                setHasBinderMap(hasBinderMap:boolean):void;
                /**
                 * 是否是轻分析视图
                 * @return
                 */
                isQingView():boolean;
                /**
                 * 是否页签布局
                 * @return
                 */
                isTabLayout():boolean;
                /**
                 * 设置是否是轻分析视图
                 * @param isQingView
                 */
                setQingView(isQingView:boolean):void;
                /**
                 * 设置新手向导模版
                 * @param userGuide
                 */
                setUserGuide(userGuide:string):void;
                getKdEncoding():string;
                /**
                 * 设置是否是自定义表单
                 * @param customForm
                 */
                setCustomForm(customForm:boolean):void;
                /**
                 * 设置是否显示标题
                 * @param showTitle
                 */
                setShowTitle(showTitle:boolean):void;
                /**
                 * 获取表单所有规则的数量
                 * @return
                 */
                getRuleCount():number;
                /**
                 * 获取表单界面的宽度
                 *
                 * @return 宽度值
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置列表表单模板编码
                 * @param listFormId
                 */
                setListFormId(listFormId:string):void;
                /**
                 * 设置F7列表表单模板编码
                 * @return
                 */
                getF7ListFormId():string;
                /**
                 * 获取展示风格
                 */
                getShowType():ShowType;
                /**
                 * @param version the version to set
                 */
                setVersion(version:string):void;
                /**
                 * 获取表头数值和时间字段个数
                 * @return
                 */
                getHDFieldCount():number;
                /**
                 * 前端页面脚本插件
                 *
                 * @param jsPlugins
                 */
                setJsPlugins(jsPlugins:$.java.util.List):void;
                /**
                 * 是否已绑定实体元数据
                 * @return
                 */
                isHasBinderMap():boolean;
                setLightExt(lightExt:boolean):void;
                /**
                 * 创建脚本插件
                 *
                 * @param formId    表单标识
                 * @param classname 脚本名称
                 * @return 表单插件
                 */
                createScriptPlugin(formId:string,classname:string):kd.bos.form.plugin.IFormPlugin;
                /**
                 * @param entityTypeId the entityTypeId to set
                 */
                setEntityTypeId(entityTypeId:string):void;
                /**
                 * 获取列表使用表单布局
                 * @return
                 */
                getListOpenLayoutBill():string;
                /**
                 * 设置计算的字段hashcode
                 * @param fieldHashCode
                 */
                setFieldHashCode(fieldHashCode:string):void;
                /**
                 * 是否允许双击打开
                 * @return
                 */
                isAllowDoubleClick():boolean;
                /**
                 * 设置表头数值和时间字段个数
                 * @param hdFieldCount
                 */
                setHDFieldCount(hdFieldCount:number):void;
                /**
                 * 获取菜单
                 * @return
                 */
                getMenu():$.java.util.Map;
                /**
                 * 设置展示风格
                 *
                 * @param value 展示风格
                 */
                setShowType(value:ShowType):void;
                isLightExt():boolean;
                /**
                 * 获取表单界面的高度
                 *
                 * @return 高度值
                 */
                getHeight():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置列表使用表单布局
                 * @param listOpenLayoutBill
                 */
                setListOpenLayoutBill(listOpenLayoutBill:string):void;
                /**
                 * 设置运行期表单元数据的根对象
                 * @param formRoot
                 */
                setFormRoot(formRoot:kd.bos.form.container.FormRoot):void;
                /**
                 * 前端页面脚本插件，原放于 FormRoot，由于列表需要支持页面插件，放入 FormConfig 中
                 *
                 * @return
                 */
                getJsPlugins():$.java.util.List;
                /**
                 * 获取表单的模型类型
                 *
                 * @return
                 */
                getModelType():string;
                /**
                 * 获取单据在打开时是否显示卡片侧边栏
                 * @return
                 */
                isShowWidget():boolean;
                /**
                 * @param caption the caption to set
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置菜单
                 * @param menu
                 */
                setMenu(menu:$.java.util.Map):void;
                /**
                 * 获取F7列表表单模板编码
                 * @param f7listFormId
                 */
                setF7ListFormId(f7listFormId:string):void;
                /**
                 * 运行时应用编码（运行时业务应用应统一使用编码而非id）
                 *
                 * @return
                 */
                getBizAppNumber():string;
                /**
                 * 获取列表选项
                 * @return
                 */
                getListUserOption():string;
                /**
                 * 设置ResManager.loadKDString("查看详情", "602753013416722432", SubSystemType.SL)展示风格
                 *
                 * @param viewShowType ResManager.loadKDString("查看详情", "602753013416722432", SubSystemType.SL)展示风格
                 */
                setViewShowType(viewShowType:ShowType):void;
                /**
                 * 获取计算的字段hashcode
                 * @return
                 */
                getFieldHashCode():string;
                /**
                 * 创建脚本插件
                 * @param formId 表单标识
                 * @param classname 脚本名称
                 * @param scriptContent 脚本内容
                 * @return
                 */
                createScriptPlugin(formId:string,classname:string,scriptContent:string):kd.bos.form.plugin.IFormPlugin;
                /**
                 * 创建插件
                 *
                 * @param scriptPluginClass 脚本插件类
                 * @param formId            表单标识
                 * @return 创建的插件列表
                 */
                createPlugin(scriptPluginClass:$.java.lang.Class,formId:string):$.java.util.List;
                /**
                 * 获取新手向导模版
                 * @return
                 */
                getUserGuide():string;
                /**
                 * 设置运行时应用编码
                 * @param bizAppNumber
                 */
                setBizAppNumber(bizAppNumber:string):void;
                /**
                 * @param plugins the plugins to set
                 */
                setPlugins(plugins:$.java.util.List):void;
                /**
                 * @return the version
                 */
                getVersion():string;
                /**
                 * @return the plugins
                 */
                getPlugins():$.java.util.List;
                /**
                 * @return the entityTypeId
                 */
                getEntityTypeId():string;
                /**
                 * 获取列表表单模板编码
                 * @return
                 */
                getListFormId():string;
                /**
                 * 设置应用id
                 * @param appId
                 */
                setAppId(appId:string):void;
                /**
                 * 设置表单界面的高度
                 *
                 * @param height 高度值
                 */
                setHeight(height:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取ResManager.loadKDString("查看详情", "602753013416722432", SubSystemType.SL)展示风格
                 */
                getViewShowType():ShowType;
                /**
                 * 设置列表选项
                 * @param listUserOption
                 */
                setListUserOption(listUserOption:string):void;
                /**
                 * 获取运行期表单元数据的根对象
                 * @return
                 */
                getFormRoot():kd.bos.form.container.FormRoot;
                /**
                 * 添加插件
                 * @param plugin
                 */
                setPlugin(plugin:$.kd.bos.entity.plugin.Plugin):void;
                /**
                 * 获取应用id
                 * @return
                 */
                getAppId():string;
                /**
                 * 设置单据在打开时是否显示卡片侧边栏
                 * @param isShowWidget
                 */
                setShowWidget(isShowWidget:boolean):void;
                /**
                 * 设置表单所有规则的数量
                 * @param value
                 */
                setRuleCount(value:number):void;
                /**
                 * 是否显示标题
                 * @return
                 */
                isShowTitle():boolean;
                /**
                 * 设置苍穹平台-领域模型版本
                 * @param bosver
                 */
                setBOSVer(bosver:string):void;
                /**
                 * 设置表单界面的宽度
                 *
                 * @param width 宽度值
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置是否页签布局
                 * @param tabLayout
                 */
                setTabLayout(tabLayout:boolean):void;
                /**
                 * 创建插件
                 *
                 * @param formId 表单标识
                 * @return 创建的插件列表
                 */
                createCardPlugin(formId:string):$.java.util.List;
                /**
                 * 回收资源
                 */
                destory():void;
                /**
                 * 获取苍穹平台-领域模型版本
                 * @return
                 */
                getBOSVer():string;
                /**
                 * 设置表单的模型类型
                 * @param modelType
                 */
                setModelType(modelType:string):void;
                /**
                 * 是否是自定义表单
                 * @return
                 */
                isCustomForm():boolean;
                /**
                 * 设置是否允许双击打开
                 * @param allowDoubleClick
                 */
                setAllowDoubleClick(allowDoubleClick:boolean):void;
            }
            type FormConfig_T = $.java.io.Serializable & FormConfig$;
            interface FormConfig extends FormConfig_T {
            }
            interface CloseCallBack_S {
            }
            type CloseCallBack_ST = $.java.io.Serializable & CloseCallBack_S;
            interface CloseCallBack_C extends CloseCallBack_ST {
                /**
                 * 构造函数用于反序列化
                 */
                new():CloseCallBack;
                /**
                 * 构造函数
                 *
                 * @param callbackClassName 接收回调处理的类名，必须实现ICloseCallBack接口
                 * @param actionId 回调标识：由发起者自定义，以便和其他回调来源进行区分
                 */
                new(callbackClassName:string,actionId:string):CloseCallBack;
                /**
                 * 构造函数
                 *
                 * @param plugin 接收回调处理的表单插件实例
                 * @param actionId 回调标识：由发起者自定义，以便和其他回调来源进行区分
                 */
                new(plugin:kd.bos.form.plugin.IFormPlugin,actionId:string):CloseCallBack;
            }
            interface CloseCallBack$ {
                /**
                 * 获取回调标识
                 *
                 * @return 回调标识
                 */
                getActionId():string;
                /**
                 * 设置回调标识
                 *
                 * 同一个插件可能会打开并监控多种子界面的回调处理。每个子界面关闭时，都是触发closedCallBack事件，需通过回调标识区分来源
                 *
                 * @param actionId 回调标识
                 */
                setActionId(actionId:string):void;
                /**
                 * 获取控件标识
                 *
                 * @return 控件标识
                 */
                getControlKey():string;
                /**
                 * 获取回调处理执行类名
                 *
                 * @return 类名
                 */
                getClassName():string;
                /**
                 * 设置回调处理执行类名
                 *
                 * 执行类必须实现ICloseCallBack接口，
                 *
                 * @param className  类名
                 */
                setClassName(className:string):void;
                /**
                 * 设置控件标识
                 *
                 * 通常打开子页面时会指定由本插件处理回调，或指定回调处理的类名
                 * 某些控件（如过滤面板）本身就实现了回调处理接口，能够自行做回调处理，设置回调参数时指定控件标识即可
                 * 特别说明：优先以指定的类处理回调，如果没有指定类，则转给指定控件处理回调
                 *
                 * @param controlKey 控件标识
                 */
                setControlKey(controlKey:string):void;
            }
            type CloseCallBack_T = $.java.io.Serializable & CloseCallBack$;
            interface CloseCallBack extends CloseCallBack_T {
            }
            class ClientMethod {
                static readonly Photo:kd.bos.form.ClientMethod;
                static readonly ScanQRCode:kd.bos.form.ClientMethod;
                static readonly AddCalendarEvent:kd.bos.form.ClientMethod;
                static readonly Chat:kd.bos.form.ClientMethod;
                static readonly ShareToYZJ:kd.bos.form.ClientMethod;
                static values():kd.bos.form.ClientMethod[];
                static valueOf(arg0:string):kd.bos.form.ClientMethod;
                /**
                 * 获取枚举值
                 *
                 * @return 枚举值
                 */
                getValue():string;
            }
            interface ITipsSupport_S {
            }
            interface ITipsSupport_C extends ITipsSupport_S {
            }
            interface ITipsSupport$ {
                /**
                 * 添加帮助提示显示事件监控器
                 *
                 * @param listener 监控器
                 */
                addTipsListener(listener:kd.bos.form.control.events.TipsListener):void;
                /**
                 * 动态设置帮助提示内容
                 *
                 * @param tips 提示内容
                 */
                addTips(tips:$.kd.bos.entity.Tips):void;
                /**
                 * 隐藏控件的帮助提示标志（"？"号）
                 */
                hideTips():void;
            }
            type ITipsSupport_T = ITipsSupport$;
            interface ITipsSupport extends ITipsSupport_T {
            }
            interface TipsSupport_S {
            }
            type TipsSupport_ST = ITipsSupport_S & TipsSupport_S & kd.bos.form.control.Control_S;
            interface TipsSupport_C extends TipsSupport_ST {
                new():TipsSupport;
            }
            interface TipsSupport$ {
            }
            type TipsSupport_T = ITipsSupport & TipsSupport$ & kd.bos.form.control.Control;
            interface TipsSupport extends TipsSupport_T {
            }
            interface ICtsyShowParameter_S {
            }
            interface ICtsyShowParameter_C extends ICtsyShowParameter_S {
            }
            interface ICtsyShowParameter$ {
                /**
                 * 获取远程租户数据中心id
                 * @return
                 */
                getAccountId():string;
                /**
                 * 获取远程租户编码
                 * @return
                 */
                getTenantCode():string;
            }
            type ICtsyShowParameter_T = ICtsyShowParameter$;
            interface ICtsyShowParameter extends ICtsyShowParameter_T {
            }
            class MessageCallBackType {
                static readonly Plugin:kd.bos.form.MessageCallBackType;
                static readonly Class:kd.bos.form.MessageCallBackType;
                static readonly Operation:kd.bos.form.MessageCallBackType;
                static readonly Control:kd.bos.form.MessageCallBackType;
                static values():kd.bos.form.MessageCallBackType[];
                static valueOf(arg0:string):kd.bos.form.MessageCallBackType;
                getValue():number;
            }
            interface ClientActions_S {
                readonly addCalendarEventYZJ:string;
                readonly showUpload:string;
                readonly socialShareYZJ:string;
                readonly addClientCallBack:string;
                readonly sendCall:string;
                readonly clearGrid:string;
                readonly setFormTitle:string;
                readonly CallAppMethod:string;
                readonly setListHeaderBaseDataItems:string;
                readonly closeUpload:string;
                readonly closeWindow:string;
                readonly setFocus:string;
                readonly reloadListForColumn:string;
                readonly addControls:string;
                readonly SetActiveRowKey:string;
                readonly CleanFormValData:string;
                readonly collapseAllNode:string;
                readonly updateUIMetadatas:string;
                readonly closeRobotMessage:string;
                readonly CARD_ROWS_REFRESH:string;
                readonly SetColProp:string;
                readonly showFormbyClient:string;
                readonly changeLanguage:string;
                readonly sendMail:string;
                readonly SetFloatButtomData:string;
                readonly lockBillPanel:string;
                readonly showFilter:string;
                readonly showSlideBill:string;
                readonly showPictureView:string;
                readonly showMicroBlog:string;
                readonly setF7ComboListValue:string;
                readonly getTimeZone:string;
                readonly popupWindow:string;
                readonly appendRowsNoFocus:string;
                readonly chatYZJ_PC:string;
                readonly setLookUpListValue:string;
                readonly setCellStyle:string;
                readonly setAllowUpLoadFileType:string;
                readonly outerHandleCommand:string;
                readonly updateCsrfToken:string;
                readonly SetEnable:string;
                readonly fireCustomRequest:string;
                readonly photos:string;
                readonly setListEnumFilterItems:string;
                readonly ruleId:string;
                readonly HideOpItems:string;
                readonly actionName:string;
                readonly setFormStatus:string;
                readonly closeTabItem:string;
                readonly setMainMenubarProperty:string;
                readonly collapseNode:string;
                readonly refresh:string;
                readonly showListSummaryInfo:string;
                readonly GridFullScreen:string;
                readonly InvokeControlMethodCallback:string;
                readonly export:string;
                readonly moveUp:string;
                readonly showMessage:string;
                readonly expandNode:string;
                readonly updateControlFlexStates:string;
                readonly updateControlMetadata:string;
                readonly SwitchGridView:string;
                readonly UpdatePaginationInfo:string;
                readonly setBillStatus:string;
                readonly selectRows:string;
                readonly sendSMS:string;
                readonly print:string;
                readonly unlockTabItem:string;
                readonly chatYZJ:string;
                readonly getLocation:string;
                readonly appendRows:string;
                readonly moveDown:string;
                readonly selectPrinter:string;
                readonly expandAllNode:string;
                readonly setInnerTitle:string;
                readonly ShowOpItems:string;
                readonly setAttachContent:string;
                readonly showThemePanel:string;
                readonly closeExploreWindow:string;
                readonly showNotificationMessage:string;
                readonly SetCustomProperties:string;
                readonly showFlex:string;
                readonly shareToYZJ_PC:string;
                readonly setTop:string;
                readonly showGlobalConfirm:string;
                readonly printPreview:string;
                readonly setMestipMargin:string;
                readonly previewAttachment:string;
                readonly setClientDialogResult:string;
                readonly executeClientCommand:string;
                readonly setRowFontColor:string;
                readonly InvokeControlMethod:string;
                readonly f5Refresh:string;
                readonly shareToYZJ:string;
                readonly lockCell:string;
                readonly updateDefaultLanguage:string;
                readonly onLineViewFile:string;
                readonly showErrMessage:string;
                readonly sendBroadcast:string;
                readonly deleteRow:string;
                readonly showWarnningMessage:string;
                readonly showDynamicForm:string;
                readonly openUrlWindow:string;
                readonly setBarItemProperty:string;
                readonly setPageJS:string;
                readonly clearAttachContent:string;
                readonly changeSkinSln:string;
                readonly reset:string;
                readonly updateControlStates:string;
                readonly SetColEditorProp:string;
                readonly SetDateFilter:string;
                readonly setClientReturnData:string;
                readonly openWindow:string;
                readonly lockTabItem:string;
                readonly SetPageConfig:string;
                readonly sendDynamicFormAction:string;
                readonly downLoadFile:string;
                readonly showRobotMessage:string;
                readonly setSlideBillFormId:string;
                readonly setLanguages:string;
                readonly deleteRows:string;
                readonly SetPlainText:string;
                readonly setContentUrl:string;
                readonly SetCardScrollBarToTop:string;
                readonly sendAynDynamicFormAction:string;
                readonly insertRow:string;
                readonly setBottom:string;
                readonly showConfirm:string;
                readonly callClientAction:string;
                readonly setRowStyle:string;
                /**
                 * 获取指令构造器：隐藏操作列
                 *
                 * @return 客户端指令构造器
                 */
                createHideOpItemBuilder():kd.bos.form.builder.HideOpItemBuilder;
                /**
                 * 获取指令构造器：WebOffice控件-打开
                 *
                 * @return 客户端指令构造器
                 */
                createWebOfficeOpenBuilder():kd.bos.form.builder.WebOfficeOpenBuilder;
                /**
                 * 获取指令构造器：设置穿梭框数据包
                 *
                 * @return 客户端指令构造器
                 */
                creatSetTransferDataBuilder():kd.bos.form.builder.SetTransferDataBuilder;
                /**
                 * 获取列表行显示指令构造类
                 *
                 * 可使用此类类生成前端控制指令
                 * 使用示例：<pre>{@code
                 *        IClientViewProxy clientViewProxy = this.getView().getService(IClientViewProxy.class);
                 *
                 *        ListRowStyleBuilder actionBuilder = ClientActions.createRowStyleBuilder();
                 *        actionBuilder.setBackColor("#ffffff");
                 *        actionBuilder.setForeColor("#2ab277");
                 *        actionBuilder.setFontSize(12);
                 *        actionBuilder.buildStyle();
                 *        actionBuilder.invokeControlMethod(clientViewProxy, "billlistap");
                 * }</pre>
                 *
                 * @return 指令构造类
                 */
                createRowStyleBuilder():kd.bos.form.builder.ListRowStyleBuilder;
                /**
                 * 获取指令构造器：显示操作列
                 *
                 * @return 客户端指令构造器
                 */
                createShowOpItemBuilder():kd.bos.form.builder.ShowOpItemBuilder;
                /**
                 * 获取指令构造器：WebOffice控件-保存
                 *
                 * @return 指令构造器
                 */
                createWebOfficeSaveBuilder():kd.bos.form.builder.WebOfficeSaveBuilder;
                /**
                 * 获取列表单元格风格指令构造类
                 *
                 * 可使用此类类生成前端控制指令
                 * 使用示例：<pre>{@code
                 *        IClientViewProxy clientViewProxy = this.getView().getService(IClientViewProxy.class);
                 *
                 *        List<kd.bos.entity.report.CellStyle> cellStyles = new java.util.ArrayList<>(1);
                 *        kd.bos.entity.report.CellStyle cellStyle = new kd.bos.entity.report.CellStyle();
                 *        cellStyle.setForeColor("#2ab277");
                 *        cellStyle.setRow(0);
                 *        cellStyle.setFieldKey("billno");
                 *        cellStyles.add(cellStyle);
                 *
                 *        ListCellStyleBuilder actionBuilder = ClientActions.createCellStyle();
                 *        actionBuilder.addAll(cellStyles);
                 *        actionBuilder.invokeControlMethod(clientViewProxy, "billlistap");
                 * }</pre>
                 *
                 * @return 指令构造类
                 */
                createCellStyle():kd.bos.form.builder.ListCellStyleBuilder;
                /**
                 * 获取指令构造器-设置控件指定属性值
                 *
                 * @return 客户端指令构造器
                 */
                createSetCustomPropBuilder():kd.bos.form.builder.SetCustomPropBuilder;
                /**
                 * 获取控件外观设置指令构造类
                 *
                 * 可使用指令构造类生成前端控制指令
                 * 使用示例：<pre>{@code
                 *        IClientViewProxy clientViewProxy = this.getView().getService(IClientViewProxy.class);
                 * SetControlStyleBuilder actionBuilder = ClientActions.createControlStyleBuilder();
                 * actionBuilder.setFontSize(12);
                 * actionBuilder.addAction(clientViewProxy, fieldKey);
                 * }</pre>
                 * @return 指令构造类
                 */
                createControlStyleBuilder():kd.bos.form.builder.SetControlStyleBuilder;
                /**
                 * 获取指令构造器：WebOffice控件-动作
                 *
                 * @return 客户端指令构造器
                 */
                createWebOfficeActionBuilder():kd.bos.form.builder.WebOfficeActionBuilder;
            }
            interface ClientActions_C extends ClientActions_S {
                new():ClientActions;
            }
            interface ClientActions$ {
            }
            type ClientActions_T = ClientActions$;
            interface ClientActions extends ClientActions_T {
            }
            interface SingleOrgContextHelper_S {
                /**
                 * 单组织企业管理模式下控制隐藏所有卡片列表中组织字段，配置了组织的基础资料属性字段...
                 * 针对卡片有效(移动列表）
                 */
                createCardSingleOrgContext(lstcardview:kd.bos.list.ListCardView,cardviewItems:$.java.util.List):void;
                /**
                 * 字段是否需要隐藏
                 * @param prop
                 * @return
                 */
                isFieldNeedHide(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
                /**
                 * 是否是单组织模式
                 * @return
                 */
                isSingleOrgManageMode():boolean;
                /**
                 * 统一使用FilterField可以支持多层级过滤
                 * @param filterField
                 * @return
                 */
                isNeedHideOrg(filterField:$.kd.bos.entity.filter.FilterField):boolean;
                /**
                 * 报表筛选条件内容隐藏控制
                 */
                createReportSearchConditionSingleOrgContext(fields:$.java.util.List,view:$.kd.bos.form.IFormView):void;
                /**
                 * 单组织企业管理模式下控制隐藏所有卡片列表中组织字段，配置了组织的基础资料属性字段...
                 * 针对表单，支持（单据体、子单据体）
                 */
                createFormSingleOrgContext(view:$.kd.bos.form.IFormView):void;
                /**
                 * 单组织企业管理模式下控制隐藏所有列表中组织字段，配置了组织的基础资料属性字段...
                 * 针对列表有效
                 */
                createReportSingleOrgContext(columns:$.java.util.List):void;
                /**
                 * 通用过滤控件FilterGrid
                 */
                createFilterGridSingleOrgContext(fieldMap:$.java.util.Map,mainType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 单组织企业管理模式下控制隐藏所有列表中组织字段，配置了组织的基础资料属性字段...
                 * 针对列表有效
                 */
                createListSingleOrgContext(item:$.kd.bos.form.control.Control,column:$.java.util.Map):void;
                /**
                 * @method getOrgmanageMode
                 * @description 获取组织管理模式
                 * @return
                 */
                getOrgmanageMode():number;
                /**
                 * 许可模式，是否为标准版
                 *
                 * @return
                 */
                isStandardVersionMode():boolean;
                /**
                 * 参数平台相关实现单组织模式上下文
                 * @param view 参数平台的view
                 */
                createSystemParamSingleOrgContext(view:$.kd.bos.form.IFormView,visible:boolean):void;
            }
            interface SingleOrgContextHelper_C extends SingleOrgContextHelper_S {
                new():SingleOrgContextHelper;
            }
            interface SingleOrgContextHelper$ {
            }
            type SingleOrgContextHelper_T = SingleOrgContextHelper$;
            interface SingleOrgContextHelper extends SingleOrgContextHelper_T {
            }
            interface ShowFormHelper_S {
                /**
                 * 构建列表打开参数
                 *
                 * @param formId
                 *            单据实体标识
                 * @param isMultiSelect
                 *            是否支持多选
                 * @return 列表打开参数
                 */
                createShowListForm(formId:string,isMultiSelect:boolean):$.kd.bos.list.ListShowParameter;
                /**
                 * 从showParameter中获取appId对应的内码,若无法直接获取到appId,则获取表单编码,从元数据中得到appId再获取对应内码
                 *
                 * @param showParameter
                 * @return bizAppId appId对应的内码
                 */
                getBizAppId(showParameter:$.kd.bos.form.FormShowParameter):string;
            }
            interface ShowFormHelper_C extends ShowFormHelper_S {
                new():ShowFormHelper;
            }
            interface ShowFormHelper$ {
            }
            type ShowFormHelper_T = ShowFormHelper$;
            interface ShowFormHelper extends ShowFormHelper_T {
            }
            class RefreshResultType {
                static readonly Fail:kd.bos.form.RefreshResultType;
                static readonly Success:kd.bos.form.RefreshResultType;
                static values():kd.bos.form.RefreshResultType[];
                static valueOf(arg0:string):kd.bos.form.RefreshResultType;
                getValue():number;
            }
            class ClientCallback$SignClientType {
                static readonly Secondry:kd.bos.form.ClientCallback$SignClientType;
                static readonly Standard:kd.bos.form.ClientCallback$SignClientType;
                static values():kd.bos.form.ClientCallback$SignClientType[];
                static valueOf(arg0:string):kd.bos.form.ClientCallback$SignClientType;
                getValue():string;
            }
        }
        namespace kd.bos.form.builder{
            interface SetCustomPropBuilder_S {
            }
            type SetCustomPropBuilder_ST = ActionBuilder_S & SetCustomPropBuilder_S;
            interface SetCustomPropBuilder_C extends SetCustomPropBuilder_ST {
                new():SetCustomPropBuilder;
            }
            interface SetCustomPropBuilder$ {
            }
            type SetCustomPropBuilder_T = ActionBuilder & SetCustomPropBuilder$;
            interface SetCustomPropBuilder extends SetCustomPropBuilder_T {
            }
            interface ActionBuilder_S {
            }
            interface ActionBuilder_C extends ActionBuilder_S {
                new():ActionBuilder;
            }
            interface ActionBuilder$ {
                build():$.java.util.Map;
                /**
                 * 生成由前端统一执行的指令：含指令名、指令参数（控件名称也作为指令一部分）
                 *
                 * @param proxy 客户端指令代理对象，负责向前端传递指令
                 * @param key 控件标识
                 */
                addAction(proxy:IClientViewProxy,key:string):void;
                /**
                 * 服务：子类重写指令名称
                 * @return
                 */
                getMethodName():string;
                /**
                 * 生成由控件执行的指令：含控件、指令名、指令参数
                 *
                 * @param proxy 客户端指令代理对象，负责向前端传递指令
                 * @param key 控件标识
                 */
                invokeControlMethod(proxy:IClientViewProxy,key:string):void;
            }
            type ActionBuilder_T = ActionBuilder$;
            interface ActionBuilder extends ActionBuilder_T {
            }
            interface SetControlStyleBuilder_S {
            }
            type SetControlStyleBuilder_ST = ActionBuilder_S & SetControlStyleBuilder_S;
            interface SetControlStyleBuilder_C extends SetControlStyleBuilder_ST {
                new():SetControlStyleBuilder;
            }
            interface SetControlStyleBuilder$ {
                build(proxy:IClientViewProxy,key:string):void;
                setBackColor(color:string):this;
                setForeColor(color:string):this;
                setFontSize(fontSize:number):this;
            }
            type SetControlStyleBuilder_T = ActionBuilder & SetControlStyleBuilder$;
            interface SetControlStyleBuilder extends SetControlStyleBuilder_T {
            }
            interface WebOfficeActionBuilder_S {
            }
            type WebOfficeActionBuilder_ST = ActionBuilder_S & WebOfficeActionBuilder_S;
            interface WebOfficeActionBuilder_C extends WebOfficeActionBuilder_ST {
                new():WebOfficeActionBuilder;
            }
            interface WebOfficeActionBuilder$ {
                setData(data:any):this;
                setEvent(event:string):this;
            }
            type WebOfficeActionBuilder_T = ActionBuilder & WebOfficeActionBuilder$;
            interface WebOfficeActionBuilder extends WebOfficeActionBuilder_T {
            }
            interface ListRowStyleBuilder_S {
            }
            type ListRowStyleBuilder_ST = ActionListBuilder_S & ListRowStyleBuilder_S;
            interface ListRowStyleBuilder_C extends ListRowStyleBuilder_ST {
                new():ListRowStyleBuilder;
            }
            interface ListRowStyleBuilder$ {
                buildStyle():this;
                setBackColor(color:string):this;
                setField(fieldKey:string):this;
                setRows(rows:number[]):this;
                setForeColor(color:string):this;
                setFontSize(fontSize:number):this;
            }
            type ListRowStyleBuilder_T = ActionListBuilder & ListRowStyleBuilder$;
            interface ListRowStyleBuilder extends ListRowStyleBuilder_T {
            }
            interface ListCellStyleBuilder_S {
            }
            type ListCellStyleBuilder_ST = ListCellStyleBuilder_S & StyleActionBuilder_S;
            interface ListCellStyleBuilder_C extends ListCellStyleBuilder_ST {
                new():ListCellStyleBuilder;
            }
            interface ListCellStyleBuilder$ {
            }
            type ListCellStyleBuilder_T = ListCellStyleBuilder$ & StyleActionBuilder;
            interface ListCellStyleBuilder extends ListCellStyleBuilder_T {
            }
            interface WebOfficeOpenBuilder_S {
            }
            type WebOfficeOpenBuilder_ST = ActionBuilder_S & WebOfficeOpenBuilder_S;
            interface WebOfficeOpenBuilder_C extends WebOfficeOpenBuilder_ST {
                new():WebOfficeOpenBuilder;
            }
            interface WebOfficeOpenBuilder$ {
                setEvent(event:string):this;
                setData(url:string,uploadUrl:string):this;
            }
            type WebOfficeOpenBuilder_T = ActionBuilder & WebOfficeOpenBuilder$;
            interface WebOfficeOpenBuilder extends WebOfficeOpenBuilder_T {
            }
            interface WebOfficeSaveBuilder_S {
            }
            type WebOfficeSaveBuilder_ST = ActionBuilder_S & WebOfficeSaveBuilder_S;
            interface WebOfficeSaveBuilder_C extends WebOfficeSaveBuilder_ST {
                new():WebOfficeSaveBuilder;
            }
            interface WebOfficeSaveBuilder$ {
                setData(name:string,uploadUrl:string):this;
                setEvent(event:string):this;
            }
            type WebOfficeSaveBuilder_T = ActionBuilder & WebOfficeSaveBuilder$;
            interface WebOfficeSaveBuilder extends WebOfficeSaveBuilder_T {
            }
            interface HideOpItemBuilder_S {
            }
            type HideOpItemBuilder_ST = ActionBuilder_S & HideOpItemBuilder_S;
            interface HideOpItemBuilder_C extends HideOpItemBuilder_ST {
                new():HideOpItemBuilder;
            }
            interface HideOpItemBuilder$ {
                setOperationKeys(operationKeys:$.java.util.List):this;
                setColumn(column:string):this;
                setRowKey(rowIndex:number):this;
            }
            type HideOpItemBuilder_T = ActionBuilder & HideOpItemBuilder$;
            interface HideOpItemBuilder extends HideOpItemBuilder_T {
            }
            interface SetTransferDataBuilder_S {
            }
            type SetTransferDataBuilder_ST = ActionBuilder_S & SetTransferDataBuilder_S;
            interface SetTransferDataBuilder_C extends SetTransferDataBuilder_ST {
                new():SetTransferDataBuilder;
            }
            interface SetTransferDataBuilder$ {
                /**
                 * 设置穿梭框数据源
                 * @param data
                 * @return
                 */
                setSource(source:$.java.util.Map):this;
                /**
                 * 设置List展示的穿梭框数据源
                 * @param data
                 * @return
                 */
                createListSourceData(data:$.java.util.List):this;
                /**
                 * 设置树形展示的穿梭框数据源
                 * @param data
                 * @return
                 */
                createTreeSourceData(rootNode:kd.bos.form.transfer.TransferTreeNode):this;
                /**
                 * 设置穿梭框选择项
                 * @param target
                 * @return
                 */
                setTarget(target:$.java.util.Map):this;
                /**
                 * 设置穿梭框选择项
                 * @param target
                 * @return
                 */
                createTargetData(ids:$.java.util.List):this;
            }
            type SetTransferDataBuilder_T = ActionBuilder & SetTransferDataBuilder$;
            interface SetTransferDataBuilder extends SetTransferDataBuilder_T {
            }
            interface ShowOpItemBuilder_S {
            }
            type ShowOpItemBuilder_ST = ActionBuilder_S & ShowOpItemBuilder_S;
            interface ShowOpItemBuilder_C extends ShowOpItemBuilder_ST {
                new():ShowOpItemBuilder;
            }
            interface ShowOpItemBuilder$ {
                setOperationKeys(operationKeys:$.java.util.List):this;
                setRowKey(rowIndex:number):this;
                setColumn(column:string):this;
            }
            type ShowOpItemBuilder_T = ActionBuilder & ShowOpItemBuilder$;
            interface ShowOpItemBuilder extends ShowOpItemBuilder_T {
            }
            interface ActionListBuilder_S {
            }
            interface ActionListBuilder_C extends ActionListBuilder_S {
                new():ActionListBuilder;
            }
            interface ActionListBuilder$ {
                build():this;
                getMethodName():string;
                invokeControlMethod(proxy:IClientViewProxy,key:string):void;
            }
            type ActionListBuilder_T = ActionListBuilder$;
            interface ActionListBuilder extends ActionListBuilder_T {
            }
            interface StyleActionBuilder_S {
            }
            interface StyleActionBuilder_C extends StyleActionBuilder_S {
                new():StyleActionBuilder;
            }
            interface StyleActionBuilder$ {
                addAll(list:$.java.util.List):this;
                getMethodName():string;
                invokeControlMethod(proxy:IClientViewProxy,key:string):void;
            }
            type StyleActionBuilder_T = StyleActionBuilder$;
            interface StyleActionBuilder extends StyleActionBuilder_T {
            }
        }
        namespace kd.bos.form.cardentry{
            interface CardEntry_S {
            }
            type CardEntry_ST = CardEntry_S & kd.bos.form.control.EntryGrid_S;
            interface CardEntry_C extends CardEntry_ST {
                new():CardEntry;
            }
            interface CardEntry$ {
                /**
                 * 动态设置长按操作项的锁定性
                 * @param index     卡片行索引
                 * @param key       操作标识
                 * @param lock       锁定性
                 */
                setLongPressItemLock(index:number,key:string,lock:boolean):void;
                /**
                 * 动态设置卡片分录控件可见性
                 * @param value  可见性值  true或false
                 * @param rowIndex  卡片分录行，从0开始
                 * @param ctlKeys   卡片容器内控件的key
                 */
                setChildVisible(value:boolean,rowIndex:number,...ctlKeys:string[]):void;
                /**
                 * 移动端卡片操作，对接前端
                 * @param key    操作标识（可自定义）
                 * @param opKey    操作代码（不可自定义）
                 */
                entryRowOperations(key:string,opKey:string):void;
                /**
                 * 动态设置卡片分录控件锁定性
                 * @param value  锁定性值：true或false
                 * @param rowIndex  卡片分录行，从0开始
                 * @param ctlKeys   卡片容器内控件的key
                 */
                setChildEnable(value:boolean,rowIndex:number,...ctlKeys:string[]):void;
                /**
                 * 点击卡片分组按钮操作
                 * @param groupId 分组ID
                 * @param operateId 操作ID
                 */
                cardGroupOpsClick(groupId:string,operateId:string):void;
                /**
                 * 动态设置长按操作项的可见性
                 * @param index     卡片行索引
                 * @param key       操作标识
                 * @param visible       可见性
                 */
                setLongPressItemVisible(index:number,key:string,visible:boolean):void;
                /**
                 * 选择卡片分录行
                 * @param row 卡片分录行
                 */
                selectCard(row:number):void;
                /**
                 * 动态设置长按操作项的可见性与锁定性
                 * @param index		卡片行索引
                 * @param key		操作标识
                 * @param visible		可见性
                 * @param lock		锁定性
                 */
                setLongPressItemProp(index:number,key:string,visible:boolean,lock:boolean):void;
                /**
                 * 添加点击卡片分组按钮事件监听器
                 * @param listener 点击卡片分组按钮事件监听器
                 */
                addCardGroupOpsListeners(listener:kd.bos.form.control.events.ClickListener):void;
                /**
                 * 仅支持移动端，设置卡片滚动条到顶部
                 */
                setCardScrollBarToTop():void;
                /**
                 * 仅支持移动端，卡片分录下拉刷新数据时，触发此事件
                 */
                refreshData():void;
                /**
                 * 移动端长按操作，对接前端方法
                 * @param id		操作项标识
                 * @param operationKey		操作代码key
                 */
                cardOperations(id:string,operationKey:string):void;
                /**
                 * 添加卡片分录下拉事件监听器
                 * @param listener 卡片分录下拉监听器
                 */
                addPullRefreshlisteners(listener:kd.bos.form.control.events.PullRefreshListener):void;
            }
            type CardEntry_T = CardEntry$ & kd.bos.form.control.EntryGrid;
            interface CardEntry extends CardEntry_T {
            }
        }
        namespace kd.bos.form.chart{
            interface PolygonGraphicShape_S {
            }
            interface PolygonGraphicShape_C extends PolygonGraphicShape_S {
                new():PolygonGraphicShape;
            }
            interface PolygonGraphicShape$ {
                /**
                 * 获取多边形图表点列表，用于定义形状，如 [[22, 44], [44, 55], [11, 44], ...]
                 * @return 点列表
                 */
                getPoints():$.java.util.List;
                /**
                 * 设置多边形图表点列表，用于定义形状，如 [[22, 44], [44, 55], [11, 44], ...]
                 * @param points 点列表
                 */
                setPoints(points:$.java.util.List):void;
            }
            type PolygonGraphicShape_T = PolygonGraphicShape$;
            interface PolygonGraphicShape extends PolygonGraphicShape_T {
            }
            interface Label_S {
            }
            type Label_ST = $.java.io.Serializable & Label_S;
            interface Label_C extends Label_ST {
                new():Label;
            }
            interface Label$ {
                /**
                 * 获取文字块的高度。一般不用指定，不指定则自动是文字的高度。
                 *
                 * @return 文字块的高度
                 */
                getHeight():string;
                /**
                 * 设置文字水平对齐方式
                 * @param align 文字水平对齐方式
                 */
                setAlign(align:string):void;
                /**
                 * 设置文字本身的阴影 X 偏移
                 * @param textShadowOffsetX 文字本身的阴影 X 偏移
                 */
                setTextShadowOffsetX(textShadowOffsetX:string):void;
                /**
                 * 设置文字块的圆角
                 * @param borderRadius 文字块的圆角
                 */
                setBorderRadius(borderRadius:string):void;
                /**
                 * 设置文字本身的阴影 Y 偏移
                 * @param textShadowOffsetY 文字本身的阴影 Y 偏移
                 */
                setTextShadowOffsetY(textShadowOffsetY:string):void;
                /**
                 * 获取文字块的背景阴影 X 偏移
                 *
                 * @return 文字块的背景阴影 X 偏移
                 */
                getShadowOffsetX():string;
                /**
                 * 设置标签旋转值。从 -90 度到 90 度。正值是逆时针。
                 * @param rotate 标签旋转值
                 */
                setRotate(rotate:string):void;
                /**
                 * 设置文字本身的描边宽度
                 * @param textBorderWidth 文字本身的描边宽度
                 */
                setTextBorderWidth(textBorderWidth:string):void;
                /**
                 * 设置文字的字体大小
                 * @param fontSize 文字的字体大小
                 */
                setFontSize(fontSize:string):void;
                /**
                 * 获取标签旋转值。从 -90 度到 90 度。正值是逆时针。
                 *
                 * @return 标签旋转值
                 */
                getRotate():string;
                /**
                 * 设置文字的颜色
                 * @param color 文字的颜色
                 */
                setColor(color:string):void;
                /**
                 * 设置文字本身的描边颜色
                 * @param textBorderColor 字本身的描边颜色
                 */
                setTextBorderColor(textBorderColor:string):void;
                /**
                 * 获取文字本身的描边颜色
                 *
                 * @return 字本身的描边颜色
                 */
                getTextBorderColor():string;
                /**
                 * 设置文字字体的风格
                 * @param fontStyle 文字字体的风格
                 */
                setFontStyle(fontStyle:string):void;
                /**
                 * 获取文字块的宽度。一般不用指定，不指定则自动是文字的宽度。在想做表格项或者使用图片（参见 backgroundColor）时，可能会使用它。
                 *
                 * @return 文字块的宽度
                 */
                getWidth():string;
                /**
                 * 获取文字字体的粗细 可选： 'normal' 'bold' 'bolder' 'lighter' 100 | 200 | 300 | 400...
                 *
                 * @return 文字字体的粗细
                 */
                getFontWeight():string;
                /**
                 * 获取文字的颜色。 如果设置为 'auto'，则为视觉映射得到的颜色，如系列色。
                 *
                 * @return 文字的颜色
                 */
                getColor():string;
                /**
                 * 设置文字块背景色
                 * @param backgroundColor 文字块背景色
                 */
                setBackgroundColor(backgroundColor:string):void;
                /**
                 * 设置文字字体的粗细
                 * @param fontWeight 文字字体的粗细
                 */
                setFontWeight(fontWeight:string):void;
                /**
                 * 设置文字块的背景阴影 X 偏移
                 * @param shadowOffsetX 文字块的背景阴影 X 偏移
                 */
                setShadowOffsetX(shadowOffsetX:string):void;
                /**
                 * 设置文字的字体系列
                 * @param fontFamily 文字的字体系列
                 */
                setFontFamily(fontFamily:string):void;
                /**
                 * 设置文字块的宽度
                 * @param width 文字块的宽度
                 */
                setWidth(width:string):void;
                /**
                 * 获取标签的位置
                 *
                 * @return 标签的位置
                 */
                getPosition():Position;
                /**
                 * 设置文字块的背景阴影 Y 偏移
                 * @param shadowOffsetY 文字块的背景阴影 Y 偏移
                 */
                setShadowOffsetY(shadowOffsetY:string):void;
                /**
                 * 获取文字的字体大小
                 *
                 * @return 文字的字体大小
                 */
                getFontSize():string;
                /**
                 * 设置文字块的内边距
                 * @param padding 文字块的内边距
                 */
                setPadding(padding:string[]):void;
                /**
                 * 设置标签的位置
                 * @param position 标签的位置
                 */
                setPosition(position:Position):void;
                /**
                 * 设置文字块的高度
                 * @param height 文字块的高度
                 */
                setHeight(height:string):void;
                /**
                 * 设置文字垂直对齐方式
                 * @param verticalAlign 文字垂直对齐方式
                 */
                setVerticalAlign(verticalAlign:string):void;
                /**
                 * 获取标签内容格式器，支持字符串模板和回调函数两种形式，字符串模板与回调函数返回的字符串均支持用 \n 换行。 字符串模板 模板变量有：
                 * {a}：系列名。 {b}：数据名。 {c}：数据值。 {@xxx}：数据中名为'xxx'的维度的值，如
                 * {@product}表示名为'product'` 的维度的值。 {@[n]}：数据中维度n的值，如{@[3]}` 表示维度 3 的值，从 0
                 * 开始计数。 示例： formatter: '{b}: {@score}'
                 *
                 * @return 标签内容格式器
                 */
                getFormatter():string;
                /**
                 * 获取文字块的内边距。例如： padding: [3, 4, 5, 6]：表示 [上, 右, 下, 左] 的边距。 padding: 4：表示
                 * padding: [4, 4, 4, 4]。 padding: [3, 4]：表示 padding: [3, 4, 3, 4]。
                 *
                 * @return 文字块的内边距
                 */
                getPadding():string[];
                /**
                 * 获取对文字进行偏移。默认不偏移。例如：[30, 40] 表示文字在横向上偏移 30，纵向上偏移 40。
                 *
                 * @return 对文字进行偏移
                 */
                getOffset():$.java.util.List;
                /**
                 * 获取文字本身的描边宽度
                 *
                 * @return 文字本身的描边宽度
                 */
                getTextBorderWidth():string;
                /**
                 * 设置文字块边框颜色
                 * @param borderColor 文字块边框颜色
                 */
                setBorderColor(borderColor:string):void;
                /**
                 * 获取文字块的背景阴影 Y 偏移
                 *
                 * @return 文字块的背景阴影 Y 偏移
                 */
                getShadowOffsetY():string;
                /**
                 * 设置文字块边框宽度
                 * @param borderWidth 文字块边框宽度
                 */
                setBorderWidth(borderWidth:string):void;
                /**
                 * 获取文字本身的阴影颜色
                 *
                 * @return 文字本身的阴影颜色
                 */
                getTextShadowColor():string;
                /**
                 * 设置是否显示标签
                 * @param show 是否显示标签 false:不显示，true:显示
                 */
                setShow(show:boolean):void;
                /**
                 * 获取标签内容格式器
                 * @param formatter 标签内容格式器
                 */
                setFormatter(formatter:string):void;
                /**
                 * 设置距离图形元素的距离
                 * @param distance 距离图形元素的距离
                 */
                setDistance(distance:string):void;
                /**
                 * 获取文字本身的阴影 Y 偏移
                 *
                 * @return 文字本身的阴影 Y 偏移
                 */
                getTextShadowOffsetY():string;
                /**
                 * 设置对文字进行偏移量
                 * @param offset 对文字进行偏移量
                 */
                setOffset(offset:$.java.util.List):void;
                /**
                 * 设置行高
                 * @param lineHeight 行高
                 */
                setLineHeight(lineHeight:string):void;
                /**
                 * 设置文字块的背景阴影长度
                 *
                 * @param shadowBlur 文字块的背景阴影长度
                 */
                setShadowBlur(shadowBlur:string):void;
                /**
                 * 获取文字本身的阴影颜色
                 *
                 * @return 文字本身的阴影颜色
                 */
                getTextShadowBlur():string;
                /**
                 * 获取文字本身的阴影 X 偏移
                 *
                 * @return 文字本身的阴影 X 偏移
                 */
                getTextShadowOffsetX():string;
                /**
                 * 获取文字块背景色。 可以是直接的颜色值，例如：'#123234', 'red', rgba(0,23,11,0.3)'。 可以支持使用图片，例如：
                 * backgroundColor: { image: 'xxx/xxx.png' // 这里可以是图片的 URL， // 或者图片的
                 * dataURI， // 或者 HTMLImageElement 对象， // 或者 HTMLCanvasElement 对象。 }
                 * 当使用图片的时候，可以使用 width 或 height 指定高宽，也可以不指定自适应。 如果设置为
                 * 'auto'，则为视觉映射得到的颜色，如系列色。
                 *
                 * @return 文字块背景色
                 */
                getBackgroundColor():string;
                /**
                 * 设置文字块的背景阴影颜色
                 * @param shadowColor 文字块的背景阴影颜色
                 */
                setShadowColor(shadowColor:string):void;
                /**
                 * 获取文字字体的风格 可选： 'normal' 'italic' 'oblique'
                 *
                 * @return 文字字体的风格
                 */
                getFontStyle():string;
                /**
                 * 获取文字垂直对齐方式，默认自动。 可选： 'top' 'middle' 'bottom' rich 中如果没有设置
                 * verticalAlign，则会取父层级的 verticalAlign。例如： { verticalAlign: bottom, rich: {
                 * a: { // 没有设置 `verticalAlign`，则 `verticalAlign` 为 bottom } } }
                 *
                 * @return 文字垂直对齐方式
                 */
                getVerticalAlign():string;
                /**
                 * 获取文字的字体系列 还可以是 'serif' , 'monospace', 'Arial', 'Courier New', 'Microsoft
                 * YaHei', ...
                 *
                 * @return 文字的字体系列
                 */
                getFontFamily():string;
                /**
                 * 获取文字水平对齐方式，默认自动。 可选： 'left' 'center' 'right' rich 中如果没有设置 align，则会取父层级的
                 * align。例如： { align: right, rich: { a: { // 没有设置 `align`，则 `align` 为 right
                 * } } }
                 *
                 * @return 文字水平对齐方式
                 */
                getAlign():string;
                /**
                 * 获取距离图形元素的距离。当 position 为字符描述值（如 'top'、'insideRight'）时候有效。
                 *
                 * @return 距离图形元素的距离
                 */
                getDistance():string;
                /**
                 * 设置文字本身的阴影颜色
                 * @param textShadowBlur 文字本身的阴影颜色
                 */
                setTextShadowBlur(textShadowBlur:string):void;
                /**
                 * 设置文字本身的阴影颜色
                 * @param textShadowColor 文字本身的阴影颜色
                 */
                setTextShadowColor(textShadowColor:string):void;
                /**
                 * 是否显示标签
                 *
                 * @return 是否显示标签 false:不显示，true:显示
                 */
                isShow():boolean;
                /**
                 * 获取文字块的背景阴影颜色
                 *
                 * @return 文字块的背景阴影颜色
                 */
                getShadowColor():string;
                /**
                 * 获取文字块的圆角
                 *
                 * @return 文字块的圆角
                 */
                getBorderRadius():string;
                /**
                 * 获取文字块边框颜色。 如果设置为 'auto'，则为视觉映射得到的颜色，如系列色。
                 *
                 * @return 文字块边框颜色
                 */
                getBorderColor():string;
                /**
                 * 获取文字块边框宽度
                 *
                 * @return 文字块边框宽度
                 */
                getBorderWidth():string;
                /**
                 * 获取行高。 rich 中如果没有设置 lineHeight，则会取父层级的 lineHeight。例如： { lineHeight: 56,
                 * rich: { a: { // 没有设置 `lineHeight`，则 `lineHeight` 为 56 } } }
                 *
                 * @return 行高
                 */
                getLineHeight():string;
                /**
                 * 获取文字块的背景阴影长度
                 *
                 * @return 文字块的背景阴影长度
                 */
                getShadowBlur():string;
            }
            type Label_T = $.java.io.Serializable & Label$;
            interface Label extends Label_T {
            }
            interface PolygonGraphicType_S {
            }
            type PolygonGraphicType_ST = BaseGraphicType_S & PolygonGraphicType_S;
            interface PolygonGraphicType_C extends PolygonGraphicType_ST {
                new():PolygonGraphicType;
            }
            interface PolygonGraphicType$ {
                /**
                 * 设置多边形图表样式
                 * @param style 多边形图表样式
                 */
                setStyle(style:PolygonGraphicStyle):void;
                /**
                 * 设置多边形图表
                 * @param shape 多边形图表
                 */
                setShape(shape:PolygonGraphicShape):void;
                /**
                 * 获取多边形图表
                 * @return 多边形图表
                 */
                getShape():PolygonGraphicShape;
                /**
                 * 获取多边形图表样式
                 * @return 多边形图表样式
                 */
                getStyle():PolygonGraphicStyle;
            }
            type PolygonGraphicType_T = BaseGraphicType & PolygonGraphicType$;
            interface PolygonGraphicType extends PolygonGraphicType_T {
            }
            class YAlign {
                static readonly center:kd.bos.form.chart.YAlign;
                static readonly top:kd.bos.form.chart.YAlign;
                static readonly bottom:kd.bos.form.chart.YAlign;
                static valueOf(arg0:string):kd.bos.form.chart.YAlign;
                static values():kd.bos.form.chart.YAlign[];
            }
            interface TextGraphicStyle_S {
            }
            type TextGraphicStyle_ST = BaseGraphicStyle_S & TextGraphicStyle_S;
            interface TextGraphicStyle_C extends TextGraphicStyle_ST {
                new():TextGraphicStyle;
            }
            interface TextGraphicStyle$ {
                /**
                 * 获取文本块文字。可以使用 \n 来换行
                 * @return 文本块文字
                 */
                getText():$.java.util.List;
                /**
                 * 设置文本块文字。可以使用 \n 来换行
                 * @param text 文本块文字
                 */
                setText(text:$.java.util.List):void;
            }
            type TextGraphicStyle_T = BaseGraphicStyle & TextGraphicStyle$;
            interface TextGraphicStyle extends TextGraphicStyle_T {
            }
            interface GradientItem_S {
            }
            interface GradientItem_C extends GradientItem_S {
                new():GradientItem;
            }
            interface GradientItem$ {
                /**
                 * 获取偏移量
                 * @return 偏移量
                 */
                getOffset():number;
                /**
                 * 获取颜色
                 * @return 颜色
                 */
                getColor():string;
                /**
                 * 设置偏移量
                 * @param offset 偏移量
                 */
                setOffset(offset:number):void;
                /**
                 * 设置颜色
                 * @param color 颜色
                 */
                setColor(color:string):void;
            }
            type GradientItem_T = GradientItem$;
            interface GradientItem extends GradientItem_T {
            }
            interface PieChart_S {
            }
            type PieChart_ST = Chart_S & PieChart_S;
            interface PieChart_C extends PieChart_ST {
                new():PieChart;
            }
            interface PieChart$ {
                /**
                 * 构造方法：实例化一个扇形图
                 *  @param name 扇形图名称
                 *  @return 扇形图实例
                 */
                createSeries(name:string):PieSeries;
            }
            type PieChart_T = Chart & PieChart$;
            interface PieChart extends PieChart_T {
            }
            interface GaugeChart_S {
            }
            type GaugeChart_ST = Chart_S & GaugeChart_S;
            interface GaugeChart_C extends GaugeChart_ST {
                new():GaugeChart;
            }
            interface GaugeChart$ {
                /**
                 * 构造方法：实例化一个仪表盘
                 * @param name 仪表盘名称
                 * @return 仪表盘实例
                 */
                createSeries(name:string):GaugeSeries;
            }
            type GaugeChart_T = Chart & GaugeChart$;
            interface GaugeChart extends GaugeChart_T {
            }
            interface BarChart_S {
            }
            type BarChart_ST = BarChart_S & Chart_S;
            interface BarChart_C extends BarChart_ST {
                new():BarChart;
            }
            interface BarChart$ {
                /**
                 * 创建X坐标轴
                 *  @param name 坐标轴的名称
                 *  @return 坐标轴
                 */
                createXAxis(name:string):Axis;
                /**
                 * 创建Y坐标轴
                 *  @param name 坐标轴名称
                 *  @param categorys ？
                 *  @return 坐标轴
                 */
                createYAxis(name:string,categorys:string[]):Axis;
                /**
                 * 创建Y坐标轴
                 *  @param name 坐标轴名称
                 *  @param categorys ？
                 *  @return 坐标轴
                 */
                createYAxis(name:string,categorys:$.java.util.List):Axis;
                /**
                 * 创建条形图series
                 * @param name 系列名称
                 * @return 条形图series
                 */
                createSeries(name:string):BarSeries;
            }
            type BarChart_T = BarChart$ & Chart;
            interface BarChart extends BarChart_T {
            }
            class AxisType {
                static readonly log:kd.bos.form.chart.AxisType;
                static readonly category:kd.bos.form.chart.AxisType;
                static readonly value:kd.bos.form.chart.AxisType;
                static values():kd.bos.form.chart.AxisType[];
                static valueOf(arg0:string):kd.bos.form.chart.AxisType;
            }
            interface Axis_S {
            }
            interface Axis_C extends Axis_S {
                new():Axis;
            }
            interface Axis$ {
                /**
                 * 获取坐标轴的最大值
                 *  @return 坐标轴的最大值
                 */
                getMax():number;
                /**
                 * 设置纬度值
                 * @param categorys 纬度值，List类型
                 */
                setCategorys(categorys:$.java.util.List):void;
                /**
                 * 坐标轴类型
                 *  @return 返回一个坐标轴类型的枚举值
                 */
                getType():AxisType;
                /**
                 * 设置纬度值
                 *  @param categorys 纬度值，数组类型
                 */
                setCategorys(categorys:string[]):void;
                /**
                 * 获取坐标轴的名字
                 *  @return 坐标轴的名字
                 */
                getName():string;
                /**
                 * 设置坐标轴的名字
                 *  @param name 标轴的名字
                 */
                setName(name:string):void;
                /**
                 * 增加纬度值
                 * @param category 纬度值
                 */
                addCategory(category:string):void;
                /**
                 * 设置坐标轴的最小值
                 * @param minValue 最小值
                 */
                setMin(minValue:number):void;
                /**
                 * 设置轴的位置
                 *  @param position 位置：top、bottom、left、right
                 */
                setPosition(position:Position):void;
                /**
                 * 设置值间隔
                 * @param interval 步长、间隔
                 */
                setInterval(interval:number):void;
                /**
                 * 获取坐标轴的位置
                 *  @return position 位置：top、bottom、left、right
                 */
                getPosition():Position;
                /**
                 * 设置/添加各种属性值
                 *  @param propName 属性名
                 *  @param propValue 属性值
                 */
                setPropValue(propName:string,propValue:any):void;
                /**
                 * 获取坐标轴的最小值
                 *  @return 坐标轴的最小值
                 */
                getMin():number;
                /**
                 * 设置坐标轴类型
                 *  @param type 坐标轴类型的枚举值
                 */
                setType(type_arg:AxisType):void;
                /**
                 * 获取值间隔
                 *  @return 步长、间隔
                 */
                getInterval():number;
                /**
                 * 设置最大值
                 * @param maxValue 最大值
                 */
                setMax(maxValue:number):void;
            }
            type Axis_T = Axis$;
            interface Axis extends Axis_T {
            }
            interface Chart_S {
            }
            type Chart_ST = Chart_S & kd.bos.form.control.Control_S & kd.bos.form.control.events.ISuportClick_S;
            interface Chart_C extends Chart_ST {
                new():Chart;
            }
            interface Chart$ {
                /**
                 * 设置图形组件
                 * @param baseGraphicTypes 图形组件
                 */
                setGraphic(baseGraphicTypes:$.java.util.List):void;
                /**
                 * 设置标题对齐位置
                 * @param x 水平对齐
                 * @param y 垂直对齐
                 */
                setTitleAlign(x:XAlign,y:YAlign):void;
                /**
                 * 获取图形组件
                 * @return 图形组件
                 */
                getGraphic():$.java.util.List;
                /**
                 * 设置是否显示标题
                 *  @param isShowTitle  true（显示） or false（不显示）
                 */
                setShowTitle(isShowTitle:boolean):void;
                /**
                 * 设置是否显示图例
                 *  @param isShowLegend true（显示） or false（不显示）
                 */
                setShowLegend(isShowLegend:boolean):void;
                /**
                 * 获取标题
                 *  @return 标题名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 创建X轴
                 * @param name 轴名
                 * @param type 坐标轴类型
                 * @return X轴
                 */
                createXAxis(name:string,type_arg:AxisType):Axis;
                /**
                 * 设置标题
                 * @param name 标题名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 添加图标需要的额外属性（万能接口：方便添加图标需要的额外属性）
                 * @param key
                 * @param value
                 */
                addProperty(key:string,value:any):void;
                /**
                 * 清除数据，避免重复增加数据
                 */
                clearData():void;
                /**
                 * 新增图形组件
                 * @param baseGraphicType 图形组件
                 */
                addGraphic(baseGraphicType:BaseGraphicType):void;
                /**
                 * 设置标题组件属性值
                 * @param prop
                 * @param obj
                 */
                setTitlePropValue(prop:string,obj:any):void;
                /**
                 * 添加提示框组件
                 * @param key
                 * @param value
                 */
                addTooltip(key:string,value:any):void;
                /**
                 * 获取标题水平对齐位置
                 *  @return 标题水平对齐位置
                 */
                getTitleXAlign():string;
                /**
                 * 图形点击事件的触发
                 *  @param param 存储seriesName、name、value等信息的map
                 */
                chartClick(param:$.java.util.Map):void;
                /**
                 * 获取图例垂直对齐位置
                 *  @return 图例垂直对齐位置
                 */
                getLegendYAlign():string;
                /**
                 * 创建通用图的系列series
                 * @param name
                 * @return
                 */
                createCustomSeries(name:string):Series;
                /**
                 * 创建点线图series
                 * @param name  系列名称
                 * @return 折线图系列对象
                 */
                createLineSeries(name:string):LineSeries;
                /**
                 * 获取图文水平位置
                 *  @return 水平位置信息
                 */
                getLegendXAlign():string;
                /**
                 * 获取所有的额外附加属性
                 * @return 所有的额外附加属性
                 */
                getProperties():$.java.util.Map;
                /**
                 * 获取标题垂直对齐位置
                 *  @return 标题垂直对齐位置
                 */
                getTitleYAlign():string;
                /**
                 * 创建仪表盘series
                 * @param name 图名称
                 * @return 仪表盘图形序列
                 */
                createGaugeSeries(name:string):GaugeSeries;
                /**
                 * 创建扇形series
                 * @param name 图名称
                 * @return 扇形图图形序列
                 */
                createPieSeries(name:string):PieSeries;
                /**
                 * 图例纵向显示
                 * @param isLegendVertical 是否图例纵向显示
                 */
                setLegendVertical(isLegendVertical:boolean):void;
                /**
                 * 清除图形组件
                 */
                clearGraphic():void;
                /**
                 * 获取图例组件数据
                 * @return 图例组件数据
                 */
                getLegendData():$.java.util.Map;
                /**
                 * 根据新数据refresh
                 */
                refresh():void;
                /**
                 * 查看是否显示图例
                 *  @return  true（显示） or false（不显示）
                 */
                isShowLegend():boolean;
                /**
                 * 创建条形图series
                 * @param name 系列名称
                 * @return 条形图系列对象
                 */
                createBarSeries(name:string):BarSeries;
                /**
                 * 查看是否显示标题
                 *  @return  true（显示） or false（不显示）
                 */
                isShowTitle():boolean;
                /**
                 * 设置chart图边距
                 * @param pos
                 * @param value px或%
                 */
                setMargin(pos:Position,value:string):void;
                /**
                 * 设置是否显示提示
                 *  @param isShowTooltip true（显示提示）or false（不显示提示）
                 */
                setShowTooltip(isShowTooltip:boolean):void;
                /**
                 * 创建Y轴
                 * @param name 轴名
                 * @param type 坐标轴类型
                 * @return Y轴
                 */
                createYAxis(name:string,type_arg:AxisType):Axis;
                /**
                 * 获取标题组件数据
                 * @return 标题组件数据
                 */
                getTitleData():$.java.util.Map;
                /**
                 * 设置图例组件数据
                 * @param prop
                 * @param obj
                 */
                setLegendPropValue(prop:string,obj:any):void;
                /**
                 * 查看是否显示提示
                 *  @return  true（显示提示）or false（不显示提示）
                 */
                isShowTooltip():boolean;
                /**
                 * 查看图例是否纵向显示
                 *  @return  true（纵向显示）or false（不纵向显示）
                 */
                isLegendVertical():boolean;
                /**
                 * 设置图例的位置
                 * @param x 图例水平对齐位置
                 * @param y 图例垂直对齐位置
                 */
                setLegendAlign(x:XAlign,y:YAlign):void;
            }
            type Chart_T = Chart$ & kd.bos.form.control.Control & kd.bos.form.control.events.ISuportClick;
            interface Chart extends Chart_T {
            }
            interface BaseGraphicType_S {
            }
            interface BaseGraphicType_C extends BaseGraphicType_S {
                new():BaseGraphicType;
            }
            interface BaseGraphicType$ {
                /**
                 * 获取图形元素类型值
                 *
                 * 包括：image, text, circle, sector, ring, polygon, polyline, rect, line, bezierCurve, arc, group
                 * @return 图形元素类型值
                 */
                getType():string;
                /**
                 * 获取z方向的高度，决定层叠关系
                 * @return z方向的高度
                 */
                getZ():number;
                /**
                 * 设置图形元素类型值
                 * @param type 包括：image, text, circle, sector, ring, polygon, polyline, rect, line, bezierCurve, arc, group
                 */
                setType(type_arg:string):void;
                /**
                 * 获取与父元素顶部的距离
                 * 描述怎么根据父元素进行定位
                 * 『父元素』是指：如果是顶层元素，父元素是 echarts 图表容器。如果是 group 的子元素，父元素就是 group 元素
                 * @return 与父元素顶部的距离
                 */
                getTop():number;
                /**
                 * 设置与父元素顶部的距离
                 * @param top 与父元素顶部的距离
                 */
                setTop(top:number):void;
                /**
                 * 设置与父元素左边的距离
                 * @param left 与父元素左边的距离
                 */
                setLeft(left:number):void;
                /**
                 * 获取与父元素左边的距离
                 * 描述怎么根据父元素进行定位
                 * 『父元素』是指：如果是顶层元素，父元素是 echarts 图表容器。如果是 group 的子元素，父元素就是 group 元素
                 * @return 与父元素左边的距离
                 */
                getLeft():number;
                /**
                 * 设置z方向的高度，决定层叠关系
                 * @param z z方向的高度
                 */
                setZ(z:number):void;
            }
            type BaseGraphicType_T = BaseGraphicType$;
            interface BaseGraphicType extends BaseGraphicType_T {
            }
            interface PointLineChart_S {
            }
            type PointLineChart_ST = Chart_S & PointLineChart_S;
            interface PointLineChart_C extends PointLineChart_ST {
                new():PointLineChart;
            }
            interface PointLineChart$ {
                /**
                 * 创建一个折线图图形序列对象
                 *  @param name 折线图名称
                 *  @return 折线图图形序列对象
                 */
                createSeries(name:string):LineSeries;
            }
            type PointLineChart_T = Chart & PointLineChart$;
            interface PointLineChart extends PointLineChart_T {
            }
            class RoseType {
                static readonly area:kd.bos.form.chart.RoseType;
                static readonly radius:kd.bos.form.chart.RoseType;
                static values():kd.bos.form.chart.RoseType[];
                static valueOf(arg0:string):kd.bos.form.chart.RoseType;
            }
            interface ChartData_S {
            }
            interface ChartData_C extends ChartData_S {
                new():ChartData;
            }
            interface ChartData$ {
                /**
                 * 获取X坐标轴
                 * @return X坐标轴的一个List
                 */
                getXAxisList():$.java.util.List;
                /**
                 * 获取Y坐标轴
                 *  @return Y坐标轴的一个List
                 */
                getYAxisList():$.java.util.List;
                /**
                 * 添加一个X坐标轴
                 *  @param xAxis X坐标轴
                 */
                addXAxis(xAxis:Axis):void;
                /**
                 * 添加一个图表系列
                 *  @param xAxis 图表系列
                 */
                addSeries(xAxis:Series):void;
                /**
                 * 添加提示框组件
                 * @param key
                 * @param value
                 */
                addTooltip(key:string,value:any):void;
                /**
                 * 添加一个Y坐标轴
                 *  @param yAxis Y坐标轴
                 */
                addYAxis(yAxis:Axis):void;
                /**
                 * 获取图表系列
                 *  @return 图表系列
                 */
                getSeries():$.java.util.List;
                /**
                 * 获取使用的图形组件
                 * @return 使用的图形组件
                 */
                getUseGraphic():$.java.util.List;
                /**
                 * 设置使用的图形组件
                 * @param useGraphic 使用的图形组件
                 */
                setUseGraphic(useGraphic:$.java.util.List):void;
            }
            type ChartData_T = ChartData$;
            interface ChartData extends ChartData_T {
            }
            class Position {
                static readonly insideRight:kd.bos.form.chart.Position;
                static readonly insideLeft:kd.bos.form.chart.Position;
                static readonly top:kd.bos.form.chart.Position;
                static readonly insideBottom:kd.bos.form.chart.Position;
                static readonly insideBottomRight:kd.bos.form.chart.Position;
                static readonly insideTop:kd.bos.form.chart.Position;
                static readonly insideTopLeft:kd.bos.form.chart.Position;
                static readonly left:kd.bos.form.chart.Position;
                static readonly insideBottomLeft:kd.bos.form.chart.Position;
                static readonly inside:kd.bos.form.chart.Position;
                static readonly insideTopRight:kd.bos.form.chart.Position;
                static readonly bottom:kd.bos.form.chart.Position;
                static readonly right:kd.bos.form.chart.Position;
                static values():kd.bos.form.chart.Position[];
                static valueOf(arg0:string):kd.bos.form.chart.Position;
            }
            interface BaseGraphicStyle_S {
            }
            interface BaseGraphicStyle_C extends BaseGraphicStyle_S {
                new():BaseGraphicStyle;
            }
            interface BaseGraphicStyle$ {
                /**
                 * 获取填充色
                 * @return 填充色
                 */
                getFill():string;
                /**
                 * 设置填充色
                 * @param fill 填充色
                 */
                setFill(fill:string):void;
            }
            type BaseGraphicStyle_T = BaseGraphicStyle$;
            interface BaseGraphicStyle extends BaseGraphicStyle_T {
            }
            interface BarSeries_S {
            }
            type BarSeries_ST = BarSeries_S & Series_S;
            interface BarSeries_C extends BarSeries_ST {
                /**
                 * 构造方法，创建条形图序列实例
                 */
                new():BarSeries;
            }
            interface BarSeries$ {
                /**
                 * 设置条形图的宽度
                 *  @param barWidth 条形图的宽度
                 */
                setBarWidth(barWidth:string):void;
                /**
                 * 设定条形图的数据集，放入map
                 *  @param data 数据
                 */
                setData(data:number[]):void;
                /**
                 * 设定条形图的颜色
                 *  @param color 颜色值
                 */
                setColor(color:string):void;
                /**
                 * 添加数据到数据集中
                 *  @param data 数据
                 *  @param color 颜色值
                 */
                addData(data:number,color:string):void;
                /**
                 * 添加数据到数据集中
                 *  @param data 数据
                 */
                addData(data:number):void;
                /**
                 * 获取条形的宽度
                 *  @return 条形的宽度
                 */
                getBarWidth():string;
            }
            type BarSeries_T = BarSeries$ & Series;
            interface BarSeries extends BarSeries_T {
            }
            class ChartType {
                static readonly radar:kd.bos.form.chart.ChartType;
                static readonly bar:kd.bos.form.chart.ChartType;
                static readonly pie:kd.bos.form.chart.ChartType;
                static readonly line:kd.bos.form.chart.ChartType;
                static readonly gauge:kd.bos.form.chart.ChartType;
                static values():kd.bos.form.chart.ChartType[];
                static valueOf(arg0:string):kd.bos.form.chart.ChartType;
            }
            interface HistogramChart_S {
            }
            type HistogramChart_ST = Chart_S & HistogramChart_S;
            interface HistogramChart_C extends HistogramChart_ST {
                new():HistogramChart;
            }
            interface HistogramChart$ {
                /**
                 * 创建一个图表系列，返回一个条形图系列实例
                 *  @param name 系列名称
                 *  @return 条形图系列实例
                 */
                createSeries(name:string):BarSeries;
                /**
                 * 创建X坐标轴
                 *  @param name 坐标轴名称
                 *  @param categorys ？
                 *  @return 坐标轴
                 */
                createXAxis(name:string,categorys:string[]):Axis;
                /**
                 * 创建X坐标轴
                 *  @param name 坐标轴名称
                 *  @param categorys ？
                 *  @return 坐标轴
                 */
                createXAxis(name:string,categorys:$.java.util.List):Axis;
                /**
                 * 创建Y坐标轴
                 *  @param name 坐标轴名称
                 *  @return 坐标轴
                 */
                createYAxis(name:string):Axis;
            }
            type HistogramChart_T = Chart & HistogramChart$;
            interface HistogramChart extends HistogramChart_T {
            }
            interface CustomChart_S {
            }
            type CustomChart_ST = Chart_S & CustomChart_S;
            interface CustomChart_C extends CustomChart_ST {
                new():CustomChart;
            }
            interface CustomChart$ {
            }
            type CustomChart_T = Chart & CustomChart$;
            interface CustomChart extends CustomChart_T {
            }
            interface GaugeSeries_S {
            }
            type GaugeSeries_ST = GaugeSeries_S & Series_S;
            interface GaugeSeries_C extends GaugeSeries_ST {
                /**
                 * 构造方法，图表类型设定为仪表盘（gauge）
                 */
                new():GaugeSeries;
            }
            interface GaugeSeries$ {
                /**
                 * 设置detail
                 * @param map
                 */
                setDetail(map:$.java.util.Map):void;
                /**
                 * 获取detail
                 * @return
                 */
                getDetail():any;
            }
            type GaugeSeries_T = GaugeSeries$ & Series;
            interface GaugeSeries extends GaugeSeries_T {
            }
            interface Series_S {
            }
            interface Series_C extends Series_S {
                new():Series;
            }
            interface Series$ {
                /**
                 * 设置图表序列名
                 *  @param name 名称
                 */
                setName(name:string):void;
                /**
                 * 添加数据到数据集中，addData(ItemValue)调用，是不是转成private？
                 *  @param name 数据key
                 *  @param value 数据value
                 *  @param color 图形显示的颜色
                 */
                addData(name:string,value:number,color:string):void;
                /**
                 * 获取数据集
                 *  @return List形式存储的数据
                 */
                getData():$.java.util.List;
                /**
                 * 设置数据集
                 *  @param data 数据
                 */
                setData(data:ItemValue[]):void;
                /**
                 * 设置图形上的文本标签
                 * @param label 图形上的文本标签
                 */
                setLabel(label:Label):void;
                /**
                 * 获取图形上的文本标签
                 * @return 图形上的文本标签
                 */
                getLabel():Label;
                /**
                 * 获取类型：line（折线）、bar（直条）、pie（扇形）
                 * @return line、bar、pie
                 */
                getType():ChartType;
                /**
                 * 设置相同的stack值会叠加显示
                 * @param stack stack值
                 */
                setStack(stack:string):void;
                /**
                 * 添加数据到数据集中，显示在图上
                 *  @param value 数据的一些属性，包括key，value，颜色等信息
                 */
                addData(value:ItemValue):void;
                /**
                 * 获取图表序列名
                 *  @return 名称
                 */
                getName():string;
                /**
                 * 各种属性值
                 * @param propName 属性名
                 * @param propValue 属性值
                 */
                setPropValue(propName:string,propValue:any):void;
                /**
                 * 设置类型：line（折线）、bar（直条）、pie（扇形）
                 *  @param type  类型包括：line、bar、pie
                 */
                setType(type_arg:ChartType):void;
                /**
                 * 获取区域样式
                 * @return 区域样式
                 */
                getAreaNormalStyle():$.java.util.Map;
                /**
                 * 获取stack值，stack是什么？
                 *  @return stack值
                 */
                getStack():string;
                /**
                 * 设置动画时间
                 * @param duration 动画时间
                 */
                setAnimationDuration(duration:number):void;
                /**
                 * 设置图形颜色
                 * @param color 图形颜色
                 */
                setItemColor(color:string):void;
                /**
                 * 设置区域颜色
                 * @param color 区域颜色
                 */
                setAreaColor(color:string):void;
                /**
                 * 获取图形样式
                 * @return 图形样式
                 */
                getItemNormalStyle():$.java.util.Map;
            }
            type Series_T = Series$;
            interface Series extends Series_T {
            }
            interface ItemValue_S {
            }
            interface ItemValue_C extends ItemValue_S {
                /**
                 * 构造方法
                 * @param name 数据名字
                 * @param value 数据value
                 */
                new(name:string,value:number):ItemValue;
                /**
                 * 构造方法
                 * @param value 数据value
                 * @param color 图形显示的颜色
                 */
                new(value:number,color:string):ItemValue;
                /**
                 * 构造方法
                 * @param name 数据名字
                 * @param value 数据value
                 * @param color 图形显示的颜色
                 */
                new(name:string,value:number,color:string):ItemValue;
            }
            interface ItemValue$ {
                /**
                 * 设置数据名字
                 * @param name 数据名字
                 */
                setName(name:string):void;
                /**
                 * 获取数据value
                 * @return 数据value
                 */
                getValue():number;
                /**
                 * 获取图形显示的颜色
                 * @return 图形显示的颜色
                 */
                getColor():string;
                /**
                 * 设置图形显示的颜色
                 * @param color 图形显示的颜色
                 */
                setColor(color:string):void;
                /**
                 * 获取数据名字
                 * @return 数据名字
                 */
                getName():string;
                /**
                 * 设置数据value
                 * @param value 数据value
                 */
                setValue(value:number):void;
            }
            type ItemValue_T = ItemValue$;
            interface ItemValue extends ItemValue_T {
            }
            interface LineSeries_S {
            }
            type LineSeries_ST = LineSeries_S & Series_S;
            interface LineSeries_C extends LineSeries_ST {
                /**
                 * 构造方法，图表序列的类型为折线图（line）
                 */
                new():LineSeries;
            }
            interface LineSeries$ {
                /**
                 * 设置折线图线条颜色
                 *  @param color 颜色值
                 */
                setColor(color:string):void;
                /**
                 * 设置区域渐变色
                 * @param beginX
                 * @param beginY
                 * @param endX
                 * @param endY
                 * @param items
                 */
                setAreaColor(beginX:number,beginY:number,endX:number,endY:number,items:$.java.util.List):void;
                /**
                 * 折线图的线条是否平滑
                 *  @return true（平滑）or false（不平滑）
                 */
                isSmooth():boolean;
                /**
                 * 设置折线图线条颜色
                 *  @param color 颜色值
                 */
                setLineColor(color:string):void;
                /**
                 * 设置y轴的index，在单个图表实例中存在多个y轴的时候有用default: 0
                 * @param axisIndex y轴的index
                 */
                setYAxisIndex(axisIndex:number):void;
                /**
                 * 设置X轴index
                 * @param axisIndex X轴index
                 */
                setXAxisIndex(axisIndex:number):void;
                /**
                 * 获取X轴index
                 * @return X轴index
                 */
                getXAxisIndex():number;
                /**
                 * 获取Y轴index
                 * @return y轴的index
                 */
                getYAxisIndex():number;
                /**
                 * 设置数据集
                 *  @param data 数据，结构为Number数组
                 */
                setData(data:number[]):void;
                /**
                 * 为折线图的线条设置是否平滑
                 * @param smooth true（平滑）or false（不平滑）
                 */
                setSmooth(smooth:boolean):void;
                /**
                 * 添加数据到数据集中
                 *  @param data 数据
                 */
                addData(data:number):void;
            }
            type LineSeries_T = LineSeries$ & Series;
            interface LineSeries extends LineSeries_T {
            }
            interface PolygonGraphicStyle_S {
            }
            type PolygonGraphicStyle_ST = BaseGraphicStyle_S & PolygonGraphicStyle_S;
            interface PolygonGraphicStyle_C extends PolygonGraphicStyle_ST {
                new():PolygonGraphicStyle;
            }
            interface PolygonGraphicStyle$ {
                /**
                 * 获取阴影宽度
                 * @return 阴影宽度
                 */
                getShadowBlur():number;
                /**
                 * 设置阴影颜色
                 * @param shadowColor 阴影颜色
                 */
                setShadowColor(shadowColor:string):void;
                /**
                 * 设置阴影宽度
                 * @param shadowBlur 阴影宽度
                 */
                setShadowBlur(shadowBlur:number):void;
                /**
                 * 获取阴影 X 方向偏移
                 * @return 阴影 X 方向偏移
                 */
                getShadowOffsetX():number;
                /**
                 * 获取阴影颜色
                 * @return 阴影颜色
                 */
                getShadowColor():string;
                /**
                 * 获取阴影 Y 方向偏移
                 * @return 阴影 Y 方向偏移
                 */
                getShadowOffsetY():number;
                /**
                 * 设置阴影 Y 方向偏移
                 * @param shadowOffsetY 阴影 Y 方向偏移
                 */
                setShadowOffsetY(shadowOffsetY:number):void;
                /**
                 * 设置笔画颜色
                 * @param stroke 笔画颜色
                 */
                setStroke(stroke:string):void;
                /**
                 * 获取笔画宽度
                 * @return 笔画宽度
                 */
                getLineWidth():number;
                /**
                 * 设置阴影 X 方向偏移
                 * @param shadowOffsetX 阴影 X 方向偏移
                 */
                setShadowOffsetX(shadowOffsetX:number):void;
                /**
                 * 设置笔画宽度
                 * @param lineWidth 笔画宽度
                 */
                setLineWidth(lineWidth:number):void;
                /**
                 * 获取笔画颜色
                 * @return 笔画颜色
                 */
                getStroke():string;
            }
            type PolygonGraphicStyle_T = BaseGraphicStyle & PolygonGraphicStyle$;
            interface PolygonGraphicStyle extends PolygonGraphicStyle_T {
            }
            interface TextGraphicType_S {
            }
            type TextGraphicType_ST = BaseGraphicType_S & TextGraphicType_S;
            interface TextGraphicType_C extends TextGraphicType_ST {
                new():TextGraphicType;
            }
            interface TextGraphicType$ {
                /**
                 * 获取图形-文本块样式
                 * @return 图形-文本块样式
                 */
                getStyle():TextGraphicStyle;
                /**
                 * 设置图形-文本块样式
                 * @param style 图形-文本块样式
                 */
                setStyle(style:TextGraphicStyle):void;
            }
            type TextGraphicType_T = BaseGraphicType & TextGraphicType$;
            interface TextGraphicType extends TextGraphicType_T {
            }
            interface PieSeries_S {
            }
            type PieSeries_ST = PieSeries_S & Series_S;
            interface PieSeries_C extends PieSeries_ST {
                /**
                 * 构造方法，图表类型设定为扇形（pie）
                 */
                new():PieSeries;
            }
            interface PieSeries$ {
                /**
                 * 设置环形图的内、外半径
                 * @param insideRadius 内半径
                 * @param outerRadius 外半径
                 */
                setRadius(insideRadius:string,outerRadius:string):void;
                /**
                 * 添加数据到数据集
                 *  @param name 数据的key
                 *  @param value 数据的value
                 */
                addData(name:string,value:number):void;
                /**
                 * 获取圆心的位置
                 *  @return 由x和y组成的坐标数组
                 */
                getCenter():string[];
                /**
                 * 设置圆心的位置
                 *  @param x 圆心x坐标
                 *  @param y 圆心y坐标
                 */
                setCenter(x:string,y:string):void;
                /**
                 * 获取扇形图半径
                 *  @return 扇形图半径
                 */
                getRadius():any;
                /**
                 * 设置扇形区域展示方式
                 *  @param type 展示方法
                 */
                setRoseType(type_arg:RoseType):void;
                /**
                 * 获取扇形区域展示方式
                 *  @return 展示方式
                 */
                getRoseType():RoseType;
                /**
                 * 扇形图半径
                 *  @param radius 半径
                 */
                setRadius(radius:string):void;
            }
            type PieSeries_T = PieSeries$ & Series;
            interface PieSeries extends PieSeries_T {
            }
            class XAlign {
                static readonly left:kd.bos.form.chart.XAlign;
                static readonly right:kd.bos.form.chart.XAlign;
                static readonly center:kd.bos.form.chart.XAlign;
                static values():kd.bos.form.chart.XAlign[];
                static valueOf(arg0:string):kd.bos.form.chart.XAlign;
            }
        }
        namespace kd.bos.form.chart.radar{
            interface RadarSeries_S {
            }
            type RadarSeries_ST = RadarSeries_S & Series_S;
            interface RadarSeries_C extends RadarSeries_ST {
                /**
                 * 构造方法，创建雷达图序列实例
                 */
                new():RadarSeries;
            }
            interface RadarSeries$ {
                /**
                 * 添加数据集
                 * @param radarData 数据集
                 */
                addData(radarData:RadarData):void;
            }
            type RadarSeries_T = RadarSeries$ & Series;
            interface RadarSeries extends RadarSeries_T {
            }
            interface RadarChart_S {
            }
            type RadarChart_ST = Chart_S & RadarChart_S;
            interface RadarChart_C extends RadarChart_ST {
                new():RadarChart;
            }
            interface RadarChart$ {
                /**
                 * 添加视觉映射组件
                 * @param visualMap 视觉映射组件
                 */
                addVisualMap(visualMap:$.java.util.Map):void;
                /**
                 * 添加雷达图坐标系
                 *
                 * @param radarAxis 雷达图坐标系
                 */
                addRadarAxis(radarAxis:RadarAxis):void;
                /**
                 * 添加雷达图series
                 *
                 * @param radarSeries 雷达图series
                 */
                addRadarSeries(radarSeries:RadarSeries):void;
            }
            type RadarChart_T = Chart & RadarChart$;
            interface RadarChart extends RadarChart_T {
            }
            interface RadarChartData_S {
            }
            type RadarChartData_ST = ChartData_S & RadarChartData_S;
            interface RadarChartData_C extends RadarChartData_ST {
                new():RadarChartData;
            }
            interface RadarChartData$ {
                /**
                 * 设置图表
                 * @param chart 图表
                 */
                setChart(chart:Chart):void;
                /**
                 * 组装雷达图表数据
                 * @return 雷达图表数据
                 */
                toCharData():$.java.util.Map;
                /**
                 * 获取视觉映射组件列表
                 * @return 视觉映射组件列表
                 */
                getUsevisualMap():$.java.util.List;
                /**
                 * 添加视觉映射组件
                 * @param visual 视觉映射组件
                 */
                addVisualMap(visual:$.java.util.Map):void;
                /**
                 * 添加雷达图坐标系
                 * @param radarAxis 雷达图坐标系
                 */
                addRadarAxis(radarAxis:RadarAxis):void;
                /**
                 * 获取雷达图坐标系
                 * @return 雷达图坐标系
                 */
                getRadarAxis():$.java.util.List;
            }
            type RadarChartData_T = ChartData & RadarChartData$;
            interface RadarChartData extends RadarChartData_T {
            }
            interface RadarData_S {
            }
            interface RadarData_C extends RadarData_S {
                new():RadarData;
            }
            interface RadarData$ {
                /**
                 * 设置数据项名称
                 * @param name 数据项名称
                 */
                setName(name:string):void;
                /**
                 * 设置单个数据项的数值，Object可以为Number或者Number[]
                 * @param value 单个数据项的数值
                 */
                setValue(value:number[]):void;
                /**
                 * 设置单项线条样式
                 * @param lineStyle 单项线条样式
                 */
                setLineStyle(lineStyle:$.java.util.Map):void;
                /**
                 * 获取数据项名称
                 * @return 数据项名称
                 */
                getName():string;
                /**
                 * 获取单项线条样式
                 * @return 单项线条样式
                 */
                getLineStyle():$.java.util.Map;
                /**
                 * 获取单个数据项的数值
                 * @return 单个数据项的数值
                 */
                getValue():number[];
                /**
                 * 设置/添加各种属性值
                 * @param propName
                 * @param propValue
                 */
                setPropValue(propName:string,propValue:any):void;
            }
            type RadarData_T = RadarData$;
            interface RadarData extends RadarData_T {
            }
            interface RadarIndicator_S {
            }
            interface RadarIndicator_C extends RadarIndicator_S {
                /**
                 * 构造方法：初始化雷达图的指示器
                 * @param text 指示器名称
                 */
                new(text:string):RadarIndicator;
                /**
                 * 构造方法：初始化雷达图的指示器
                 * @param text 指示器名称
                 * @param max 指示器的最大值，可选，建议设置
                 */
                new(text:string,max:number):RadarIndicator;
            }
            interface RadarIndicator$ {
                /**
                 * 获取指示器的最大值，可选，建议设置
                 * @return 指示器的最大值
                 */
                getMax():number;
                /**
                 * 设置指示器名称
                 * @param text 指示器名称
                 */
                setText(text:string):void;
                /**
                 * 获取指示器名称
                 * @return 指示器名称
                 */
                getText():string;
                /**
                 * 设置指示器的最大值，可选，建议设置
                 * @param max 指示器的最大值
                 */
                setMax(max:number):void;
            }
            type RadarIndicator_T = RadarIndicator$;
            interface RadarIndicator extends RadarIndicator_T {
            }
            interface RadarAxis_S {
            }
            interface RadarAxis_C extends RadarAxis_S {
                new():RadarAxis;
            }
            interface RadarAxis$ {
                /**
                 * 设置指示器轴的分割段数
                 * @param splitNumber 指示器轴的分割段数
                 */
                setSplitNumber(splitNumber:number):void;
                /**
                 * 设置坐标轴在 grid 区域中的分隔区域，默认不显示
                 * @param splitArea 坐标轴在 grid 区域中的分隔区域
                 */
                setSplitArea(splitArea:$.java.util.Map):void;
                /**
                 * 设置坐标轴在 grid 区域中的分隔线
                 * @param splitLine 坐标轴在 grid 区域中的分隔线
                 */
                setSplitLine(splitLine:$.java.util.Map):void;
                /**
                 * 设置/添加各种属性值
                 * @param propName 属性名
                 * @param propValue 属性值
                 */
                setPropValue(propName:string,propValue:any):void;
                /**
                 * 设置获取雷达图指示器
                 * @param indicator 雷达图指示器
                 */
                setIndicator(indicator:$.java.util.List):void;
                /**
                 * 获取坐标轴在 grid 区域中的分隔区域，默认不显示
                 * @return 坐标轴在 grid 区域中的分隔区域
                 */
                getSplitArea():$.java.util.Map;
                /**
                 * 获取雷达图的中心（圆心）坐标，数组的第一项是横坐标，第二项是纵坐标。
                 *
                 * 支持设置成百分比，设置成百分比时第一项是相对于容器宽度，第二项是相对于容器高度
                 * 使用示例：
                 * <code>
                 * // 设置成绝对的像素值
                 * center: [400, 300]
                 * // 设置成相对的百分比
                 * center: ['50%', '50%']
                 * </code>
                 * @return 达图的中心（圆心）坐标
                 */
                getCenter():$.java.util.List;
                /**
                 * 获取雷达图指示器，用来指定雷达图中的多个变量（维度）
                 * 如下示例
                 * <code>
                 * indicator: [
                 *    { name: '销售（sales）', max: 6500},
                 *    { name: '管理（Administration）', max: 16000, color: 'red'}, // 标签设置为红色
                 *    { name: '信息技术（Information Techology）', max: 30000},
                 *    { name: '客服（Customer Support）', max: 38000},
                 *    { name: '研发（Development）', max: 52000},
                 *    { name: '市场（Marketing）', max: 25000}
                 * ]</code>
                 * @return 雷达图指示器
                 */
                getIndicator():$.java.util.List;
                /**
                 * 获取坐标轴在 grid 区域中的分隔线
                 * @return 坐标轴在 grid 区域中的分隔线
                 */
                getSplitLine():$.java.util.Map;
                /**
                 * 获取雷达图绘制类型，支持 'polygon' 和 'circle'
                 * @return 雷达图绘制类型
                 */
                getShape():string;
                /**
                 * 获取指示器轴的分割段数
                 * @return 指示器轴的分割段数
                 */
                getSplitNumber():number;
                /**
                 * 设置雷达图的中心（圆心）坐标
                 * @param center 雷达图的中心（圆心）坐标
                 */
                setCenter(center:$.java.util.List):void;
                /**
                 * 获取雷达图的半径。number直接指定外半径值
                 * @return 雷达图的半径
                 */
                getRadius():number;
                /**
                 * 设置雷达图的半径
                 * @param radius 雷达图的半径
                 */
                setRadius(radius:number):void;
                /**
                 * 设置雷达图绘制类型，支持 'polygon' 和 'circle'
                 * @param shape 雷达图绘制类型
                 */
                setShape(shape:string):void;
                /**
                 * 设置坐标轴轴线相关设置
                 * @param axisLine 坐标轴轴线相关设置
                 */
                setAxisLine(axisLine:$.java.util.Map):void;
                /**
                 * 设置雷达图每个指示器名称的配置项
                 * @param name 雷达图每个指示器名称的配置项
                 */
                setName(name:$.java.util.Map):void;
                /**
                 * 获取坐标轴轴线相关设置
                 * @return 坐标轴轴线相关设置
                 */
                getAxisLine():$.java.util.Map;
                /**
                 * 获取雷达图每个指示器名称的配置项
                 * @return 雷达图每个指示器名称的配置项
                 */
                getName():$.java.util.Map;
            }
            type RadarAxis_T = RadarAxis$;
            interface RadarAxis extends RadarAxis_T {
            }
        }
        namespace kd.bos.form.container{
            interface AdvContainer_S {
            }
            type AdvContainer_ST = AdvContainer_S & Container_S;
            interface AdvContainer_C extends AdvContainer_ST {
                new():AdvContainer;
            }
            interface AdvContainer$ {
            }
            type AdvContainer_T = AdvContainer$ & Container;
            interface AdvContainer extends AdvContainer_T {
            }
            interface Container_S {
            }
            type Container_ST = Container_S & TipsSupport_S & kd.bos.form.control.events.ISuportClick_S;
            interface Container_C extends Container_ST {
                new():Container;
            }
            interface Container$ {
                /**
                 * 获取控制容器内折叠摘要字段
                 * @return 控制容器内折叠摘要字段
                 */
                getCollapseFields():$.java.util.List;
                /**
                 * 获取容器下的子控件列表
                 * @return 子控件列表
                 */
                getItems():$.java.util.List;
                /**
                 * 控制容器内折叠摘要字段的显示和隐藏
                 *
                 * @param addFields  新增加要显示的字段
                 * @param hideFields 隐藏的字段
                 */
                setCollapseFieldsVisible(addFields:$.java.util.List,hideFields:$.java.util.List):void;
                /**
                 * 控制前端容器折叠
                 *
                 * @param value 是否折叠
                 */
                setCollapse(value:boolean):void;
                /**
                 * 触发容器显示事件
                 */
                onShow():void;
                /**
                 * 设置容器里运行的隐藏的子控件
                 * @param hiddenItems
                 */
                setHiddenItems(hiddenItems:$.java.util.List):void;
                /**
                 * 容器点击的处理
                 */
                click():void;
                /**
                 * 获取容器里运行的隐藏的子控件
                 * @return 子控件列表
                 */
                getHiddenItems():$.java.util.List;
                /**
                 * 设置操作代码
                 *
                 * @param operationKey 操作代码
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 添加容器显示事件监听器
                 * @param listener 容器显示事件监听器
                 */
                addOnShowListener(listener:kd.bos.form.control.events.ContainerOnShowListener):void;
                /**
                 * 获取操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
                /**
                 * 设置触发显示事件
                 *
                 * @param value 触发显示事件
                 */
                setFireShowEvent(value:boolean):void;
                /**
                 * 设置控制容器内折叠摘要字段
                 * @param collapseFields 控制容器内折叠摘要字段
                 */
                setCollapseFields(collapseFields:$.java.util.List):void;
                /**
                 * 添加控件，发送给前端
                 *
                 * @param items 控件
                 */
                addControls(items:$.java.util.List):void;
                /**
                 * 设置背景图片
                 *
                 * @param imageUrl  背景图片url
                 */
                setBackgroundImg(imageUrl:string):void;
                /**
                 * 删除面板中的子控件
                 *
                 * @param keys 子控件
                 */
                deleteControls(...keys:string[]):void;
                /**
                 * 插入控件，发送给前端
                 *
                 * @param index 插入序号
                 * @param items 控件
                 */
                insertControls(index:number,items:$.java.util.List):void;
                /**
                 * 控制前端容器是否可折叠
                 *
                 * @param value true:可折叠，false:不可折叠
                 */
                setCollapseable(value:boolean):void;
            }
            type Container_T = Container$ & TipsSupport & kd.bos.form.control.events.ISuportClick;
            interface Container extends Container_T {
            }
            interface FormRoot_S {
            }
            type FormRoot_ST = Container_S & FormRoot_S;
            interface FormRoot_C extends FormRoot_ST {
                new():FormRoot;
            }
            interface FormRoot$ {
                /**
                 * 设置页面脚本插件
                 * @param jsPlugins
                 */
                setJsPlugins(jsPlugins:$.java.util.List):void;
                /**
                 * 获取页面脚本插件
                 * @return
                 */
                getJsPlugins():$.java.util.List;
                /**
                 * 获取规则计数
                 *  @param ruleCount 规则计数
                 */
                setRuleCount(ruleCount:number):void;
                /**
                 * 获取规则计数
                 *  @return 规则计数
                 */
                getRuleCount():number;
            }
            type FormRoot_T = Container & FormRoot$;
            interface FormRoot extends FormRoot_T {
            }
            interface Tab_S {
            }
            type Tab_ST = Container_S & Tab_S;
            interface Tab_C extends Tab_ST {
                new():Tab;
            }
            interface Tab$ {
                /**
                 * 该方法获取的items可能存在不全
                 * 或者存在失效的页签页面，请谨慎调用
                 * 若要获取准确的items请调用
                 * kd.bos.form.container.Tab#getItems()
                 * 方法
                 * @return
                 */
                getNoFilterItems():$.java.util.List;
                /**
                 * 获取当前页签key
                 * @return 页签key
                 */
                getCurrentTab():string;
                /**
                 * 关闭页签
                 * closeTabs的名称取的不好，只有页签右键关闭其他和全部走closeTabs
                 * 页签关闭自身和X掉走的还是各自view的close处理
                 * 建议相关监听改为closeAll或者closeBatch更为合适
                 * @param tabKeys 关闭的页签keys 字符串以,分隔
                 */
                batchCloseTabs(tabKeys:$.java.util.List):void;
                /**
                 * 页签重复打开事件
                 * @param tabKey
                 */
                reOpenTab(tabKey:string):void;
                /**
                 * 添加页签关闭事件到监听列表
                 * @param listener 页签关闭监听
                 */
                addTabCloseListener(listener:kd.bos.form.control.events.TabCloseListener):void;
                /**
                 * 添加页签批量关闭事件到监听列表
                 * @param listener 页签关闭监听
                 */
                addTabBatchCloseListener(listener:kd.bos.form.control.events.TabBatchCloseListener):void;
                /**
                 * 代码切换页签
                 * @param tabKey 切换的页签key
                 */
                activeTab(tabKey:string):void;
                /**
                 * 修改页签名称
                 * @param tabInfo 页签信息，<k, v>=<tabKey, tabName>
                 * tabKey=页签key，tabName=新页签名称
                 */
                updateTabName(tabInfo:$.java.util.Map):void;
                /**
                 * 选择页签
                 * 页签上showform后，前端也会也会进入此方法
                 * @param tabKey 选择的页签key
                 */
                selectTab(tabKey:string):void;
                /**
                 * 添加页签关闭事件到监听列表
                 * @param listener 页签关闭监听
                 */
                addTabReOpenListener(listener:kd.bos.form.control.events.TabOperationListener):void;
                /**
                 * @param color
                 */
                setMessageColor(color:string):void;
                /**
                 * 前端锁定（解锁）应用页签
                 *
                 * @param dataMaps <k, v>分别为<"fixed",boolean>，<"appId", appNum>
                 */
                setHomePageTabFixed(dataMaps:$.java.util.List):void;
                /**
                 * 修改页签名称
                 * @param tabKey 页签key
                 * @param tabName 新页签名称
                 */
                updateTabName(tabKey:string,tabName:string):void;
                /**
                 * @param controlKey
                 * @param id
                 * @param operationKey
                 */
                menuInfoClick(controlKey:string,id:string,operationKey:string):void;
                /**
                 * 触发点击事件
                 * @param paramsMap
                 */
                click(paramsMap:$.java.util.Map):void;
                /**
                 * 添加页签选择事件到监听列表
                 *  @param listener 页签选择监听
                 */
                addTabSelectListener(listener:kd.bos.form.control.events.TabSelectListener):void;
                /**
                 * 接收前端发送的锁定\解锁信息，并保存用户锁定的应用信息到数据库
                 *
                 * @param linkedHashMap
                 *            <k, v>分别为<"fixed",boolean>，<"appId", appNum>
                 */
                clickTabFixed(linkedHashMap:$.java.util.LinkedHashMap):void;
            }
            type Tab_T = Container & Tab$;
            interface Tab extends Tab_T {
            }
            interface TabPage_S {
            }
            type TabPage_ST = Container_S & TabPage_S;
            interface TabPage_C extends TabPage_ST {
                new():TabPage;
            }
            interface TabPage$ {
                /**
                 * 设置消息，打包给前端
                 *  @param text 消息内容
                 */
                setMessage(text:string):void;
                /**
                 * 设置徽标
                 */
                setBadgeInfo(info:$.kd.bos.entity.BadgeInfo):void;
                /**
                 * @param text
                 */
                setText(text:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type TabPage_T = Container & TabPage$;
            interface TabPage extends TabPage_T {
            }
            interface LayoutFlex_S {
            }
            type LayoutFlex_ST = Container_S & LayoutFlex_S;
            interface LayoutFlex_C extends LayoutFlex_ST {
                new():LayoutFlex;
            }
            interface LayoutFlex$ {
            }
            type LayoutFlex_T = Container & LayoutFlex$;
            interface LayoutFlex extends LayoutFlex_T {
            }
            class VisualStyle {
                static readonly Arrow:kd.bos.form.container.VisualStyle;
                static readonly Digit:kd.bos.form.container.VisualStyle;
                static valueOf(arg0:string):kd.bos.form.container.VisualStyle;
                static values():kd.bos.form.container.VisualStyle[];
                getValue():number;
            }
            interface Wizard_S {
            }
            type Wizard_ST = Container_S & Wizard_S;
            interface Wizard_C extends Wizard_ST {
                new():Wizard;
            }
            interface Wizard$ {
                /**
                 * 前端调用，点击步骤 (点击步骤项时前端发送给后端的事件)
                 * @param value
                 */
                selectStep(value:number):void;
                /**
                 * 获取步骤项配置列表
                 * @return 步骤项配置列表
                 */
                getStepsOptions():$.java.util.List;
                /**
                 * 设置当前进行的步骤
                 * @param currentStepMap 当前进行的步骤
                 * @example {currentStep: 0, currentStatus: 'error'}
                 */
                setWizardCurrentStep(currentStepMap:$.java.util.Map):void;
                /**
                 * 设置步骤项配置列表
                 * @param stepsOptions 步骤项配置列表
                 */
                setStepsOptions(stepsOptions:$.java.util.List):void;
                /**
                 * 添加向导步骤条点击事件接口
                 * @param listener
                 */
                addWizardStepsListener(listener:kd.bos.form.control.events.WizardStepsListener):void;
                /**
                 * 例子： setWizardStepsOptions(stepsOptions);
                 *
                 * @param stepsOptions [{title: '标题', description: '描述', status: '状态，对应currentStatus的枚举值'}]
                 */
                setWizardStepsOptions(stepsOptions:$.java.util.List):void;
                /**
                 * 设置视觉风格
                 *
                 * @param visualStyle 视觉风格
                 */
                setVisualStyle(visualStyle:VisualStyle):void;
            }
            type Wizard_T = Container & Wizard$;
            interface Wizard extends Wizard_T {
            }
        }
        namespace kd.bos.form.control{
            class SuspendButtonPosition {
                static readonly LeftBottom:kd.bos.form.control.SuspendButtonPosition;
                static readonly leftTop:kd.bos.form.control.SuspendButtonPosition;
                static readonly TopCenter:kd.bos.form.control.SuspendButtonPosition;
                static readonly RightCenter:kd.bos.form.control.SuspendButtonPosition;
                static readonly RightTop:kd.bos.form.control.SuspendButtonPosition;
                static readonly RightBottom:kd.bos.form.control.SuspendButtonPosition;
                static readonly BottomCenter:kd.bos.form.control.SuspendButtonPosition;
                static readonly Center:kd.bos.form.control.SuspendButtonPosition;
                static readonly LeftCenter:kd.bos.form.control.SuspendButtonPosition;
                static values():kd.bos.form.control.SuspendButtonPosition[];
                static valueOf(arg0:string):kd.bos.form.control.SuspendButtonPosition;
                getValue():number;
            }
            interface TimelineOption_S {
            }
            interface TimelineOption_C extends TimelineOption_S {
                /**
                 * 时间轴自定义操作构造器
                 */
                new():TimelineOption;
                /**
                 * 时间轴自定义操作构造器
                 * @param label 标签
                 * @param content 内容
                 */
                new(label:TimelineLabelOption,content:TimelineContentOption):TimelineOption;
            }
            interface TimelineOption$ {
                /**
                 * 获取标签
                 * @return 标签
                 */
                getLabel():TimelineLabelOption;
                /**
                 * 设置完成状态
                 * @param status 完成状态
                 */
                setStatus(status:string):void;
                /**
                 * 设置操作标识
                 * @param optionKeys 操作标识
                 */
                setOptionKeys(optionKeys:$.java.util.List):void;
                /**
                 * 获取操作标识
                 * @return 操作标识
                 */
                getOptionKeys():$.java.util.List;
                /**
                 * 获取完成状态 [process|finish|error|wait|warning]
                 * @return 完成状态
                 */
                getStatus():string;
                /**
                 * 设置内容
                 * @param content 内容
                 */
                setContent(content:TimelineContentOption):void;
                /**
                 * 获取用户自定义图标
                 * @return 用户自定义图标
                 */
                getUserDot():string;
                /**
                 * 获取图标取值来源 [defaultConfiguration | systemConfiguration | userConfiguration]
                 * @return 图标取值来源
                 */
                getDotDisplay():string;
                /**
                 * 设置用户自定义图标
                 * @param userDot 用户自定义图标
                 */
                setUserDot(userDot:string):void;
                /**
                 * 获取内容
                 * @return 内容
                 */
                getContent():TimelineContentOption;
                /**
                 * 设置标签
                 * @param label 标签
                 */
                setLabel(label:TimelineLabelOption):void;
                /**
                 * 将此对象属性转化为Map
                 * @return map
                 */
                toMap():$.java.util.Map;
                /**
                 * 设置图标取值来源
                 * @param dotDisplay 图标取值来源
                 */
                setDotDisplay(dotDisplay:string):void;
            }
            type TimelineOption_T = TimelineOption$;
            interface TimelineOption extends TimelineOption_T {
            }
            class EntryViewType {
                static readonly TiledView:kd.bos.form.control.EntryViewType;
                static readonly GridView:kd.bos.form.control.EntryViewType;
                static values():kd.bos.form.control.EntryViewType[];
                static valueOf(arg0:string):kd.bos.form.control.EntryViewType;
                /**
                 * 获取视图字符串常量值
                 * @return 视图字符串常量值
                 */
                getValue():string;
            }
            interface IFrame_S {
            }
            type IFrame_ST = Control_S & IFrame_S;
            interface IFrame_C extends IFrame_ST {
                new():IFrame;
            }
            interface IFrame$ {
                /**
                 * 设置需嵌套显示的URL资源地址
                 * @param value 嵌套显示的URL资源地址
                 */
                setSrc(value:string):void;
                /**
                 * 向IFrame中的页面跨域发送消息
                 * @param msg 消息
                 */
                postMessage(msg:$.kd.bos.entity.IFrameMessage):void;
            }
            type IFrame_T = Control & IFrame$;
            interface IFrame extends IFrame_T {
            }
            interface Label_S {
            }
            type Label_ST = Button_S & Label_S;
            interface Label_C extends Label_ST {
                new():Label;
            }
            interface Label$ {
                /**
                 * 设置标签显示的内容
                 * @param text 标签显示的内容
                 */
                setText(text:string):void;
            }
            type Label_T = Button & Label$;
            interface Label extends Label_T {
            }
            interface TaskNotice_S {
            }
            type TaskNotice_ST = Control_S & TaskNotice_S;
            interface TaskNotice_C extends TaskNotice_ST {
                new():TaskNotice;
            }
            interface TaskNotice$ {
            }
            type TaskNotice_T = Control & TaskNotice$;
            interface TaskNotice extends TaskNotice_T {
            }
            interface TimelineClickArgs_S {
            }
            type TimelineClickArgs_ST = $.java.io.Serializable & TimelineClickArgs_S;
            interface TimelineClickArgs_C extends TimelineClickArgs_ST {
                /**
                 * 时间轴控件点击参数
                 */
                new():TimelineClickArgs;
            }
            interface TimelineClickArgs$ {
                /**
                 * 获取类型
                 * @return 类型
                 */
                getType():string;
                /**
                 * 设置时间轴控件中处于第几行
                 * @param index 时间轴控件中处于第几行
                 */
                setIndex(index:number):void;
                /**
                 * 获取时间轴控件中处于第几行
                 * @return 时间轴控件中处于第几行
                 */
                getIndex():number;
                /**
                 * 设置时间轴
                 * @param timeline 时间轴
                 */
                setTimeline(timeline:string):void;
                /**
                 * 设置类型
                 * @param type 类型
                 */
                setType(type_arg:string):void;
                /**
                 * 获取时间轴["label"|"content"]
                 * @return 时间轴
                 */
                getTimeline():string;
            }
            type TimelineClickArgs_T = $.java.io.Serializable & TimelineClickArgs$;
            interface TimelineClickArgs extends TimelineClickArgs_T {
            }
            interface SubEntryGrid_S {
            }
            type SubEntryGrid_ST = EntryGrid_S & SubEntryGrid_S;
            interface SubEntryGrid_C extends SubEntryGrid_ST {
                new():SubEntryGrid;
            }
            interface SubEntryGrid$ {
            }
            type SubEntryGrid_T = EntryGrid & SubEntryGrid$;
            interface SubEntryGrid extends SubEntryGrid_T {
            }
            interface TransferContainer_S {
            }
            type TransferContainer_ST = Control_S & TransferContainer_S;
            interface TransferContainer_C extends TransferContainer_ST {
                new():TransferContainer;
            }
            interface TransferContainer$ {
                /**
                 *  穿梭框列表显示风格数据设置
                 *  @param data 结点集合
                 *  @param ids 预选数据ID集合，可以为空
                 *  示例：
                 *  <pre>{@code
                 * 	// 显示风格为默认(列表模式)
                 * 	TransferContainer transferContainerDefaultStyle = this.getControl("transfercontainerap0");
                 * 	List<TransferNode> transferNodeListData = new ArrayList<>(2);
                 * 	transferNodeListData.add(new TransferNode(
                 * 		"0",            // 节点 ID
                 * 		"text0",        // text，节点显示内容
                 * 		false           // disabled，该节点是否允许选中
                 * 	));
                 * 	transferNodeListData.add(new TransferNode(
                 * 		"1",            // 节点 ID
                 * 		"text1",        // text，节点显示内容
                 * 		true            // disabled，该节点是否允许选中
                 * 	));
                 * 	transferContainerDefaultStyle.setTransferListData(transferNodeListData, Arrays.asList("0", "1"));   // 全选
                 *  }</pre>
                 */
                setTransferListData(data:$.java.util.List,ids:$.java.util.List):void;
                /**
                 *  获取已选数据
                 *  @return 已选数据集合，没有返回null
                 *  示例：
                 *  <pre>{@code
                 * 	TransferContainer transferContainerDefaultStyle = this.getControl("transfercontainerap0");
                 * 	List<Object> selectedIdsDefaultStyle = transferContainerDefaultStyle.getSelectedData();  // 用户操作穿梭框后可获取选中的 ID 数组
                 * 	// 显示风格为默认的穿梭框选中数据格式
                 * 	if (!selectedIdsDefaultStyle.isEmpty()) {
                 * 		Map<String, Object> map = (Map<String, Object>) selectedIdsDefaultStyle.get(0);
                 * 		String id = (String) map.get("id");
                 * 		String text = (String) map.get("text");
                 * 		Boolean disabled = (Boolean) map.get("disabled");
                 * 		Boolean isOpened = (Boolean) map.get("isOpened"); //树形模式特有
                 * 		Boolean isChecked = (Boolean) map.get("isChecked"); //树形模式特有
                 * 	}
                 *  }</pre>
                 */
                getSelectedData():$.java.util.List;
                /**
                 *  设置穿梭框数据包--树形展示的穿梭框
                 *  @param rootNode root节点
                 *  @param ids 预选数据ID集合，可以为空
                 *  示例：
                 *  <pre>{@code
                 * 	// 显示风格为树形(树形模式)
                 * 	TransferContainer transferContainerTreeStyle = this.getControl("transfercontainerap1");
                 * 	TransferTreeNode rootNode = new TransferTreeNode(
                 * 		"root",         // 节点 ID
                 * 		"textRoot",     // text，节点显示内容
                 * 		false           // disabled，该节点是否允许选中
                 * 	);
                 * 	rootNode.setIsOpened(Boolean.TRUE); // 展开子节点
                 * 	TransferTreeNode childNode = new TransferTreeNode(
                 * 		"child",        // 节点 ID
                 * 		"textChild",    // text，节点显示内容
                 * 		false           // disabled，该节点是否允许选中
                 * 	);
                 * 	rootNode.addChild(childNode);
                 * 	transferContainerTreeStyle.setTransferTreeNoteData(rootNode, Arrays.asList("child"));   // 只选中子节点
                 *  }</pre>
                 */
                setTransferTreeNoteData(rootNode:kd.bos.form.transfer.TransferTreeNode,ids:$.java.util.List):void;
            }
            type TransferContainer_T = Control & TransferContainer$;
            interface TransferContainer extends TransferContainer_T {
            }
            interface SplitContainer_S {
            }
            type SplitContainer_ST = SplitContainer_S & kd.bos.form.container.Container_S;
            interface SplitContainer_C extends SplitContainer_ST {
                new():SplitContainer;
            }
            interface SplitContainer$ {
                /**
                 * 折叠分割容器面板，分隔条不隐藏
                 * @param panelKey 分割面板的标识
                 * @param collapse true：折叠， false：展开
                 */
                setCollapse(panelKey:string,collapse:boolean):void;
                /**
                 * 设置子容器最小宽度，单位：px
                 * @param minWidth 子容器最小宽度
                 */
                setSubContainerMinWidth(minWidth:number):void;
                /**
                 * 隐藏分割容器面板，包含分割条
                 * @param direction 伸缩方向左：left，右：right，上：up，下：down
                 * @param status true：折叠，false：展开
                 */
                hidePanel(direction:SplitDirection,status:boolean):void;
                /**
                 * 设置子容器最小高度，单位：px
                 * @param minHeight 子容器最小高度
                 */
                setSubContainerMinHeight(minHeight:number):void;
            }
            type SplitContainer_T = SplitContainer$ & kd.bos.form.container.Container;
            interface SplitContainer extends SplitContainer_T {
            }
            interface Button_S {
            }
            type Button_ST = Button_S & TipsSupport_S & kd.bos.form.control.events.ISuportClick_S;
            interface Button_C extends Button_ST {
                new():Button;
            }
            interface Button$ {
                /**
                 * 导入证书时，触发此事件
                 */
                getCertInfo():kd.bos.entity.ca.CertInfo;
                /**
                 * 用户点击按钮时，触发此事件
                 */
                click():void;
                /**
                 * 设置操作代码
                 * @param operationKey 操作代码
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置图片URL
                 * @param url 图片的链接
                 */
                setUrl(url:string):void;
                /**
                 * 设置徽标
                 * @param info 徽标信息
                 */
                setBadgeInfo(info:$.kd.bos.entity.BadgeInfo):void;
                /**
                 * 文件上传界面关闭时后(文件服务器已经返回成功状态码及文件URL)，触发此事件
                 * @param attachs 文件信息
                 */
                upload(attachs:$.java.util.List):void;
                /**
                 * 添加按钮上传事件监听器
                 * @param listener 上传事件监听器
                 */
                addUploadListener(listener:$.kd.bos.form.control.events.UploadListener):void;
                /**
                 * 获取按钮绑定的操作代码
                 * @return 操作代码
                 */
                getOperationKey():string;
                /**
                 * 用户点击按钮所带的子按钮时，触发此事件
                 * @param id 下拉项标识
                 * @param operationKey 操作代码
                 */
                itemClick(id:string,operationKey:string):void;
                /**
                 * 文件开始上传时，触发此事件
                 * @param attachs 文件信息
                 */
                beforeUpload(attachs:$.java.util.List):void;
                /**
                 * 在文件上传界面，删除已上传文件时，触发此事件
                 * @param attach 文件信息
                 */
                remove(attach:$.java.util.Map):void;
            }
            type Button_T = Button$ & TipsSupport & kd.bos.form.control.events.ISuportClick;
            interface Button extends Button_T {
            }
            interface Search_S {
            }
            type Search_ST = Search_S & kd.bos.form.container.Container_S;
            interface Search_C extends Search_ST {
                new():Search;
            }
            interface Search$ {
                /**
                 * 获取输入的搜索关键字
                 * @return 输入的搜索关键字
                 */
                getSearchKey():string;
                /**
                 * 获取搜索风格
                 *
                 * @return 搜索风格：0:"默认"，1:"自动补全"，2:"自动收起"，3:"全局搜索"
                 */
                getShowModel():number;
                /**
                 * 注册搜索事件监听器
                 *
                 * @param listener 搜索事件监听器
                 */
                addEnterListener(listener:kd.bos.form.control.events.SearchEnterListener):void;
                /**
                 * 设置输入的搜索关键字
                 * @param text 输入的搜索关键字
                 */
                setSearchKey(text:string):void;
            }
            type Search_T = Search$ & kd.bos.form.container.Container;
            interface Search extends Search_T {
            }
            interface TimelineOptionKey_S {
            }
            interface TimelineOptionKey_C extends TimelineOptionKey_S {
                /**
                 * 时间轴操作定义构造器
                 */
                new():TimelineOptionKey;
                /**
                 * 时间轴操作定义构造器
                 * @param title 标题
                 * @param optionKey 操作标识
                 */
                new(title:$.kd.bos.dataentity.entity.LocaleString,optionKey:string):TimelineOptionKey;
            }
            interface TimelineOptionKey$ {
                /**
                 * 获取操作标识
                 * @return 操作标识
                 */
                getOptionKey():string;
                /**
                 * 设置操作标识
                 * @param optionKey 操作标识
                 */
                setOptionKey(optionKey:string):void;
                /**
                 * 将此对象属性转化为Map
                 * @return map
                 */
                toMap():$.java.util.Map;
                /**
                 * 设置标题
                 * @param title 标题
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取标题
                 * @return 标题
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
            }
            type TimelineOptionKey_T = TimelineOptionKey$;
            interface TimelineOptionKey extends TimelineOptionKey_T {
            }
            interface TimelineText_S {
            }
            interface TimelineText_C extends TimelineText_S {
                /**
                 * 时间轴文本信息封装类构造器
                 */
                new():TimelineText;
                /**
                 * 时间轴文本信息封装类构造器
                 * @param text 文本
                 * @param style 样式
                 */
                new(text:$.kd.bos.dataentity.entity.LocaleString,style:TimeLineStyle):TimelineText;
            }
            interface TimelineText$ {
                /**
                 * 设置样式
                 * @param style 样式
                 */
                setStyle(style:TimeLineStyle):void;
                /**
                 * 设置文本
                 * @param text 文本
                 */
                setText(text:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取样式
                 * @return 样式
                 */
                getStyle():TimeLineStyle;
                /**
                 * 将此对象属性转化为Map
                 * @return map
                 */
                toMap():$.java.util.Map;
                /**
                 * 获取文本
                 * @return 文本
                 */
                getText():$.kd.bos.dataentity.entity.LocaleString;
            }
            type TimelineText_T = TimelineText$;
            interface TimelineText extends TimelineText_T {
            }
            interface TreeEntryGrid_S {
            }
            type TreeEntryGrid_ST = EntryGrid_S & TreeEntryGrid_S;
            interface TreeEntryGrid_C extends TreeEntryGrid_ST {
                new():TreeEntryGrid;
            }
            interface TreeEntryGrid$ {
                /**
                 * 树形单据体懒加载子数据
                 */
                loadChildrenData(value:any):void;
                /**
                 * 展开行
                 * @param row 行索引
                 */
                expand(row:number):void;
                /**
                 * 折叠全部行
                 * @param rows 行索引数组
                 */
                collapse(rows:number[]):void;
                /**
                 * 折叠单行
                 * @param row 行索引
                 */
                collapseOne(row:number):void;
                /**
                 * 重置选择行，用于置顶/底操作。当有选择子级行时，找到其顶层根节点的序号并替换它，最后去除所有重复的节点序号
                 *
                 * @param entryEntity 分录集合对象
                 * @param rowIndexs 选择行序号数组
                 */
                resetSelectRowIndexs(entryEntity:$.kd.bos.dataentity.entity.DynamicObjectCollection,rowIndexs:number[]):number[];
                /**
                 * 添加单元格点击到监听器
                 *  @param listener 单元格点击监听器
                 */
                addCellClickListener(listener:kd.bos.form.control.events.TreeNodeQueryListener):void;
                /**
                 * 选择行
                 * @param pRowKey 展开行索引
                 * @param rowKey 选择行索引
                 */
                focus(pRowKey:number,rowKey:number):void;
                /**
                 * 展开行
                 * @param rows 行索引数组
                 */
                expandOne(rows:number[]):void;
                /**
                 * 展开树节点，触发此事件；
                 */
                queryTreeNodeChildren():void;
                /**
                 * 折叠多行
                 * @param rows 行索引数组
                 */
                collapseOne(rows:number[]):void;
                /**
                 * 折叠行
                 * @param row 行索引
                 */
                collapse(row:number):void;
                /**
                 * 展开行
                 * @param row 行索引
                 */
                expandOne(row:number):void;
                /**
                 * 展开全部行
                 * @param rows 行索引数组
                 */
                expand(rows:number[]):void;
            }
            type TreeEntryGrid_T = EntryGrid & TreeEntryGrid$;
            interface TreeEntryGrid extends TreeEntryGrid_T {
            }
            interface Vector_S {
            }
            type Vector_ST = Button_S & Vector_S;
            interface Vector_C extends Vector_ST {
                new():Vector;
            }
            interface Vector$ {
                /**
                 * 动态设置图标，示例：
                 * <pre>{@code
                 *         Vector vectorIcon = this.getView().getControl(KEY_VECTOR1);
                 *         vectorIcon.setFontClass("kdfont kdfont-baobiao");
                 *     }</pre>
                 * @param className 图标标识
                 */
                setFontClass(className:string):void;
            }
            type Vector_T = Button & Vector$;
            interface Vector extends Vector_T {
            }
            interface Toolbar_S {
            }
            type Toolbar_ST = Toolbar_S & kd.bos.form.container.Container_S;
            interface Toolbar_C extends Toolbar_ST {
                new():Toolbar;
            }
            interface Toolbar$ {
                /**
                 * 添加文件上传监听器
                 * @param listener 文件上传监听器
                 */
                addUploadListener(listener:$.kd.bos.form.control.events.UploadListener):void;
                /**
                 * 导入证书时，触发此事件
                 * @return 证书信息
                 */
                getCertInfo():kd.bos.entity.ca.CertInfo;
                /**
                 * 设置徽标
                 *
                 * @param itemKey 工具栏子项key
                 * @param info    BadgeInfo对象
                 */
                setBadgeInfo(itemKey:string,info:$.kd.bos.entity.BadgeInfo):void;
                /**
                 * 前端触发 文件上传完成后事件(文件服务器已经返回成功状态码及文件URL)
                 * @param attachs 文件信息
                 */
                upload(itemKey:string,attachs:$.java.util.List):void;
                /**
                 * 工具栏项点击时触发此事件
                 * @param id 工具栏项标识
                 * @param operationKey 操作标识
                 */
                itemClick(id:string,operationKey:string):void;
                /**
                 * 文件开始上传时，触发此事件(准备往文件服务器上传文件)
                 * @param attachs 文件信息
                 */
                beforeUpload(itemKey:string,attachs:$.java.util.List):void;
            }
            type Toolbar_T = Toolbar$ & kd.bos.form.container.Container;
            interface Toolbar extends Toolbar_T {
            }
            interface WorkCalendar_S {
            }
            type WorkCalendar_ST = Control_S & WorkCalendar_S & kd.bos.form.control.events.ISuportClick_S;
            interface WorkCalendar_C extends WorkCalendar_ST {
                new():WorkCalendar;
            }
            interface WorkCalendar$ {
                /**
                 * 设置日期类型
                 *
                 * @param dateList 日期列表
                 * @param dateType 日期类型
                 */
                setDateType(dateList:$.java.util.ArrayList,dateType:number):void;
                /**
                 * 是否设置过往日锁定
                 * @return false:不锁定，true:锁定
                 */
                isPassDayLocked():boolean;
                /**
                 * 设置日期类型
                 *
                 * @param param 参数
                 */
                setDateType(param:any[]):void;
                /**
                 * 获取共享任务中心日历当前日期
                 * @return
                 */
                getToday():string;
                /**
                 * 设置休假日颜色
                 * @param holidayColor 休假日颜色
                 */
                setHolidayColor(holidayColor:string):void;
                /**
                 * 获取锁定日颜色
                 * @return
                 */
                getLockedDayColor():string;
                /**
                 * 设置工作日历数据
                 * key workDate
                 * value dateType 1: 工作日 2: 半休日 3: 节假日 4: 休息日
                 * @param workDataList 工作日历数据
                 */
                setWorkDataList(workDataList:$.java.util.List):void;
                /**
                 * 点击
                 *
                 * @param id           事项ID
                 * @param operationKey 操作Key
                 */
                itemClick(id:string,operationKey:string):void;
                /**
                 * 设置打开面板标记
                 * @param openPanel false:不打开，true:打开
                 */
                setOpenPanel(openPanel:boolean):void;
                /**
                 * 设置半工作日颜色
                 * @param halfWorkDayColor 半工作日颜色
                 */
                setHalfWorkDayColor(halfWorkDayColor:string):void;
                /**
                 * 设置日期类型
                 *
                 * @param dateType 日期类型
                 */
                setDateType(dateType:string):void;
                /**
                 * 设置休息日颜色
                 * @param weekendColor 休息日颜色
                 */
                setWeekendColor(weekendColor:string):void;
                /**
                 * 设置过往日锁定标记
                 * @param isPassDayLocked false:不锁定，true:锁定
                 */
                setPassDayLocked(isPassDayLocked:boolean):void;
                /**
                 * 点击按钮
                 */
                click():void;
                /**
                 * 获取工作日颜色
                 * @return
                 */
                getWorkDayColor():string;
                /**
                 * 是否打开面板
                 * @return false:不打开，true:打开
                 */
                isOpenPanel():boolean;
                /**
                 * 设置工作日颜色
                 * @param workDayColor 工作日颜色
                 */
                setWorkDayColor(workDayColor:string):void;
                /**
                 * 获取日期类型
                 *
                 * @return 日期类型
                 */
                getDateType():string;
                /**
                 * 获取休假日颜色
                 * @return
                 */
                getHolidayColor():string;
                /**
                 * 设置日期类型后回调方法
                 *
                 * @param dateList 日期列表
                 * @param dateType 日期类型
                 */
                setDateTypeCallBack(dateList:$.java.util.List,dateType:string):void;
                /**
                 * 设置日期列表
                 * @param dateList 日期列表
                 */
                sendDate(dateList:$.java.util.ArrayList):void;
                /**
                 * 获取工作日历数据
                 * key workDate
                 * value dateType 1: 工作日 2: 半休日 3: 节假日 4: 休息日
                 * @return
                 */
                getWorkDataList():$.java.util.List;
                /**
                 * 获取日历年
                 * @return
                 */
                getYear():number;
                /**
                 * 获取休息日颜色
                 * @return
                 */
                getWeekendColor():string;
                /**
                 * 设置日历的数据
                 *
                 * @param data 日历数据
                 */
                setData(data:WorkCalendarData):void;
                /**
                 * 发送数据到客户端
                 */
                setData():void;
                /**
                 * 设置共享任务中心日历当前日期
                 * @param today 当前日期
                 */
                setToday(today:string):void;
                /**
                 * 获取日历控件的属性
                 * @return Map
                 */
                getPropertiesMap():$.java.util.Map;
                /**
                 * 获取半工作日颜色
                 * @return
                 */
                getHalfWorkDayColor():string;
                /**
                 * 设置日期列表
                 *
                 * @param dateList 日期列表
                 */
                setDateList(dateList:$.java.util.ArrayList):void;
                /**
                 * 设置锁定日颜色
                 * @param lockedDayColor 锁定日颜色
                 */
                setLockedDayColor(lockedDayColor:string):void;
                /**
                 * 设置日历年
                 * @param year 日历年
                 */
                setYear(year:number):void;
                /**
                 * 设置日期类型
                 *
                 * @param dateList 日期列表
                 * @param dateType 日期类型
                 */
                setDateType(dateList:$.java.util.ArrayList,dateType:string):void;
                /**
                 * 获取日期列表
                 *
                 * @return 日期列表
                 */
                getDateList():$.java.util.ArrayList;
            }
            type WorkCalendar_T = Control & WorkCalendar$ & kd.bos.form.control.events.ISuportClick;
            interface WorkCalendar extends WorkCalendar_T {
            }
            interface CodeEdit_S {
                /**
                 * 解密富文本内容，供外部使用
                 *
                 * @param content 加密内容
                 * @return 内容明文
                 */
                decode(content:string):string;
            }
            type CodeEdit_ST = CodeEdit_S & Control_S;
            interface CodeEdit_C extends CodeEdit_ST {
                new():CodeEdit;
            }
            interface CodeEdit$ {
                /**
                 * 设置是否开启发送框选值内容
                 *
                 * @param sendSelection 是否开启发送框选值内容
                 */
                setSendSelection(sendSelection:boolean):void;
                /**
                 * 获取代码编辑器内容明文
                 *
                 * @return text 内容明文
                 */
                getText():string;
                /**
                 * 设置代码编辑器内容
                 *
                 * @param text 内容
                 */
                setText(text:string):void;
                /**
                 * 设置内容是否开启base64编码传送
                 *
                 * @param contentEncode 是/否开启base64编码传送
                 */
                setContentEncode(contentEncode:boolean):void;
                /**
                 * 获取代码编辑器框选内容明文
                 *
                 * @return 框选内容明文
                 */
                getSelectionText():string;
                /**
                 * 内容是否开启base64编码传送
                 *
                 * @return boolean 是/否开启base64编码传送
                 */
                isContentEncode():boolean;
                /**
                 * 是否开启发送框选值内容
                 *
                 * @return boolean 是/否开启发送框选值内容
                 */
                isSendSelection():boolean;
            }
            type CodeEdit_T = CodeEdit$ & Control;
            interface CodeEdit extends CodeEdit_T {
            }
            interface KingScriptEdit_S {
            }
            type KingScriptEdit_ST = Control_S & KingScriptEdit_S;
            interface KingScriptEdit_C extends KingScriptEdit_ST {
                new():KingScriptEdit;
            }
            interface KingScriptEdit$ {
                /**
                 * 添加脚本编辑器监听
                 * @param Listener
                 */
                addScriptEditorListener(Listener:KingScriptEditorListener):void;
                /**
                 * 获取脚本编辑器框选内容明文
                 *
                 * @return 框选内容明文
                 */
                getSelectionText():string;
                /**
                 * 获取脚本编辑器内容明文
                 *
                 * @return text 内容明文
                 */
                getText():string;
                /**
                 * 设置脚本编辑器内容
                 *
                 * @param text 内容
                 */
                setText(text:string):void;
            }
            type KingScriptEdit_T = Control & KingScriptEdit$;
            interface KingScriptEdit extends KingScriptEdit_T {
            }
            interface WorkCalendarData_S {
            }
            interface WorkCalendarData_C extends WorkCalendarData_S {
                new():WorkCalendarData;
            }
            interface WorkCalendarData$ {
                /**
                 * 获取休息日颜色
                 * @return
                 */
                getWeekendColor():string;
                /**
                 * 设置有效日期
                 * @param startDate 起始日期
                 * @param endDate 结束日期
                 */
                setEffectiveDate(startDate:string,endDate:string):void;
                /**
                 * 设置工作日历控件
                 * @param workCalendar
                 */
                setWorkCalendar(workCalendar:WorkCalendar):void;
                /**
                 * 设置半工作日颜色
                 * @param halfWorkDayColor 半工作日颜色
                 */
                setHalfWorkDayColor(halfWorkDayColor:string):void;
                /**
                 * 设置休假日颜色
                 * @param holidayColor 休假日颜色
                 */
                setHolidayColor(holidayColor:string):void;
                /**
                 * 设置共享任务中心日历当前日期
                 *  @param today 共享任务中心日历当前日期
                 */
                setToday(today:string):void;
                /**
                 * 设置有效日期
                 * @param effectiveDate 有效日期
                 */
                setEffectiveDate(effectiveDate:$.java.util.Map):void;
                /**
                 * 获取锁定日颜色
                 * @return
                 */
                getLockedDayColor():string;
                /**
                 * 获取工作日历数据
                 *
                 * @return 工作日历数据
                 */
                getWorkDataList():$.java.util.List;
                /**
                 * 设置工作日颜色
                 * @param workDayColor 工作日颜色
                 */
                setWorkDayColor(workDayColor:string):void;
                /**
                 * 设置工作日历已选日期
                 *
                 * @param dateList  已选日期
                 */
                setDateList(dateList:$.java.util.List):void;
                /**
                 * 设置日历年份
                 * @param year 日历年份
                 */
                setYear(year:number):void;
                /**
                 * 获取有效日期
                 * @return
                 */
                getEffectiveDate():$.java.util.Map;
                /**
                 * 获取获取共享任务中心日历当前日期
                 * @return
                 */
                getToday():string;
                /**
                 * 获取半工作日颜色
                 * @return
                 */
                getHalfWorkDayColor():string;
                /**
                 * 获取日历年份
                 * @return
                 */
                getYear():number;
                /**
                 * 获取工作日历已选日期
                 *
                 * @return 已选日期
                 */
                getDateList():$.java.util.List;
                /**
                 * 设置锁定日颜色
                 * @param lockedDayColor 锁定日颜色
                 */
                setLockedDayColor(lockedDayColor:string):void;
                /**
                 * 获取工作日历控件
                 * @return
                 */
                getWorkCalendar():WorkCalendar;
                /**
                 * 设置过往日锁定标记
                 * @param isPassDayLocked false:不锁定，true:锁定
                 */
                setPassDayLocked(isPassDayLocked:boolean):void;
                /**
                 * 设置工作日历数据
                 *
                 * @param workDataList 工作日历数据
                 */
                setWorkDataList(workDataList:$.java.util.List):void;
                /**
                 * 获取休假日颜色
                 * @return
                 */
                getHolidayColor():string;
                /**
                 * 获取工作日颜色
                 * @return
                 */
                getWorkDayColor():string;
                /**
                 * 设置休息日颜色
                 * @param weekendColor 休息日颜色
                 */
                setWeekendColor(weekendColor:string):void;
                /**
                 * 转换为前端显示数据
                 *
                 * @return 前端显示的数据，以map存储
                 */
                toWorkCalendarData():$.java.util.Map;
                /**
                 * 是否设置过往日锁定
                 * @return false:不锁定，true:锁定
                 */
                isPassDayLocked():boolean;
            }
            type WorkCalendarData_T = WorkCalendarData$;
            interface WorkCalendarData extends WorkCalendarData_T {
            }
            interface KingScriptEditorListener_S {
            }
            interface KingScriptEditorListener_C extends KingScriptEditorListener_S {
            }
            interface KingScriptEditorListener$ {
                codeEditorAction?(e:kd.bos.form.control.events.KingScriptEditorEvent):void;
            }
            type KingScriptEditorListener_T = KingScriptEditorListener$;
            interface KingScriptEditorListener extends KingScriptEditorListener_T {
            }
            interface Rate_S {
            }
            type Rate_ST = Control_S & Rate_S;
            interface Rate_C extends Rate_ST {
                new():Rate;
            }
            interface Rate$ {
                /**
                 * 设置评分，发送到客户端
                 *
                 * @param rateScore 评分
                 */
                setRateScore(rateScore:number):void;
                /**
                 * 设置评分说明，发送到客户端
                 *
                 * @param texts 评分说明
                 */
                setRateTexts(texts:$.java.util.List):void;
                /**
                 * 注册评分事件监听器
                 *
                 * @param listener 事件监听器（即插件）
                 */
                addRateListener(listener:kd.bos.form.control.events.RateListener):void;
            }
            type Rate_T = Control & Rate$;
            interface Rate extends Rate_T {
            }
            interface CarouselFigure_S {
            }
            type CarouselFigure_ST = Button_S & CarouselFigure_S;
            interface CarouselFigure_C extends CarouselFigure_ST {
                new():CarouselFigure;
            }
            interface CarouselFigure$ {
                /**
                 * 刷新轮播图链接
                 */
                updateValue():void;
                /**
                 * 获取轮播图关联基础资料编码
                 * @return 轮播图关联基础资料编码
                 */
                getBasdataNumber():string;
                /**
                 * 设置轮播图间隔时间
                 * @param carouselTime 间隔时间
                 */
                setCarouselTime(carouselTime:string):void;
                /**
                 * 获取轮播图间隔时间
                 * @return 间隔时间
                 */
                getCarouselTime():string;
                /**
                 * 设置轮播图默认图片项
                 * @param imageItems
                 */
                setImageItems(imageItems:$.java.util.List):void;
                /**
                 * 设置轮播图关联基础资料编码
                 * @param basedataNumber 轮播图关联基础资料编码
                 */
                setBasdataNumber(basedataNumber:string):void;
                /**
                 * 获取轮播图默认图片项
                 * @return
                 */
                getImageItems():$.java.util.List;
                /**
                 * 点击轮播图触发此事件，插件可以在Click中捕获此事件
                 * @param imageUrl 图片链接
                 */
                click(imageUrl:string):void;
            }
            type CarouselFigure_T = Button & CarouselFigure$;
            interface CarouselFigure extends CarouselFigure_T {
            }
            interface FloatMenu_S {
            }
            type FloatMenu_ST = FloatMenu_S & kd.bos.form.container.Container_S;
            interface FloatMenu_C extends FloatMenu_ST {
                new():FloatMenu;
            }
            interface FloatMenu$ {
                /**
                 * 点击菜单项时触发此事件
                 * @param itemKey 菜单项
                 * @param operationKey 操作代码
                 */
                itemClick(itemKey:string,operationKey:string):void;
            }
            type FloatMenu_T = FloatMenu$ & kd.bos.form.container.Container;
            interface FloatMenu extends FloatMenu_T {
            }
            interface AbstractGrid_S {
                readonly VIRTUAL_GRID:string;
            }
            type AbstractGrid_ST = AbstractGrid_S & kd.bos.form.container.Container_S;
            interface AbstractGrid_C extends AbstractGrid_ST {
                new():AbstractGrid;
            }
            interface AbstractGrid$ {
                /**
                 * 滚动加载时触发此事件
                 *
                 * @param rows 暂无使用
                 */
                setNextpageData(rows:number):void;
                /**
                 * 双击行触发此事件
                 *
                 * @param row 行号
                 */
                entryRowDoubleClick(row:number):void;
                /**
                 * 选择行，可设置选择行及是否强制触发焦点行改变事件
                 *
                 * @param rowIndex     选择行号
                 * @param forceRefocus 是否强制触发焦点行改变事件
                 */
                selectRows(rowIndex:number,forceRefocus:boolean):void;
                /**
                 * 设置是否显示表格设置
                 * @param showGridConfig
                 */
                setShowGridConfig(showGridConfig:boolean):void;
                /**
                 * 列宽显示模式
                 * @return
                 */
                getColumnWidthStyle():string;
                /**
                 * 获取工具栏位置选项值
                 *
                 * @return 工具栏位置选项值
                 */
                getToolbarLocation():string;
                /**
                 * 添加行点击事件监听器
                 *
                 * @param listener 行点击事件监听器
                 */
                addRowClickListener(listener:kd.bos.form.control.events.RowClickEventListener):void;
                /**
                 * 设置每页的行数
                 *
                 * @param pageRow 行数目
                 */
                setPageRow(pageRow:number):void;
                /**
                 * 添加列点击事件监听器
                 *
                 * @param listener 列点击事件监听器
                 */
                addHeaderCellClickListener(listener:kd.bos.form.control.events.HeaderCellClickListener):void;
                /**
                 * 设置列控件属性值
                 *
                 * @param fieldKey     列字段标识
                 * @param propertyName 将要设置的属性名
                 * @param value        将要设置的属性值 eg:entry.setColumnProperty("datefield", "header",
                 *                     LocaleString("新名称"));
                 */
                setColumnProperty(fieldKey:string,propertyName:string,value:any):void;
                /**
                 * 发送前端指令设置字段必录（只是显示*）
                 *
                 * @param fieldKey 字段
                 * @param value    是否必录
                 */
                setMustInput(fieldKey:string,value:boolean):void;
                /**
                 * 获取表格的状态对象
                 *
                 * @return 表格的状态对象
                 */
                getEntryState():AbstractGrid$GridState;
                /**
                 * 设置工具栏位置选项值
                 *
                 * @param toolbarLocation 工具栏位置选项值
                 */
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 最大分页条数
                 * @return
                 */
                getMaxPageRow():string;
                /**
                 * 前端输入行改变时，触发此方法(不推荐，推荐使用
                 * {@link AbstractGrid#entryRowClick(java.lang.Integer)})
                 *
                 * @param newRows 新行行号
                 * @param oldRows 旧行行号
                 */
                selectRowsChanged(newRows:$.java.util.List,oldRows:$.java.util.List):void;
                /**
                 * 设置最大分页条数
                 * @param maxPageRow
                 */
                setMaxPageRow(maxPageRow:string):void;
                /**
                 * 选择行，设置选择行，不强制触发焦点行改变事件
                 *
                 * @param rowIndex 选择行号
                 */
                selectRows(rowIndex:number):void;
                /**
                 * 显示表格使用帮助
                 */
                showGridHelp():void;
                /**
                 * 获取设计时设置的是否分页选项值
                 *
                 * @return 是/否分页
                 */
                isSplitPage():boolean;
                /**
                 * 设置表格每一页显示多少行数据
                 *
                 * @param count 表格每一页显示多少行数据
                 */
                setPageRows(count:number):void;
                /**
                 * 清除单据所有的状态信息 @Deprecated
                 */
                clearEntryState():void;
                /**
                 * 在表格上添加记录选中监听器(不推荐，推荐使用
                 * {@link AbstractGrid#entryRowClick(java.lang.Integer)})
                 *
                 * @param listener 选择行事件监听器
                 */
                addSelectRowsListener(listener:kd.bos.form.control.events.SelectRowsEventListener):void;
                /**
                 * 设置焦点所在的单元格
                 *
                 * @param rowIndex 行号
                 * @param colKey   列标识
                 */
                focusCell(rowIndex:number,colKey:string):void;
                /**
                 * 获取冻结列列表
                 * @return
                 */
                getFreezeList():$.java.util.List;
                /**
                 * 设置分页类型
                 *
                 * @param type 分页类型
                 */
                setPageType(type_arg:string):void;
                /**
                 * 添加单元格链接事件
                 *
                 * @param listener 单元格点击监听器
                 */
                addHyperClickListener(listener:kd.bos.form.events.HyperLinkClickListener):void;
                /**
                 * 获取设计时设置的分页类型选项值
                 *
                 * @return 分页类型选项
                 */
                getPageType():string;
                /**
                 * 获取设计时设置的每页行数（区分运行时用户设置的每页行数getPageRows）
                 *
                 * @return 行数目
                 */
                getPageRow():number;
                /**
                 * 设置初始字段
                 */
                setInitField(initField:$.java.util.List):void;
                /**
                 * 双击单元格，触发此事件（推荐使用
                 * {@link AbstractGrid#entryRowDoubleClick(java.lang.Integer)}）
                 *
                 * @param fieldKey 字段标识
                 * @param row      行号
                 */
                doubleClickCell(fieldKey:string,row:number):void;
                /**
                 * 点击行时触发此事件
                 *
                 * @param row 行号
                 */
                entryRowClick(row:number):void;
                /**
                 * 设置是否分页
                 *
                 * @param splitPage 是/否分页
                 */
                setSplitPage(splitPage:boolean):void;
                /**
                 * 设置行背景颜色
                 *
                 * @param color      颜色
                 * @param rowIndexes 行号数组
                 */
                setRowBackcolor(color:string,rowIndexes:number[]):void;
                /**
                 * 隐藏操作列操作项
                 *
                 * @param key           操作列标识
                 * @param rowIndex      行号
                 * @param operationKeys 操作项标识
                 */
                hideOperateItems(key:string,rowIndex:number,operationKeys:$.java.util.List):void;
                /**
                 * 获取单据标识
                 *
                 * @return 单据标识
                 */
                getEntryKey():string;
                /**
                 * 获取初始字段
                 */
                getInitField():$.java.util.List;
                /**
                 * 添加单元格点击事件监听器
                 *
                 * @param listener 单元格点击事件监听器
                 */
                addCellClickListener(listener:kd.bos.form.control.events.CellClickListener):void;
                /**
                 * 设置列宽显示模式
                 * @param columnWidthStyle
                 */
                setColumnWidthStyle(columnWidthStyle:string):void;
                /**
                 * 单元格链接事件方法
                 *
                 * @param fieldName 字段名
                 * @param rowIndex  行号
                 */
                hyperLinkClick(fieldName:string,rowIndex:number):void;
                /**
                 * 设置卡片视图某一行卡片某个字段的某个属性的值
                 *
                 * @param key      将要设置字段属性的字段标识
                 * @param rowIndex 行索引
                 * @param props    Map<String, Object> 字段K-V属（属性名-属性值）集合
                 *                 {"p":[{"key":"entryentity","methodname":"setCustomProperties",
                 *                 "args":[0,{}]}]}
                 */
                setCustomProperties(key:string,rowIndex:number,props:$.java.util.Map):void;
                /**
                 * 设置冻结列列表
                 * @param freezeList
                 */
                setFreezeList(freezeList:$.java.util.List):void;
                /**
                 * 选择行，可设置选择行和焦点行，不强制触发焦点行改变事件
                 *
                 * @param rowIndex      选择行号
                 * @param focusRowIndex 焦点行号
                 */
                selectRows(rowIndex:number[],focusRowIndex:number):void;
                /**
                 * 显示表格设置
                 * @return
                 */
                isShowGridConfig():boolean;
                /**
                 * 设置单元格样式
                 */
                setCellStyle(cellStyles:$.java.util.List):void;
                /**
                 * 在表格上添加页面点击监听器(不推荐，推荐监听表格控件绑定事件)
                 *
                 * @param listener 页面点击监听器
                 */
                addPagerClickListener(listener:kd.bos.form.events.PagerClickListener):void;
                /**
                 * 打开显示操作列操作项
                 *
                 * @param key           操作列标识
                 * @param rowIndex      行号
                 * @param operationKeys 操作项标识
                 */
                showOperateItems(key:string,rowIndex:number,operationKeys:$.java.util.List):void;
                /**
                 * 点击单元格，触发此事件（推荐使用{@link AbstractGrid#entryRowClick(java.lang.Integer)}）
                 *
                 * @param fieldKey 字段标识
                 * @param row      行号
                 */
                clickCell(fieldKey:string,row:number):void;
            }
            type AbstractGrid_T = AbstractGrid$ & kd.bos.form.container.Container;
            interface AbstractGrid extends AbstractGrid_T {
            }
            interface Steps_S {
                readonly FINISH:string;
                readonly PROCESS:string;
                readonly WAIT:string;
                readonly ERROR:string;
            }
            type Steps_ST = Control_S & Steps_S;
            interface Steps_C extends Steps_ST {
                new():Steps;
            }
            interface Steps$ {
                /**
                 * 获取步骤集合
                 *
                 * @return 返回步骤集合
                 */
                getStepsOptions():$.java.util.List;
                /**
                 * 插件调用，实时更新客户端的步骤项配置
                 *
                 * 示例：{@code setClientStepsOptions(stepsOptions);}
                 *
                 * @param stepsOptions [{title: '标题', description: '描述', status: '状态，对应currentStatus的枚举值'}]
                 */
                setClientStepsOptions(stepsOptions:$.java.util.List):void;
                /**
                 *  插件调用，设置当前步骤
                 *
                 *  示例：{@code
                 *  setCurrentStep(SerializationUtils.fromJsonString("{currentStep: 0, currentStatus: \"error\"}", Map.class));
                 * }
                 *
                 *  @param currentStepMap 当前步骤参数
                 */
                setCurrentStep(currentStepMap:$.java.util.Map):void;
            }
            type Steps_T = Control & Steps$;
            interface Steps extends Steps_T {
            }
            interface TimeLineStyle_S {
            }
            interface TimeLineStyle_C extends TimeLineStyle_S {
                /**
                 * 时间轴文本样式构造器
                 */
                new():TimeLineStyle;
                /**
                 * 时间轴文本样式构造器
                 */
                new(color:string):TimeLineStyle;
            }
            interface TimeLineStyle$ {
                /**
                 * 获取最大高度
                 * @return
                 */
                getMaxHeight():string;
                /**
                 * 获取显示属性
                 * @return
                 */
                getDisplay():string;
                /**
                 * 设置多行文本超过几行 ... 显示
                 * @return
                 */
                getWebKitLineClamp():string;
                /**
                 * 设置多行文本超过几行 ... 显示
                 * @param webKitLineClamp
                 */
                setWebKitLineClamp(webKitLineClamp:string):void;
                /**
                 * 设置显示属性
                 * @param display
                 */
                setDisplay(display:string):void;
                /**
                 * 设置颜色
                 * @param color 颜色
                 */
                setColor(color:string):void;
                /**
                 * 设置多行文本超过几行 ... 显示
                 * @return
                 */
                getWebKidBoxOrient():string;
                /**
                 * 设置最大高度
                 * @param maxHeight
                 */
                setMaxHeight(maxHeight:string):void;
                /**
                 * 设置多行文本超过几行 ... 显示
                 * @param webKidBoxOrient
                 */
                setWebKidBoxOrient(webKidBoxOrient:string):void;
                /**
                 * 获取颜色
                 * @return 颜色
                 */
                getColor():string;
                /**
                 * 将此对象属性转化为Map
                 * @return map
                 */
                toMap():$.java.util.Map;
            }
            type TimeLineStyle_T = TimeLineStyle$;
            interface TimeLineStyle extends TimeLineStyle_T {
            }
            interface OperationColumn_S {
            }
            type OperationColumn_ST = OperationColumn_S & kd.bos.form.container.Container_S;
            interface OperationColumn_C extends OperationColumn_ST {
                new():OperationColumn;
            }
            interface OperationColumn$ {
                /**
                 * 获取操作项集合
                 *
                 * @return 返回操作项集合
                 */
                getOperationColItems():$.java.util.List;
                /**
                 * 设置操作项集合
                 *
                 * @param operationColItems 操作项集合
                 */
                setOperationColItems(operationColItems:$.java.util.List):void;
            }
            type OperationColumn_T = OperationColumn$ & kd.bos.form.container.Container;
            interface OperationColumn extends OperationColumn_T {
            }
            interface EntryData_S {
            }
            interface EntryData_C extends EntryData_S {
                /**
                 * 单据体数据
                 * @param entryKey 单据体标识
                 * @param startIndex 开始行号
                 * @param endIndex 结束行号
                 * @param pageCount 总页数
                 * @param dataEntitys 数据包集合
                 * @param data 发送给前端的数据
                 * @param fmtinfo 格式化信息
                 */
                new(entryKey:string,startIndex:number,endIndex:number,pageCount:number,dataEntitys:$.kd.bos.dataentity.entity.DynamicObject[],data:$.java.util.Map,fmtinfo:$.java.util.Map):EntryData;
            }
            interface EntryData$ {
                /**
                 * 获取结束行号
                 * @return 结束行号
                 */
                getEndIndex():number;
                /**
                 * 设置开始行号
                 * @param startIndex 开始行号
                 */
                setStartIndex(startIndex:number):void;
                /**
                 * 获取格式化信息
                 * @return 格式化信息
                 */
                getFmtInfo():$.java.util.Map;
                /**
                 * 设置数据包集合
                 * @param dataEntitys 数据包集合
                 */
                setDataEntitys(dataEntitys:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 获取数据包集合
                 * @return 数据包集合
                 */
                getDataEntitys():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 获取开始行号
                 * @return 开始行号
                 */
                getStartIndex():number;
                /**
                 * 获取单据体标识
                 * @return 单据体标识
                 */
                getEntryKey():string;
                /**
                 * 获取前端数据
                 * @return 前端数据
                 */
                getData():$.java.util.Map;
                /**
                 * 获取总页数
                 * @return 总页数
                 */
                getPageCount():number;
                /**
                 * 设置格式化信息
                 * @param fmtInfo 格式化信息
                 */
                setFmtInfo(fmtInfo:$.java.util.Map):void;
                /**
                 * 设置总页数
                 * @param pageCount 总页数
                 */
                setPageCount(pageCount:number):void;
                /**
                 * 设置结束行号
                 * @param endIndex 结束行号
                 */
                setEndIndex(endIndex:number):void;
                /**
                 * 设置前端数据
                 * @param data 前端数据
                 */
                setData(data:$.java.util.Map):void;
                /**
                 * 设置单据体标识
                 * @param entryKey 单据体标识
                 */
                setEntryKey(entryKey:string):void;
            }
            type EntryData_T = EntryData$;
            interface EntryData extends EntryData_T {
            }
            interface FilterGrid_S {
            }
            type FilterGrid_ST = FilterGrid_S & ICloseCallBack_S & kd.bos.form.container.Container_S;
            interface FilterGrid_C extends FilterGrid_ST {
                new():FilterGrid;
            }
            interface FilterGrid$ {
                /**
                 * 添加F7点击事件监听器
                 * @param listener F7点击事件监听器
                 */
                addFilterGridF7ClickEvents(listener:kd.bos.form.control.events.FilterGridF7ClickListener):void;
                /**
                 * 添加F7选择前事件监听器
                 * @param listener F7选择前事件监听器
                 */
                addBeforeF7SelectListener(listener:kd.bos.form.field.events.BeforeFilterF7SelectListener):void;
                /**
                 * 获取过滤条件表达式右边
                 *
                 * @return filterColumns 过滤条件表达式右边
                 */
                getFieldColumns():$.java.util.List;
                /**
                 * 获取F7点击事件监听器列表
                 * @return F7点击事件监听器列表
                 */
                getFilterGridF7CloseCallBackListeners():$.java.util.List;
                /**
                 * 指定哪个字段是弹性域字段
                 * @param flexField
                 */
                addFlexField(flexField:string):void;
                /**
                 * 过滤字段标识集合（用来对过滤字段进行过滤）
                 * @return 过滤字段标识集合（用来对过滤字段进行过滤）
                 */
                getFilterFieldKeys():$.java.util.List;
                /**
                 * 获取通用过滤控件状态，其中包含了条件内容
                 * @return 过滤控件状态
                 */
                getFilterGridState():FilterGrid$FilterGridState;
                /**
                 * 设置自定义比较符
                 * @param fieldName
                 * @param compareTypes
                 */
                addCustomCompareTypes(fieldName:string,compareTypes:$.java.util.List):void;
                /**
                 * 发指令给前端是否展示添加条件按钮
                 */
                setBtnStatus():void;
                /**
                 * 设置已配置的条件内容
                 * @param filterCondition 条件内容
                 */
                SetValue(filterCondition:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * F7点击时，触发此事件
                 * @param entityId 实体标识
                 * @param fieldName 当前点击的文本框对应的字段名
                 * @param compareTypeId 比较符Id
                 * @param clientType 客户端类型
                 * @param rowIndex 行号
                 */
                f7Click(entityId:string,fieldName:string,compareTypeId:string,clientType:number,rowIndex:number):void;
                /**
                 * 设置过滤条件表达式，每一个控件对应一个map
                 *
                 * @param filterColumns
                 *            过滤条件表达式
                 */
                setFilterColumns(filterColumns:$.java.util.List):void;
                /**
                 * 业务需求，供外部构造动态实体
                 *
                 * @param mainEntityType 外部传入的实体对象
                 */
                setMainEntityType(mainEntityType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 设置通用过滤控件绑定的单据标识；
                 * 必须在表单加载beforeBindData事件前设置才有效
                 * @param entityNumber 单据标识
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置过滤条件表达式左边值
                 *
                 * @param fieldColumns
                 *            过滤条件表达式左边值
                 */
                setFieldColumns(fieldColumns:$.java.util.List):void;
                /**
                 * 设置过滤字段标识集合
                 *
                 * @param filterFieldKeys 过滤字段标识集合
                 */
                setFilterFieldKeys(filterFieldKeys:$.java.util.List):void;
                /**
                 * 获取F7选择前事件监听器列表
                 * @return F7选择前事件监听器列表
                 */
                getBeforeF7SelectListeners():$.java.util.List;
                /**
                 * 设置F7点击事件监听器列表
                 * @param filterGridF7ClickListeners F7点击事件监听器列表
                 */
                setFilterGridF7ClickEvents(filterGridF7ClickListeners:$.java.util.List):void;
                /**
                 * 设置过滤字段
                 *
                 * @param filterColumns 过滤字段集合
                 */
                setFilterFields(filterColumns:$.java.util.List):void;
                /**
                 * 添加F7关闭回调事件监听器
                 * @param listener F7关闭回调事件监听器
                 */
                addFilterGridF7CloseCallBackListeners(listener:kd.bos.form.control.events.FilterGridF7CloseCallBackListener):void;
                /**
                 * 弹出框-文本类型字段点击时事件
                 * @param entityId 实体标识
                 * @param fieldName 当前点击的文本框对应的字段名
                 * @param compareTypeId 比较符Id
                 * @param clientType 客户端类型
                 * @param rowIndex 行号
                 */
                fieldValueClick(entityId:string,fieldName:string,compareTypeId:string,clientType:number,rowIndex:number):void;
                /**
                 * 获取F7点击事件监听器列表
                 * @return F7点击事件监听器列表
                 */
                getFilterGridF7ClickEvents():$.java.util.List;
                /**
                 * 过滤控件 “值” 列 ，点击事件
                 *  @param row
                 */
                filterGridValueClick(row:number):void;
                /**
                 * 设置F7关闭回调事件监听器
                 * @param filterGridF7CloseCallBackListeners F7关闭回调事件监听器
                 */
                setFilterGridF7CloseCallBackListeners(filterGridF7CloseCallBackListeners:$.java.util.List):void;
                /**
                 * 获取过滤条件显示成多个表达式，每一个控件对应一个map
                 *
                 * @return 过滤条件表达式
                 */
                getFilterColumns():$.java.util.List;
                /**
                 * 设置已配置的条件内容
                 * @param value 条件内容
                 */
                SetValue(value:$.java.util.List):void;
                /**
                 * 设置自定义比较符
                 * @param fieldName
                 * @param compareType
                 */
                addCustomCompareTypes(fieldName:string,compareType:$.kd.bos.entity.filter.CompareType):void;
                /**
                 * 设置F7选择前事件监听器
                 * @param beforeF7SelectListeners F7选择前事件监听器列表
                 */
                setBeforeF7SelectListeners(beforeF7SelectListeners:$.java.util.List):void;
                /**
                 * 添加过滤控件 “值” 列 ，点击事件
                 * @param listener
                 */
                addFilterGridValueClickListener(listener:kd.bos.form.control.events.FilterGridValueClickListener):void;
                /**
                 * 设置过滤控件内容加密传输
                 */
                setEncoding():void;
                /**
                 * 获取已设置的单据标识
                 * @return 单据标识
                 */
                getEntityNumber():string;
            }
            type FilterGrid_T = FilterGrid$ & ICloseCallBack & kd.bos.form.container.Container;
            interface FilterGrid extends FilterGrid_T {
            }
            interface Slider_S {
            }
            type Slider_ST = Control_S & Slider_S;
            interface Slider_C extends Slider_ST {
                new():Slider;
            }
            interface Slider$ {
                /**
                 * 设置滑动输入条的值
                 * 双数值模式时，取参数的两个值作为当前已选数值区间
                 * 单数值模式时，取参数的第二个元素作为当前已选数值
                 *
                 * @param v1 左值
                 * @param v2 右值
                 * 示例：{@code setSliderValue(0, 50);}
                 */
                setSliderValue(v1:number,v2:number):void;
                /**
                 * 注册滑动事件监听器
                 *
                 * @param listener 事件监听器
                 */
                addSliderListener(listener:kd.bos.form.control.events.SliderListener):void;
                /**
                 * 滑动输入条设置刻度标记
                 * 参数示例：[{"10": {label: "数值对应文本", style: {color:"#F00"}}}]
                 * 10表示要设置刻度的数值，label表示数值对应文本，style表示文本对应的样式
                 * @param markMap 刻度标记
                 * 示例：<pre><code>
                 * setSliderMarks(SerializationUtils.fromJsonString("{\"20\":{\"style\":{\"color\":\"#F00\"},\"label\": " +
                 * 				"\"38X\"}}",	Map.class));
                 * </code></pre>
                 */
                setSliderMarks(markMap:$.java.util.Map):void;
            }
            type Slider_T = Control & Slider$;
            interface Slider extends Slider_T {
            }
            interface ClientAjaxOption_S {
            }
            interface ClientAjaxOption_C extends ClientAjaxOption_S {
                /**
                 * 客户端AJAX请求参数类构造器
                 */
                new():ClientAjaxOption;
                /**
                 * 客户端AJAX请求参数类构造器
                 * @param async 是否异步
                 * @param data 请求数据
                 * @param url 请求地址
                 * @param dataType 请求数据类型
                 * @param type 请求类型
                 */
                new(async_arg:boolean,data:any,url:string,dataType:string,type_arg:string):ClientAjaxOption;
                /**
                 * 客户端AJAX请求参数类构造器
                 * @param async 是否异步
                 * @param data 请求数据
                 * @param url 请求地址
                 * @param dataType 请求数据类型
                 * @param type 请求类型
                 * @param withCredentials 是否携带cookies
                 */
                new(async_arg:boolean,data:any,url:string,dataType:string,type_arg:string,withCredentials:boolean):ClientAjaxOption;
            }
            interface ClientAjaxOption$ {
                /**
                 * 是否携带cookies，默认true；如给第三方发送则可设置为false
                 * @return 是/否
                 */
                isWithCredentials():boolean;
                /**
                 * 获取数据流类型，默认form
                 * @return 数据流类型
                 */
                getContentType():string;
                /**
                 * 设置是否异步请求
                 * @param async 是否异步请求
                 */
                setAsync(async_arg:boolean):void;
                /**
                 * 设置请求地址
                 * @param url 请求地址
                 */
                setUrl(url:string):void;
                /**
                 * 获取请求类型，默认POST
                 * @return 请求类型
                 */
                getType():string;
                /**
                 * 设置请求数据
                 * @param data 请求数据
                 */
                setData(data:any):void;
                /**
                 * 获取请求数据类型，默认json
                 * @return 请求数据类型
                 */
                getDataType():string;
                /**
                 * 获取请求数据
                 * @return 请求数据
                 */
                getData():any;
                /**
                 * 获取请求地址
                 * @return 请求地址
                 */
                getUrl():string;
                /**
                 * 获取是否异步请求，默认true
                 * @return 是否异步请求
                 */
                isAsync():boolean;
                /**
                 * 设置数据流类型
                 * @param contentType 数据流类型
                 */
                setContentType(contentType:string):void;
                /**
                 * 设置请求类型
                 * @param type 请求类型
                 */
                setType(type_arg:string):void;
                /**
                 * 设置是/否携带cookies
                 * @param withCredentials 是/否
                 */
                setWithCredentials(withCredentials:boolean):void;
                /**
                 * 设置请求数据类型
                 * @param dataType 请求数据类型
                 */
                setDataType(dataType:string):void;
            }
            type ClientAjaxOption_T = ClientAjaxOption$;
            interface ClientAjaxOption extends ClientAjaxOption_T {
            }
            interface VectorList_S {
            }
            type VectorList_ST = Control_S & VectorList_S;
            interface VectorList_C extends VectorList_ST {
                new():VectorList;
            }
            interface VectorList$ {
                /**
                 * 向矢量图标列表控件，下达搜索指令，按名称搜索图标
                 * @param token 待搜索图标名称
                 */
                search(token:string):void;
                /**
                 * 获取用户选择的图标资源
                 * @return 图标资源标识，如果用户未选择返回空
                 */
                getFontClass():string;
            }
            type VectorList_T = Control & VectorList$;
            interface VectorList extends VectorList_T {
            }
            interface TreeMenu_S {
            }
            type TreeMenu_ST = TreeMenu_S & kd.bos.form.container.Container_S;
            interface TreeMenu_C extends TreeMenu_ST {
                new():TreeMenu;
            }
            interface TreeMenu$ {
                /**
                 * 添加多个节点到对应parentId所在节点下面（parentId为空时直接添加到树上作为根节点）
                 * @param nodes 节点集合
                 */
                addNodes(nodes:$.java.util.List):this;
                /**
                 * 设置菜单项为收藏菜单
                 * @param MarkedMenuIds 已收藏的菜单ID
                 */
                setTreeMenusMarked(MarkedMenuIds:$.java.util.List):void;
                /**
                 * 执行树形菜单添加节点监听事件，插件可以在此事件修改菜单节点定义
                 * @param event 添加树节点事件
                 */
                fireTreeMenuAddNodesListener(event:kd.bos.form.control.events.TreeMenuAddNodesEvent):void;
                /**
                 * 添加树形菜单添加节点事件到监听器列表
                 * @param treeMenuAddNodesListener 添加节点事件监听器
                 */
                addTreeMenuAddNodesListener(consumer:(t:any)=>void):void;
                /**
                 * 点击菜单收藏，触发此事件
                 * @param map 收藏参数map中<k, v>包含<"menuId", menuId>,<"isMark", true/false>
                 */
                clickMenuMark(map:$.java.util.Map):void;
                /**
                 * 树节点双击时，触发此事件
                 * @param parentNodeId 父节点ID
                 * @param nodeId 双击的节点ID
                 */
                treeMenuDoubleClick(parentNodeId:string,nodeId:string):void;
                /**
                 * 树节点单击时，触发此事件
                 * @param parentNodeId 父节点ID
                 * @param nodeId 当前点击的节点ID
                 */
                treeMenuClick(parentNodeId:string,nodeId:string):void;
                /**
                 * 添加多个节点到对应parentId所在节点下面（parentId为空时直接添加到树上作为根节点）
                 * @param nodes 一级菜单树节点
                 * @param urls 对应一级菜单树节点的图片地址
                 */
                addNodes(nodes:$.java.util.List,urls:$.java.util.List):this;
                /**
                 * 添加树节点点击事件到监听器列表
                 * @param listener 树节点点击监听器
                 */
                addTreeMenuClickListener(listener:kd.bos.form.control.events.TreeMenuClickListener):void;
            }
            type TreeMenu_T = TreeMenu$ & kd.bos.form.container.Container;
            interface TreeMenu extends TreeMenu_T {
            }
            interface EntryFieldContainer_S {
            }
            type EntryFieldContainer_ST = EntryFieldContainer_S & kd.bos.form.container.Container_S;
            interface EntryFieldContainer_C extends EntryFieldContainer_ST {
                new():EntryFieldContainer;
            }
            interface EntryFieldContainer$ {
            }
            type EntryFieldContainer_T = EntryFieldContainer$ & kd.bos.form.container.Container;
            interface EntryFieldContainer extends EntryFieldContainer_T {
            }
            interface StepsOption_S {
            }
            type StepsOption_ST = $.java.io.Serializable & StepsOption_S;
            interface StepsOption_C extends StepsOption_ST {
                /**
                 * 构造函数
                 */
                new():StepsOption;
                /**
                 * 构造函数
                 *
                 * @param title 标题
                 * @param description 描述
                 */
                new(title:$.kd.bos.dataentity.entity.LocaleString,description:$.kd.bos.dataentity.entity.LocaleString):StepsOption;
                /**
                 * 构造函数
                 *
                 * @param title 标题
                 * @param description 描述
                 * @param status 状态
                 */
                new(title:$.kd.bos.dataentity.entity.LocaleString,description:$.kd.bos.dataentity.entity.LocaleString,status:string):StepsOption;
            }
            interface StepsOption$ {
                /**
                 * 获取状态值
                 *
                 * @return 返回状态值
                 */
                getStatus():string;
                /**
                 * 获取标题
                 *
                 * @return 返回标题
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置状态值
                 *
                 * @param status 状态值，包括"process", "finish", "error", "wait"
                 */
                setStatus(status:string):void;
                /**
                 * 设置描述内容
                 *
                 * @param description 描述内容
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置标题
                 *
                 * @param title 标题
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取描述内容
                 *
                 * @return 描述内容
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
            }
            type StepsOption_T = $.java.io.Serializable & StepsOption$;
            interface StepsOption extends StepsOption_T {
            }
            interface Control_S {
            }
            type Control_ST = $.java.lang.Cloneable & Control_S;
            interface Control_C extends Control_ST {
                /**
                 * 构造方法：无参数
                 */
                new():Control;
            }
            interface Control$ {
                /**
                 * 获取自定义样式
                 *
                 * @return 自定义样式
                 */
                getCustomeStyles():string;
                /**
                 * 获取可见性数值
                 * @return
                 */
                getVisibleIntegerVal():number;
                /**
                 * 返回控件的克隆
                 *
                 * @return 控件的克隆
                 * @throws CloneNotSupportedException 克隆无法支持异常
                 */
                clone():any;
                /**
                 * 设计时隐藏元素  对应Hidden属性  （历史功能，现已隐藏）
                 * @param designHidden
                 */
                setDesignHidden(designHidden:boolean):void;
                /**
                 * 获取表单模数据型
                 *
                 * @return 表单数据模型
                 */
                getModel():$.kd.bos.entity.datamodel.IDataModel;
                /**
                 * 设置自定义样式
                 *
                 * @param customeStyles 传压缩后字符串(通过设计器的属性[自定义样式]生成)
                 */
                setCustomeStyles(customeStyles:string):void;
                /**
                 * 设置是否可以拖拽
                 *
                 * @param value 是否可以拖拽
                 */
                setDraggable(value:boolean):void;
                /**
                 * 设计时隐藏元素  对应Hidden属性  （历史功能，现已隐藏）
                 * @return
                 */
                isDesignHidden():boolean;
                /**
                 * 设置表单数据模型
                 *
                 * @param model 表单数据模型
                 */
                setModel(model:$.kd.bos.entity.datamodel.IDataModel):void;
                /**
                 * 获取所属表单视图
                 *
                 * @return 所属表单视图
                 */
                getView():IFormView;
                /**
                 * 设置元素的ID
                 *
                 * @param id 待设置ID
                 */
                setId(id:string):void;
                /**
                 * 设置锁定性数值
                 *
                 * @param lockIntegerVal 锁定性数值
                 */
                setLockIntegerVal(lockIntegerVal:number):void;
                /**
                 * 设置控件标识
                 *
                 * @param key 控件标识
                 */
                setKey(key:string):void;
                /**
                 * 绑定表单视图
                 *
                 * @param view 视图
                 */
                setView(view:IFormView):void;
                /**
                 * 设置隐藏属性
                 * @param invisible 是否隐藏
                 */
                setInvisible(invisible:boolean):void;
                /**
                 * 设置可见性数值
                 * @param visibleIntegerVal
                 */
                setVisibleIntegerVal(visibleIntegerVal:number):void;
                /**
                 * 获取自定义属性
                 *
                 * @return 自定义属性
                 */
                getCustomProperties():$.java.util.Map;
                /**
                 * 获取控件标识
                 *
                 * @return 控件标识
                 */
                getKey():string;
                /**
                 * 获取元素对应的ID
                 *
                 * @return 元素对应的ID
                 */
                getId():string;
                /**
                 * 获取锁定性数值
                 *
                 * @return 锁定性数值
                 */
                getLockIntegerVal():number;
                /**
                 * 设置自定义属性
                 *
                 * @param customProperties 自定义属性
                 */
                setCustomProperties(customProperties:$.java.util.Map):void;
                /**
                 * 获取锁定性
                 *
                 * @return 锁定性
                 */
                getLock():string;
                /**
                 * 获取隐藏属性
                 * @return 是否隐藏
                 */
                isInvisible():boolean;
                /**
                 * 设置是否可以拖放
                 *
                 * @param value 是否可以拖放
                 */
                setDroppable(value:boolean):void;
                /**
                 * 设置锁定性
                 *
                 * @param lock 锁定性
                 */
                setLock(lock:string):void;
            }
            type Control_T = $.java.lang.Cloneable & Control$;
            interface Control extends Control_T {
            }
            interface ClientAjax_S {
            }
            type ClientAjax_ST = ClientAjax_S & Control_S;
            interface ClientAjax_C extends ClientAjax_ST {
                new():ClientAjax;
            }
            interface ClientAjax$ {
                /**
                 * 设置ajax请求参数,发起客户端请求
                 * @param option 客户端AJAX请求参数类
                 */
                request(option:ClientAjaxOption):void;
                /**
                 * 前端触发ajax请求收到响应结果后
                 * @param resp 收到的响应结果
                 */
                afterReceiveResponse(resp:any):void;
                /**
                 * 添加ajax响应结果监听器
                 * @param listener ajax响应结果监听器
                 */
                addResponseListner(listener:kd.bos.form.control.events.ResponseListener):void;
            }
            type ClientAjax_T = ClientAjax$ & Control;
            interface ClientAjax extends ClientAjax_T {
            }
            interface TreeView$TreeState_S {
            }
            interface TreeView$TreeState_C extends TreeView$TreeState_S {
                new(arg0:string,arg1:$.java.util.Map):TreeView$TreeState;
            }
            interface TreeView$TreeState$ {
                getFocusNode():$.java.util.Map;
                getKey():string;
                getSelectedNodes():$.java.util.List;
                getSelectedNodeId():$.java.util.List;
                getCheckedNodeIds():$.java.util.List;
                getFocusNodeId():string;
                setKey(arg0:string):void;
                getCheckedNodes():$.java.util.List;
                check(arg0:$.java.util.List):void;
            }
            type TreeView$TreeState_T = TreeView$TreeState$;
            interface TreeView$TreeState extends TreeView$TreeState_T {
            }
            interface RichTextEditor_S {
                /**
                 * 解密富文本内容，供外部使用
                 *
                 * @param content 内容密文
                 * @return 内容明文
                 */
                decode(content:string):string;
            }
            type RichTextEditor_ST = Control_S & RichTextEditor_S;
            interface RichTextEditor_C extends RichTextEditor_ST {
                new():RichTextEditor;
            }
            interface RichTextEditor$ {
                /**
                 * 聚焦变化触发此事件
                 *
                 * @param isFocus 是/否聚焦
                 */
                inputFocus(isFocus:boolean):void;
                /**
                 * 设置最大内容大小
                 * @param maxRichTextLength
                 */
                setMaxRichTextLength(maxRichTextLength:number):void;
                /**
                 * 设置内容
                 *
                 * @param text 内容
                 */
                setText(text:string):void;
                /**
                 * 设置内容编码方式
                 *
                 * @param contentEncode 内容编码方式
                 */
                setContentEncode(contentEncode:boolean):void;
                /**
                 * 获取内容
                 *
                 * @return text 内容
                 */
                getText():string;
                /**
                 * 获取是否聚焦
                 *
                 * @return 是/否聚焦
                 */
                isFireFocus():boolean;
                /**
                 * 最大内容大小
                 * @return
                 */
                getMaxRichTextLength():number;
                /**
                 * 获取内容编码方式
                 *
                 * @return 内容编码方式
                 */
                isContentEncode():boolean;
                /**
                 * 丢失焦点
                 */
                setFocus():void;
                /**
                 * 添加聚焦变化事件监听器
                 *
                 * @param listener 聚焦变化事件监听器
                 */
                addInputFocusListener(listener:kd.bos.form.control.events.InputFocusListener):void;
                /**
                 * 设置焦点
                 *
                 * @param rowIndex 行号
                 */
                setFocus(rowIndex:number):void;
                /**
                 * 设置是否聚焦
                 *
                 * @param isFireFocus 是/否聚焦
                 */
                setFireFocus(isFireFocus:boolean):void;
            }
            type RichTextEditor_T = Control & RichTextEditor$;
            interface RichTextEditor extends RichTextEditor_T {
            }
            interface CustomView_S {
            }
            type CustomView_ST = CustomView_S & kd.bos.form.container.Container_S;
            interface CustomView_C extends CustomView_ST {
                new():CustomView;
            }
            interface CustomView$ {
                /**
                 * 获取自定义视图元数据
                 * @return 自定义视图元数据
                 */
                getSerCustomView():$.java.util.Map;
            }
            type CustomView_T = CustomView$ & kd.bos.form.container.Container;
            interface CustomView extends CustomView_T {
            }
            interface ProgressBar_S {
            }
            type ProgressBar_ST = Control_S & ProgressBar_S;
            interface ProgressBar_C extends ProgressBar_ST {
                new():ProgressBar;
            }
            interface ProgressBar$ {
                /**
                 * 停止进度条
                 */
                stop():void;
                /**
                 * 添加到监听列表
                 *  @param listener 监听器
                 */
                addProgressListener(listener:kd.bos.form.control.events.ProgresssListener):void;
                /**
                 * 启动进度条
                 *
                 * 页面加载时，进度条默认时停止的，不会自动启动。插件须调用此方法启动进度
                 */
                start():void;
                /**
                 * 设定进度条的进度
                 *  @param v 进度百分比，范围: 0-100，设置为100表示任务完成，停止进度更新
                 */
                setPercent(v:number):void;
                /**
                 * 设定进度条的进度
                 *  @param v 进度百分比，范围: 0-100，设置为100表示任务完成，停止进度更新
                 *  @param title 进度提示信息
                 */
                setPercent(v:number,title:string):void;
                /**
                 * 启动/停止进度条
                 *
                 * @param running 设置为true：启动，false：停止
                 */
                run(running:boolean):void;
            }
            type ProgressBar_T = Control & ProgressBar$;
            interface ProgressBar extends ProgressBar_T {
            }
            interface AbstractGrid$GridState_S {
                readonly DEFAULTPAGEROWS:number;
            }
            interface AbstractGrid$GridState_C extends AbstractGrid$GridState_S {
                new(arg0:string,arg1:$.java.util.Map):AbstractGrid$GridState;
            }
            interface AbstractGrid$GridState$ {
                selectRow(arg0:number):void;
                getScrollStart():number;
                isSelectPageAllRows():boolean;
                moveDown():void;
                getClientNewRows():string[];
                isKeepPageData():boolean;
                setScrollLoad(arg0:boolean):void;
                getEntryFilterStatus():$.java.util.Map;
                setColumnQFilter(arg0:string):void;
                getState():$.java.util.Map;
                getSortInfo():string;
                setScrollLimit(arg0:number):void;
                getFocusRow():number;
                getMaxPageSize():number;
                moveBottom(arg0:number):void;
                getKey():string;
                getColumnQFilter():string;
                moveTop():void;
                setKeepPageData(arg0:boolean):void;
                setScrollStart(arg0:number):void;
                setOldCondition(arg0:string):void;
                isHasAllRows():boolean;
                getFocusField():string;
                isScrollLoad():boolean;
                setSelectAllRows(arg0:boolean):void;
                setSortInfo(arg0:string):void;
                getOldCondition():string;
                moveUp():void;
                getEntryFilter():$.java.util.Map;
                isSelectAllRows():boolean;
                setEntryFilterStatus(arg0:$.java.util.Map):void;
                getFocusRows():number[];
                selectRow(arg0:number[]):void;
                setPageRows(arg0:number):void;
                getSelectedRows():number[];
                getIsClientNewRow():boolean;
                setEntryFilter(arg0:$.java.util.Map):void;
                getCurrentPageIndex():number;
                setItemFieldCondition(arg0:string):void;
                setEntryViewType(arg0:EntryViewType):void;
                getEntryViewType():EntryViewType;
                getItemFieldCondition():string;
                setFocusRow(arg0:number):void;
                setState(arg0:$.java.util.Map):$.java.util.Map;
                setMaxPageSize(arg0:number):void;
                setHasAllRows(arg0:boolean):void;
                getPageRows():number;
                get(arg0:string):any;
                setCurrentPageIndex(arg0:number):void;
                getScrollLimit():number;
                setSelectPageAllRows(arg0:boolean):void;
                put(arg0:string,arg1:any):void;
            }
            type AbstractGrid$GridState_T = AbstractGrid$GridState$;
            interface AbstractGrid$GridState extends AbstractGrid$GridState_T {
            }
            interface EntryGrid_S {
            }
            type EntryGrid_ST = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & AbstractGrid_S & EntryGrid_S & ICloseCallBack_S & IConfirmCallBack_S;
            interface EntryGrid_C extends EntryGrid_ST {
                new():EntryGrid;
            }
            interface EntryGrid$ {
                /**
                 * 设置合计类型（供插件使用。插件可以在 beforeBindData 事件中调用这个方法更新单据体元数据）
                 *
                 * @param totalType 合计类型
                 */
                setTotalType(totalType:string):void;
                /**
                 * 添加后端过滤排序监听器
                 * @param filterEntryListener 设置后端过滤排序监听器
                 */
                addFilterEntryListener(filterEntryListener:kd.bos.form.control.events.EntryGridFilterEntryListener):void;
                /**
                 * 添加单据体行数据监听器
                 * @param setRowDataListener 设置行数据监听器
                 */
                addSetRowDataListener(setRowDataListener:kd.bos.form.control.events.EntryGridSetRowDataListener):void;
                /**
                 * 设置单据体行锁定
                 * @param value 是/否锁定
                 * @param rowIndexes 行号
                 */
                setRowLock(value:boolean,rowIndexes:number[]):void;
                /**
                 * 设置是否干预合计
                 * @param interveneTotal
                 */
                setInterveneTotal(interveneTotal:boolean):void;
                /**
                 * 刷新单行多列单元格的格式化信息，刷新多行多列请调用{@link EntryGrid#updateCellFmt(Map)}
                 * @param fieldKeys 字段标识集合
                 * @param rowIndex 行号
                 */
                updateCellFmt(fieldKeys:$.java.util.List,rowIndex:number):void;
                /**
                 * 过滤
                 * 1.与前端交互接口，前端表头过滤数据发到后端
                 * 2.插件可在afterBindData、afterCreateNewData调用设置过滤规则，最后过滤条件回显到前端
                 *
                 * @param filter 过滤条件数据包
                 */
                getGridDataByFilter(filter:$.java.util.List):void;
                /**
                 * 单据体全屏
                 */
                fullScreen():void;
                /**
                 * 添加单据体数据包装监听器
                 * @param packageDataListener 数据包装监听器
                 */
                addPackageDataListener(consumer:(t:any)=>void):void;
                /**
                 * 表格分录切换视图
                 * @param entryViewType 表格视图/平铺视图
                 */
                switchGridView(entryViewType:EntryViewType):void;
                /**
                 * 单据体粘贴赋值配置
                 * @param setRowDataConfig 配置信息
                 */
                setSetRowDataConfig(setRowDataConfig:EntryGridSetRowDataConfig):void;
                /**
                 * 对单据体顶部全部勾选进行隐藏
                 */
                suppressSelectAll():void;
                /**
                 * 获取子分录表格集合
                 *
                 * @return 子分录表格集合
                 */
                getSubEntryGrids():$.java.util.List;
                /**
                 * 获取是否临时停止更新单元格内容
                 * @return 是/否临时停止更新单元格内容
                 */
                isStopUpdateCell():boolean;
                /**
                 * 点击列表上一页触发此事件
                 */
                previous():void;
                /**
                 * 当前表单是否为后端过滤排序模式
                 *
                 * @return
                 */
                isServerFilterModle():boolean;
                /**
                 * 设置子分录表格集合
                 *
                 * @param subEntryGrids 子分录表格集合
                 */
                setSubEntryGrids(subEntryGrids:$.java.util.List):void;
                /**
                 * 获取单据体所有子控件
                 * @return 所有子控件
                 */
                getControls():$.java.util.List;
                /**
                 * 获取数据索引
                 * @return map 数据索引
                 */
                getDataIndex():$.java.util.Map;
                /**
                 * 获取是否需要分页
                 * @return 是/否需要分页
                 */
                isNeedPaged():boolean;
                /**
                 * 设置单据体字段输入框是否全部显示，还是悬浮显示（供插件使用。插件可以在 beforeBindData 事件中调用这个方法）
                 *
                 * @param showAllFieldInput 是否显示全部字段输入框
                 */
                showAllFieldInput(showAllFieldInput:boolean):void;
                /**
                 * 获取规则计数
                 *
                 * @return 规则计数
                 */
                getRuleCount():number;
                /**
                 * 处理弹性域维度自定义显示维度，只展示指定要展示的维度
                 * @param list
                 */
                addFlexDimissionProperties(list:$.java.util.List):void;
                /**
                 * 表格之间行拖拽，与前端交互接口。(平台提供事件方法，具体业务逻辑由二开实现）
                 * @param fromInfo 起始拖拽表的信息
                 *          pageId:起始拖拽表pageId
                 *          key:起始拖拽表key
                 *          rows:起始拖拽行(序号从零开始)
                 *          pr:子单据体的带上父分录行号，非子单据体的不用
                 * @param toInfo 结束拖拽表的信息
                 *          pageId:结束拖拽表pageId
                 *          key:结束拖拽表key
                 *          rows:结束拖拽行
                 *          pr:子单据体的带上父分录行号，非子单据体的不用
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 */
                dragRowGridToGrid(fromInfo:$.java.util.Map,toInfo:$.java.util.Map,direct:string):void;
                /**
                 * 添加过滤改变监听器（仅当过滤刷新合计开关开启后）
                 * @param listener 过滤改变监听器
                 */
                addFilterChangedListener(listener:kd.bos.form.control.events.EntryFilterChangedListener):void;
                /**
                 * 前端调用，回车触发增行并聚焦
                 */
                handleGotoNextRow(params:$.java.util.Map):void;
                /**
                 * 设置过滤刷新合计
                 * @param sumWithFilter 是/否过滤刷新合计
                 */
                setSumWithFilter(sumWithFilter:boolean):void;
                /**
                 * 拖拽分录行，与前端交互接口
                 * @param formIndexList 拖拽行号列表(序号从零开始)
                 * @param toIndex 拖到目标行下面(序号从零开始)
                 */
                dragRows(formIndexList:$.java.util.List,toIndex:number):void;
                /**
                 * 设置单据体标识
                 *
                 * @param key 单据体标识
                 */
                setEntryKey(key:string):void;
                /**
                 * 排序
                 * 1.与前端交互接口，前端表头排序规则发到后端
                 * 2.插件可在afterBindData、afterCreateNewData调用设置排序规则
                 *
                 * @param columnName 字段名称
                 * @param sortStyle 排序规则 0：无排序、1：升序、2：降序
                 */
                setRowSort(columnName:string,sortStyle:number):void;
                /**
                 * 刷新字段对应列的格式化信息
                 * @param fieldKey 字段标识
                 */
                updateColFmt(fieldKey:string):void;
                /**
                 * 设置是否停止默认勾选行逻辑
                 * @param isStop
                 */
                setStopSelectRow(isStop:boolean):void;
                /**
                 * 是否开启过滤刷新合计开关
                 * @return 是/否过滤刷新合计
                 */
                isSumWithFilter():boolean;
                /**
                 * 添加单据体翻批事件监听器
                 * @param listener 单据体翻批事件监听器
                 */
                addFetchEntryRowsListener(listener:kd.bos.form.control.events.EntryGridFetchEntryRowsListener):void;
                /**
                 * 设置规则计数
                 *
                 * @param ruleCount 规则计数
                 */
                setRuleCount(ruleCount:number):void;
                /**
                 * 保存用户表格字段宽度设置
                 * @param setting
                 */
                saveGridViewWidth(setting:$.java.util.Map):void;
                /**
                 * 获取后端过滤排序监听器
                 * @return
                 */
                getFilterEntryListeners():$.java.util.List;
                /**
                 * 刷新多行多列单元格的格式化信息
                 * @param rowsFmtMapping 行格式对照参数： {行号 : 字段标识集合}
                 */
                updateCellFmt(rowsFmtMapping:$.java.util.Map):void;
                /**
                 * 点击下一页触发此事件
                 */
                next():void;
                /**
                 * 添加单据体数据刷新监听器
                 * @param listener 单据体数据刷新监听器
                 */
                addDataBindListener(listener:kd.bos.form.control.events.EntryGridBindDataListener):void;
                /**
                 * 获取弹性域维度自定义显示维度，只展示指定要展示的维度
                 * @return
                 */
                getFlexDimissionProperties():$.java.util.List;
                /**
                 * 获取行绑定值
                 * @param arg 上下文信息
                 * @return 前端格式行数据
                 */
                getRowBindValue(arg:BindingContext):$.java.util.List;
                /**
                 * 设置临时停止更新单元格内容：
                 * 当服务端代码大量的修改单据体字段值时，可以先临时停止生成单元格更新指令，逻辑完成后，统一更新单据体表格，性能表现会好很多
                 * @param isStop 是/否临时停止更新单元格内容
                 */
                setStopUpdateCell(isStop:boolean):void;
                /**
                 * 刷新单个单元格格式化信息，刷新多行多列请调用{@link EntryGrid#updateCellFmt(Map)}
                 * @param fieldKey 字段标识
                 * @param rowIndex 行号
                 */
                updateCellFmt(fieldKey:string,rowIndex:number):void;
                /**
                 * 添加表头批量选择框监听器
                 * @param listener 表头批量选择框监听器
                 */
                addColAllCheckedListener(listener:kd.bos.form.control.events.EntryGridColAllCheckedListener):void;
                /**
                 * 单据体控件复选框列全选功能
                 * @param colKey 列标识
                 * @param checked 全选状态（ture:全选中，false:全不选中）
                 */
                setColAllChecked(colKey:string,checked:boolean):void;
                /**
                 * 拖拽分录行(支持树形单据体跨级拖拽)，与前端交互接口
                 * @param formIndexList 拖拽行号列表(序号从零开始)
                 * @param toIndex 拖到目标行下面(序号从零开始)
                 * @param direct 拖拽方向，拖拽到行下面(bottom)|上面(top)|里面(子级)(into)
                 */
                dragRows(formIndexList:$.java.util.List,toIndex:number,direct:string):void;
                /**
                 * 获取单据体行数据监听器
                 * @return
                 */
                getSetRowDataListeners():$.java.util.List;
                /**
                 * 获取当前页面选择的行
                 *
                 * @return 返回一个行索引组成的数组
                 */
                getSelectRows():number[];
                /**
                 * 设置合计单元格的值
                 * @param floatButtomData { 单元格对应的key: 值}
                 */
                setFloatButtomData(floatButtomData:$.java.util.Map):void;
                /**
                 * 设置多行合计单元格的值,下标对应行数
                 * @param floatButtomDatas [{ 单元格对应的key: 值},{ 单元格对应的key: 值}]
                 */
                setFloatButtomData(floatButtomDatas:$.java.util.List):void;
                /**
                 * 通过Number设置表格单元格数据，用于表格批量赋值操作
                 * 数据示例：[{"rk":0,"data":{"col1":"v1","col2":"v2",...},...]
                 *
                 * @param rowData
                 */
                setRowDataByNumber(rowData:$.java.util.List):void;
                /**
                 * 是否干预合计
                 */
                isInterveneTotal():boolean;
                /**
                 * 分录数值字段进行合计，格式化后发送前端显示
                 * 该方法只适用于数值合计，若需要改变合计后数值，请使用 {@link EntryGrid#setFloatButtomData(Map)} 方法
                 * @param amountKey 数值字段key
                 */
                setAmountTotalFloatButtomData(amountKey:string):void;
                /**
                 * 获取单据体所有字段控件编辑字段
                 * @return 单据体所有字段控件编辑字段
                 */
                getFieldEdits():$.java.util.List;
                /**
                 * 获取单据体粘贴赋值配置
                 * @return
                 */
                getSetRowDataConfig():EntryGridSetRowDataConfig;
                /**
                 * 过滤(设置默认过滤规则进行过滤，过滤条件不回显到前端)
                 * 1.插件可在afterBindData、afterCreateNewData调用设置默认过滤规则，过滤条件不回显到前端
                 *
                 * @param filterRows 默认过滤条件
                 */
                getGridDataByDefaultFilterRow(filterRows:$.java.util.List):void;
                /**
                 * 设置当前页面编号
                 *
                 * @param pageIndex
                 *            页面编号
                 */
                setPageIndex(pageIndex:number):void;
            }
            type EntryGrid_T = $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & AbstractGrid & EntryGrid$ & ICloseCallBack & IConfirmCallBack;
            interface EntryGrid extends EntryGrid_T {
            }
            interface TimelineOptionClickArg_S {
            }
            interface TimelineOptionClickArg_C extends TimelineOptionClickArg_S {
                /**
                 * 时间轴自定义操作点击参数构造器
                 * @param index 时间轴控件中处于第几行
                 * @param optionKey 操作标识
                 */
                new(index:number,optionKey:string):TimelineOptionClickArg;
            }
            interface TimelineOptionClickArg$ {
                /**
                 * 获取时间轴控件中处于第几行
                 * @return 时间轴控件中处于第几行
                 */
                getIndex():number;
                /**
                 * 设置操作标识
                 * @param optionKey 操作标识
                 */
                setOptionKey(optionKey:string):void;
                /**
                 * 设置时间轴控件中处于第几行
                 * @param index 时间轴控件中处于第几行
                 */
                setIndex(index:number):void;
                /**
                 * 获取操作标识
                 * @return 操作标识
                 */
                getOptionKey():string;
            }
            type TimelineOptionClickArg_T = TimelineOptionClickArg$;
            interface TimelineOptionClickArg extends TimelineOptionClickArg_T {
            }
            interface SegmentedControl_S {
            }
            type SegmentedControl_ST = Control_S & SegmentedControl_S;
            interface SegmentedControl_C extends SegmentedControl_ST {
                new():SegmentedControl;
            }
            interface SegmentedControl$ {
                /**
                 * 插件调用，设置焦点分段
                 *
                 * @param segmentKey 分段标识
                 */
                setActiveSegment(segmentKey:string):void;
                /**
                 * 注册分段选择事件监听器
                 *
                 * @param listener 事件监听器
                 */
                addSegmentedControlSelectListener(listener:kd.bos.form.control.events.SegmentedControlSelectListener):void;
            }
            type SegmentedControl_T = Control & SegmentedControl$;
            interface SegmentedControl extends SegmentedControl_T {
            }
            interface UrlUtil_S {
                /**
                 * 将参数存入map集合
                 *
                 * @param url url地址
                 * @return url请求参数部分存入map集合
                 */
                urlSplit(url:string):$.java.util.Map;
                /**
                 * 获取请求地址中的某个参数
                 *
                 * @param url 地址
                 * @param name 参数
                 * @return 请求地址中的某个参数
                 */
                getParam(url:string,name:string):string;
                /**
                 * 检查超链接合法性：只允许输入：http://xxx.xx 或者https://xxx.xx?s=dd&xx=dd 或者:xx?ss=dd形式
                 * 不包含：( ` 以及javascript字符
                 * @return
                 */
                checkUrl(linkUrl:string):boolean;
            }
            interface UrlUtil_C extends UrlUtil_S {
                new():UrlUtil;
            }
            interface UrlUtil$ {
            }
            type UrlUtil_T = UrlUtil$;
            interface UrlUtil extends UrlUtil_T {
            }
            interface Html_S {
            }
            type Html_ST = Control_S & Html_S;
            interface Html_C extends Html_ST {
                new():Html;
            }
            interface Html$ {
                /**
                 * 动态设置HTML控件显示的内容，超文本格式Html
                 * @param v html内容
                 */
                setConent(v:string):void;
            }
            type Html_T = Control & Html$;
            interface Html extends Html_T {
            }
            interface MenuItem_S {
            }
            type MenuItem_ST = Button_S & MenuItem_S;
            interface MenuItem_C extends MenuItem_ST {
                new():MenuItem;
            }
            interface MenuItem$ {
                /**
                 * 设定菜单项的名称
                 *  @param name 菜单项名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 交互类型
                 * @return
                 */
                getInteractionTypes():number;
                /**
                 * 设置交互类型
                 * @param interactionTypes
                 */
                setInteractionTypes(interactionTypes:number):void;
                /**
                 * 获取菜单项的名称
                 *  @return 菜单项名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type MenuItem_T = Button & MenuItem$;
            interface MenuItem extends MenuItem_T {
            }
            interface EntryGridSetRowDataConfig_S {
            }
            interface EntryGridSetRowDataConfig_C extends EntryGridSetRowDataConfig_S {
                new():EntryGridSetRowDataConfig;
            }
            interface EntryGridSetRowDataConfig$ {
                /**
                 * 是否关闭
                 * @return
                 */
                isDisabled():boolean;
                /**
                 * 是否支持自动增行
                 * @return
                 */
                isAddRowDisabled():boolean;
                /**
                 * 是否支持名称粘贴
                 * @param supportName
                 */
                setSupportName(supportName:boolean):void;
                /**
                 * 是否支持粘贴不触发值更新，一次刷新视图
                 * @param updateView
                 */
                setUpdateView(updateView:boolean):void;
                /**
                 * 设置快粘贴是否走BeforeF7Filter事件
                 * @param supportBeforeF7Filter
                 */
                setSupportBeforeF7Filter(supportBeforeF7Filter:boolean):void;
                /**
                 * 获取粘贴最大支持行
                 * @return
                 */
                getMaxRowSize():number;
                /**
                 * 是否触发值更新
                 * @param forcePropertyChange
                 */
                setForcePropertyChange(forcePropertyChange:boolean):void;
                /**
                 * 设置粘贴最大支持行
                 * @param maxRowSize
                 */
                setMaxRowSize(maxRowSize:number):void;
                /**
                 * 是否支持粘贴不触发值更新，一次刷新视图
                 * @return
                 */
                isUpdateView():boolean;
                /**
                 * 是否触发值更新
                 * @return
                 */
                isForcePropertyChange():boolean;
                /**
                 * 快粘贴是否走BeforeF7Filter事件
                 * @return
                 */
                isSupportBeforeF7Filter():boolean;
                /**
                 * 是否关闭
                 * @param disabled
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 是否支持名称粘贴
                 * @return
                 */
                isSupportName():boolean;
                /**
                 * 是否支持自动增行
                 * @param addRowDisabled
                 */
                setAddRowDisabled(addRowDisabled:boolean):void;
            }
            type EntryGridSetRowDataConfig_T = EntryGridSetRowDataConfig$;
            interface EntryGridSetRowDataConfig extends EntryGridSetRowDataConfig_T {
            }
            interface QRCode_S {
            }
            type QRCode_ST = Control_S & QRCode_S;
            interface QRCode_C extends QRCode_ST {
                new():QRCode;
            }
            interface QRCode$ {
                /**
                 * 设置二维码信息
                 *  @param value 二维码信息
                 */
                setValue(value:string):void;
                /**
                 * 设置URL
                 *  @param url url链接
                 */
                setUrl(url:string):void;
            }
            type QRCode_T = Control & QRCode$;
            interface QRCode extends QRCode_T {
            }
            interface Timeline_S {
            }
            type Timeline_ST = Control_S & Timeline_S;
            interface Timeline_C extends Timeline_ST {
                new():Timeline;
            }
            interface Timeline$ {
                /**
                 * 时间轴自定义操作点击时，触发此事件
                 * @param map 自定义操作参数
                 */
                timelineOpkClick(map:$.java.util.Map):void;
                /**
                 * 设置时间轴配置选项
                 * @param timelineOptions 时间轴配置选项
                 */
                setTimelineOptions(timelineOptions:$.java.util.List):void;
                /**
                 * 获取是否允许点击
                 * @return 是否允许点击
                 */
                isCanClick():boolean;
                /**
                 * 刷新时间轴时，触发此事件
                 * @param  map  请求参数
                 */
                updateTimelineArgs(map:$.java.util.Map):void;
                /**
                 * 添加事件轴刷新监听器
                 * @param listener 事件轴刷新监听器
                 */
                addTimelineListener(listener:kd.bos.form.control.events.TimelineListener):void;
                /**
                 * 动态控制时间轴是否允许点击
                 * @param canClick {click: true} 是否允许点击
                 */
                setTimelineClick(canClick:boolean):void;
                /**
                 * 获取时间轴配置选项
                 * @return 时间轴配置选项
                 */
                getTimelineOptions():$.java.util.List;
                /**
                 * 动态设置时间轴配置选项
                 * @param timelineOptions [{title: '标题', description: '描述', status: '状态，对应currentStatus的枚举值'}]
                 */
                setClientTimelineOptions(timelineOptions:$.java.util.List):void;
            }
            type Timeline_T = Control & Timeline$;
            interface Timeline extends Timeline_T {
            }
            interface TimelineLabelOption_S {
            }
            interface TimelineLabelOption_C extends TimelineLabelOption_S {
                /**
                 * 时间轴标签构造器
                 */
                new():TimelineLabelOption;
                /**
                 * 时间轴标签构造器
                 * @param timelineLabelTitle 标题
                 * @param timelineLabelDescription 描述
                 */
                new(timelineLabelTitle:TimelineText,timelineLabelDescription:TimelineText):TimelineLabelOption;
                /**
                 * 时间轴标签构造器
                 * @param title 标题
                 * @param description 描述
                 */
                new(title:$.kd.bos.dataentity.entity.LocaleString,description:$.kd.bos.dataentity.entity.LocaleString):TimelineLabelOption;
            }
            interface TimelineLabelOption$ {
                /**
                 * 设置标题
                 * @param title 标题
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 将此对象属性转化为Map
                 * @return map
                 */
                toMap():$.java.util.Map;
                /**
                 * 设置描述
                 * @param description 描述
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取标题
                 * @return 标题
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
            }
            type TimelineLabelOption_T = TimelineLabelOption$;
            interface TimelineLabelOption extends TimelineLabelOption_T {
            }
            class SplitDirection {
                static readonly down:kd.bos.form.control.SplitDirection;
                static readonly left:kd.bos.form.control.SplitDirection;
                static readonly up:kd.bos.form.control.SplitDirection;
                static readonly right:kd.bos.form.control.SplitDirection;
                static valueOf(arg0:string):kd.bos.form.control.SplitDirection;
                static values():kd.bos.form.control.SplitDirection[];
                /**
                 * 获取枚举值
                 *
                 * @return 返回枚举值，整数类型
                 */
                getValue():number;
            }
            interface FilterGrid$FilterGridState_S {
            }
            interface FilterGrid$FilterGridState_C extends FilterGrid$FilterGridState_S {
                new(arg0:string,arg1:$.kd.bos.entity.filter.FilterCondition):FilterGrid$FilterGridState;
            }
            interface FilterGrid$FilterGridState$ {
                getKey():string;
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                put(arg0:$.kd.bos.entity.filter.SimpleFilterRow):void;
                setState(arg0:$.kd.bos.entity.filter.FilterCondition):$.kd.bos.entity.filter.FilterCondition;
            }
            type FilterGrid$FilterGridState_T = FilterGrid$FilterGridState$;
            interface FilterGrid$FilterGridState extends FilterGrid$FilterGridState_T {
            }
            interface TreeView_S {
            }
            type TreeView_ST = Control_S & TreeView_S;
            interface TreeView_C extends TreeView_ST {
                new():TreeView;
            }
            interface TreeView$ {
                /**
                 * 设置是否启用拖拽
                 *
                 * @param dragEnable 是否启用
                 */
                setDragEnable(dragEnable:boolean):void;
                /**
                 * 刷新节点
                 *
                 * @param node 节点
                 */
                updateNode(node:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 * 添加树节点勾选事件监听器
                 *
                 * @param listener 树节点勾选事件监听器
                 */
                addTreeNodeCheckListener(listener:kd.bos.form.control.events.TreeNodeCheckListener):void;
                /**
                 * 折叠/收起节点
                 *
                 * @param nodeid 节点id
                 */
                collapse(nodeid:string):void;
                /**
                 * 添加树控件改变节点折叠展开状态事件监听器
                 *
                 * @param listener 树控件事件监听器
                 */
                addTreeViewListener(listener:kd.bos.form.control.events.TreeViewListener):void;
                /**
                 * 添加多个节点到对应parentId所在节点下（parentId为空时添加到根节点）
                 *
                 * @param nodes 节点集合
                 */
                addNodes(nodes:$.java.util.List):void;
                /**
                 * 反勾选节点（忽略子节点）
                 *
                 * @param nodeid 节点id
                 */
                unCheckNodeWithoutChild(nodeid:string):void;
                /**
                 * 添加树节点懒加载事件监听器
                 *
                 * @param listener 树节点懒加载事件监听器
                 */
                addTreeNodeQueryListener(listener:kd.bos.form.control.events.TreeNodeQueryListener):void;
                /**
                 * 改变树节点折叠展开状态
                 * 需要设置树的展开、收起通知后端
                 *
                 * @param expandNodes 展开节点id集合
                 * @param collapseNodes 收起节点id集合
                 */
                notifyFoldingStatus(expandNodes:$.java.util.List,collapseNodes:$.java.util.List):void;
                /**
                 * 设置根节点是否可见
                 *
                 * @param visible 是否可见
                 */
                setRootVisible(visible:boolean):void;
                /**
                 * 获取树控件状态
                 *
                 * @return 树控件状态
                 */
                getTreeState():TreeView$TreeState;
                /**
                 * 添加树节点后缀图标监听器
                 *
                 * @param treeSuffixIconClickListener 树节点后缀图标监听器
                 */
                addTreeSuffixIconClickListeners(treeSuffixIconClickListener:kd.bos.form.control.events.TreeSuffixIconClickListener):void;
                /**
                 * 树节点后缀图标点击事件
                 *
                 * @param nodeId 节点 id
                 * @param iconId 图标 id
                 */
                treeSuffixIconClick(nodeId:string,iconId:string):void;
                /**
                 * 获取状态 （默认false）
                 * 树的展开、收起是否通知后端
                 *
                 * @return notifyFoldingStatus
                 */
                isNotifyFoldingStatus():boolean;
                /**
                 * 展开节点（包括其上级节点）
                 *
                 * @param nodeid 节点id
                 */
                showNode(nodeid:string):void;
                /**
                 * 展开节点
                 *
                 * @param nodeid 节点id
                 */
                expand(nodeid:string):void;
                /**
                 * 拖拽节点时，触发此事件；需要设置树形控件启用拖拽
                 */
                treeNodeDrag(nodeId:string,fromParentId:any,toParentId:any):void;
                /**
                 * 反勾选多个节点（忽略子节点）
                 *
                 * @param nodes 节点id集合
                 */
                unCheckNodesWithoutChild(nodes:$.java.util.List):void;
                /**
                 * 添加节点到对应parentId所在节点下（parentId为空时添加到根节点）
                 *
                 * @param node 节点
                 */
                addNode(node:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 * 设置状态 （默认false）
                 * 树的展开、收起是否通知后端
                 *
                 * @return notifyFoldingStatus
                 */
                setNotifyFoldingStatus(notifyFoldingStatus:boolean):void;
                /**
                 * 设置树控件后缀
                 *
                 * @param suffixIconProps 树节点后缀小图标属性
                 */
                setSuffixIconProps(suffixIconProps:$.kd.bos.entity.tree.SuffixIconProps):void;
                /**
                 * 获取是否启用拖拽
                 *
                 * @return the dragEnable 是否启用拖拽
                 */
                isDragEnable():boolean;
                /**
                 * 设置是否多选
                 *
                 * @param isMulti 是/否多选
                 */
                setMulti(isMulti:boolean):void;
                /**
                 * 添加树节点拖拽事件监听器
                 *
                 * @param listener 树节点拖拽事件监听器
                 */
                addTreeNodeDragListener(listener:kd.bos.form.control.events.TreeNodeDragListener):void;
                /**
                 * 反勾选节点
                 *
                 * @param nodeid 节点id
                 */
                uncheckNode(nodeid:string):void;
                /**
                 * 树形控件支持多选时，用户改变节点的勾选时，触发此事件
                 * param parentNodeId 父节点id
                 * param nodeId 节点id
                 * param checked 是否勾选
                 */
                treeNodeCheck(parentNodeId:string,nodeId:string,checked:boolean):void;
                /**
                 * 勾选节点
                 *
                 * @param node 节点
                 */
                checkNode(node:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 *  设置是否限制树节点勾选生效区域
                 *  false: 不限制  true: 限制勾选区域 (即只在树节点勾选框勾选生效)
                 *
                 * @param restrictCheckEffectiveArea 是否限制勾选区域
                 */
                setRestrictCheckEffectiveArea(restrictCheckEffectiveArea:boolean):void;
                /**
                 * 添加树节点点击事件监听器
                 *
                 * @param listener 树节点点击事件监听器
                 */
                addTreeNodeClickListener(listener:kd.bos.form.control.events.TreeNodeClickListener):void;
                /**
                 * 设置焦点节点
                 *
                 * @param node 节点
                 */
                focusNode(node:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 * 勾选多个节点（忽略子节点）
                 *
                 * @param nodes 多个节点集合
                 */
                checkNodesWithoutChild(nodes:$.java.util.List):void;
                /**
                 * 局部更新节点属性
                 *
                 * @param nodes 需要更新的节点属性合集
                 */
                updateNodeProps(nodes:$.java.util.List):void;
                /**
                 * 反勾选多个节点
                 *
                 * @param nodes 节点id集合
                 */
                uncheckNodes(nodes:$.java.util.List):void;
                /**
                 * 刷新多个节点
                 *
                 * @param nodes 节点集合
                 */
                updateNodes(nodes:$.java.util.List):void;
                /**
                 * 删除全部节点
                 */
                deleteAllNodes():void;
                /**
                 * 删除节点
                 *
                 * @param nodeid 节点id
                 */
                deleteNode(nodeid:string):void;
                /**
                 * 用户点击节点时触发；如果树形控件支持多选，则不触发此事件
                 * param parentNodeId 父节点id
                 * param nodeId 节点id
                 */
                treeNodeClick(parentNodeId:string,nodeId:string):void;
                /**
                 * 懒加载子节点事件；节点需要setChildren(new ArrayList<>())，当节点的children存在且isEmpty时，点击展开节点时触发事件
                 * param parentId 父节点id
                 * param nodeId 节点id
                 * 首次点击展开节点，异步加载下级节点数据实现本方法：
                 * <pre>{@code
                 * &#64;Override
                 * public void queryTreeNodeChildren(TreeNodeEvent event) {
                 * // 响应查询事件
                 * String id = (String) event.getNodeId();
                 * TreeView tv = (TreeView) event.getSource();
                 * List<TreeNode> nodes = new ArrayList<>();
                 * if ("1-0".equals(id)) {
                 * nodes.add(new TreeNode(id, "1-0-0", "深圳"));
                 * nodes.add(new TreeNode(id, "1-0-1", "香港"));
                 * tv.addNodes(nodes);
                 * } else if ("1-1".equals(id)) {
                 * nodes.add(new TreeNode(id, "1-1-0", "广州"));
                 * nodes.add(new TreeNode(id, "1-1-1", "珠海"));
                 * tv.addNodes(nodes);
                 * }
                 * }
                 * }</pre>
                 */
                queryTreeNodeChildren(parentId:string,nodeId:string):void;
                /**
                 * 勾选节点（忽略子节点）
                 *
                 * @param node 节点
                 */
                checkNodeWithoutChild(node:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 * 删除节点集合
                 *
                 * @param nodes 节点id集合
                 */
                deleteNodes(nodes:$.java.util.List):void;
                /**
                 * 用户双击节点时触发
                 * param parentNodeId 父节点id
                 * param nodeId 节点id
                 */
                treeNodeDoubleClick(parentNodeId:string,nodeId:string):void;
                /**
                 * 勾选多个节点
                 *
                 * @param nodes 节点集合
                 */
                checkNodes(nodes:$.java.util.List):void;
            }
            type TreeView_T = Control & TreeView$;
            interface TreeView extends TreeView_T {
            }
            interface Hyperlink_S {
            }
            type Hyperlink_ST = Control_S & Hyperlink_S;
            interface Hyperlink_C extends Hyperlink_ST {
                new():Hyperlink;
            }
            interface Hyperlink$ {
                /**
                 * 动态设置链接控件的URL
                 * @param url 链接
                 */
                setUrl(url:string):void;
            }
            type Hyperlink_T = Control & Hyperlink$;
            interface Hyperlink extends Hyperlink_T {
            }
            interface OCR_S {
            }
            type OCR_ST = Control_S & OCR_S;
            interface OCR_C extends OCR_ST {
                new():OCR;
            }
            interface OCR$ {
                /**
                 * 识别处理
                 * @param data
                 */
                processOCR(data:$.java.util.Map):void;
                /**
                 * 从客户端本机指定目录加载图片
                 * @param localDirectory 客户端本机指定目录
                 */
                loadPicture(localDirectory:string):void;
                /**
                 * 添加识别监听
                 * @param l
                 */
                addOCRListener(l:kd.bos.form.control.events.OCRListener):void;
                /**
                 * 发送扫描识别指令
                 */
                scanAndOCR():void;
            }
            type OCR_T = Control & OCR$;
            interface OCR extends OCR_T {
            }
            interface TimelineContentOption_S {
            }
            interface TimelineContentOption_C extends TimelineContentOption_S {
                /**
                 * 时间轴内容构造器
                 */
                new():TimelineContentOption;
                /**
                 * 时间轴内容构造器
                 * @param title 内容标题
                 * @param descriptions 描述
                 */
                new(title:$.kd.bos.dataentity.entity.LocaleString,descriptions:$.java.util.List):TimelineContentOption;
                /**
                 * 时间轴内容构造器
                 * @param timelineContentTitle 内容标题
                 * @param descriptions 描述
                 */
                new(timelineContentTitle:TimelineText,descriptions:$.java.util.List):TimelineContentOption;
            }
            interface TimelineContentOption$ {
                /**
                 * 设置描述
                 * @param descriptions 描述
                 */
                setDescriptions(descriptions:$.java.util.List):void;
                /**
                 * 获取内容标题
                 * @return 内容标题
                 */
                getTimelineContentTitle():TimelineText;
                /**
                 * 设置标题
                 * @param title 标题
                 */
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取标题
                 * @return 标题
                 */
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 将此对象属性转化为Map
                 * @return map
                 */
                toMap():$.java.util.Map;
                /**
                 * 设置内容标题
                 * @param timelineContentTitle 内容标题
                 */
                setTimelineContentTitle(timelineContentTitle:TimelineText):void;
                /**
                 * 获取描述
                 * @return
                 */
                getDescriptions():$.java.util.List;
            }
            type TimelineContentOption_T = TimelineContentOption$;
            interface TimelineContentOption extends TimelineContentOption_T {
            }
            interface IQingAnalysis_S {
            }
            interface IQingAnalysis_C extends IQingAnalysis_S {
            }
            interface IQingAnalysis$ {
                /**
                 * 刷新页面
                 */
                refresh():void;
                /**
                 * 获取轻分析数据
                 *
                 * @param startRow 起始行
                 * @param limit 每页的数据量
                 * @return 轻分析数据
                 */
                getQingData(pageId:string,startRow:number,limit:number):$.kd.bos.entity.qing.QingData;
                /**
                 * 获取过滤条件
                 * @return
                 */
                getFilterParameter():string;
                /**
                 * 获取表头信息定义
                 */
                getQingColumns(pageId:string):$.kd.bos.entity.qing.QingMeta;
                /**
                 * 设置过滤条件
                 * @return
                 */
                setFilterParameter(filterParameter:string):void;
                /**
                 * 获取实现插件
                 * @return
                 */
                getQingDatasourcePlugin():string;
                /**
                 * 轻分析行列模板
                 * @return
                 */
                newTemplate(pageId:string):$.kd.bos.entity.qing.model.Template;
                getLinkageData?(pageId:string,ctrKey:string):$.java.util.List;
                /**
                 * <p>调用此接口，触发业务逻辑<p/>
                 * @author lvqpeng
                 * @param ids 动态表单轻分析得到需要联查的id的集合
                 */
                fireLinkageInfo?(ids:$.java.util.List,pageId:string,formId:string,appId:string):void;
            }
            type IQingAnalysis_T = IQingAnalysis$;
            interface IQingAnalysis extends IQingAnalysis_T {
            }
            interface QingAnalysis_S {
            }
            type QingAnalysis_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.control.IFrame & IQingAnalysis_S & QingAnalysis_S & kd.bos.qing.IQingControl_S;
            interface QingAnalysis_C extends QingAnalysis_ST {
                new():QingAnalysis;
            }
            interface QingAnalysis$ {
                /**
                 * 设置URL地址
                 * @param url
                 */
                setUrl(url:string):void;
                /**
                 * 设置数据源插件
                 * @param qingDatasourcePlugin
                 */
                setQingDatasourcePlugin(qingDatasourcePlugin:string):void;
            }
            type QingAnalysis_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.control.IFrame & IQingAnalysis & QingAnalysis$ & kd.bos.qing.IQingControl;
            interface QingAnalysis extends QingAnalysis_T {
            }
            interface AttachmentPanel_S {
            }
            type AttachmentPanel_ST = $.kd.bos.form.TipsSupport & AttachmentPanel_S & kd.bos.mservice.svc.attach.IAttachmentPanel_S;
            interface AttachmentPanel_C extends AttachmentPanel_ST {
                new():AttachmentPanel;
            }
            interface AttachmentPanel$ {
                /**
                 * 设置附件数字段
                 * @param attachmentCountField
                 *            the attachmentCountField to set
                 */
                setAttachmentCountField(attachmentCountField:string):void;
                /**
                 * 附件删除前监听事件
                 * @param listener
                 */
                addBeforeRemoveListener(listener:kd.bos.form.control.events.BeforeAttachmentRemoveListener):void;
                /**
                 * 附件结果监听事件
                 * @param listener
                 */
                addResultListeners(listener:kd.bos.form.control.events.AttachmentResultListener):void;
                /**
                 * 附件下载监听事件
                 * @param listener
                 */
                addDownloadListener(listener:kd.bos.form.control.events.AttachmentDownloadListener):void;
                /**
                 * 获取是否展开
                 * @return the defaultCollapse
                 */
                isDefaultCollapse():boolean;
                /**
                 * 添加自定义按钮，展示效果同【删除】【下载】【预览】
                 * @param buttons
                 */
                addAttachOperaBtn(buttons:$.java.util.List):void;
                /**
                 * 获取附件数字段标识
                 * @return the attachmentCountField
                 */
                getAttachmentCountField():string;
                /**
                 * 添加附件上传前监听事件
                 *
                 * @param listener
                 */
                addBeforeUploadListener(listener:kd.bos.form.control.events.BeforeAttachmentUploadListener):void;
                /**
                 * 附件删除前事件，主要用于判断附件能否被删除
                 * @param attach 附件信息
                 */
                beforeRemove(attach:$.java.util.Map):void;
                /**
                 * 自定义按钮监听事件
                 * @param listener
                 */
                addOperaClickListener(listener:kd.bos.form.control.events.AttachmentOperaClickListener):void;
                /**
                 * 获取单据实体标识
                 * @return 单据实体标识
                 */
                getEntityId():string;
                /**
                 * 设置是否默认展开
                 * @param defaultCollapse
                 *            the defaultCollapse to set
                 */
                setDefaultCollapse(defaultCollapse:boolean):void;
                /**
                 * 附件预览监听事件
                 * @param listener
                 */
                addPreviewListener(listener:kd.bos.form.control.events.AttachmentPreviewListener):void;
                /**
                 * 附件备注监听事件
                 * @param listener
                 */
                addMarkListener(listener:kd.bos.form.control.events.AttachmentMarkListener):void;
            }
            type AttachmentPanel_T = $.kd.bos.form.TipsSupport & AttachmentPanel$ & kd.bos.mservice.svc.attach.IAttachmentPanel;
            interface AttachmentPanel extends AttachmentPanel_T {
            }
            interface Image_S {
            }
            type Image_ST = $.kd.bos.form.control.Button & Image_S & kd.bos.mservice.svc.picture.IImage_S;
            interface Image_C extends Image_ST {
                new():Image;
            }
            interface Image$ {
                /**
                 * 鼠标放在图片上显示的文字信息
                 *  @param tips 提示的文字信息
                 */
                setTips(tips:string):void;
            }
            type Image_T = $.kd.bos.form.control.Button & Image$ & kd.bos.mservice.svc.picture.IImage;
            interface Image extends Image_T {
            }
            interface ImageList_S {
            }
            type ImageList_ST = $.kd.bos.form.container.Container & ImageList_S;
            interface ImageList_C extends ImageList_ST {
                new():ImageList;
            }
            interface ImageList$ {
                /**
                 * 获取上传图片水印信息
                 * @return
                 */
                getWaterMarkInfos():void;
                /**
                 * 添加图片上传到监听列表
                 *
                 * @param listener
                 *            上传监听器
                 */
                addUploadListener(listener:$.kd.bos.form.control.events.UploadListener):void;
            }
            type ImageList_T = $.kd.bos.form.container.Container & ImageList$;
            interface ImageList extends ImageList_T {
            }
            interface WebOffice_S {
            }
            type WebOffice_ST = $.kd.bos.form.control.Control & WebOffice_S;
            interface WebOffice_C extends WebOffice_ST {
                new():WebOffice;
            }
            interface WebOffice$ {
                /**
                 * 表格新增行数据，支持新增行
                 * @param bookmark 书签
                 * @param datas 数据
                 */
                addTableRows(bookmark:string,datas:string[][]):void;
                /**
                 * 添加书签
                 * @param mark 书签列表
                 */
                addMarks(mark:kd.bos.form.control.model.WebOfficeMark):void;
                /**
                 * 限制文档编辑
                 * @param password 文档密码
                 */
                limitDoc(password:string):void;
                /**
                 * 为鼠标选中内容设置书签
                 * @param bookmark 书签
                 */
                addBookmarkForSelection(bookmark:string):void;
                /**
                 * 在当前光标处添加表格
                 * @param datas 数据示例如下
                 * --------------------------
                 * 编码  姓名   年龄
                 * 1     张三   18
                 * 2     李四   20
                 * --------------------------
                 */
                addTable(datas:string[][]):void;
                /**
                 * 触发当前打开文档保存操作
                 * @param name 第一个文档名称
                 * @param id 设置标记id以用来区分使用场景
                 */
                save(name:string,id:string):void;
                /**
                 * 获取onlyOffice参数签名
                 * @param params 参数
                 */
                getOfficeToken(params:$.java.util.Map):void;
                /**
                 * 打开文档
                 * @param url 文档URL
                 * @param userName 用户名
                 */
                open(url:string,userName:string):void;
                /**
                 * 获取文档是否有改动
                 */
                isDocChanged():void;
                /**
                 * 调整指定书签内容的文本样式
                 * @param bookmark 书签名
                 * @param style 取值：'标题'、'标题 1'、'强调'、'引用'等，具体查看word的标题样式名称
                 */
                setTextStyle(bookmark:string,style:string):void;
                /**
                 * 关闭后事件
                 */
                afterClose(data:$.java.util.Map):void;
                /**
                 * 删除书签
                 * @param marks 书签列表
                 */
                deleteMarks(marks:$.java.util.List):void;
                /**
                 * 设置留痕模式，记录用户修改痕迹
                 * @param userName 用户名
                 */
                setTrackingMode(userName:string,type_arg:kd.bos.form.control.model.WebOfficeTrackingType):void;
                /**
                 * 设置整个文档内容为书签
                 * @param bookMark 书签
                 */
                setDocAsField(bookMark:string):void;
                /**
                 * 删除水印
                 */
                delWaterMark():void;
                /**
                 * 关闭当前文档
                 */
                close():void;
                /**
                 * 打开文档，仅设定的可编辑区域才可供用户修改
                 * @param url 文档URL
                 * @param userName 用户名
                 * @param marks 书签
                 */
                open(url:string,userName:string,marks:$.java.util.List,password:string):void;
                /**
                 * 合并其他一个或多个文档到当前文档，doc和docx都能合并，会保留原来的书签，复选框ID
                 * @param mergeType 头部 尾部
                 * @param docUrls 需要合并文档的url，可以合并多个
                 */
                mergeDocs(mergeType:kd.bos.form.control.model.WebOfficeMergeType,docUrls:string[]):void;
                /**
                 * 获取所有标签
                 */
                getAllBookmarks(id:string):void;
                /**
                 * 添加上传事件
                 * @param listener
                 */
                addUploadListener(listener:$.kd.bos.form.control.events.UploadListener):void;
                /**
                 * 修改书签
                 * @param marks 书签列表
                 */
                modifyMarks(marks:$.java.util.List):void;
                /**
                 * 触发当前打开文档保存操作
                 */
                save(name:string):void;
                /**
                 * 弹出添加批注的框
                 */
                showCommentDialog():void;
                /**
                 * 插入值
                 * @param value
                 * @param needEnterBefore 是否在在插入值前面新增换行符实现序列化，默认为false
                 */
                insertValue(value:string,needEnterBefore:boolean):void;
                /**
                 * 添加关闭事件
                 * @param listener 关闭监听器
                 */
                addCloseListener(listener:kd.bos.form.control.events.webOffice.WebOfficeCloseListener):void;
                /**
                 * 设置标题栏是否显示
                 * @param isShow 是否显示
                 */
                setTitlebar(isShow:boolean):void;
                /**
                 * 合并其他一个或多个文档到当前文档，doc和docx都能合并，会保留原来的书签，复选框ID
                 * @param bookmark 书签
                 * @param docUrls 需要合并文档的url，可以合并多个
                 */
                mergeDocsByBookmark(bookmark:string,docUrls:string[]):void;
                /**
                 * 插入值
                 * @param value
                 */
                insertValue(value:string):void;
                /**
                 * 打开文档，仅设定的可编辑区域才可供用户修改
                 * @param url 文档URL
                 * @param marks 书签
                 */
                open(url:string,marks:$.java.util.List,password:string):void;
                /**
                 * 文档保护
                 * @param protectType 保护级别
                 * @param password 文档密码
                 */
                protectDoc(protectType:kd.bos.form.control.model.WebOfficeDocProtectionType,password:string):void;
                /**
                 * 对选中区域设置可编辑标签，
                 * 设置标签后，打开文档时使用setEditableAreas，
                 * weboffice只有传递标签区域才能被当前用户编辑
                 * @param bookmark 书签
                 */
                setSelectedAreaEditBookmark(bookmark:string):void;
                /**
                 * 表格新增列数据，支持新增列
                 * @param bookmark 书签
                 * @param datas 数据
                 */
                addTableColumns(bookmark:string,datas:string[][]):void;
                /**
                 * 打开另存为本地文件的窗口，可将word另存为pdf等格式的文件
                 */
                saveAsLocal():void;
                /**
                 * 新建文档
                 * @param type 文档类型
                 */
                openNew(type_arg:kd.bos.form.control.model.WebOfficeFileType):void;
                /**
                 * 添加前端数据回调事件
                 * @param listener
                 */
                addDataListener(listener:kd.bos.form.control.events.webOffice.WebOfficeDataListener):void;
                /**
                 * 插入水印
                 * @param waterMark
                 */
                addWaterMark(waterMark:kd.bos.form.control.model.WebofficeWaterMark):void;
                /**
                 * 回调数据
                 * @param data
                 */
                reportData(data:$.java.util.Map):void;
                /**
                 * 依据书签获取文档内容
                 * @param bookmark
                 */
                getTextByBookmark(bookmark:string):void;
                /**
                 * 定位书签
                 * @param field 书签
                 */
                locateMark(field:string):void;
                /**
                 * 文档上传成功后上报接口
                 * @param file 文档上传成功后的相关信息
                 *             {
                 *                  uid:"uid -> 8GdBhTJFjVuv/undefined",
                 *                  url:"http://localhost:8080/ierp/tempfile/download.do?configKey=redis.serversForCache&id=tempfile-54b9bb69-9ad2-4889-9122-84144e69921a&kdedcba=a2ZvQW9ma1FyTmpLbmxJY3FKdE1SZ01UQXlzaWc0ZlVqbXN5ekIzVnlFQUhWWVhMbHRkaGs1SFgxMlA5Y0czWjl2V1lpNHU0dzBIVnhGQXBuemtEbUdJQVZYTmpyeWU2VXFaa09tNnF4R3BnTmF0ajdhZlJobVFNckdpWGxLQml%2BfjE1NzcxNzg2NjA0NTA%3D"
                 *             }
                 */
                upload(file:$.java.util.Map):void;
                /**
                 * 设置复选框的值
                 * @param checked 是否选中
                 * @param checkBoxIds
                 */
                setCheckBoxChecked(checked:boolean,...checkBoxIds:string[]):void;
                /**
                 * 比较两个文档
                 * @param url1 第一个文档url
                 * @param fileName1 第一个文档名称
                 * @param url2 第二个文档url
                 * @param fileName2 第二个文档名称
                 */
                compareFile(url1:string,fileName1:string,url2:string,fileName2:string):void;
                /**
                 * 设置文档可编辑区域,只有传递标签选中区域才能被当前用户编辑
                 * @param bookmarks 书签
                 * @param password 密码
                 */
                setEditableAreas(bookmarks:$.java.util.List,password:string):void;
                /**
                 * 切换显示痕迹
                 * @param isShow 是否显示痕迹
                 */
                showAllTraces(isShow:boolean):void;
                /**
                 * 查询书签是否存在
                 * @param bookmark
                 */
                checkBookmark(bookmark:string):void;
                /**
                 * 获取所有标签
                 */
                getAllBookmarks():void;
                /**
                 * 设置工具栏是否显示
                 * @param isShow 是否显示
                 */
                setToolbars(isShow:boolean):void;
                /**
                 * 取消文档保护
                 */
                cancelProtectDoc(password:string):void;
                /**
                 * 设置菜单栏是否显示
                 * @param isShow 是否显示
                 */
                setMenubar(isShow:boolean):void;
                /**
                 * 设置caption内容
                 * @param value 内容
                 */
                setCaption(value:string):void;
                /**
                 * 打开现有文档
                 * @param url 文档URL
                 */
                open(url:string):void;
                /**
                 * 按照用户名是否显示某用户的修改痕迹
                 * @param userName 用户名
                 * @param isShow 是否显示用户修改痕迹
                 */
                showTracesBy(userName:string,isShow:boolean):void;
                /**
                 * sendIsFieldRevise
                 * 返回书签内容是否被修订（包括样式、批注、文本等的修订）之前的sendTextByField指令只能返回文本
                 * @param  field 参数：   {field: ''}
                 * @return true/false -〉 [{ data: { result: result, field: field }, type: 'isFieldRevise' }]
                 */
                sendIsFieldRevise(field:string):void;
                /**
                 * 获取文档打开状态
                 */
                sendOpenStatus():void;
                /**
                 * 获取数据监听器
                 * @return
                 */
                getDataListeners():$.java.util.List;
                /**
                 * 打开文档
                 * @param url 文档URL
                 * @param fileName 文件名
                 */
                openAll(url:string,fileName:string):void;
                /**
                 * 获取文档中所有的复选框
                 */
                getAllCheckBoxs():void;
                /**
                 * 在指定书签处添加表格
                 * @param bookmark 书签
                 * @param datas 数据示例如下
                 * --------------------------
                 * 编码  姓名   年龄
                 * 1     张三   18
                 * 2     李四   20
                 * --------------------------
                 */
                addTable(bookmark:string,datas:string[][]):void;
                /**
                 * 删除编辑标签
                 * @param bookmark 书签
                 */
                deleteSelectedAreaEditBookmark(bookmark:string):void;
                /**
                 * 插入图片，允许批量插入
                 * @param image
                 */
                insertPictures(image:$.java.util.List):void;
                /**
                 * 设置文档可编辑区域为取消
                 * @param bookmarks 书签
                 */
                setDocUnLimitByRole(bookmarks:$.java.util.List):void;
                /**
                 * 解除限制文档编辑
                 * @param password 文档密码
                 */
                unLimitDoc(password:string):void;
            }
            type WebOffice_T = $.kd.bos.form.control.Control & WebOffice$;
            interface WebOffice extends WebOffice_T {
            }
        }
        namespace kd.bos.form.control.embedform{
            interface BeforeShowEmbedFormEvent_S {
            }
            type BeforeShowEmbedFormEvent_ST = $.java.util.EventObject & BeforeShowEmbedFormEvent_S;
            interface BeforeShowEmbedFormEvent_C extends BeforeShowEmbedFormEvent_ST {
                /**
                 * 构造函数
                 * @param source 事件触发源：{@link EmbedForm}控件实例
                 * @param showParameter 嵌入页面显示参数
                 */
                new(source:any,showParameter:FormShowParameter):BeforeShowEmbedFormEvent;
            }
            interface BeforeShowEmbedFormEvent$ {
                /**
                 * 取消嵌入页面显示，隐藏面板
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 返回标志：判断是否取消嵌入页面显示，隐藏面板
                 * @return 返回true则隐藏面板
                 */
                isCancel():boolean;
                /**
                 * 获取嵌入页面显示参数。插件可对此参数做调整，从而控制嵌入页面显示效果
                 * @return 返回页面显示参数：可能返回null，返回Null则隐藏嵌入页面
                 */
                getShowParameter():FormShowParameter;
                /**
                 * 设置嵌入页面显示参数
                 * @param showParameter 传入页面显示参数，如传入null则隐藏嵌入页面
                 */
                setShowParameter(showParameter:FormShowParameter):void;
            }
            type BeforeShowEmbedFormEvent_T = $.java.util.EventObject & BeforeShowEmbedFormEvent$;
            interface BeforeShowEmbedFormEvent extends BeforeShowEmbedFormEvent_T {
            }
            interface EmbedFormShowParamItem_S {
                readonly SOURCE_EXPR:string;
                readonly SOURCE_PARAM:string;
            }
            interface EmbedFormShowParamItem_C extends EmbedFormShowParamItem_S {
                new():EmbedFormShowParamItem;
            }
            interface EmbedFormShowParamItem$ {
                /**
                 * 自定义参数名
                 * @return
                 */
                getKey():string;
                /**
                 * 参数取值来源：表达式（常量、字段值、运算等）、父界面参数
                 * @return 返回参数取值来源：expr, param
                 */
                getSource():string;
                /**
                 * 返回取数表达式
                 * @param expr
                 */
                setExpr(expr:string):void;
                /**
                 * 设置自定义参数名
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 设置参数取值来源
                 * @param source 传入参数取值来源：expr, param
                 */
                setSource(source:string):void;
                /**
                 * 取数表达式：根据取数来源，表达式含义不同，可能是常量、字段或者是父表单的自定义参数名
                 * @return
                 */
                getExpr():string;
            }
            type EmbedFormShowParamItem_T = EmbedFormShowParamItem$;
            interface EmbedFormShowParamItem extends EmbedFormShowParamItem_T {
            }
            interface EmbedFormListener_S {
            }
            interface EmbedFormListener_C extends EmbedFormListener_S {
            }
            interface EmbedFormListener$ {
                /**
                 * 显示嵌入页面前触发：插件可以调整嵌入页面显示参数，或者隐藏面板
                 * @param event 事件参数
                 */
                beforeShowEmbedForm(event:BeforeShowEmbedFormEvent):void;
            }
            type EmbedFormListener_T = EmbedFormListener$;
            interface EmbedFormListener extends EmbedFormListener_T {
            }
            interface EmbedForm_S {
                readonly NODATA_NEW:string;
                readonly CUSTPARAM_JOIN_FIELD_KEY:string;
                readonly CUSTPARAM_JOIN_FIELD_VAL:string;
                readonly NODATA_BLANK:string;
                readonly SHOWTYPE_LIST:string;
                readonly NODATA_DEFAULT:string;
                readonly SHOWTYPE_FORM:string;
                readonly NODATA_HIDE:string;
                readonly CUSTPARAM_HIDE_CTRLS:string;
                readonly NODATA_LIST:string;
                readonly CUSTPARAM_PANEL_KEY:string;
                readonly CUSTPARAM_REFFORMID:string;
                readonly NODATA_EMPTY:string;
            }
            type EmbedForm_ST = EmbedForm_S & kd.bos.form.container.Container_S;
            interface EmbedForm_C extends EmbedForm_ST {
                new():EmbedForm;
            }
            interface EmbedForm$ {
                /**
                 * 获取打开嵌入页面时需隐藏的控件标识，多个控件使用","隔开
                 * @return 返回控件标识
                 */
                getHideCtrls():string;
                /**
                 * 控件名称
                 * @return
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 关联单据、列表附加固定的过滤条件，筛选掉不符合要求的数据，使数据匹配更加准确
                 * @return 返回原始条件配置，可利用工具解析出 QFilter
                 */
                getFilterCondition():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 表单显示自定义参数
                 * @return
                 */
                getParamItems():$.java.util.List;
                /**
                 * 内嵌表单关联的主实体编码
                 * @return 返回主实体编码
                 */
                getRefEntityNumber():string;
                /**
                 * 内嵌表单的编码
                 * @return 返回表单编码
                 */
                getRefFormNumber():string;
                /**
                 * 设置内嵌表单的编码
                 * @param refFormNumber 表单编码
                 */
                setRefFormNumber(refFormNumber:string):void;
                /**
                 * 设置左关联字段
                 * @param joinLeftField 传入主实体的字段标识
                 */
                setJoinLeftField(joinLeftField:string):void;
                /**
                 * 左关联字段：主实体上的字段。
                 * 可以从主实体上的字段值，匹配关联实体的字段，筛选出匹配的关联数据，显示在内嵌表单控件中
                 * @return 返回主实体上的字段标识
                 */
                getJoinLeftField():string;
                /**
                 * 内嵌表单的类型：动态表单(DynamicFormModel)、单据(BillFormModel)、基础资料(BaseFormModel)、查询(QueryListModel)
                 * @return 返回 DynamicFormModel、BillFormModel、BaseFormModel、QueryListModel
                 */
                getRefModelType():string;
                /**
                 * 右关联字段：关联实体上的字段
                 * 可以从主实体上的字段值，匹配关联实体的字段，筛选出匹配的关联数据，显示在内嵌表单控件中
                 * @return 返回关联实体上的字段标识
                 */
                getJoinRightField():string;
                /**
                 * 获取嵌入页面的视图
                 * @param withPlugin 嵌入页面是否带插件：嵌入跨应用页面时，带插件可能会中断报错，提示找不到插件
                 * @return 如果未显示嵌入页面，返回null
                 */
                getChildFormView(withPlugin:boolean):IFormView;
                /**
                 * 设置打开嵌入页面是需隐藏的控件标识
                 * @param hideCtrls 传入控件标识，多个控件使用","隔开
                 */
                setHideCtrls(hideCtrls:string):void;
                /**
                 * 设置内嵌表单的显示形式
                 * @param showType 传入form, list
                 */
                setShowType(showType:string):void;
                /**
                 * 没有数据时显示空白表单
                 * @return 返回表单编码
                 */
                getBlankFormNumber():string;
                /**
                 * 设置没有数据时显示的空白表单
                 * @param blankFormNumber 传入表单编码
                 */
                setBlankFormNumber(blankFormNumber:string):void;
                /**
                 * 设置表单显示自定义参数
                 * @param paramItems
                 */
                setParamItems(paramItems:$.java.util.List):void;
                /**
                 * 设置内嵌表单的主实体编码
                 * @param refEntityNumber 传入主实体编码
                 */
                setRefEntityNumber(refEntityNumber:string):void;
                /**
                 * 设置关联数据时的处理策略
                 * @param noDataPolicy 传入处理策略
                 */
                setNoDataPolicy(noDataPolicy:string):void;
                /**
                 * 获取动态解析出的过滤条件QFilter集合，可用于ORM参数
                 * @return 过滤条件集合
                 */
                getQFilters():$.java.util.List;
                /**
                 * 设置右关联字段
                 * @param joinRightField 传入关联实体上的字段标识
                 */
                setJoinRightField(joinRightField:string):void;
                /**
                 * 内嵌表单显示形式：表单(form), 列表(list)
                 * @return 返回 form, list
                 */
                getShowType():string;
                /**
                 * 设置内嵌表单的类型
                 * @param refModelType 模型类型
                 */
                setRefModelType(refModelType:string):void;
                /**
                 * 设置控件名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置关联实体数据固定筛选条件，排除不合法数据
                 * @param filterCondition 传入原始条件配置
                 */
                setFilterCondition(filterCondition:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 获取嵌入页面的PageId
                 * @return 如果未显示嵌入页面，返回null
                 */
                getChildPageId():string;
                /**
                 * 没有关联数据时的处理策略
                 * @return 返回：blank(空白页面), hide(隐藏), new(新建)
                 */
                getNoDataPolicy():string;
            }
            type EmbedForm_T = EmbedForm$ & kd.bos.form.container.Container;
            interface EmbedForm extends EmbedForm_T {
            }
        }
        namespace kd.bos.form.control.events{
            interface UploadListener_S {
            }
            interface UploadListener_C extends UploadListener_S {
            }
            interface UploadListener$ {
                /**
                 * 移除时（已删除文件，未删除附件信息）
                 * @param evt
                 */
                remove?(evt:UploadEvent):void;
                /**
                 * 上传时（已上传文件服务器，未保存附件信息）
                 * @param evt
                 */
                upload?(evt:UploadEvent):void;
                /**
                 * 重新排序图片列表字段时
                 * @param evt
                 */
                afterReOrder?(evt:UploadEvent):void;
                /**
                 * 上传前（开始往文件服务器上传文件）
                 * @param evt
                 */
                beforeUpload?(evt:BeforeUploadEvent):void;
                /**
                 * 上传后（已上传文件服务器，已保存附件信息）
                 * @param evt
                 */
                afterUpload?(evt:UploadEvent):void;
                /**
                 * 移除时（已删除文件，已删除附件信息）
                 * @param evt
                 */
                afterRemove?(evt:UploadEvent):void;
            }
            type UploadListener_T = UploadListener$;
            interface UploadListener extends UploadListener_T {
            }
            interface BeforeUploadEvent_S {
            }
            type BeforeUploadEvent_ST = $.java.util.EventObject & BeforeUploadEvent_S;
            interface BeforeUploadEvent_C extends BeforeUploadEvent_ST {
            }
            interface BeforeUploadEvent$ {
                /**
                 * 获取附件信息
                 * @return
                 */
                getAttachInfos():$.java.util.List;
            }
            type BeforeUploadEvent_T = $.java.util.EventObject & BeforeUploadEvent$;
            interface BeforeUploadEvent extends BeforeUploadEvent_T {
            }
            interface UploadEvent_S {
            }
            type UploadEvent_ST = $.java.util.EventObject & UploadEvent_S;
            interface UploadEvent_C extends UploadEvent_ST {
            }
            interface UploadEvent$ {
                /**
                 * 获取图片列表下标值
                 */
                getIndexes():any[];
                /**
                 * 获取回调key值 控件标识
                 */
                getCallbackKey():string;
                /**
                 * 设置取消上传提示信息
                 */
                setCancelMsg(cancelMsg:string):void;
                /**
                 * 设置开始上传图片下标值
                 */
                setStartIndex(startIndex:number):void;
                /**
                 * 是否取消上传
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置图片列表中图片移动的目标下标值
                 */
                setDestinationIndex(destinationIndex:number):void;
                /**
                 * 获取附件地址
                 */
                getUrls():any[];
                /**
                 * 获取图片名称数组
                 */
                getNames():any[];
            }
            type UploadEvent_T = $.java.util.EventObject & UploadEvent$;
            interface UploadEvent extends UploadEvent_T {
            }
            interface TileItemClickListener_S {
            }
            interface TileItemClickListener_C extends TileItemClickListener_S {
            }
            interface TileItemClickListener$ {
                itemClick(arg0:TileItemClickEvent):void;
            }
            type TileItemClickListener_T = TileItemClickListener$;
            interface TileItemClickListener extends TileItemClickListener_T {
            }
            interface CommonFunctionItemClickListener_S {
            }
            interface CommonFunctionItemClickListener_C extends CommonFunctionItemClickListener_S {
            }
            interface CommonFunctionItemClickListener$ {
                itemClick(arg0:CommonFunctionItemClickEvent):void;
            }
            type CommonFunctionItemClickListener_T = CommonFunctionItemClickListener$;
            interface CommonFunctionItemClickListener extends CommonFunctionItemClickListener_T {
            }
            interface CommonFunctionItemClickEvent_S {
            }
            type CommonFunctionItemClickEvent_ST = $.java.util.EventObject & CommonFunctionItemClickEvent_S;
            interface CommonFunctionItemClickEvent_C extends CommonFunctionItemClickEvent_ST {
                new(arg0:any):CommonFunctionItemClickEvent;
                new(arg0:any,arg1:$.java.util.Map):CommonFunctionItemClickEvent;
            }
            interface CommonFunctionItemClickEvent$ {
                getParams():$.java.util.Map;
                setParams(arg0:$.java.util.Map):void;
            }
            type CommonFunctionItemClickEvent_T = $.java.util.EventObject & CommonFunctionItemClickEvent$;
            interface CommonFunctionItemClickEvent extends CommonFunctionItemClickEvent_T {
            }
            interface TileItemClickEvent_S {
            }
            type TileItemClickEvent_ST = $.java.util.EventObject & TileItemClickEvent_S;
            interface TileItemClickEvent_C extends TileItemClickEvent_ST {
                new(arg0:any):TileItemClickEvent;
                new(arg0:any,arg1:$.java.util.List):TileItemClickEvent;
            }
            interface TileItemClickEvent$ {
                setParams(arg0:$.java.util.List):void;
                getParams():$.java.util.List;
            }
            type TileItemClickEvent_T = $.java.util.EventObject & TileItemClickEvent$;
            interface TileItemClickEvent extends TileItemClickEvent_T {
            }
            interface TimelineEvent_S {
            }
            type TimelineEvent_ST = $.java.util.EventObject & TimelineEvent_S;
            interface TimelineEvent_C extends TimelineEvent_ST {
                /**
                 * 构造方法：初始化时间轴事件参数
                 * @param source 事件源
                 */
                new(source:any):TimelineEvent;
            }
            interface TimelineEvent$ {
                /**
                 * 设置间轴控件文本后发送的请求参数
                 * @param args  间轴控件文本后发送的请求参数
                 */
                setArgs(args:TimelineClickArgs):void;
                /**
                 * 获取间轴控件文本后发送的请求参数
                 * @return 间轴控件文本后发送的请求参数
                 */
                getArgs():TimelineClickArgs;
            }
            type TimelineEvent_T = $.java.util.EventObject & TimelineEvent$;
            interface TimelineEvent extends TimelineEvent_T {
            }
            interface FilterGridF7ClickListener_S {
            }
            interface FilterGridF7ClickListener_C extends FilterGridF7ClickListener_S {
            }
            interface FilterGridF7ClickListener$ {
                /**
                 * 通用过滤控件F7点击事件
                 *
                 * @param evt  控件F7点击事件
                 */
                filterGridF7Click(evt:FilterGridF7ClickEvent):void;
            }
            type FilterGridF7ClickListener_T = FilterGridF7ClickListener$;
            interface FilterGridF7ClickListener extends FilterGridF7ClickListener_T {
            }
            interface EntryFilterChangedEvent_S {
            }
            type EntryFilterChangedEvent_ST = $.java.util.EventObject & EntryFilterChangedEvent_S;
            interface EntryFilterChangedEvent_C extends EntryFilterChangedEvent_ST {
                /**
                 * 初始化按钮点击事件参数
                 * @param source 事件源
                 * @param entryFilterArgs  单据体分录过滤条件参数
                 */
                new(source:any,entryFilterArgs:$.java.util.List):EntryFilterChangedEvent;
            }
            interface EntryFilterChangedEvent$ {
                /**
                 * 是否取消该事件
                 * @return 是否取消布尔值：false-不取消，true-取消
                 */
                isCancelSum():boolean;
                /**
                 * 获取单据体分录过滤条件参数
                 * @return 单据体分录过滤条件参数
                 */
                getEntryFilterArgs():$.java.util.List;
                /**
                 * 设置单据体分录过滤条件参数
                 * @param entryFilterArgs 单据体分录过滤条件参数
                 */
                setEntryFilterArgs(entryFilterArgs:$.java.util.List):void;
                /**
                 * 获取是否取消该事件布尔值
                 * @param cancelSum 布尔值：false-不取消，true-取消
                 */
                setCancel(cancelSum:boolean):void;
            }
            type EntryFilterChangedEvent_T = $.java.util.EventObject & EntryFilterChangedEvent$;
            interface EntryFilterChangedEvent extends EntryFilterChangedEvent_T {
            }
            interface ClickEvent_S {
            }
            type ClickEvent_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & ClickEvent_S;
            interface ClickEvent_C extends ClickEvent_ST {
                /**
                 * 构造方法：初始化点击事件参数
                 * @param source 事件源
                 */
                new(source:any):ClickEvent;
                /**
                 * 构造方法：初始化点击事件参数
                 * @param source 事件源
                 * @param paramsMap 参数Map
                 */
                new(source:any,paramsMap:$.java.util.Map):ClickEvent;
            }
            interface ClickEvent$ {
                /**
                 * 设置参数Map
                 * @param paramsMap 参数Map
                 */
                setParamsMap(paramsMap:$.java.util.Map):void;
                /**
                 * 获取参数Map
                 * @return 参数Map
                 */
                getParamsMap():$.java.util.Map;
            }
            type ClickEvent_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & ClickEvent$;
            interface ClickEvent extends ClickEvent_T {
            }
            interface SelectRowsEvent_S {
            }
            type SelectRowsEvent_ST = $.java.util.EventObject & SelectRowsEvent_S;
            interface SelectRowsEvent_C extends SelectRowsEvent_ST {
                /**
                 * 初始化行选中事件参数
                 * @param source 事件源
                 * @param newRows 新状态选中行
                 * @param oldRows 旧状态选中行
                 */
                new(source:any,newRows:$.java.util.List,oldRows:$.java.util.List):SelectRowsEvent;
            }
            interface SelectRowsEvent$ {
                /**
                 * 获取旧状态选中行
                 * @return  旧状态选中行
                 */
                getOldRows():$.java.util.List;
                /**
                 * 获取新状态选中行
                 * @return 新状态选中行
                 */
                getNewRows():$.java.util.List;
            }
            type SelectRowsEvent_T = $.java.util.EventObject & SelectRowsEvent$;
            interface SelectRowsEvent extends SelectRowsEvent_T {
            }
            interface TabSelectEvent_S {
            }
            type TabSelectEvent_ST = $.java.util.EventObject & TabSelectEvent_S;
            interface TabSelectEvent_C extends TabSelectEvent_ST {
                /**
                 * 构造方法：初始化页签选择事件参数
                 * @param source 事件源
                 * @param tabKey 选择的页签key
                 */
                new(source:any,tabKey:string):TabSelectEvent;
            }
            interface TabSelectEvent$ {
                /**
                 * 获取选择的页签key
                 * @return 选择的页签key
                 */
                getTabKey():string;
            }
            type TabSelectEvent_T = $.java.util.EventObject & TabSelectEvent$;
            interface TabSelectEvent extends TabSelectEvent_T {
            }
            interface TreeSuffixIconClickEvent_S {
            }
            type TreeSuffixIconClickEvent_ST = $.java.util.EventObject & TreeSuffixIconClickEvent_S;
            interface TreeSuffixIconClickEvent_C extends TreeSuffixIconClickEvent_ST {
                new(source:any):TreeSuffixIconClickEvent;
                new(source:any,nodeId:string,iconId:string):TreeSuffixIconClickEvent;
            }
            interface TreeSuffixIconClickEvent$ {
                setNodeId(nodeId:string):void;
                getNodeId():string;
                setIconId(iconId:string):void;
                getIconId():string;
            }
            type TreeSuffixIconClickEvent_T = $.java.util.EventObject & TreeSuffixIconClickEvent$;
            interface TreeSuffixIconClickEvent extends TreeSuffixIconClickEvent_T {
            }
            interface TabBatchCloseEvent_S {
            }
            type TabBatchCloseEvent_ST = $.java.util.EventObject & TabBatchCloseEvent_S;
            interface TabBatchCloseEvent_C extends TabBatchCloseEvent_ST {
                /**
                 * 构造方法：初始化页签批量关闭事件参数
                 * @param source 事件源
                 * @param tabKeys 关闭的页签keys
                 */
                new(source:any,tabKeys:$.java.util.List):TabBatchCloseEvent;
            }
            interface TabBatchCloseEvent$ {
                /**
                 * 获取关闭的页签keys
                 * @return 关闭的页签keys
                 */
                getTabKeys():$.java.util.List;
                /**
                 * 是否强制关闭判断
                 * @return 是否是否强制关闭布尔值：false-不强制，true-强制
                 */
                isForce():boolean;
                /**
                 * 设置是否是否强制关闭布尔值
                 * @param force 是否是否强制关闭布尔值：false-不强制，true-强制
                 */
                setForce(force:boolean):void;
                /**
                 * 设置关闭的页签keys
                 * @param tabKeys 关闭的页签keys
                 */
                closeTabs(tabKeys:$.java.util.List):void;
                /**
                 * 设置强制关闭标记
                 */
                forceCloseTabs():void;
            }
            type TabBatchCloseEvent_T = $.java.util.EventObject & TabBatchCloseEvent$;
            interface TabBatchCloseEvent extends TabBatchCloseEvent_T {
            }
            interface ISuportClick_S {
            }
            interface ISuportClick_C extends ISuportClick_S {
            }
            interface ISuportClick$ {
                /**
                 * 添加点击到监听，作用对象：工具栏和移动端
                 * @param listener 点击监听事件
                 */
                addItemClickListener(listener:ItemClickListener):void;
                /**
                 * 添加点击到监听，作用对象：PC
                 * @param listener 点击监听事件
                 */
                addClickListener(listener:ClickListener):void;
            }
            type ISuportClick_T = ISuportClick$;
            interface ISuportClick extends ISuportClick_T {
            }
            interface EnterKeyListener_S {
            }
            interface EnterKeyListener_C extends EnterKeyListener_S {
            }
            interface EnterKeyListener$ {
                /**
                 * 输入框回车事件
                 * @param event 输入框回车事件参数
                 */
                enterKeyEvent(event:EnterKeyEvent):void;
            }
            type EnterKeyListener_T = EnterKeyListener$;
            interface EnterKeyListener extends EnterKeyListener_T {
            }
            interface ListboxEvent_S {
            }
            type ListboxEvent_ST = $.java.util.EventObject & ListboxEvent_S;
            interface ListboxEvent_C extends ListboxEvent_ST {
                new(source:any):ListboxEvent;
                new(source:any,itemId:string):ListboxEvent;
            }
            interface ListboxEvent$ {
                getItemId():string;
                setItemId(itemId:string):void;
            }
            type ListboxEvent_T = $.java.util.EventObject & ListboxEvent$;
            interface ListboxEvent extends ListboxEvent_T {
            }
            interface OCRListener_S {
            }
            interface OCRListener_C extends OCRListener_S {
            }
            interface OCRListener$ {
                /**
                 * OCR识别处理
                 * @param evt  OCR识别事件参数
                 */
                processOCR?(evt:OCREvent):void;
                /**
                 * OCR识别完成
                 */
                finishOCR?():void;
                /**
                 * OCR消息通知
                 * @param status 识别状态
                 * @param msg 识别内容
                 */
                notifyMsg?(status:number,msg:string):void;
            }
            type OCRListener_T = OCRListener$;
            interface OCRListener extends OCRListener_T {
            }
            interface EntryGridBindDataListener_S {
            }
            interface EntryGridBindDataListener_C extends EntryGridBindDataListener_S {
            }
            interface EntryGridBindDataListener$ {
                /**
                 * 单据体表格绑定数据事件，按分页绑定数据
                 *
                 * @param e  单据体表格绑定数据事件参数
                 */
                entryGridBindData?(e:EntryGridBindDataEvent):void;
            }
            type EntryGridBindDataListener_T = EntryGridBindDataListener$;
            interface EntryGridBindDataListener extends EntryGridBindDataListener_T {
            }
            interface TabOperationListener_S {
            }
            interface TabOperationListener_C extends TabOperationListener_S {
            }
            interface TabOperationListener$ {
                /**
                 * 页签重复打开事件
                 * @param evt 页签重复打开事件参数
                 */
                tabReOpen(evt:TabOperationEvent):void;
            }
            type TabOperationListener_T = TabOperationListener$;
            interface TabOperationListener extends TabOperationListener_T {
            }
            interface ClickListener_S {
            }
            interface ClickListener_C extends ClickListener_S {
            }
            interface ClickListener$ {
                /**
                 * 点击前事件
                 * @param evt 点击前事件参数
                 */
                beforeClick(evt:BeforeClickEvent):void;
                /**
                 * 点击后事件
                 * @param evt 点击后事件参数
                 */
                click(evt:$.java.util.EventObject):void;
            }
            type ClickListener_T = ClickListener$;
            interface ClickListener extends ClickListener_T {
            }
            interface StepEvent_S {
            }
            type StepEvent_ST = $.java.util.EventObject & StepEvent_S;
            interface StepEvent_C extends StepEvent_ST {
                /**
                 * 构造方法：初始化步骤条点击事件参数
                 * @param source 步骤条点击事件参数
                 */
                new(source:any):StepEvent;
            }
            interface StepEvent$ {
                /**
                 * 设置步骤值
                 * @param value 步骤值
                 */
                setValue(value:number):void;
                /**
                 * 获取步骤值
                 * @return 步骤值
                 */
                getValue():number;
            }
            type StepEvent_T = $.java.util.EventObject & StepEvent$;
            interface StepEvent extends StepEvent_T {
            }
            interface TipsListener_S {
            }
            interface TipsListener_C extends TipsListener_S {
            }
            interface TipsListener$ {
                /**
                 * Tips show前事件
                 * @param event  tips组件显示前事件参数
                 */
                beforeShowTips(event:BeforeShowTipsEvent):void;
                /**
                 * Tips show后事件
                 * @param event tips组件显示后事件参数
                 */
                afterShowTips(event:AfterShowTipsEvent):void;
            }
            type TipsListener_T = TipsListener$;
            interface TipsListener extends TipsListener_T {
            }
            interface EntryGridFetchEntryRowsListener_S {
            }
            interface EntryGridFetchEntryRowsListener_C extends EntryGridFetchEntryRowsListener_S {
            }
            interface EntryGridFetchEntryRowsListener$ {
                /**
                 * 单据体表格分批场景：翻批事件，处理翻批后的数据包
                 *
                 * @param e  单据体表格翻批事件参数
                 */
                fetchEntryRows?(e:EntryGridFetchEntryRowsEvent):void;
            }
            type EntryGridFetchEntryRowsListener_T = EntryGridFetchEntryRowsListener$;
            interface EntryGridFetchEntryRowsListener extends EntryGridFetchEntryRowsListener_T {
            }
            interface SearchEnterListener_S {
            }
            interface SearchEnterListener_C extends SearchEnterListener_S {
            }
            interface SearchEnterListener$ {
                /**
                 * 搜索，需业务自己实现
                 * @param evt 搜索查询事件参数
                 */
                search(evt:SearchEnterEvent):void;
                /**
                 * 获取复杂类型的搜索结果集，以下拉列表展示
                 * @param evt 搜索查询事件参数
                 * @return 复杂类型的搜索结果集
                 */
                getComPlexSearchList?(evt:SearchEnterEvent):$.java.util.List;
                /**
                 * 获取搜索的结果集，以下拉列表展示
                 * @param evt 搜索查询事件参数
                 * @return 搜索的结果集
                 */
                getSearchList?(evt:SearchEnterEvent):$.java.util.List;
            }
            type SearchEnterListener_T = SearchEnterListener$;
            interface SearchEnterListener extends SearchEnterListener_T {
            }
            interface RowClickEvent_S {
            }
            type RowClickEvent_ST = $.java.util.EventObject & RowClickEvent_S;
            interface RowClickEvent_C extends RowClickEvent_ST {
                /**
                 * 构造方法：初始化行点击事件参数
                 * @param source 事件源
                 * @param row 行数
                 */
                new(source:any,row:number):RowClickEvent;
            }
            interface RowClickEvent$ {
                /**
                 * 获取行数
                 * @return 行数
                 */
                getRow():number;
            }
            type RowClickEvent_T = $.java.util.EventObject & RowClickEvent$;
            interface RowClickEvent extends RowClickEvent_T {
            }
            interface TreeSuffixIconClickListener_S {
            }
            interface TreeSuffixIconClickListener_C extends TreeSuffixIconClickListener_S {
            }
            interface TreeSuffixIconClickListener$ {
                /**
                 * 树节点后缀图标点击触发指令
                 *
                 * @param treeSuffixIconClickEvent 触发事件参数
                 */
                treeSuffixIconClick(treeSuffixIconClickEvent:TreeSuffixIconClickEvent):void;
            }
            type TreeSuffixIconClickListener_T = TreeSuffixIconClickListener$;
            interface TreeSuffixIconClickListener extends TreeSuffixIconClickListener_T {
            }
            interface ActiveViewEvent_S {
            }
            type ActiveViewEvent_ST = $.java.util.EventObject & ActiveViewEvent_S;
            interface ActiveViewEvent_C extends ActiveViewEvent_ST {
                /**
                 * 构造方法：初始化切换视图事件参数
                 * @param source 事件源
                 */
                new(source:any):ActiveViewEvent;
                /**
                 * 构造方法：初始化切换视图事件参数
                 * @param source 事件源
                 * @param view 视图的名称
                 */
                new(source:any,view:string):ActiveViewEvent;
            }
            interface ActiveViewEvent$ {
                /**
                 * 获取视图的名称
                 * @return 视图的名称
                 */
                getView():string;
                /**
                 * 设置视图的名称
                 * @param view 视图的名称
                 */
                setView(view:string):void;
            }
            type ActiveViewEvent_T = $.java.util.EventObject & ActiveViewEvent$;
            interface ActiveViewEvent extends ActiveViewEvent_T {
            }
            interface SearchClickEvent_S {
            }
            type SearchClickEvent_ST = $.java.util.EventObject & SearchClickEvent_S;
            interface SearchClickEvent_C extends SearchClickEvent_ST {
                /**
                 * 构造方法：初始化搜索点击事件参数
                 * @param source 事件源
                 * @param filterValues 过滤条件原始值
                 * @param entryEntity 当前选择的最小单位分录
                 * @param filterModel 过滤模型
                 * @param filterParameter 常用过滤条件
                 * @param currentCommonFilter 当前常用过滤条件
                 * @param fastQFilters 快速过滤条件
                 */
                new(source:any,filterValues:$.java.util.Map,entryEntity:string,filterModel:$.kd.bos.entity.datamodel.IFilterModel,filterParameter:$.kd.bos.entity.filter.FilterParameter,currentCommonFilter:$.java.util.Map,fastQFilters:$.java.util.List):SearchClickEvent;
            }
            interface SearchClickEvent$ {
                /**
                 * 获取选中组织
                 *
                 * @return 选中组织
                 */
                getSelectMainOrgIds():$.java.util.List;
                /**
                 * 添加过滤条件(不包括快速过滤)
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 比较符
                 * @param values 值
                 */
                addFilter(fieldName:string,compareTypeId:$.kd.bos.entity.filter.CompareTypeEnum,...values:any[]):void;
                setDefaultCommonFilters(defaultCommonFilters:$.java.util.Map):void;
                /**
                 * 获取当前常用过滤条件
                 *
                 * @return 当前常用过滤条件
                 */
                getCurrentCommonFilter():$.java.util.Map;
                /**
                 * 获取过滤条件原始值
                 *
                 * @return 过滤条件原始值
                 */
                getFilterValues():$.java.util.Map;
                /**
                 * 获取常用过滤条件
                 *
                 * @return 常用过滤条件
                 */
                getFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 设置当前点击的常用过滤条件
                 *
                 * @param currentCommonFilter 当前点击的常用过滤条件
                 */
                setCurrentCommonFilter(currentCommonFilter:$.java.util.Map):void;
                /**
                 * 通过字段名获取过滤值
                 *
                 * @param fieldName 字段名
                 * @return 过滤值
                 */
                getFilterValue(fieldName:string):any;
                /**
                 * 通过字段名获取字段比较过滤字段标识
                 *
                 * @param fieldName	字段名
                 * @return	所有字段比较过滤字段标识
                 */
                getFieldCompareFilterValue(fieldName:string):$.java.util.List;
                /**
                 * 添加常量过滤条件
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 比较符
                 */
                addConstFilter(fieldName:string,compareTypeId:$.kd.bos.entity.filter.CompareTypeEnum):void;
                /**
                 * 添加过滤条件,自定义比较符(不包括快速过滤)
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 自定义比较符
                 * @param values 值
                 */
                addFilter(fieldName:string,compareTypeId:string,...values:any[]):void;
                /**
                 * 获取快速过滤条件
                 *
                 * @return 快速过滤条件
                 */
                getFastQFilters():$.java.util.List;
                /**
                 * 添加快速过滤条件
                 *
                 * @param fieldName  字段名
                 * @param value 值
                 */
                addFastFilter(fieldName:string,value:string):void;
                /**
                 * 设置过滤条件原始值
                 *
                 * @param filterValues 过滤条件原始值
                 */
                setFilterValues(filterValues:$.java.util.Map):void;
                /**
                 * 获取当前选择的最小单位分录
                 *
                 * @return 当前选择的最小单位分录
                 */
                getEntryEntity():string;
                /**
                 * 获取过滤模型
                 *
                 * @return 过滤模型
                 */
                getFilterModel():$.kd.bos.entity.datamodel.IFilterModel;
                /**
                 * 获取快速过滤值
                 *
                 * @return 快速过滤值
                 */
                getFastFilterValues():$.java.util.List;
                getDefaultCommonFilters():$.java.util.Map;
                /**
                 * 设置常用过滤条件
                 *
                 * @param filterParameter 常用过滤条件
                 */
                setFilterParameter(filterParameter:$.kd.bos.entity.filter.FilterParameter):void;
            }
            type SearchClickEvent_T = $.java.util.EventObject & SearchClickEvent$;
            interface SearchClickEvent extends SearchClickEvent_T {
            }
            interface TabCloseListener_S {
            }
            interface TabCloseListener_C extends TabCloseListener_S {
            }
            interface TabCloseListener$ {
                /**
                 * 页签关闭事件
                 * @param evt
                 */
                tabClose(evt:TabCloseEvent):void;
            }
            type TabCloseListener_T = TabCloseListener$;
            interface TabCloseListener extends TabCloseListener_T {
            }
            interface BeforeClickEvent_S {
            }
            type BeforeClickEvent_ST = BeforeClickEvent_S & ClickEvent_S;
            interface BeforeClickEvent_C extends BeforeClickEvent_ST {
                /**
                 * 构造方法：初始化点击前事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeClickEvent;
                /**
                 * 构造方法：初始化点击前事件参数
                 * @param source 事件源
                 * @param paramsMap 参数Map
                 */
                new(source:any,paramsMap:$.java.util.Map):BeforeClickEvent;
            }
            interface BeforeClickEvent$ {
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
            }
            type BeforeClickEvent_T = BeforeClickEvent$ & ClickEvent;
            interface BeforeClickEvent extends BeforeClickEvent_T {
            }
            interface RateListener_S {
            }
            interface RateListener_C extends RateListener_S {
            }
            interface RateListener$ {
                /**
                 * 更新评分事件
                 * @param e 评分事件
                 */
                update(e:RateEvent):void;
            }
            type RateListener_T = RateListener$;
            interface RateListener extends RateListener_T {
            }
            interface TabOperationEvent_S {
            }
            type TabOperationEvent_ST = $.java.util.EventObject & TabOperationEvent_S;
            interface TabOperationEvent_C extends TabOperationEvent_ST {
                /**
                 * 构造方法：初始化页签重复打开事件参数
                 * @param source 事件源
                 * @param tabKey 重复打开的页签key
                 */
                new(source:any,tabKey:string):TabOperationEvent;
            }
            interface TabOperationEvent$ {
                /**
                 * @return the tabKey
                 */
                getTabKey():string;
            }
            type TabOperationEvent_T = $.java.util.EventObject & TabOperationEvent$;
            interface TabOperationEvent extends TabOperationEvent_T {
            }
            interface BeforeShowTipsEvent_S {
            }
            type BeforeShowTipsEvent_ST = $.java.util.EventObject & BeforeShowTipsEvent_S;
            interface BeforeShowTipsEvent_C extends BeforeShowTipsEvent_ST {
                /**
                 * 构造方法：初始化tips组件显示前事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeShowTipsEvent;
            }
            interface BeforeShowTipsEvent$ {
                /**
                 * 设置是否取消提示
                 * @param cancel ： true ：取消提示 false:不取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置触发类型
                 * @param triggerType
                 */
                setTriggerType(triggerType:string):void;
                /**
                 * 设置表单ID
                 * @param formId 表单ID
                 */
                setFormId(formId:string):void;
                /**
                 * 是否取消弹出提示。默认不取消，插件可干预
                 * @return ：true ：取消提示 false:不取消
                 */
                isCancel():boolean;
                /**
                 * 获取载体ID
                 * @return 载体ID
                 */
                getElementId():string;
                /**
                 * 获取表单ID
                 * @return 表单ID
                 */
                getFormId():string;
                /**
                 * 设置载体ID
                 * @param elementId 载体ID
                 */
                setElementId(elementId:string):void;
                /**
                 * 设置表单界面显示参数
                 * @param formshowParameter 表单界面显示参数
                 */
                setFormshowParameter(formshowParameter:FormShowParameter):void;
                /**
                 * 方法废弃，统一使用set/get formshowParameter方法
                 * @return
                 */
                getParamsMap():$.java.util.Map;
                /**
                 * 获取触发类型
                 * @return 触发类型
                 */
                getTriggerType():string;
                /**
                 * 获取表单界面显示参数
                 * @return 表单界面显示参数
                 */
                getFormshowParameter():FormShowParameter;
            }
            type BeforeShowTipsEvent_T = $.java.util.EventObject & BeforeShowTipsEvent$;
            interface BeforeShowTipsEvent extends BeforeShowTipsEvent_T {
            }
            interface TabBatchCloseListener_S {
            }
            interface TabBatchCloseListener_C extends TabBatchCloseListener_S {
            }
            interface TabBatchCloseListener$ {
                /**
                 * 页签关闭事件
                 * @param evt 页签批量关闭事件参数
                 */
                tabBatchClose(evt:TabBatchCloseEvent):void;
            }
            type TabBatchCloseListener_T = TabBatchCloseListener$;
            interface TabBatchCloseListener extends TabBatchCloseListener_T {
            }
            interface TreeNodeClickListener_S {
            }
            interface TreeNodeClickListener_C extends TreeNodeClickListener_S {
            }
            interface TreeNodeClickListener$ {
                /**
                 * 树节点双击事件
                 * @param evt 树节点展开事件参数
                 */
                treeNodeDoubleClick?(evt:TreeNodeEvent):void;
                /**
                 * 树节点单击事件
                 * @param evt 树节点展开事件参数
                 */
                treeNodeClick?(evt:TreeNodeEvent):void;
            }
            type TreeNodeClickListener_T = TreeNodeClickListener$;
            interface TreeNodeClickListener extends TreeNodeClickListener_T {
            }
            interface SliderListener_S {
            }
            interface SliderListener_C extends SliderListener_S {
            }
            interface SliderListener$ {
                /**
                 * 修改滑动输入条事件
                 * @param e 滑动输入条事件
                 */
                update(e:SliderEvent):void;
            }
            type SliderListener_T = SliderListener$;
            interface SliderListener extends SliderListener_T {
            }
            interface ItemClickListener_S {
            }
            interface ItemClickListener_C extends ItemClickListener_S {
            }
            interface ItemClickListener$ {
                /**
                 * 点击前
                 *  @param evt  点击事件
                 */
                beforeItemClick(evt:BeforeItemClickEvent):void;
                /**
                 * 点击
                 *  @param evt 点击事件
                 */
                itemClick(evt:ItemClickEvent):void;
            }
            type ItemClickListener_T = ItemClickListener$;
            interface ItemClickListener extends ItemClickListener_T {
            }
            interface SearchClickListener_S {
            }
            interface SearchClickListener_C extends SearchClickListener_S {
            }
            interface SearchClickListener$ {
                /**
                 * 搜索点击事件
                 * @param evt  搜索点击事件参数
                 */
                click(evt:SearchClickEvent):void;
            }
            type SearchClickListener_T = SearchClickListener$;
            interface SearchClickListener extends SearchClickListener_T {
            }
            interface FilterGridF7ClickEvent$F7ClickArgs_S {
            }
            interface FilterGridF7ClickEvent$F7ClickArgs_C extends FilterGridF7ClickEvent$F7ClickArgs_S {
                new():FilterGridF7ClickEvent$F7ClickArgs;
            }
            interface FilterGridF7ClickEvent$F7ClickArgs$ {
                setEntityId(arg0:string):void;
                setCompareTypeId(arg0:string):void;
                getEntityId():string;
                setClientType(arg0:number):void;
                getRowIndex():number;
                setRowIndex(arg0:number):void;
                getCompareTypeId():string;
                getClientType():number;
            }
            type FilterGridF7ClickEvent$F7ClickArgs_T = FilterGridF7ClickEvent$F7ClickArgs$;
            interface FilterGridF7ClickEvent$F7ClickArgs extends FilterGridF7ClickEvent$F7ClickArgs_T {
            }
            interface FilterGridValueClickEvent_S {
            }
            type FilterGridValueClickEvent_ST = $.java.util.EventObject & FilterGridValueClickEvent_S;
            interface FilterGridValueClickEvent_C extends FilterGridValueClickEvent_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any,row:number):FilterGridValueClickEvent;
            }
            interface FilterGridValueClickEvent$ {
                getRow():number;
            }
            type FilterGridValueClickEvent_T = $.java.util.EventObject & FilterGridValueClickEvent$;
            interface FilterGridValueClickEvent extends FilterGridValueClickEvent_T {
            }
            interface TreeViewListener_S {
            }
            interface TreeViewListener_C extends TreeViewListener_S {
            }
            interface TreeViewListener$ {
                /**
                 * 改变节点折叠展开状态
                 *
                 * @param expandNodes 展开节点id集合
                 * @param collapseNodes 收起节点id集合
                 */
                changeFoldingStatus(expandNodes:$.java.util.List,collapseNodes:$.java.util.List):void;
            }
            type TreeViewListener_T = TreeViewListener$;
            interface TreeViewListener extends TreeViewListener_T {
            }
            interface WizardStepsListener_S {
            }
            interface WizardStepsListener_C extends WizardStepsListener_S {
            }
            interface WizardStepsListener$ {
                /**
                 * 向导步骤条点击事件
                 * @param e 步骤条点击事件参数
                 */
                update(e:StepEvent):void;
            }
            type WizardStepsListener_T = WizardStepsListener$;
            interface WizardStepsListener extends WizardStepsListener_T {
            }
            interface EntryGridFilterEntryEvent_S {
            }
            type EntryGridFilterEntryEvent_ST = $.java.util.EventObject & EntryGridFilterEntryEvent_S;
            interface EntryGridFilterEntryEvent_C extends EntryGridFilterEntryEvent_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param queryParam
                 */
                new(source:any,queryParam:$.kd.bos.entity.property.entryfilter.EntryQueryParam):EntryGridFilterEntryEvent;
            }
            interface EntryGridFilterEntryEvent$ {
                /**
                 * 获取单据体查询参数
                 * @return
                 */
                getQueryParam():$.kd.bos.entity.property.entryfilter.EntryQueryParam;
                /**
                 * 设置是否取消操作
                 *
                 * @param cancel 是否取消移动行
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置单据体查询参数
                 * @param queryParam
                 */
                setQueryParam(queryParam:$.kd.bos.entity.property.entryfilter.EntryQueryParam):void;
            }
            type EntryGridFilterEntryEvent_T = $.java.util.EventObject & EntryGridFilterEntryEvent$;
            interface EntryGridFilterEntryEvent extends EntryGridFilterEntryEvent_T {
            }
            interface RefreshNodeEvent_S {
            }
            type RefreshNodeEvent_ST = $.java.util.EventObject & RefreshNodeEvent_S;
            interface RefreshNodeEvent_C extends RefreshNodeEvent_ST {
                /**
                 * 构造方法：初始化树形刷新节点事件参数
                 * @param source 事件源
                 * @param nodeId 节点ID
                 */
                new(source:any,nodeId:any):RefreshNodeEvent;
            }
            interface RefreshNodeEvent$ {
                /**
                 * 设置刷新后节点
                 * @param childNodes 刷新后节点
                 */
                setChildNodes(childNodes:$.java.util.List):void;
                /**
                 * 获取节点ID
                 * @return the nodeId
                 */
                getNodeId():any;
                /**
                 * 获取刷新后节点
                 * @return 刷新后节点
                 */
                getChildNodes():$.java.util.List;
                /**
                 * 设置节点ID
                 * @param nodeId 节点ID
                 */
                setNodeId(nodeId:any):void;
            }
            type RefreshNodeEvent_T = $.java.util.EventObject & RefreshNodeEvent$;
            interface RefreshNodeEvent extends RefreshNodeEvent_T {
            }
            interface TreeNodeCheckEvent_S {
            }
            type TreeNodeCheckEvent_ST = TreeNodeCheckEvent_S & TreeNodeEvent_S;
            interface TreeNodeCheckEvent_C extends TreeNodeCheckEvent_ST {
                /**
                 * 构造方法：初始化树节点展开事件参数
                 * @param source 事件源
                 * @param parentNodeId 当前节点的父ID
                 * @param nodeId 当前节点ID
                 * @param checked 是否选中状态（ture:选中，false:未选中）
                 */
                new(source:any,parentNodeId:any,nodeId:any,checked:boolean):TreeNodeCheckEvent;
            }
            interface TreeNodeCheckEvent$ {
                /**
                 * 获取节点选中状态
                 * @return checked 节点选中状态（ture:选中，false:未选中）
                 */
                getChecked():boolean;
            }
            type TreeNodeCheckEvent_T = TreeNodeCheckEvent$ & TreeNodeEvent;
            interface TreeNodeCheckEvent extends TreeNodeCheckEvent_T {
            }
            interface CellClickEvent_S {
            }
            type CellClickEvent_ST = CellClickEvent_S & RowClickEvent_S;
            interface CellClickEvent_C extends CellClickEvent_ST {
                /**
                 * 构造方法：初始化单元格点击事件参数
                 * @param source 事件源
                 * @param row 点击行数
                 * @param fieldKey 字段标识
                 */
                new(source:any,row:number,fieldKey:string):CellClickEvent;
            }
            interface CellClickEvent$ {
                /**
                 * 获取字段标识
                 * @return 字段标识 fieldKey
                 */
                getFieldKey():string;
            }
            type CellClickEvent_T = CellClickEvent$ & RowClickEvent;
            interface CellClickEvent extends CellClickEvent_T {
            }
            interface TimelineListener_S {
            }
            interface TimelineListener_C extends TimelineListener_S {
            }
            interface TimelineListener$ {
                /**
                 * 时间轴更新事件
                 * @param e  时间轴事件参数
                 */
                update(e:TimelineEvent):void;
                /**
                 * 时间轴自定义操作点击事件
                 * @param e  时间轴自定义操作点击参数
                 */
                optionClick(e:TimelineOptionClickArg):void;
            }
            type TimelineListener_T = TimelineListener$;
            interface TimelineListener extends TimelineListener_T {
            }
            interface EnterKeyEvent_S {
            }
            type EnterKeyEvent_ST = $.java.util.EventObject & EnterKeyEvent_S;
            interface EnterKeyEvent_C extends EnterKeyEvent_ST {
                /**
                 * 构造方法：初始化输入框回车事件参数
                 *
                 * @param source 事件源
                 * @param content PDA设备文本字段内容
                 */
                new(source:any,content:string):EnterKeyEvent;
            }
            interface EnterKeyEvent$ {
                /**
                 * 获取PDA设备文本字段内容
                 * @return
                 */
                getContent():string;
            }
            type EnterKeyEvent_T = $.java.util.EventObject & EnterKeyEvent$;
            interface EnterKeyEvent extends EnterKeyEvent_T {
            }
            interface FilterGridF7CloseCallBackListener_S {
            }
            interface FilterGridF7CloseCallBackListener_C extends FilterGridF7CloseCallBackListener_S {
            }
            interface FilterGridF7CloseCallBackListener$ {
                /**
                 * 通用过滤控件F7关闭响应事件
                 *
                 * @param evt  控件F7关闭响应事件
                 */
                filterGridF7CloseCallBack(evt:FilterGridF7CloseCallBackEvent):void;
            }
            type FilterGridF7CloseCallBackListener_T = FilterGridF7CloseCallBackListener$;
            interface FilterGridF7CloseCallBackListener extends FilterGridF7CloseCallBackListener_T {
            }
            interface FilterGridF7CloseCallBackEvent_S {
            }
            type FilterGridF7CloseCallBackEvent_ST = $.java.util.EventObject & FilterGridF7CloseCallBackEvent_S;
            interface FilterGridF7CloseCallBackEvent_C extends FilterGridF7CloseCallBackEvent_ST {
                /**
                 * 初始化通用过滤控件F7关闭响应事件参数
                 * @param source 事件源
                 * @param fieldName 字段名称
                 */
                new(source:any,fieldName:string):FilterGridF7CloseCallBackEvent;
            }
            interface FilterGridF7CloseCallBackEvent$ {
                /**
                 * 获取列表选择行数据集合
                 * @return
                 */
                getRows():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 添加value值到values列表值
                 * @param value value值
                 */
                addValue(value:any):void;
                /**
                 * 设置values列表值
                 *  @param values values列表值
                 */
                setValues(values:$.java.util.List):void;
                /**
                 * 设置列表选择行数据集合
                 * @param rows
                 */
                setRows(rows:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
                /**
                 * 获取values列表值
                 * @return values列表值
                 */
                getValues():$.java.util.List;
                /**
                 * 设置回调方法id
                 * @param actionIds
                 */
                setActionIds(actionIds:string[]):void;
                /**
                 * 获取是否取消该事件布尔值
                 * @param cancel 是否取消布尔值：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取回调方法id
                 * @return
                 */
                getActionIds():string[];
                /**
                 * 设置value值到values列表值
                 * @param value value值
                 */
                setValue(value:any):void;
                /**
                 * 获取字段名称
                 * @return 字段名称
                 */
                getFieldName():string;
                /**
                 * 是否取消该事件
                 * @return 是否取消布尔值：false-不取消，true-取消
                 */
                isCancel():boolean;
            }
            type FilterGridF7CloseCallBackEvent_T = $.java.util.EventObject & FilterGridF7CloseCallBackEvent$;
            interface FilterGridF7CloseCallBackEvent extends FilterGridF7CloseCallBackEvent_T {
            }
            interface EntryGridSetRowDataEvent_S {
            }
            type EntryGridSetRowDataEvent_ST = $.java.util.EventObject & EntryGridSetRowDataEvent_S;
            interface EntryGridSetRowDataEvent_C extends EntryGridSetRowDataEvent_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param entryType 类型
                 * @param values 数据包：HashMap<String, List<Tuple<Integer,Object>>>，示例：{"列字段名":[[行号,字段值],...],...}
                 */
                new(source:any,entryType:$.kd.bos.dataentity.metadata.IDataEntityType,values:$.java.util.Map):EntryGridSetRowDataEvent;
            }
            interface EntryGridSetRowDataEvent$ {
                /**
                 * 获取数据包
                 * @return
                 */
                getValues():$.java.util.Map;
                /**
                 * 获取实体类型
                 * @return
                 */
                getEntryType():$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 设置基础资料过滤条件
                 *
                 * @param qFilters 过滤条件
                 */
                setQFilters(qFilters:$.java.util.Map):void;
                /**
                 * 返回插件设置基础资料过滤条件
                 *
                 * @return 过滤条件
                 */
                getQFilters():$.java.util.Map;
            }
            type EntryGridSetRowDataEvent_T = $.java.util.EventObject & EntryGridSetRowDataEvent$;
            interface EntryGridSetRowDataEvent extends EntryGridSetRowDataEvent_T {
            }
            interface AfterSearchClickListener_S {
            }
            interface AfterSearchClickListener_C extends AfterSearchClickListener_S {
            }
            interface AfterSearchClickListener$ {
                /**
                 * 搜索点击后事件
                 * @param evt 搜索点击事件参数
                 */
                click(evt:SearchClickEvent):void;
            }
            type AfterSearchClickListener_T = AfterSearchClickListener$;
            interface AfterSearchClickListener extends AfterSearchClickListener_T {
            }
            interface MobileSearchCancelListener_S {
            }
            interface MobileSearchCancelListener_C extends MobileSearchCancelListener_S {
            }
            interface MobileSearchCancelListener$ {
                /**
                 * 移动端搜索取消输入
                 */
                cancel():void;
            }
            type MobileSearchCancelListener_T = MobileSearchCancelListener$;
            interface MobileSearchCancelListener extends MobileSearchCancelListener_T {
            }
            interface TreeMenuClickListener_S {
            }
            interface TreeMenuClickListener_C extends TreeMenuClickListener_S {
            }
            interface TreeMenuClickListener$ {
                /**
                 * 树节点双击事件
                 * @param evt 树节点展开事件参数
                 */
                treeMenuDoubleClick(evt:TreeNodeEvent):void;
                /**
                 * 树节点单击事件
                 * @param evt 树节点展开事件参数
                 */
                treeMenuClick(evt:TreeNodeEvent):void;
            }
            type TreeMenuClickListener_T = TreeMenuClickListener$;
            interface TreeMenuClickListener extends TreeMenuClickListener_T {
            }
            interface EntryGridColAllCheckedEvent_S {
            }
            type EntryGridColAllCheckedEvent_ST = $.java.util.EventObject & EntryGridColAllCheckedEvent_S;
            interface EntryGridColAllCheckedEvent_C extends EntryGridColAllCheckedEvent_ST {
                /**
                 * 构造方法：单据体表头批量选择框事件参数
                 * @param source 事件源
                 * @param colKey 字段列标识
                 * @param checked 是/否选择
                 */
                new(source:any,colKey:string,checked:boolean):EntryGridColAllCheckedEvent;
            }
            interface EntryGridColAllCheckedEvent$ {
                /**
                 * 获取是否选择
                 * @return 是/否选择
                 */
                isChecked():boolean;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取字段列标识
                 * @return 字段列标识
                 */
                getColKey():string;
            }
            type EntryGridColAllCheckedEvent_T = $.java.util.EventObject & EntryGridColAllCheckedEvent$;
            interface EntryGridColAllCheckedEvent extends EntryGridColAllCheckedEvent_T {
            }
            interface EntryFilterChangedListener_S {
            }
            interface EntryFilterChangedListener_C extends EntryFilterChangedListener_S {
            }
            interface EntryFilterChangedListener$ {
                /**
                 * 单据体分录过滤条件改变事件
                 * @param e 事件参数
                 */
                entryFilterChanged?(e:EntryFilterChangedEvent):void;
            }
            type EntryFilterChangedListener_T = EntryFilterChangedListener$;
            interface EntryFilterChangedListener extends EntryFilterChangedListener_T {
            }
            interface KingScriptEditorEvent_S {
            }
            interface KingScriptEditorEvent_C extends KingScriptEditorEvent_S {
                new():KingScriptEditorEvent;
            }
            interface KingScriptEditorEvent$ {
                setParam(param:$.java.util.Map):void;
                getParam():$.java.util.Map;
                getKey():string;
                setKey(key:string):void;
            }
            type KingScriptEditorEvent_T = KingScriptEditorEvent$;
            interface KingScriptEditorEvent extends KingScriptEditorEvent_T {
            }
            interface TabCloseEvent_S {
            }
            type TabCloseEvent_ST = $.java.util.EventObject & TabCloseEvent_S;
            interface TabCloseEvent_C extends TabCloseEvent_ST {
                new(source:any,tabKeys:$.java.util.List):TabCloseEvent;
            }
            interface TabCloseEvent$ {
                /**
                 * @return the tabKeys
                 */
                getTabKeys():$.java.util.List;
            }
            type TabCloseEvent_T = $.java.util.EventObject & TabCloseEvent$;
            interface TabCloseEvent extends TabCloseEvent_T {
            }
            interface BeforeItemClickEvent_S {
            }
            type BeforeItemClickEvent_ST = BeforeItemClickEvent_S & ItemClickEvent_S;
            interface BeforeItemClickEvent_C extends BeforeItemClickEvent_ST {
                /**
                 * 构造方法：初始化点击前事件参数
                 * @param source 事件源
                 * @param paramsMap 参数Map
                 */
                new(source:any,paramsMap:$.java.util.Map):BeforeItemClickEvent;
                /**
                 * 构造方法：初始化点击前事件参数
                 * @param source 事件源
                 * @param itemKey  点击项ID
                 * @param operationKey 操作标识
                 */
                new(source:any,itemKey:string,operationKey:string):BeforeItemClickEvent;
            }
            interface BeforeItemClickEvent$ {
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
            }
            type BeforeItemClickEvent_T = BeforeItemClickEvent$ & ItemClickEvent;
            interface BeforeItemClickEvent extends BeforeItemClickEvent_T {
            }
            interface ProgressEvent_S {
            }
            type ProgressEvent_ST = $.java.util.EventObject & ProgressEvent_S;
            interface ProgressEvent_C extends ProgressEvent_ST {
                /**
                 * 构造方法：初始化进度条处理事件参数
                 * @param source 进度条处理事件参数
                 */
                new(source:any):ProgressEvent;
            }
            interface ProgressEvent$ {
                /**
                 * 设置进度值
                 * @param progress 进度值
                 */
                setProgress(progress:number):void;
                /**
                 * 获取进度值
                 * @return 进度值
                 */
                getProgress():number;
                /**
                 * 设置进度条标题
                 * @param text 进度条标题
                 */
                setText(text:string):void;
                /**
                 * 获取进度条标题
                 * @return 进度条标题
                 */
                getText():string;
            }
            type ProgressEvent_T = $.java.util.EventObject & ProgressEvent$;
            interface ProgressEvent extends ProgressEvent_T {
            }
            interface RowClickEventListener_S {
            }
            interface RowClickEventListener_C extends RowClickEventListener_S {
            }
            interface RowClickEventListener$ {
                /**
                 * 双击行事件
                 * @param evt 行点击事件参数
                 */
                entryRowDoubleClick?(evt:RowClickEvent):void;
                /**
                 * 单击行事件
                 * @param evt 行点击事件参数
                 */
                entryRowClick?(evt:RowClickEvent):void;
            }
            type RowClickEventListener_T = RowClickEventListener$;
            interface RowClickEventListener extends RowClickEventListener_T {
            }
            interface TreeNodeEvent_S {
            }
            type TreeNodeEvent_ST = $.java.util.EventObject & TreeNodeEvent_S;
            interface TreeNodeEvent_C extends TreeNodeEvent_ST {
                /**
                 * 构造方法：初始化树节点展开事件参数
                 * @param source 事件源
                 */
                new(source:any):TreeNodeEvent;
                /**
                 * 构造方法：初始化树节点展开事件参数
                 * @param source 事件源
                 * @param parentNodeId 父节点ID
                 * @param nodeId 当前节点ID
                 */
                new(source:any,parentNodeId:any,nodeId:any):TreeNodeEvent;
            }
            interface TreeNodeEvent$ {
                /**
                 * 设置节点ID
                 * @param  nodeId 节点ID
                 */
                setNodeId(nodeId:any):void;
                /**
                 * 设置行号
                 * @param rowKey 行号
                 */
                setRowKey(rowKey:number):void;
                /**
                 * 获取展开后节点
                 * @return 展开后节点
                 */
                getExpandedNode():$.kd.bos.entity.tree.TreeNode;
                /**
                 * 获取节点ID
                 * @return 节点ID
                 */
                getNodeId():any;
                /**
                 * @return the propagation
                 */
                isPropagation():boolean;
                /**
                 * 设置展开后节点。插件展开节点后，调用该方法设置展开后的结果给平台显示。
                 *
                 * @param expandedNode the expandedNode to set
                 */
                setExpandedNode(expandedNode:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 * 获取父节点ID
                 * @return 父节点ID
                 */
                getParentNodeId():any;
                /**
                 * @param propagation the propagation to set
                 */
                setPropagation(propagation:boolean):void;
                /**
                 * 查看是否取消
                 *
                 * @return true（取消）or false（未取消）
                 */
                isCancel():boolean;
                /**
                 * 获取业务需要事件获取行号
                 * @return 行号
                 */
                getRowKey():number;
                /**
                 * 设置是否取消
                 *
                 * @param cancel true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
            }
            type TreeNodeEvent_T = $.java.util.EventObject & TreeNodeEvent$;
            interface TreeNodeEvent extends TreeNodeEvent_T {
            }
            interface AfterShowTipsEvent_S {
            }
            type AfterShowTipsEvent_ST = $.java.util.EventObject & AfterShowTipsEvent_S;
            interface AfterShowTipsEvent_C extends AfterShowTipsEvent_ST {
                /**
                 * 构造方法：初始化tips组件显示后事件参数
                 * @param source 事件源
                 */
                new(source:any):AfterShowTipsEvent;
            }
            interface AfterShowTipsEvent$ {
            }
            type AfterShowTipsEvent_T = $.java.util.EventObject & AfterShowTipsEvent$;
            interface AfterShowTipsEvent extends AfterShowTipsEvent_T {
            }
            interface ListboxClickListener_S {
            }
            interface ListboxClickListener_C extends ListboxClickListener_S {
            }
            interface ListboxClickListener$ {
                /**
                 * listbox 点击事件
                 */
                listboxClick(event:ListboxEvent):void;
            }
            type ListboxClickListener_T = ListboxClickListener$;
            interface ListboxClickListener extends ListboxClickListener_T {
            }
            interface FireFocusEvent_S {
            }
            type FireFocusEvent_ST = $.java.util.EventObject & FireFocusEvent_S;
            interface FireFocusEvent_C extends FireFocusEvent_ST {
                /**
                 * 构造方法：初始化输入框聚焦失焦事件参数
                 * @param source 事件源
                 */
                new(source:any):FireFocusEvent;
            }
            interface FireFocusEvent$ {
            }
            type FireFocusEvent_T = $.java.util.EventObject & FireFocusEvent$;
            interface FireFocusEvent extends FireFocusEvent_T {
            }
            interface OCREvent_S {
            }
            interface OCREvent_C extends OCREvent_S {
                /**
                 * 初始化OCR识别事件
                 * @param data OCR识别数据
                 * @param picKey 图片key
                 */
                new(data:$.java.util.Map,picKey:string):OCREvent;
            }
            interface OCREvent$ {
                /**
                 * 获取OCR识别数据
                 * @return OCR识别数据
                 */
                getData():$.java.util.Map;
                /**
                 * 获取图片key
                 * @return 图片key
                 */
                getPicKey():string;
            }
            type OCREvent_T = OCREvent$;
            interface OCREvent extends OCREvent_T {
            }
            interface SliderEvent_S {
            }
            type SliderEvent_ST = $.java.util.EventObject & SliderEvent_S;
            interface SliderEvent_C extends SliderEvent_ST {
                /**
                 * 构造方法：初始化滑动输入条事件参数
                 * @param source 滑动输入条事件参数
                 */
                new(source:any):SliderEvent;
            }
            interface SliderEvent$ {
                /**
                 * 获取滑动输入条值
                 * @return 滑动输入条值
                 */
                getValue():number[];
                /**
                 * 设置滑动输入条值
                 * @param value 滑动输入条值
                 */
                setValue(value:number[]):void;
            }
            type SliderEvent_T = $.java.util.EventObject & SliderEvent$;
            interface SliderEvent extends SliderEvent_T {
            }
            interface FilterGridF7ClickEvent_S {
            }
            type FilterGridF7ClickEvent_ST = $.java.util.EventObject & FilterGridF7ClickEvent_S;
            interface FilterGridF7ClickEvent_C extends FilterGridF7ClickEvent_ST {
                /**
                 * 构造方法：初始化通用过滤控件F7点击事件参数
                 * @param source 事件源
                 * @param fieldName 字段标识
                 */
                new(source:any,fieldName:string):FilterGridF7ClickEvent;
            }
            interface FilterGridF7ClickEvent$ {
                /**
                 * 获取字段标识
                 * @return 字段标识
                 */
                getFieldName():string;
                /**
                 * 获取实体ID
                 * @return 实体ID
                 */
                getEntityNumber():string;
                /**
                 * 是否取消该事件
                 * @return 是否取消布尔值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 设置实体ID
                 * @param entityNumber 实体ID
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置F7点击事件上下文参数
                 * @param entityId F7基础资料实体编码
                 * @param compareTypeId 比较符，枚举值
                 * @param clientType 客户端类型
                 * @param rowIndex 条件表格行号
                 */
                setF7ClickArgs(entityId:string,compareTypeId:string,clientType:number,rowIndex:number):void;
                /**
                 * 获取F7点击事件上下文参数
                 * @return 非F7点击触发时返回null
                 */
                getF7ClickArgs():FilterGridF7ClickEvent$F7ClickArgs;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消布尔值：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
            }
            type FilterGridF7ClickEvent_T = $.java.util.EventObject & FilterGridF7ClickEvent$;
            interface FilterGridF7ClickEvent extends FilterGridF7ClickEvent_T {
            }
            interface RateEvent_S {
            }
            type RateEvent_ST = $.java.util.EventObject & RateEvent_S;
            interface RateEvent_C extends RateEvent_ST {
                /**
                 * 构造方法：初始化评分事件参数
                 * @param source 评分事件参数
                 */
                new(source:any):RateEvent;
            }
            interface RateEvent$ {
                /**
                 * 获取评分值
                 * @return 评分值
                 */
                getRateScore():number;
                /**
                 * 设置评分值
                 * @param rateScore 评分值
                 */
                setRateScore(rateScore:number):void;
            }
            type RateEvent_T = $.java.util.EventObject & RateEvent$;
            interface RateEvent extends RateEvent_T {
            }
            interface ChartClickArgs_S {
            }
            interface ChartClickArgs_C extends ChartClickArgs_S {
                new():ChartClickArgs;
                new(componentType:string,seriesType:string,seriesIndex:number,dataIndex:number,color:any,data:any):ChartClickArgs;
            }
            interface ChartClickArgs$ {
                setDataIndex(dataIndex:number):void;
                setSeriesType(seriesType:string):void;
                getColor():any;
                setComponentType(componentType:string):void;
                getSeriesIndex():number;
                getDataIndex():number;
                setColor(color:any):void;
                setData(data:any):void;
                getComponentType():string;
                setSeriesIndex(seriesIndex:number):void;
                getSeriesType():string;
                getData():any;
            }
            type ChartClickArgs_T = ChartClickArgs$;
            interface ChartClickArgs extends ChartClickArgs_T {
            }
            interface ResponseEvent_S {
            }
            type ResponseEvent_ST = $.java.util.EventObject & ResponseEvent_S;
            interface ResponseEvent_C extends ResponseEvent_ST {
                /**
                 * 构造方法：客户端AJAX请求事件参数
                 * @param source 事件源
                 */
                new(source:any):ResponseEvent;
                /**
                 * 构造方法：客户端AJAX请求事件参数
                 * @param source 事件源
                 * @param type 请求或收到类型（receive和send）
                 * @param msg 消息内容
                 */
                new(source:any,type_arg:string,msg:any):ResponseEvent;
            }
            interface ResponseEvent$ {
                /**
                 * 获取消息内容
                 * @return 消息内容
                 */
                getMsg():any;
                /**
                 * 获取收到或请求类型（receive和send）
                 * @return 收到或请求类型
                 */
                getType():string;
            }
            type ResponseEvent_T = $.java.util.EventObject & ResponseEvent$;
            interface ResponseEvent extends ResponseEvent_T {
            }
            interface ActiveViewListener_S {
            }
            interface ActiveViewListener_C extends ActiveViewListener_S {
            }
            interface ActiveViewListener$ {
                /**
                 * 切换视图执行的方法
                 * @param evt 切换视图事件参数
                 */
                activeView(evt:ActiveViewEvent):void;
            }
            type ActiveViewListener_T = ActiveViewListener$;
            interface ActiveViewListener extends ActiveViewListener_T {
            }
            interface ContainerOnShowEvent_S {
            }
            type ContainerOnShowEvent_ST = $.java.util.EventObject & ContainerOnShowEvent_S;
            interface ContainerOnShowEvent_C extends ContainerOnShowEvent_ST {
                /**
                 * 构造方法：初始化容器显示事件参数
                 * @param source 事件源
                 */
                new(source:any):ContainerOnShowEvent;
            }
            interface ContainerOnShowEvent$ {
            }
            type ContainerOnShowEvent_T = $.java.util.EventObject & ContainerOnShowEvent$;
            interface ContainerOnShowEvent extends ContainerOnShowEvent_T {
            }
            interface FilterGridValueClickListener_S {
            }
            interface FilterGridValueClickListener_C extends FilterGridValueClickListener_S {
            }
            interface FilterGridValueClickListener$ {
                filterGridValueClick(event:FilterGridValueClickEvent):void;
            }
            type FilterGridValueClickListener_T = FilterGridValueClickListener$;
            interface FilterGridValueClickListener extends FilterGridValueClickListener_T {
            }
            interface ResponseListener_S {
            }
            interface ResponseListener_C extends ResponseListener_S {
            }
            interface ResponseListener$ {
                /**
                 * 客户端发送请求后事件
                 * @param evt 客户端AJAX请求事件参数
                 */
                afterSendRequest?(evt:ResponseEvent):void;
                /**
                 * 客户端收到请求响应后事件
                 * @param evt 客户端AJAX请求事件参数
                 */
                afterReceiveResponse?(evt:ResponseEvent):void;
            }
            type ResponseListener_T = ResponseListener$;
            interface ResponseListener extends ResponseListener_T {
            }
            interface ItemClickEvent_S {
            }
            type ItemClickEvent_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & ItemClickEvent_S;
            interface ItemClickEvent_C extends ItemClickEvent_ST {
                /**
                 * 构造方法：初始化控件点击事件参数
                 * @param source 事件源
                 * @param paramsMap 参数Map
                 */
                new(source:any,paramsMap:$.java.util.Map):ItemClickEvent;
                /**
                 * 构造方法：初始化控件点击事件参数
                 * @param source 事件源
                 * @param itemKey 点击项ID
                 * @param operationKey 操作key
                 */
                new(source:any,itemKey:string,operationKey:string):ItemClickEvent;
            }
            interface ItemClickEvent$ {
                /**
                 * 获取点击项ID
                 * @return 点击项ID
                 */
                getItemKey():string;
                /**
                 * 设置参数Map
                 * @param paramsMap 参数Map
                 */
                setParamsMap(paramsMap:$.java.util.Map):void;
                /**
                 * 获取操作代码
                 * @return 操作代码
                 */
                getOperationKey():string;
                /**
                 * 获取参数Map
                 * @return 参数Map
                 */
                getParamsMap():$.java.util.Map;
            }
            type ItemClickEvent_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & ItemClickEvent$;
            interface ItemClickEvent extends ItemClickEvent_T {
            }
            interface ChartClickEvent_S {
            }
            type ChartClickEvent_ST = $.java.util.EventObject & ChartClickEvent_S;
            interface ChartClickEvent_C extends ChartClickEvent_ST {
                /**
                 * 构造方法：初始化图表点击事件参数
                 * @param chart 图表
                 * @param seriesName  seriesName值
                 * @param name name值
                 * @param value value值
                 */
                new(chart:kd.bos.form.chart.Chart,seriesName:string,name:string,value:number):ChartClickEvent;
                /**
                 * 构造函数
                 * @param chart 图表
                 * @param seriesName seriesName值
                 * @param name name值
                 * @param value value值
                 * @param args 参数
                 */
                new(chart:kd.bos.form.chart.Chart,seriesName:string,name:string,value:number,args:ChartClickArgs):ChartClickEvent;
            }
            interface ChartClickEvent$ {
                /**
                 * 获取value值
                 * @return value值
                 */
                getValue():number;
                /**
                 * 设置参数
                 * @param args
                 */
                setArgs(args:ChartClickArgs):void;
                /**
                 * 获取seriesName值
                 * @return seriesName
                 */
                getSeriesName():string;
                /**
                 * 获取name值
                 * @return name值
                 */
                getName():string;
                /**
                 * 获取参数
                 *
                 * @return 点击参数
                 */
                getArgs():ChartClickArgs;
            }
            type ChartClickEvent_T = $.java.util.EventObject & ChartClickEvent$;
            interface ChartClickEvent extends ChartClickEvent_T {
            }
            interface ContainerOnShowListener_S {
            }
            interface ContainerOnShowListener_C extends ContainerOnShowListener_S {
            }
            interface ContainerOnShowListener$ {
                /**
                 * 容器显示事件
                 * @param evt 容器显示事件参数
                 */
                containerOnShow(evt:ContainerOnShowEvent):void;
            }
            type ContainerOnShowListener_T = ContainerOnShowListener$;
            interface ContainerOnShowListener extends ContainerOnShowListener_T {
            }
            interface EntryGridFetchEntryRowsEvent_S {
            }
            type EntryGridFetchEntryRowsEvent_ST = $.java.util.EventObject & EntryGridFetchEntryRowsEvent_S;
            interface EntryGridFetchEntryRowsEvent_C extends EntryGridFetchEntryRowsEvent_ST {
                /**
                 * 构造方法：翻批事件参数
                 * @param source 事件源
                 * @param collections 单据体数据包
                 * @param startIndex 当前批次的起始行号
                 */
                new(source:any,collections:$.kd.bos.dataentity.entity.DynamicObjectCollection,startIndex:number):EntryGridFetchEntryRowsEvent;
            }
            interface EntryGridFetchEntryRowsEvent$ {
                /**
                 * 获取当前批次的起始行号
                 * @return 起始行号
                 */
                getStartIndex():number;
                /**
                 * 当前内存中的分录行数据集合
                 * @return 分录行数据集合
                 */
                getCollections():$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            type EntryGridFetchEntryRowsEvent_T = $.java.util.EventObject & EntryGridFetchEntryRowsEvent$;
            interface EntryGridFetchEntryRowsEvent extends EntryGridFetchEntryRowsEvent_T {
            }
            interface HeaderCellClickListener_S {
            }
            interface HeaderCellClickListener_C extends HeaderCellClickListener_S {
            }
            interface HeaderCellClickListener$ {
                /**
                 * 列点击事件
                 * @param evt 列点击事件参数
                 */
                headerCellClick(evt:HeaderCellClickEvent):void;
            }
            type HeaderCellClickListener_T = HeaderCellClickListener$;
            interface HeaderCellClickListener extends HeaderCellClickListener_T {
            }
            interface TreeNodeDragEvent_S {
            }
            type TreeNodeDragEvent_ST = $.java.util.EventObject & TreeNodeDragEvent_S;
            interface TreeNodeDragEvent_C extends TreeNodeDragEvent_ST {
                /**
                 * 构造方法：初始化树节点拖拽事件参数
                 * @param source 事件源
                 * @param nodeId 当前节点ID
                 * @param fromParentId 源父节点ID
                 * @param toParentId  目的父节点ID
                 */
                new(source:any,nodeId:any,fromParentId:any,toParentId:any):TreeNodeDragEvent;
            }
            interface TreeNodeDragEvent$ {
                /**
                 * 获取目的父节点ID
                 * @return 目的父节点ID
                 */
                getToParentId():any;
                /**
                 * 获取源父节点ID
                 * @return 源父节点ID
                 */
                getFromParentId():any;
                /**
                 * 获取节点ID
                 * @return 节点ID
                 */
                getNodeId():any;
            }
            type TreeNodeDragEvent_T = $.java.util.EventObject & TreeNodeDragEvent$;
            interface TreeNodeDragEvent extends TreeNodeDragEvent_T {
            }
            interface CellClickListener_S {
            }
            interface CellClickListener_C extends CellClickListener_S {
            }
            interface CellClickListener$ {
                /**
                 * 单击单元格事件
                 * @param evt  事件源
                 */
                cellClick(evt:CellClickEvent):void;
                /**
                 * 单元格双击事件
                 * @param evt 事件源
                 */
                cellDoubleClick(evt:CellClickEvent):void;
            }
            type CellClickListener_T = CellClickListener$;
            interface CellClickListener extends CellClickListener_T {
            }
            interface EntryGridSetRowDataListener_S {
            }
            interface EntryGridSetRowDataListener_C extends EntryGridSetRowDataListener_S {
            }
            interface EntryGridSetRowDataListener$ {
                /**
                 * 单据体块粘贴后触发事件
                 *
                 * @param e 单据体数据赋值事件参数
                 */
                entryGridAfterSetRowData?(e:EntryGridSetRowDataEvent):void;
                /**
                 * 单据体行数据赋值
                 *
                 * @param e 单据体行数据赋值事件参数
                 */
                entryGridSetRowData?(e:EntryGridSetRowDataEvent):void;
            }
            type EntryGridSetRowDataListener_T = EntryGridSetRowDataListener$;
            interface EntryGridSetRowDataListener extends EntryGridSetRowDataListener_T {
            }
            interface InputFocusListener_S {
            }
            interface InputFocusListener_C extends InputFocusListener_S {
            }
            interface InputFocusListener$ {
                /**
                 * 输入框聚焦失焦事件
                 * @param e 输入框聚焦失焦事件参数
                 */
                inputFocus(e:FireFocusEvent):void;
            }
            type InputFocusListener_T = InputFocusListener$;
            interface InputFocusListener extends InputFocusListener_T {
            }
            interface EntryGridFilterEntryListener_S {
            }
            interface EntryGridFilterEntryListener_C extends EntryGridFilterEntryListener_S {
            }
            interface EntryGridFilterEntryListener$ {
                /**
                 * 单据体后端过滤排序前操作
                 *
                 * @param e 单据体后端过滤排序前事件参数
                 */
                beforeFilterEntry?(e:EntryGridFilterEntryEvent):void;
            }
            type EntryGridFilterEntryListener_T = EntryGridFilterEntryListener$;
            interface EntryGridFilterEntryListener extends EntryGridFilterEntryListener_T {
            }
            interface TreeMenuAddNodesEvent_S {
            }
            type TreeMenuAddNodesEvent_ST = $.java.util.EventObject & TreeMenuAddNodesEvent_S;
            interface TreeMenuAddNodesEvent_C extends TreeMenuAddNodesEvent_ST {
                /**
                 * 构造方法：初始化添加树节点事件参数
                 * @param source 事件源
                 */
                new(source:any):TreeMenuAddNodesEvent;
                /**
                 * 构造方法：初始化添加树节点事件
                 * @param source 事件源
                 * @param nodes 节点
                 */
                new(source:any,nodes:$.java.util.List):TreeMenuAddNodesEvent;
            }
            interface TreeMenuAddNodesEvent$ {
                /**
                 * 设置树节点
                 * @param nodes 树节点
                 */
                setNodes(nodes:$.java.util.List):void;
                /**
                 * 获取树节点
                 * @return 树节点
                 */
                getNodes():$.java.util.List;
            }
            type TreeMenuAddNodesEvent_T = $.java.util.EventObject & TreeMenuAddNodesEvent$;
            interface TreeMenuAddNodesEvent extends TreeMenuAddNodesEvent_T {
            }
            interface SelectRowsEventListener_S {
            }
            interface SelectRowsEventListener_C extends SelectRowsEventListener_S {
            }
            interface SelectRowsEventListener$ {
                /**
                 * 行选中事件
                 * @param evt  行选中事件参数
                 */
                selectRowsChange?(evt:SelectRowsEvent):void;
            }
            type SelectRowsEventListener_T = SelectRowsEventListener$;
            interface SelectRowsEventListener extends SelectRowsEventListener_T {
            }
            interface TreeNodeCheckListener_S {
            }
            interface TreeNodeCheckListener_C extends TreeNodeCheckListener_S {
            }
            interface TreeNodeCheckListener$ {
                /**
                 * 树节点勾选事件
                 * @param evt 树节点展开事件参数
                 */
                treeNodeCheck(evt:TreeNodeCheckEvent):void;
            }
            type TreeNodeCheckListener_T = TreeNodeCheckListener$;
            interface TreeNodeCheckListener extends TreeNodeCheckListener_T {
            }
            interface PullRefreshEvent_S {
            }
            type PullRefreshEvent_ST = $.java.util.EventObject & PullRefreshEvent_S;
            interface PullRefreshEvent_C extends PullRefreshEvent_ST {
                /**
                 * 构造方法：初始化移动端表单卡片单据体下拉事件参数
                 * @param source 事件源
                 */
                new(source:any):PullRefreshEvent;
            }
            interface PullRefreshEvent$ {
            }
            type PullRefreshEvent_T = $.java.util.EventObject & PullRefreshEvent$;
            interface PullRefreshEvent extends PullRefreshEvent_T {
            }
            interface EntryGridColAllCheckedListener_S {
            }
            interface EntryGridColAllCheckedListener_C extends EntryGridColAllCheckedListener_S {
            }
            interface EntryGridColAllCheckedListener$ {
                /**
                 * 单据体表头批量选择框事件接口
                 *
                 * @param e 单据体表头批量选择框事件参数
                 */
                entryGridColAllChecked?(e:EntryGridColAllCheckedEvent):void;
            }
            type EntryGridColAllCheckedListener_T = EntryGridColAllCheckedListener$;
            interface EntryGridColAllCheckedListener extends EntryGridColAllCheckedListener_T {
            }
            interface SegmentedControlSelectEvent_S {
            }
            type SegmentedControlSelectEvent_ST = $.java.util.EventObject & SegmentedControlSelectEvent_S;
            interface SegmentedControlSelectEvent_C extends SegmentedControlSelectEvent_ST {
                /**
                 * 初始化分段器选择事件参数
                 * @param source 事件源
                 * @param segmentKey 分段key
                 */
                new(source:any,segmentKey:string):SegmentedControlSelectEvent;
            }
            interface SegmentedControlSelectEvent$ {
                /**
                 * 获取分段key
                 * @return 分段key
                 */
                getSegmentKey():string;
                /**
                 * 设置分段key
                 * @param segmentKey 分段key
                 */
                setSegmentKey(segmentKey:string):void;
            }
            type SegmentedControlSelectEvent_T = $.java.util.EventObject & SegmentedControlSelectEvent$;
            interface SegmentedControlSelectEvent extends SegmentedControlSelectEvent_T {
            }
            interface MobileSearchTextChangeListener_S {
            }
            interface MobileSearchTextChangeListener_C extends MobileSearchTextChangeListener_S {
            }
            interface MobileSearchTextChangeListener$ {
                /**
                 * 移动端搜索控件文本输入事件
                 * @param mobileSearchTextChangeEvent 事件参数
                 */
                click(mobileSearchTextChangeEvent:MobileSearchTextChangeEvent):void;
            }
            type MobileSearchTextChangeListener_T = MobileSearchTextChangeListener$;
            interface MobileSearchTextChangeListener extends MobileSearchTextChangeListener_T {
            }
            interface PullRefreshListener_S {
            }
            interface PullRefreshListener_C extends PullRefreshListener_S {
            }
            interface PullRefreshListener$ {
                /**
                 * 移动端表单卡片单据体下拉事件
                 * @param evt 事件参数
                 */
                pullRefesh(evt:PullRefreshEvent):void;
            }
            type PullRefreshListener_T = PullRefreshListener$;
            interface PullRefreshListener extends PullRefreshListener_T {
            }
            interface SegmentedControlSelectListener_S {
            }
            interface SegmentedControlSelectListener_C extends SegmentedControlSelectListener_S {
            }
            interface SegmentedControlSelectListener$ {
                /**
                 * 分段器选择事件
                 * @param evt 分段器选择事件参数
                 */
                segmentedControlSelected(evt:SegmentedControlSelectEvent):void;
            }
            type SegmentedControlSelectListener_T = SegmentedControlSelectListener$;
            interface SegmentedControlSelectListener extends SegmentedControlSelectListener_T {
            }
            interface TreeNodeQueryListener_S {
            }
            interface TreeNodeQueryListener_C extends TreeNodeQueryListener_S {
            }
            interface TreeNodeQueryListener$ {
                /**
                 * 树节点请求事件
                 * @param evt 树节点展开事件参数
                 */
                queryTreeNodeChildren(evt:TreeNodeEvent):void;
            }
            type TreeNodeQueryListener_T = TreeNodeQueryListener$;
            interface TreeNodeQueryListener extends TreeNodeQueryListener_T {
            }
            interface HeaderCellClickEvent_S {
            }
            type HeaderCellClickEvent_ST = $.java.util.EventObject & HeaderCellClickEvent_S;
            interface HeaderCellClickEvent_C extends HeaderCellClickEvent_ST {
                /**
                 * 构造方法：初始化列点击事件参数
                 * @param source 事件源
                 */
                new(source:any):HeaderCellClickEvent;
                /**
                 * 构造方法：初始化列点击事件参数
                 * @param source 事件源
                 * @param fieldKey 单元格的key
                 */
                new(source:any,fieldKey:string):HeaderCellClickEvent;
            }
            interface HeaderCellClickEvent$ {
                /**
                 * 获取单元格的key
                 * @return 单元格的key
                 */
                getFieldKey():string;
            }
            type HeaderCellClickEvent_T = $.java.util.EventObject & HeaderCellClickEvent$;
            interface HeaderCellClickEvent extends HeaderCellClickEvent_T {
            }
            interface TabSelectListener_S {
            }
            interface TabSelectListener_C extends TabSelectListener_S {
            }
            interface TabSelectListener$ {
                /**
                 * 页签选择事件
                 * @param evt 页签选择事件参数
                 */
                tabSelected(evt:TabSelectEvent):void;
            }
            type TabSelectListener_T = TabSelectListener$;
            interface TabSelectListener extends TabSelectListener_T {
            }
            interface MobileSearchFocusListener_S {
            }
            interface MobileSearchFocusListener_C extends MobileSearchFocusListener_S {
            }
            interface MobileSearchFocusListener$ {
                /**
                 * 移动端搜索聚焦
                 */
                focus():void;
            }
            type MobileSearchFocusListener_T = MobileSearchFocusListener$;
            interface MobileSearchFocusListener extends MobileSearchFocusListener_T {
            }
            interface MobileSearchTextChangeEvent_S {
            }
            type MobileSearchTextChangeEvent_ST = $.java.util.EventObject & MobileSearchTextChangeEvent_S;
            interface MobileSearchTextChangeEvent_C extends MobileSearchTextChangeEvent_ST {
                /**
                 * 构造方法：初始化移动端搜索控件文本输入事件参数
                 * @param source 事件源
                 */
                new(source:any):MobileSearchTextChangeEvent;
                /**
                 * 构造方法：初始化移动端搜索控件文本输入事件参数
                 * @param source 事件源
                 * @param text 输入的文本
                 */
                new(source:any,text:string):MobileSearchTextChangeEvent;
            }
            interface MobileSearchTextChangeEvent$ {
                /**
                 * 获取输入的文本
                 * @return 输入的文本
                 */
                getText():string;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 设置输入的文本
                 * @param text 输入的文本
                 */
                setText(text:string):void;
                /**
                 * 设置是否取消该事件值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
            }
            type MobileSearchTextChangeEvent_T = $.java.util.EventObject & MobileSearchTextChangeEvent$;
            interface MobileSearchTextChangeEvent extends MobileSearchTextChangeEvent_T {
            }
            interface EntryGridBindDataEvent_S {
            }
            type EntryGridBindDataEvent_ST = $.java.util.EventObject & EntryGridBindDataEvent_S;
            interface EntryGridBindDataEvent_C extends EntryGridBindDataEvent_ST {
                /**
                 * 构造方法：初始化单据体表格绑定数据事件参数
                 * @param source 事件源
                 * @param rows 当前页单据体数据行
                 * @param data 单据体数据包
                 * @param startIndex 当前页开始行号
                 */
                new(source:any,rows:$.java.util.List,data:$.java.util.Map,startIndex:number):EntryGridBindDataEvent;
            }
            interface EntryGridBindDataEvent$ {
                /**
                 * 获取本页开始行号；插件需要使用当前行号减去startIndex，得到前端数据行号
                 * @return 本页开始行号
                 */
                getStartIndex():number;
                /**
                 * 设置是否修改rowDataEntity重新加载rows
                 *  @param reloadRows 是否重新加载布尔值：false-不重新加载，true-重新加载
                 */
                setReloadRows(reloadRows:boolean):void;
                /**
                 * 获取需要发给前端的单据体数据包
                 * @return 单据体数据包
                 */
                getData():$.java.util.Map;
                /**
                 * 返回是否重新加载rows
                 * @return   是否重新加载布尔值
                 */
                isReloadRows():boolean;
                /**
                 * 获取当前页显示的单据体数据行
                 * @return 当前页显示的单据体数据行
                 */
                getRows():$.java.util.List;
            }
            type EntryGridBindDataEvent_T = $.java.util.EventObject & EntryGridBindDataEvent$;
            interface EntryGridBindDataEvent extends EntryGridBindDataEvent_T {
            }
            interface TreeNodeDragListener_S {
            }
            interface TreeNodeDragListener_C extends TreeNodeDragListener_S {
            }
            interface TreeNodeDragListener$ {
                /**
                 * 树节点拖拽事件
                 * @param evt 树节点拖拽事件参数
                 */
                treeNodeDragged(evt:TreeNodeDragEvent):void;
            }
            type TreeNodeDragListener_T = TreeNodeDragListener$;
            interface TreeNodeDragListener extends TreeNodeDragListener_T {
            }
            interface SearchEnterEvent_S {
            }
            type SearchEnterEvent_ST = $.java.util.EventObject & SearchEnterEvent_S;
            interface SearchEnterEvent_C extends SearchEnterEvent_ST {
                /**
                 * 构造方法：初始化搜索查询事件参数
                 * @param source 事件源
                 */
                new(source:any):SearchEnterEvent;
                /**
                 * 构造方法：初始化搜索查询事件参数
                 * @param source 事件源
                 * @param searchFields  获取前端传递过来的搜索内容，未解析
                 */
                new(source:any,searchFields:$.java.util.List):SearchEnterEvent;
                /**
                 * 构造方法：初始化搜索查询事件参数
                 * @param source 事件源
                 * @param text 用户录入的搜索文本内容
                 */
                new(source:any,text:string):SearchEnterEvent;
            }
            interface SearchEnterEvent$ {
                /**
                 * 获取用户录入的搜索文本内容
                 * @return 用户录入的搜索文本内容
                 */
                getText():string;
                /**
                 * 获取前端传递过来的搜索内容，未解析
                 * @return 搜索内容集合
                 */
                getSearchFields():$.java.util.List;
                /**
                 * 设置用户录入的搜索文本内容
                 * @param text 用户录入的搜索文本内容
                 */
                setText(text:string):void;
                /**
                 * 设置前端传递过来的搜索内容，未解析
                 * @param searchFields 搜索内容集合
                 */
                setSearchFields(searchFields:$.java.util.List):void;
                /**
                 * 返回多字段模糊查询时，用户选择的搜索字段
                 * @return 搜索字段集合
                 */
                getFieldNames():$.java.util.List;
            }
            type SearchEnterEvent_T = $.java.util.EventObject & SearchEnterEvent$;
            interface SearchEnterEvent extends SearchEnterEvent_T {
            }
            interface ProgresssListener_S {
            }
            interface ProgresssListener_C extends ProgresssListener_S {
            }
            interface ProgresssListener$ {
                /**
                 * 进度条处理事件
                 * @param evt 事件参数
                 */
                onProgress(evt:ProgressEvent):void;
            }
            type ProgresssListener_T = ProgresssListener$;
            interface ProgresssListener extends ProgresssListener_T {
            }
            interface SwitchModeEvent_S {
            }
            type SwitchModeEvent_ST = $.java.util.EventObject & SwitchModeEvent_S;
            interface SwitchModeEvent_C extends SwitchModeEvent_ST {
                new(arg0:any):SwitchModeEvent;
            }
            interface SwitchModeEvent$ {
                setSearchClickEvent(arg0:SearchClickEvent):void;
                getSearchClickEvent():SearchClickEvent;
            }
            type SwitchModeEvent_T = $.java.util.EventObject & SwitchModeEvent$;
            interface SwitchModeEvent extends SwitchModeEvent_T {
            }
            interface BaseDataColumnDependFieldSetEvent_S {
            }
            type BaseDataColumnDependFieldSetEvent_ST = $.java.util.EventObject & BaseDataColumnDependFieldSetEvent_S;
            interface BaseDataColumnDependFieldSetEvent_C extends BaseDataColumnDependFieldSetEvent_ST {
                /**
                 * 构造方法：初始化设置常用过滤的基础资料依赖字段事件参数
                 * @param source 事件源
                 */
                new(source:any):BaseDataColumnDependFieldSetEvent;
            }
            interface BaseDataColumnDependFieldSetEvent$ {
                /**
                 * 获取依赖字段map关联关系
                 * @return 依赖字段map关联关系
                 */
                getDependField():$.java.util.Map;
                /**
                 * 获取常用过滤依赖字段
                 * @param fieldName 字段名
                 * @param dependFieldName 依赖的字段名
                 * @param joinPropertyName 基础资料之间的外键关系字段
                 */
                addDependField(fieldName:string,dependFieldName:string,joinPropertyName:string):void;
            }
            type BaseDataColumnDependFieldSetEvent_T = $.java.util.EventObject & BaseDataColumnDependFieldSetEvent$;
            interface BaseDataColumnDependFieldSetEvent extends BaseDataColumnDependFieldSetEvent_T {
            }
            interface FilterContainerInitListener_S {
            }
            interface FilterContainerInitListener_C extends FilterContainerInitListener_S {
            }
            interface FilterContainerInitListener$ {
                /**
                 * 容器过滤条件初始化事件
                 * @param evt 事件参数
                 */
                filterContainerInit(evt:FilterContainerInitEvent):void;
            }
            type FilterContainerInitListener_T = FilterContainerInitListener$;
            interface FilterContainerInitListener extends FilterContainerInitListener_T {
            }
            interface MobFilterSortInitEvent_S {
            }
            type MobFilterSortInitEvent_ST = $.java.util.EventObject & MobFilterSortInitEvent_S;
            interface MobFilterSortInitEvent_C extends MobFilterSortInitEvent_ST {
                /**
                 * 构造方法：初始化过滤容器初始化事件参数
                 * @param source 事件源
                 */
                new(source:any):MobFilterSortInitEvent;
                /**
                 * 构造方法：初始化过滤容器初始化事件参数
                 * @param source 事件源
                 * @param filterColumns 过滤字段列表
                 * @param sortColumns 排序字段列表
                 */
                new(source:any,filterColumns:$.java.util.List,sortColumns:$.java.util.List):MobFilterSortInitEvent;
            }
            interface MobFilterSortInitEvent$ {
                /**
                 * 通过字段名获取过滤字段,如果字段名重复，按照视图摆放顺序，取第一个
                 *
                 * @param fieldName 字段名
                 * @return 过滤字段
                 */
                getFilterColumn(fieldName:string):kd.bos.filter.FilterColumn;
                /**
                 * 添加移动端排序列
                 *
                 * @param mobSortColumn  移动端排序列
                 */
                addSortColumn(mobSortColumn:kd.bos.filter.mcontrol.MobSortColumn):void;
                /**
                 * 添加过滤字段
                 *
                 * @param filterColumn 过滤字段
                 */
                addFilterColumn(filterColumn:kd.bos.filter.FilterColumn):void;
                /**
                 * 获取过滤字段
                 * @return 过滤字段
                 */
                getFilterColumns():$.java.util.List;
                /**
                 * 通过字段名获取过滤字段,存在多个重复字段名的情况下使用
                 *
                 * @param fieldName 字段名
                 * @return 过滤字段
                 */
                getFilterColumns(fieldName:string):$.java.util.List;
                /**
                 * 获取排序字段
                 * @return 排序字段
                 */
                getSortColumns():$.java.util.List;
            }
            type MobFilterSortInitEvent_T = $.java.util.EventObject & MobFilterSortInitEvent$;
            interface MobFilterSortInitEvent extends MobFilterSortInitEvent_T {
            }
            interface MobFilterSortInitListener_S {
            }
            interface MobFilterSortInitListener_C extends MobFilterSortInitListener_S {
            }
            interface MobFilterSortInitListener$ {
                /**
                 * 过滤容器初始化事件
                 * @param evt 事件参数
                 */
                mobFilterSortInit(evt:MobFilterSortInitEvent):void;
            }
            type MobFilterSortInitListener_T = MobFilterSortInitListener$;
            interface MobFilterSortInitListener extends MobFilterSortInitListener_T {
            }
            interface MobileSearchInitEvent_S {
            }
            type MobileSearchInitEvent_ST = $.java.util.EventObject & MobileSearchInitEvent_S;
            interface MobileSearchInitEvent_C extends MobileSearchInitEvent_ST {
                /**
                 * 构造方法：初始化移动端搜索控件初始化事件参数
                 * @param source 事件源
                 */
                new(source:any):MobileSearchInitEvent;
                /**
                 * 构造方法：初始化移动端搜索控件初始化事件参数
                 * @param source 事件源
                 * @param filterColumns 过滤字段列表
                 */
                new(source:any,filterColumns:$.java.util.List):MobileSearchInitEvent;
            }
            interface MobileSearchInitEvent$ {
                /**
                 * 获取过滤字段列表
                 * @return 过滤字段列表
                 */
                getFilterColumns():$.java.util.List;
            }
            type MobileSearchInitEvent_T = $.java.util.EventObject & MobileSearchInitEvent$;
            interface MobileSearchInitEvent extends MobileSearchInitEvent_T {
            }
            interface MobileSearchInitListener_S {
            }
            interface MobileSearchInitListener_C extends MobileSearchInitListener_S {
            }
            interface MobileSearchInitListener$ {
                /**
                 * 移动端搜索控件初始化事件
                 * @param evt 移动端搜索控件初始化事件参数
                 */
                mobileSearchInit(evt:MobileSearchInitEvent):void;
            }
            type MobileSearchInitListener_T = MobileSearchInitListener$;
            interface MobileSearchInitListener extends MobileSearchInitListener_T {
            }
            interface BaseDataColumnDependFieldSetListener_S {
            }
            interface BaseDataColumnDependFieldSetListener_C extends BaseDataColumnDependFieldSetListener_S {
            }
            interface BaseDataColumnDependFieldSetListener$ {
                /**
                 * 设置常用过滤的基础资料依赖字段事件
                 * @param baseDataColumnDependFieldSetEvent 常用过滤的基础资料依赖字段事件
                 */
                dependFieldSet(baseDataColumnDependFieldSetEvent:BaseDataColumnDependFieldSetEvent):void;
            }
            type BaseDataColumnDependFieldSetListener_T = BaseDataColumnDependFieldSetListener$;
            interface BaseDataColumnDependFieldSetListener extends BaseDataColumnDependFieldSetListener_T {
            }
            interface SwitchModeListener_S {
            }
            interface SwitchModeListener_C extends SwitchModeListener_S {
            }
            interface SwitchModeListener$ {
                switchMode(arg0:SwitchModeEvent):void;
            }
            type SwitchModeListener_T = SwitchModeListener$;
            interface SwitchModeListener extends SwitchModeListener_T {
            }
            interface FilterContainerInitEvent_S {
            }
            type FilterContainerInitEvent_ST = $.java.util.EventObject & FilterContainerInitEvent_S;
            interface FilterContainerInitEvent_C extends FilterContainerInitEvent_ST {
                /**
                 * 构造方法：初始化容器过滤条件初始化事件参数
                 * @param source 事件源
                 * @param fastSearchGridView 快速过滤视图
                 * @param filterGridView 常用过滤视图
                 * @param schemeFilterView 方案过滤视图
                 * @param fastFilterColumns 快速过滤字段
                 * @param commonFilterColumns 常用过滤字段
                 * @param schemeFilterColumns 方案过滤字段
                 */
                new(source:any,fastSearchGridView:kd.bos.filter.FastSearchGridView,filterGridView:kd.bos.filter.FilterGridView,schemeFilterView:kd.bos.filter.SchemeFilterView,fastFilterColumns:$.java.util.List,commonFilterColumns:$.java.util.List,schemeFilterColumns:$.java.util.List):FilterContainerInitEvent;
            }
            interface FilterContainerInitEvent$ {
                /**
                 * 通过字段名获取过滤字段,存在多个重复字段名的情况下使用
                 *
                 * @param fieldName  字段名
                 * @return 过滤字段
                 */
                getFilterColumns(fieldName:string):$.java.util.List;
                /**
                 * 通过字段名获取过滤字段,如果字段名重复，按照视图摆放顺序，取第一个
                 *
                 * @param fieldName 字段名
                 * @return 过滤字段
                 */
                getFilterColumn(fieldName:string):kd.bos.filter.FilterColumn;
                /**
                 * 获取方案过滤字段
                 *
                 * @return 方案过滤字段
                 */
                getSchemeFilterColumns():$.java.util.List;
                /**
                 * 获取快速过滤字段
                 *
                 * @return 快速过滤字段
                 */
                getFastFilterColumns():$.java.util.List;
                /**
                 * 添加过滤字段
                 *
                 * @param filterColumn 过滤字段
                 */
                addFilterColumn(filterColumn:kd.bos.filter.FilterColumn):void;
                /**
                 * 获取常用过滤字段
                 *
                 * @return 常用过滤字段
                 */
                getCommonFilterColumns():$.java.util.List;
            }
            type FilterContainerInitEvent_T = $.java.util.EventObject & FilterContainerInitEvent$;
            interface FilterContainerInitEvent extends FilterContainerInitEvent_T {
            }
            interface AttachmentDownloadListener_S {
            }
            interface AttachmentDownloadListener_C extends AttachmentDownloadListener_S {
            }
            interface AttachmentDownloadListener$ {
                /**
                 * 下载后事件（文件已从服务器下载下来）
                 */
                attachmentAfterDownload?(evt:AttachmentDownLoadEvent):void;
            }
            type AttachmentDownloadListener_T = AttachmentDownloadListener$;
            interface AttachmentDownloadListener extends AttachmentDownloadListener_T {
            }
            interface BeforeAttachmentRemoveEvent_S {
            }
            type BeforeAttachmentRemoveEvent_ST = $.java.util.EventObject & BeforeAttachmentRemoveEvent_S;
            interface BeforeAttachmentRemoveEvent_C extends BeforeAttachmentRemoveEvent_ST {
                new(source:any,attachemnt:$.java.util.Map):BeforeAttachmentRemoveEvent;
            }
            interface BeforeAttachmentRemoveEvent$ {
                setAttachemnt(attachemnt:$.java.util.Map):void;
                setCancel(cancel:boolean):void;
                setMsg(msg:string):void;
                getAttachemnt():$.java.util.Map;
                getMsg():string;
                isCancel():boolean;
            }
            type BeforeAttachmentRemoveEvent_T = $.java.util.EventObject & BeforeAttachmentRemoveEvent$;
            interface BeforeAttachmentRemoveEvent extends BeforeAttachmentRemoveEvent_T {
            }
            interface AttachmentPreviewEvent_S {
            }
            type AttachmentPreviewEvent_ST = $.java.util.EventObject & AttachmentPreviewEvent_S;
            interface AttachmentPreviewEvent_C extends AttachmentPreviewEvent_ST {
                new(source:any,targetAttachments:any):AttachmentPreviewEvent;
            }
            interface AttachmentPreviewEvent$ {
                getTargetAttachments():any;
            }
            type AttachmentPreviewEvent_T = $.java.util.EventObject & AttachmentPreviewEvent$;
            interface AttachmentPreviewEvent extends AttachmentPreviewEvent_T {
            }
            interface AttachmentDownLoadEvent_S {
            }
            type AttachmentDownLoadEvent_ST = $.java.util.EventObject & AttachmentDownLoadEvent_S;
            interface AttachmentDownLoadEvent_C extends AttachmentDownLoadEvent_ST {
            }
            interface AttachmentDownLoadEvent$ {
                /**
                 * 获取附件信息集合
                 * @return 附件信息集合
                 */
                getTargetAttachments():any;
            }
            type AttachmentDownLoadEvent_T = $.java.util.EventObject & AttachmentDownLoadEvent$;
            interface AttachmentDownLoadEvent extends AttachmentDownLoadEvent_T {
            }
            interface BeforeAttachmentUploadEvent_S {
            }
            type BeforeAttachmentUploadEvent_ST = $.java.util.EventObject & BeforeAttachmentUploadEvent_S;
            interface BeforeAttachmentUploadEvent_C extends BeforeAttachmentUploadEvent_ST {
                new(source:any,sourceAttachments:$.java.util.List):BeforeAttachmentUploadEvent;
            }
            interface BeforeAttachmentUploadEvent$ {
                setMsg(msg:string):void;
                getSourceAttachments():$.java.util.List;
                setCancelAttachments(cancelAttachments:$.java.util.List):void;
                getCancelAttachments():$.java.util.List;
                isCancel():boolean;
                setSourceAttachments(sourceAttachments:$.java.util.List):void;
                getMsg():string;
                setCancel(cancel:boolean):void;
            }
            type BeforeAttachmentUploadEvent_T = $.java.util.EventObject & BeforeAttachmentUploadEvent$;
            interface BeforeAttachmentUploadEvent extends BeforeAttachmentUploadEvent_T {
            }
            interface BeforeAttachmentRemoveListener_S {
            }
            interface BeforeAttachmentRemoveListener_C extends BeforeAttachmentRemoveListener_S {
            }
            interface BeforeAttachmentRemoveListener$ {
                /**
                 * 附件移除前时间监听方法
                 * @param evt 附件删除前监听事件
                 */
                beforeAttachmentRemove(evt:BeforeAttachmentRemoveEvent):void;
            }
            type BeforeAttachmentRemoveListener_T = BeforeAttachmentRemoveListener$;
            interface BeforeAttachmentRemoveListener extends BeforeAttachmentRemoveListener_T {
            }
            interface AttachmentMarkEvent_S {
            }
            type AttachmentMarkEvent_ST = $.java.util.EventObject & AttachmentMarkEvent_S;
            interface AttachmentMarkEvent_C extends AttachmentMarkEvent_ST {
                new(source:any,uid:string,description:string):AttachmentMarkEvent;
            }
            interface AttachmentMarkEvent$ {
                setDescription(description:string):void;
                setUid(uid:string):void;
                getUid():string;
                getDescription():string;
            }
            type AttachmentMarkEvent_T = $.java.util.EventObject & AttachmentMarkEvent$;
            interface AttachmentMarkEvent extends AttachmentMarkEvent_T {
            }
            interface UploadResultEvent_S {
            }
            type UploadResultEvent_ST = $.java.util.EventObject & UploadResultEvent_S;
            interface UploadResultEvent_C extends UploadResultEvent_ST {
            }
            interface UploadResultEvent$ {
                /**
                 * 获取附件上传结果信息
                 * @return
                 */
                getAttachResultInfo():$.java.util.List;
            }
            type UploadResultEvent_T = $.java.util.EventObject & UploadResultEvent$;
            interface UploadResultEvent extends UploadResultEvent_T {
            }
            interface AttachmentMarkListener_S {
            }
            interface AttachmentMarkListener_C extends AttachmentMarkListener_S {
            }
            interface AttachmentMarkListener$ {
                /**
                 * 上传后（已上传文件服务器，保存附件的备注信息）
                 * @param evt
                 */
                mark?(evt:AttachmentMarkEvent):void;
            }
            type AttachmentMarkListener_T = AttachmentMarkListener$;
            interface AttachmentMarkListener extends AttachmentMarkListener_T {
            }
            interface AttachmentOperaClickListener_S {
            }
            interface AttachmentOperaClickListener_C extends AttachmentOperaClickListener_S {
            }
            interface AttachmentOperaClickListener$ {
                attachmentOperaClick?(e:AttachmentOperaClickEvent):void;
            }
            type AttachmentOperaClickListener_T = AttachmentOperaClickListener$;
            interface AttachmentOperaClickListener extends AttachmentOperaClickListener_T {
            }
            interface BeforeAttachmentUploadListener_S {
            }
            interface BeforeAttachmentUploadListener_C extends BeforeAttachmentUploadListener_S {
            }
            interface BeforeAttachmentUploadListener$ {
                /**
                 * 附件上传前时间监听方法
                 * @param evt 附件上传前监听事件
                 */
                beforeAttachmentUpload(evt:BeforeAttachmentUploadEvent):void;
            }
            type BeforeAttachmentUploadListener_T = BeforeAttachmentUploadListener$;
            interface BeforeAttachmentUploadListener extends BeforeAttachmentUploadListener_T {
            }
            interface AttachmentResultListener_S {
            }
            interface AttachmentResultListener_C extends AttachmentResultListener_S {
            }
            interface AttachmentResultListener$ {
                uploadResult?(e:UploadResultEvent):void;
            }
            type AttachmentResultListener_T = AttachmentResultListener$;
            interface AttachmentResultListener extends AttachmentResultListener_T {
            }
            interface AttachmentPreviewListener_S {
            }
            interface AttachmentPreviewListener_C extends AttachmentPreviewListener_S {
            }
            interface AttachmentPreviewListener$ {
                /**
                 * 附件预览后的事件
                 */
                attachmentAfterPreview?(evt:AttachmentPreviewEvent):void;
            }
            type AttachmentPreviewListener_T = AttachmentPreviewListener$;
            interface AttachmentPreviewListener extends AttachmentPreviewListener_T {
            }
            interface AttachmentOperaClickEvent_S {
            }
            type AttachmentOperaClickEvent_ST = $.java.util.EventObject & AttachmentOperaClickEvent_S;
            interface AttachmentOperaClickEvent_C extends AttachmentOperaClickEvent_ST {
                new(source:any,operaKey:string,attachmentInfo:any):AttachmentOperaClickEvent;
            }
            interface AttachmentOperaClickEvent$ {
                getOperaKey():string;
                getAttachmentInfo():any;
            }
            type AttachmentOperaClickEvent_T = $.java.util.EventObject & AttachmentOperaClickEvent$;
            interface AttachmentOperaClickEvent extends AttachmentOperaClickEvent_T {
            }
            interface PropertyListener_S {
            }
            interface PropertyListener_C extends PropertyListener_S {
            }
            interface PropertyListener$ {
                beforeDesignerBarClick?(arg0:PropertyEvent):void;
                openEmbedForm?(arg0:PropertyEvent):void;
                click(arg0:PropertyEvent):void;
                getPropertyAlias(arg0:PropertyEvent):void;
                afterSetProperty?(arg0:PropertyEvent):void;
                designerTypeChange?(arg0:PropertyEvent):void;
                designerBarClick?(arg0:PropertyEvent):void;
            }
            type PropertyListener_T = PropertyListener$;
            interface PropertyListener extends PropertyListener_T {
            }
            interface PropertyEvent_S {
            }
            type PropertyEvent_ST = $.java.util.EventObject & PropertyEvent_S;
            interface PropertyEvent_C extends PropertyEvent_ST {
                new(arg0:any,arg1:string,arg2:string,arg3:string,arg4:$.java.util.Map):PropertyEvent;
            }
            interface PropertyEvent$ {
                getItemId():string;
                getPropertName():string;
                getMetaType():string;
                getParam():$.java.util.Map;
                getItemIdList():$.java.util.List;
                setItemIdList(arg0:$.java.util.List):void;
            }
            type PropertyEvent_T = $.java.util.EventObject & PropertyEvent$;
            interface PropertyEvent extends PropertyEvent_T {
            }
        }
        namespace kd.bos.form.control.events.filter{
            interface FilterSchemeDto_S {
            }
            interface FilterSchemeDto_C extends FilterSchemeDto_S {
                /**
                 * 构造函数
                 *
                 * @param filterSchemeRows 方案数据行
                 * @param fixed            是否为全局方案
                 * @param share            是否为分享的方案
                 */
                new(filterSchemeRows:$.java.util.List,fixed:boolean,share:boolean):FilterSchemeDto;
            }
            interface FilterSchemeDto$ {
            }
            type FilterSchemeDto_T = FilterSchemeDto$;
            interface FilterSchemeDto extends FilterSchemeDto_T {
            }
            interface SchemeValidateListener_S {
            }
            interface SchemeValidateListener_C extends SchemeValidateListener_S {
            }
            interface SchemeValidateListener$ {
            }
            type SchemeValidateListener_T = SchemeValidateListener$;
            interface SchemeValidateListener extends SchemeValidateListener_T {
            }
            interface FilterSchemeRow_S {
            }
            interface FilterSchemeRow_C extends FilterSchemeRow_S {
                /**
                 * 构造函数
                 *
                 * @param fieldName       字段名
                 * @param compareTypeEnum 比较符
                 * @param values          值
                 * @param left            左括号
                 * @param right           右括号
                 * @param logicOperate    逻辑比较符
                 * @param ids             基础资料Id集合
                 */
                new(fieldName:string,compareTypeEnum:$.kd.bos.entity.filter.CompareTypeEnum,values:$.java.util.List,left:string,right:string,logicOperate:$.kd.bos.entity.filter.LogicOperate,ids:$.java.util.List):FilterSchemeRow;
            }
            interface FilterSchemeRow$ {
            }
            type FilterSchemeRow_T = FilterSchemeRow$;
            interface FilterSchemeRow extends FilterSchemeRow_T {
            }
        }
        namespace kd.bos.form.control.events.webOffice{
            interface WebOfficeCloseListener_S {
            }
            interface WebOfficeCloseListener_C extends WebOfficeCloseListener_S {
            }
            interface WebOfficeCloseListener$ {
                /**
                 * 关闭前
                 * @param event
                 */
                afterClosed(event:kd.bos.form.control.events.webOffice.event.WebOfficeAfterClosedEvent):void;
            }
            type WebOfficeCloseListener_T = WebOfficeCloseListener$;
            interface WebOfficeCloseListener extends WebOfficeCloseListener_T {
            }
            interface WebOfficeDataListener_S {
            }
            interface WebOfficeDataListener_C extends WebOfficeDataListener_S {
            }
            interface WebOfficeDataListener$ {
                /**
                 * 获取文档变动检查结果回调
                 * @param event
                 */
                onGetDocChangeCheckResult(event:kd.bos.form.control.events.webOffice.event.WebOfficeDocChangeEvent):void;
                /**
                 * 获取当前文档打开状态
                 * @param event
                 */
                onSendOpenStatus(event:kd.bos.form.control.events.webOffice.event.WebOfficeOpenStatusEvent):void;
                /**
                 * 获取书签检查结果回调
                 * @param event
                 */
                onGetBookmarkCheckResult(event:kd.bos.form.control.events.webOffice.event.WebOfficeBookmarkCheckEvent):void;
                /**
                 * 自定义参数回传
                 *
                 * @param event 事件
                 */
                onGetCustomParam?(event:kd.bos.form.control.events.webOffice.event.WebOfficeCustomEvent):void;
                /**
                 * 按书签获取文本结果回调
                 * @param event
                 */
                onGetTextByBookmark(event:kd.bos.form.control.events.webOffice.event.WebOfficeBookmarkValueEvent):void;
                /**
                 * 获取所有复选框id回调
                 * @param event
                 */
                onGetAllCheckBoxes(event:kd.bos.form.control.events.webOffice.event.WebOfficeCheckboxEvent):void;
                /**
                 * 是否修订
                 * @param event
                 */
                onIsFieldRevise(event:kd.bos.form.control.events.webOffice.event.WebOfficeIsFieldReviseEvent):void;
                /**
                 * 获取所有书签回调
                 * @param event
                 */
                onGetAllBookmarks(event:kd.bos.form.control.events.webOffice.event.WebOfficeBookmarkEvent):void;
            }
            type WebOfficeDataListener_T = WebOfficeDataListener$;
            interface WebOfficeDataListener extends WebOfficeDataListener_T {
            }
        }
        namespace kd.bos.form.control.events.webOffice.event{
            interface WebOfficeCustomEvent_S {
            }
            type WebOfficeCustomEvent_ST = $.java.util.EventObject & WebOfficeCustomEvent_S;
            interface WebOfficeCustomEvent_C extends WebOfficeCustomEvent_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @param data 透传的数据
                 */
                new(source:any,data:$.java.util.Map):WebOfficeCustomEvent;
            }
            interface WebOfficeCustomEvent$ {
                setData(data:$.java.util.Map):void;
                getData():$.java.util.Map;
            }
            type WebOfficeCustomEvent_T = $.java.util.EventObject & WebOfficeCustomEvent$;
            interface WebOfficeCustomEvent extends WebOfficeCustomEvent_T {
            }
            interface WebOfficeAfterClosedEvent_S {
            }
            type WebOfficeAfterClosedEvent_ST = $.java.util.EventObject & WebOfficeAfterClosedEvent_S;
            interface WebOfficeAfterClosedEvent_C extends WebOfficeAfterClosedEvent_ST {
                new(source:any):WebOfficeAfterClosedEvent;
            }
            interface WebOfficeAfterClosedEvent$ {
                setCancel(cancel:boolean):void;
                isCancel():boolean;
            }
            type WebOfficeAfterClosedEvent_T = $.java.util.EventObject & WebOfficeAfterClosedEvent$;
            interface WebOfficeAfterClosedEvent extends WebOfficeAfterClosedEvent_T {
            }
            interface WebOfficeDocChangeEvent_S {
            }
            type WebOfficeDocChangeEvent_ST = $.java.util.EventObject & WebOfficeDocChangeEvent_S;
            interface WebOfficeDocChangeEvent_C extends WebOfficeDocChangeEvent_ST {
                new(source:any,changed:boolean):WebOfficeDocChangeEvent;
            }
            interface WebOfficeDocChangeEvent$ {
                setCancel(cancel:boolean):void;
                isCancel():boolean;
                isChanged():boolean;
            }
            type WebOfficeDocChangeEvent_T = $.java.util.EventObject & WebOfficeDocChangeEvent$;
            interface WebOfficeDocChangeEvent extends WebOfficeDocChangeEvent_T {
            }
            interface WebOfficeBookmarkEvent_S {
            }
            type WebOfficeBookmarkEvent_ST = $.java.util.EventObject & WebOfficeBookmarkEvent_S;
            interface WebOfficeBookmarkEvent_C extends WebOfficeBookmarkEvent_ST {
                new(source:any,bookmarks:$.java.util.List,id:string):WebOfficeBookmarkEvent;
            }
            interface WebOfficeBookmarkEvent$ {
                isCancel():boolean;
                getBookmarks():$.java.util.List;
                setCancel(cancel:boolean):void;
                getId():string;
            }
            type WebOfficeBookmarkEvent_T = $.java.util.EventObject & WebOfficeBookmarkEvent$;
            interface WebOfficeBookmarkEvent extends WebOfficeBookmarkEvent_T {
            }
            interface WebOfficeCheckboxEvent_S {
            }
            type WebOfficeCheckboxEvent_ST = $.java.util.EventObject & WebOfficeCheckboxEvent_S;
            interface WebOfficeCheckboxEvent_C extends WebOfficeCheckboxEvent_ST {
                new(source:any,checkBoxes:$.java.util.List):WebOfficeCheckboxEvent;
            }
            interface WebOfficeCheckboxEvent$ {
                setCancel(cancel:boolean):void;
                isCancel():boolean;
                getCheckBoxes():$.java.util.List;
            }
            type WebOfficeCheckboxEvent_T = $.java.util.EventObject & WebOfficeCheckboxEvent$;
            interface WebOfficeCheckboxEvent extends WebOfficeCheckboxEvent_T {
            }
            interface WebOfficeBookmarkValueEvent_S {
            }
            type WebOfficeBookmarkValueEvent_ST = $.java.util.EventObject & WebOfficeBookmarkValueEvent_S;
            interface WebOfficeBookmarkValueEvent_C extends WebOfficeBookmarkValueEvent_ST {
                new(source:any,bookmark:string,value:string):WebOfficeBookmarkValueEvent;
            }
            interface WebOfficeBookmarkValueEvent$ {
                getBookmark():string;
                isCancel():boolean;
                setCancel(cancel:boolean):void;
                getValue():string;
            }
            type WebOfficeBookmarkValueEvent_T = $.java.util.EventObject & WebOfficeBookmarkValueEvent$;
            interface WebOfficeBookmarkValueEvent extends WebOfficeBookmarkValueEvent_T {
            }
            interface WebOfficeIsFieldReviseEvent_S {
            }
            type WebOfficeIsFieldReviseEvent_ST = $.java.util.EventObject & WebOfficeIsFieldReviseEvent_S;
            interface WebOfficeIsFieldReviseEvent_C extends WebOfficeIsFieldReviseEvent_ST {
                new(source:any,bookmark:string,fieldRevise:boolean):WebOfficeIsFieldReviseEvent;
            }
            interface WebOfficeIsFieldReviseEvent$ {
                getBookmark():string;
                isCancel():boolean;
                isFieldRevise():boolean;
                setCancel(cancel:boolean):void;
            }
            type WebOfficeIsFieldReviseEvent_T = $.java.util.EventObject & WebOfficeIsFieldReviseEvent$;
            interface WebOfficeIsFieldReviseEvent extends WebOfficeIsFieldReviseEvent_T {
            }
            interface WebOfficeBookmarkCheckEvent_S {
            }
            type WebOfficeBookmarkCheckEvent_ST = $.java.util.EventObject & WebOfficeBookmarkCheckEvent_S;
            interface WebOfficeBookmarkCheckEvent_C extends WebOfficeBookmarkCheckEvent_ST {
                new(source:any,bookmark:string,exist:boolean):WebOfficeBookmarkCheckEvent;
            }
            interface WebOfficeBookmarkCheckEvent$ {
                isExist():boolean;
                getBookmark():string;
                isCancel():boolean;
                setCancel(cancel:boolean):void;
            }
            type WebOfficeBookmarkCheckEvent_T = $.java.util.EventObject & WebOfficeBookmarkCheckEvent$;
            interface WebOfficeBookmarkCheckEvent extends WebOfficeBookmarkCheckEvent_T {
            }
            interface WebOfficeOpenStatusEvent_S {
            }
            type WebOfficeOpenStatusEvent_ST = $.java.util.EventObject & WebOfficeOpenStatusEvent_S;
            interface WebOfficeOpenStatusEvent_C extends WebOfficeOpenStatusEvent_ST {
                new(source:any,open:boolean):WebOfficeOpenStatusEvent;
            }
            interface WebOfficeOpenStatusEvent$ {
                isCancel():boolean;
                setCancel(cancel:boolean):void;
                isOpen():boolean;
                setOpen(open:boolean):void;
            }
            type WebOfficeOpenStatusEvent_T = $.java.util.EventObject & WebOfficeOpenStatusEvent$;
            interface WebOfficeOpenStatusEvent extends WebOfficeOpenStatusEvent_T {
            }
        }
        namespace kd.bos.form.control.grid{
            class RowSelectAct {
                static readonly ADD_ROW:kd.bos.form.control.grid.RowSelectAct;
                static readonly CLEAR_ALL:kd.bos.form.control.grid.RowSelectAct;
                static readonly SELECT_ALL:kd.bos.form.control.grid.RowSelectAct;
                static readonly CLEAR_ROW:kd.bos.form.control.grid.RowSelectAct;
                static values():kd.bos.form.control.grid.RowSelectAct[];
                static valueOf(arg0:string):kd.bos.form.control.grid.RowSelectAct;
            }
            interface DataGridRowBuilder_S {
            }
            interface DataGridRowBuilder_C extends DataGridRowBuilder_S {
                /**
                 * 构造函数
                 *
                 * @param dataGridColumns
                 */
                new(dataGridColumns:$.java.util.List):DataGridRowBuilder;
            }
            interface DataGridRowBuilder$ {
                /**
                 * 构造行数据模板
                 */
                buildRow():DataGridRow;
            }
            type DataGridRowBuilder_T = DataGridRowBuilder$;
            interface DataGridRowBuilder extends DataGridRowBuilder_T {
            }
            interface DataGrid_S {
            }
            type DataGrid_ST = DataGrid_S & kd.bos.form.container.Container_S;
            interface DataGrid_C extends DataGrid_ST {
                new():DataGrid;
            }
            interface DataGrid$ {
                /**
                 * 是否显示序号列
                 * @return 是否序号列 false:不显示序号列，true:显示序号列
                 */
                isShowSeq():boolean;
                /**
                 * 清理行选中
                 *
                 * @param rowKey
                 * @param postRowData
                 */
                clearRowSelection(rowKey:number,postRowData:$.java.util.List):void;
                /**
                 * 注册构建表格列之前的监听事件
                 *
                 * @param listener
                 */
                addBeforeCreateDataGridColumnsListener(listener:kd.bos.form.control.grid.events.BeforeCreateDataGridColumnsListener):void;
                /**
                 * 清理页面选中行
                 */
                clearPageSelection():void;
                /**
                 * 注册绑定数据事件监听器
                 *
                 * @param listener
                 */
                addBindDataListener(listener:kd.bos.form.control.grid.events.DataGridBindDataListener):void;
                /**
                 * 获取绑定数据的插件监听器
                 *
                 * @return
                 */
                getBindDataListeners():$.java.util.List;
                /**
                 * 设置是否显示序号列
                 * @param showSeq 是否序号列 false:不显示序号列，true:显示序号列
                 */
                setShowSeq(showSeq:boolean):void;
                /**
                 * 移动表格获取数据
                 *
                 * @return
                 */
                getData():$.java.util.Map;
                /**
                 * 数据表格绑定数据，将数据发给客户端
                 */
                bindData():void;
                /**
                 * 注册选择行事件监听器
                 *
                 * @param listener
                 */
                addSelectRowListener(listener:kd.bos.form.control.grid.events.DataGridSelectRowListener):void;
                /**
                 * 添加选择行
                 *
                 * @param rowKey
                 * @param postRowData
                 */
                addRowSelection(rowKey:number,postRowData:$.java.util.List):void;
                /**
                 * 获取移动表格列
                 *
                 * @return
                 */
                getDataGridColumns():$.java.util.List;
                /**
                 * 选中页面所有行
                 */
                selectPageAllRows():void;
            }
            type DataGrid_T = DataGrid$ & kd.bos.form.container.Container;
            interface DataGrid extends DataGrid_T {
            }
            interface DataGridRow_S {
            }
            interface DataGridRow_C extends DataGridRow_S {
                new():DataGridRow;
            }
            interface DataGridRow$ {
                /**
                 * 设置值
                 * @param key
                 * @param value
                 */
                setValue(key:string,value:any):void;
                /**
                 * 将原始占位符的rawRow转为表格真正需要的格式
                 * @return 表格真正需要的格式
                 */
                get():$.java.util.List;
                /**
                 * 添加数据
                 * @param value
                 */
                add(value:any):void;
            }
            type DataGridRow_T = DataGridRow$;
            interface DataGridRow extends DataGridRow_T {
            }
            interface DataGridSelectedRow_S {
            }
            type DataGridSelectedRow_ST = $.java.io.Serializable & DataGridSelectedRow_S;
            interface DataGridSelectedRow_C extends DataGridSelectedRow_ST {
                new(rowKey:number,postRowData:$.java.util.List):DataGridSelectedRow;
                new(rowKey:number,postCols:$.java.util.List,postRowData:$.java.util.List):DataGridSelectedRow;
            }
            interface DataGridSelectedRow$ {
                getPostCols():$.java.util.List;
                getPostRowData():$.java.util.List;
                getRowKey():number;
            }
            type DataGridSelectedRow_T = $.java.io.Serializable & DataGridSelectedRow$;
            interface DataGridSelectedRow extends DataGridSelectedRow_T {
            }
        }
        namespace kd.bos.form.control.grid.column{
            interface TimeDataGridColumn_S {
            }
            type TimeDataGridColumn_ST = DataGridColumn_S & TimeDataGridColumn_S;
            interface TimeDataGridColumn_C extends TimeDataGridColumn_ST {
                new():TimeDataGridColumn;
            }
            interface TimeDataGridColumn$ {
                /**
                 * 获取时间格式
                 * @return
                 */
                getTimeFormat():string;
                /**
                 * 设置时间格式
                 * @param timeFormat
                 */
                setTimeFormat(timeFormat:string):void;
            }
            type TimeDataGridColumn_T = DataGridColumn & TimeDataGridColumn$;
            interface TimeDataGridColumn extends TimeDataGridColumn_T {
            }
            interface IDataGridColumn_S {
            }
            interface IDataGridColumn_C extends IDataGridColumn_S {
            }
            interface IDataGridColumn$ {
                /**
                 * 创建列信息
                 */
                createColumn():$.java.util.Map;
            }
            type IDataGridColumn_T = IDataGridColumn$;
            interface IDataGridColumn extends IDataGridColumn_T {
            }
            interface IntegerDataGridColumn_S {
            }
            type IntegerDataGridColumn_ST = DecimalDataGridColumn_S & IntegerDataGridColumn_S;
            interface IntegerDataGridColumn_C extends IntegerDataGridColumn_ST {
                new():IntegerDataGridColumn;
            }
            interface IntegerDataGridColumn$ {
            }
            type IntegerDataGridColumn_T = DecimalDataGridColumn & IntegerDataGridColumn$;
            interface IntegerDataGridColumn extends IntegerDataGridColumn_T {
            }
            interface AmountDataGridColumn_S {
            }
            type AmountDataGridColumn_ST = AmountDataGridColumn_S & DataGridColumn_S;
            interface AmountDataGridColumn_C extends AmountDataGridColumn_ST {
                new():AmountDataGridColumn;
            }
            interface AmountDataGridColumn$ {
                /**
                 * 是否显示币别
                 * @return
                 */
                isShowSign():boolean;
                /**
                 * 是否为零显示，为零不显示
                 * @return 是否为零显示 false:显示，true:不显示
                 */
                isZeroShow():boolean;
                /**
                 * 设置是否为零显示，为零不显示
                 * @param zeroShow 是否为零显示 false:显示，true:不显示
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 是否不显示尾零
                 * @return 是否不显示尾零 false:显示尾零，true:不显示尾零
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 设置是否不显示尾零
                 * @param noDisplayScaleZero 是否不显示尾零 false:显示尾零，true:不显示尾零
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 设置是否显示币别
                 * @param isShowSign
                 */
                setShowSign(isShowSign:boolean):void;
            }
            type AmountDataGridColumn_T = AmountDataGridColumn$ & DataGridColumn;
            interface AmountDataGridColumn extends AmountDataGridColumn_T {
            }
            interface DateDataGridColumn_S {
            }
            type DateDataGridColumn_ST = DataGridColumn_S & DateDataGridColumn_S;
            interface DateDataGridColumn_C extends DateDataGridColumn_ST {
                new():DateDataGridColumn;
            }
            interface DateDataGridColumn$ {
                /**
                 * 设置日期格式
                 * @param dateFormat
                 */
                setDateFormat(dateFormat:string):void;
                /**
                 * 获取日期格式
                 * @return
                 */
                getDateFormat():string;
            }
            type DateDataGridColumn_T = DataGridColumn & DateDataGridColumn$;
            interface DateDataGridColumn extends DateDataGridColumn_T {
            }
            interface DataGridColumn_S {
            }
            type DataGridColumn_ST = Control_S & DataGridColumn_S & IDataGridColumn_S;
            interface DataGridColumn_C extends DataGridColumn_ST {
                new():DataGridColumn;
            }
            interface DataGridColumn$ {
                /**
                 * 获取可见性
                 */
                getVisible():string;
                /**
                 * 设置可见性
                 */
                setVisible(visible:string):void;
                /**
                 * 获取背景色
                 * @return
                 */
                getBackColor():string;
                /**
                 * 获取标题
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置字体大小
                 * @param fontSize
                 */
                setFontSize(fontSize:number):void;
                /**
                 * 设置文本对齐方式
                 * @param textAlign
                 */
                setTextAlign(textAlign:string):void;
                /**
                 * 设置前景色
                 * @param foreColor
                 */
                setForeColor(foreColor:string):void;
                /**
                 * 设置背景色
                 * @param
                 */
                setBackColor(backColor:string):void;
                /**
                 * 获取前景色
                 * @return
                 */
                getForeColor():string;
                /**
                 * 设置标题
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置列宽
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取字体大小
                 * @return
                 */
                getFontSize():number;
                /**
                 * 获取列宽
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取可见性值
                 */
                getVisibleValue():number;
                /**
                 * 获取文本对齐方式
                 * @return
                 */
                getTextAlign():string;
            }
            type DataGridColumn_T = Control & DataGridColumn$ & IDataGridColumn;
            interface DataGridColumn extends DataGridColumn_T {
            }
            interface DecimalDataGridColumn_S {
            }
            type DecimalDataGridColumn_ST = DataGridColumn_S & DecimalDataGridColumn_S;
            interface DecimalDataGridColumn_C extends DecimalDataGridColumn_ST {
                new():DecimalDataGridColumn;
            }
            interface DecimalDataGridColumn$ {
                /**
                 * 设置小数精度
                 * @param scale
                 */
                setScale(scale:number):void;
                /**
                 * 获取小数精度
                 * @return
                 */
                getScale():number;
                /**
                 * 是否为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置是否为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 是否不显示尾零
                 * @return 是否不显示尾零 false:显示尾零，true:不显示尾零
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 设置是否不显示尾零
                 * @param noDisplayScaleZero 是否不显示尾零 false:显示尾零，true:不显示尾零
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
            }
            type DecimalDataGridColumn_T = DataGridColumn & DecimalDataGridColumn$;
            interface DecimalDataGridColumn extends DecimalDataGridColumn_T {
            }
        }
        namespace kd.bos.form.control.grid.events{
            interface DataGridBindDataEvent_S {
            }
            type DataGridBindDataEvent_ST = $.java.util.EventObject & DataGridBindDataEvent_S;
            interface DataGridBindDataEvent_C extends DataGridBindDataEvent_ST {
                new(source:any,dataGridColumns:$.java.util.List):DataGridBindDataEvent;
            }
            interface DataGridBindDataEvent$ {
                addPostCol(...postCol:string[]):void;
                getData():$.java.util.List;
                setData(data:$.java.util.List):void;
                getDataGridColumns():$.java.util.List;
                getDataGridRowBuilder():DataGridRowBuilder;
                getPostCols():$.java.util.List;
            }
            type DataGridBindDataEvent_T = $.java.util.EventObject & DataGridBindDataEvent$;
            interface DataGridBindDataEvent extends DataGridBindDataEvent_T {
            }
            interface DataGridBindDataListener_S {
            }
            interface DataGridBindDataListener_C extends DataGridBindDataListener_S {
            }
            interface DataGridBindDataListener$ {
                /**
                 * 数据表格绑定数据接口，重写这个接口，配置好数据表格需要展示的数据
                 *
                 * @param e
                 */
                dataGridBindData(e:DataGridBindDataEvent):void;
            }
            type DataGridBindDataListener_T = DataGridBindDataListener$;
            interface DataGridBindDataListener extends DataGridBindDataListener_T {
            }
            interface BeforeCreateDataGridColumnsListener_S {
            }
            interface BeforeCreateDataGridColumnsListener_C extends BeforeCreateDataGridColumnsListener_S {
            }
            interface BeforeCreateDataGridColumnsListener$ {
                beforeCreateDataGridColumns(event:BeforeCreateDataGridColumnsEvent):void;
            }
            type BeforeCreateDataGridColumnsListener_T = BeforeCreateDataGridColumnsListener$;
            interface BeforeCreateDataGridColumnsListener extends BeforeCreateDataGridColumnsListener_T {
            }
            interface DataGridSelectRowEvent_S {
            }
            type DataGridSelectRowEvent_ST = $.java.util.EventObject & DataGridSelectRowEvent_S;
            interface DataGridSelectRowEvent_C extends DataGridSelectRowEvent_ST {
                new(source:any,action:RowSelectAct):DataGridSelectRowEvent;
                new(source:any,selectedRow:DataGridSelectedRow,action:RowSelectAct):DataGridSelectRowEvent;
            }
            interface DataGridSelectRowEvent$ {
                getSelectedRow():DataGridSelectedRow;
                getAction():RowSelectAct;
            }
            type DataGridSelectRowEvent_T = $.java.util.EventObject & DataGridSelectRowEvent$;
            interface DataGridSelectRowEvent extends DataGridSelectRowEvent_T {
            }
            interface BeforeCreateDataGridColumnsEvent_S {
            }
            type BeforeCreateDataGridColumnsEvent_ST = $.java.util.EventObject & BeforeCreateDataGridColumnsEvent_S;
            interface BeforeCreateDataGridColumnsEvent_C extends BeforeCreateDataGridColumnsEvent_ST {
                new(source:any,dataGridColumns:$.java.util.List):BeforeCreateDataGridColumnsEvent;
            }
            interface BeforeCreateDataGridColumnsEvent$ {
                getDataGridColumns():$.java.util.List;
            }
            type BeforeCreateDataGridColumnsEvent_T = $.java.util.EventObject & BeforeCreateDataGridColumnsEvent$;
            interface BeforeCreateDataGridColumnsEvent extends BeforeCreateDataGridColumnsEvent_T {
            }
            interface DataGridSelectRowListener_S {
            }
            interface DataGridSelectRowListener_C extends DataGridSelectRowListener_S {
            }
            interface DataGridSelectRowListener$ {
                dataGridSelectRow(e:DataGridSelectRowEvent):void;
            }
            type DataGridSelectRowListener_T = DataGridSelectRowListener$;
            interface DataGridSelectRowListener extends DataGridSelectRowListener_T {
            }
        }
        namespace kd.bos.form.control.model{
            interface WebofficeWaterMark_S {
            }
            type WebofficeWaterMark_ST = $.java.io.Serializable & WebofficeWaterMark_S;
            interface WebofficeWaterMark_C extends WebofficeWaterMark_ST {
                new():WebofficeWaterMark;
            }
            interface WebofficeWaterMark$ {
                getLeft():string;
                setTop(top:string):void;
                getFontColor():string;
                getTop():string;
                getRotation():number;
                getTransparency():number;
                setLeft(left:string):void;
                getFontSize():number;
                setFontColor(fontColor:string):void;
                getFontFamily():string;
                setTransparency(transparency:number):void;
                setRotation(rotation:number):void;
                setText(text:string):void;
                getText():string;
                setFontFamily(fontFamily:string):void;
                setFontSize(fontSize:number):void;
            }
            type WebofficeWaterMark_T = $.java.io.Serializable & WebofficeWaterMark$;
            interface WebofficeWaterMark extends WebofficeWaterMark_T {
            }
            class WebOfficeDocProtectionType {
                static readonly FULL_PROTECTION:kd.bos.form.control.model.WebOfficeDocProtectionType;
                static readonly ONLY_COMMENT_ALLOWED:kd.bos.form.control.model.WebOfficeDocProtectionType;
                static readonly ONLY_EDIT_ALLOWED:kd.bos.form.control.model.WebOfficeDocProtectionType;
                static valueOf(arg0:string):kd.bos.form.control.model.WebOfficeDocProtectionType;
                static values():kd.bos.form.control.model.WebOfficeDocProtectionType[];
                getValue():number;
            }
            class WebOfficeTrackingType {
                static readonly NO_TRACE:kd.bos.form.control.model.WebOfficeTrackingType;
                static readonly TRACKING_CURRENT_EDIT:kd.bos.form.control.model.WebOfficeTrackingType;
                static readonly TRACKING_EDIT:kd.bos.form.control.model.WebOfficeTrackingType;
                static values():kd.bos.form.control.model.WebOfficeTrackingType[];
                static valueOf(arg0:string):kd.bos.form.control.model.WebOfficeTrackingType;
                getValue():number;
            }
            class WebOfficeFileType {
                static readonly word:kd.bos.form.control.model.WebOfficeFileType;
                static readonly ppt:kd.bos.form.control.model.WebOfficeFileType;
                static readonly excel:kd.bos.form.control.model.WebOfficeFileType;
                static valueOf(arg0:string):kd.bos.form.control.model.WebOfficeFileType;
                static values():kd.bos.form.control.model.WebOfficeFileType[];
                getValue():string;
            }
            interface WebOfficeMark_S {
            }
            type WebOfficeMark_ST = $.java.io.Serializable & WebOfficeMark_S;
            interface WebOfficeMark_C extends WebOfficeMark_ST {
                new():WebOfficeMark;
                new(field:string,value:string):WebOfficeMark;
            }
            interface WebOfficeMark$ {
                setValue(value:string):void;
                setField(field:string):void;
                getValue():string;
                getField():string;
            }
            type WebOfficeMark_T = $.java.io.Serializable & WebOfficeMark$;
            interface WebOfficeMark extends WebOfficeMark_T {
            }
            class WebOfficeMergeType {
                static readonly bookmark:kd.bos.form.control.model.WebOfficeMergeType;
                static readonly tail:kd.bos.form.control.model.WebOfficeMergeType;
                static readonly cursor:kd.bos.form.control.model.WebOfficeMergeType;
                static readonly head:kd.bos.form.control.model.WebOfficeMergeType;
                static valueOf(arg0:string):kd.bos.form.control.model.WebOfficeMergeType;
                static values():kd.bos.form.control.model.WebOfficeMergeType[];
                getValue():number;
            }
        }
        namespace kd.bos.form.events{
            interface AfterDoOperationEventArgs_S {
            }
            type AfterDoOperationEventArgs_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & AfterDoOperationEventArgs_S;
            interface AfterDoOperationEventArgs_C extends AfterDoOperationEventArgs_ST {
                /**
                 * 构造方法：初始化操作之后事件
                 * @param source 事件源
                 * @param operateKey 操作标识
                 * @param operationResult 操作之后返回结果
                 */
                new(source:any,operateKey:string,operationResult:$.kd.bos.entity.operate.result.OperationResult):AfterDoOperationEventArgs;
            }
            interface AfterDoOperationEventArgs$ {
                /**
                 * 获取操作标识
                 * @return 操作标识
                 */
                getOperateKey():string;
                /**
                 * 获取操作之后返回结果
                 * @return 操作之后返回结果
                 */
                getOperationResult():$.kd.bos.entity.operate.result.OperationResult;
            }
            type AfterDoOperationEventArgs_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & AfterDoOperationEventArgs$;
            interface AfterDoOperationEventArgs extends AfterDoOperationEventArgs_T {
            }
            interface AfterQueryOfExportEvent_S {
            }
            type AfterQueryOfExportEvent_ST = $.java.util.EventObject & AfterQueryOfExportEvent_S;
            interface AfterQueryOfExportEvent_C extends AfterQueryOfExportEvent_ST {
                /**
                 * 构造方法：初始化查询引出数据后事件参数
                 * @param source 事件源
                 */
                new(source:any):AfterQueryOfExportEvent;
                /**
                 * 构造方法：初始化查询引出数据后事件参数
                 * @param source 事件源
                 * @param queryValues 查询条件
                 */
                new(source:any,queryValues:$.kd.bos.dataentity.entity.DynamicObject[]):AfterQueryOfExportEvent;
            }
            interface AfterQueryOfExportEvent$ {
                /**
                 * 设置为默认排序规则
                 * @param customOrder 是否默认排序规则：false-不默认，true-默认
                 */
                setCustomOrder(customOrder:boolean):void;
                /**
                 * 设置查询条件
                 * @param queryValues 查询条件
                 */
                setQueryValues(queryValues:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 获取查询条件
                 * @return 查询条件
                 */
                getQueryValues():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 是否为默认排序规则
                 * @return 是否默认排序规则：false-不默认，true-默认
                 */
                isCustomOrder():boolean;
            }
            type AfterQueryOfExportEvent_T = $.java.util.EventObject & AfterQueryOfExportEvent$;
            interface AfterQueryOfExportEvent extends AfterQueryOfExportEvent_T {
            }
            interface BeforeTreeNodeClickEvent_S {
            }
            type BeforeTreeNodeClickEvent_ST = $.java.util.EventObject & BeforeTreeNodeClickEvent_S;
            interface BeforeTreeNodeClickEvent_C extends BeforeTreeNodeClickEvent_ST {
                /**
                 * 构造方法：初始化树节点点击之前事件参数
                 * @param source 树节点点击之前事件参数
                 */
                new(source:any):BeforeTreeNodeClickEvent;
            }
            interface BeforeTreeNodeClickEvent$ {
                cancel:boolean;
            }
            type BeforeTreeNodeClickEvent_T = $.java.util.EventObject & BeforeTreeNodeClickEvent$;
            interface BeforeTreeNodeClickEvent extends BeforeTreeNodeClickEvent_T {
            }
            interface CustomPrintDataObjectArgs_S {
            }
            type CustomPrintDataObjectArgs_ST = $.java.util.EventObject & CustomPrintDataObjectArgs_S;
            interface CustomPrintDataObjectArgs_C extends CustomPrintDataObjectArgs_ST {
                new(source:any,billID:any,dataSourceName:string,customFields:$.java.util.Set):CustomPrintDataObjectArgs;
            }
            interface CustomPrintDataObjectArgs$ {
                getDataSourceName():string;
                getCustomFields():$.java.util.Set;
                getDataEntities():$.java.util.List;
                setDataEntities(dataEntities:$.java.util.List):void;
                getBillID():any;
            }
            type CustomPrintDataObjectArgs_T = $.java.util.EventObject & CustomPrintDataObjectArgs$;
            interface CustomPrintDataObjectArgs extends CustomPrintDataObjectArgs_T {
            }
            interface AfterBindDataListener_S {
            }
            interface AfterBindDataListener_C extends AfterBindDataListener_S {
            }
            interface AfterBindDataListener$ {
                /**
                 * 绑定数据后事件
                 * @param evt 绑定数据后事件参数
                 */
                afterBindData(evt:AfterBindDataEvent):void;
            }
            type AfterBindDataListener_T = AfterBindDataListener$;
            interface AfterBindDataListener extends AfterBindDataListener_T {
            }
            interface HyperLinkClickArgs_S {
            }
            interface HyperLinkClickArgs_C extends HyperLinkClickArgs_S {
                /**
                 * 构造方法：初始化超链接点击事件参数
                 * @param hyperLinkClickEvent 超链接点击事件
                 * @param isCancel 是否取消
                 */
                new(hyperLinkClickEvent:HyperLinkClickEvent,isCancel:boolean):HyperLinkClickArgs;
            }
            interface HyperLinkClickArgs$ {
                /**
                 * 设置是否取消
                 *
                 * @param isCancel 是否取消
                 */
                setCancel(isCancel:boolean):void;
                /**
                 * 获取超链接点击事件
                 *
                 * @return 超链接点击事件
                 */
                getHyperLinkClickEvent():HyperLinkClickEvent;
                /**
                 * 获取字段名
                 *
                 * @return 字段名
                 */
                getFieldName():string;
                /**
                 * 是否取消
                 *
                 * @return 是否取消
                 */
                isCancel():boolean;
                /**
                 * 设置超链接点击事件
                 *
                 * @param hyperLinkClickEvent 超链接点击事件
                 */
                setHyperLinkClickEvent(hyperLinkClickEvent:HyperLinkClickEvent):void;
                /**
                 * 获取行索引
                 *
                 * @return 行索引
                 */
                getRowIndex():number;
            }
            type HyperLinkClickArgs_T = HyperLinkClickArgs$;
            interface HyperLinkClickArgs extends HyperLinkClickArgs_T {
            }
            interface ListColumnCompareTypesSetEvent_S {
            }
            type ListColumnCompareTypesSetEvent_ST = $.java.util.EventObject & ListColumnCompareTypesSetEvent_S;
            interface ListColumnCompareTypesSetEvent_C extends ListColumnCompareTypesSetEvent_ST {
                /**
                 * 构造方法：初始化列表表头过滤比较符设置事件参数
                 * @param source 列表表头过滤比较符设置事件参数
                 */
                new(source:any):ListColumnCompareTypesSetEvent;
                /**
                 * 构造函数
                 *
                 * @param source 事件来源
                 * @param listFieldKey 表头映射字段标识
                 * @param comboItems  下拉列表字段元数据集合
                 */
                new(source:any,listFieldKey:string,comboItems:$.java.util.List):ListColumnCompareTypesSetEvent;
                /**
                 * 构造方法：初始化列表表头过滤比较符设置事件参数
                 *
                 * @param source 事件来源
                 * @param listColumnCompareTypes 过滤比较符集合
                 * @param listFieldKey 表头映射字段标识
                 */
                new(source:any,listColumnCompareTypes:$.java.util.List,listFieldKey:string):ListColumnCompareTypesSetEvent;
            }
            interface ListColumnCompareTypesSetEvent$ {
                /**
                 * 设置自定义比较符集合
                 *
                 * @param listColumnCompareTypes 自定义比较符集合
                 */
                setListColumnCompareTypes(listColumnCompareTypes:$.java.util.List):void;
                /**
                 * 设置下拉列表集合
                 *
                 * @param comboItems 下拉列表集合
                 */
                setComboItems(comboItems:$.java.util.List):void;
                /**
                 * 获取比较符集合
                 *
                 * @return 比较符集合
                 */
                getListColumnCompareTypes():$.java.util.List;
                /**
                 * 获取下拉列表类型字段元数据
                 *
                 * @return 下拉列表类型字段元数据
                 */
                getComboItems():$.java.util.List;
                /**
                 * 获取表头映射字段标识
                 *
                 * @return 表头映射字段标识
                 */
                getListFieldKey():string;
            }
            type ListColumnCompareTypesSetEvent_T = $.java.util.EventObject & ListColumnCompareTypesSetEvent$;
            interface ListColumnCompareTypesSetEvent extends ListColumnCompareTypesSetEvent_T {
            }
            interface ClientCallBackEvent_S {
            }
            type ClientCallBackEvent_ST = $.java.util.EventObject & ClientCallBackEvent_S;
            interface ClientCallBackEvent_C extends ClientCallBackEvent_ST {
                /**
                 * 构造方法：初始化客户端回调事件参数
                 * @param source 事件源
                 * @param name 标识
                 */
                new(source:any,name:string):ClientCallBackEvent;
                /**
                 * 构造方法：初始化客户端回调事件参数
                 * @param source 事件源
                 * @param name 标识
                 * @param param 前端传入的参数
                 */
                new(source:any,name:string,param:$.java.util.Map):ClientCallBackEvent;
            }
            interface ClientCallBackEvent$ {
                /**
                 * 获取标识
                 * @return 标识
                 */
                getName():string;
                /**
                 * 获取前端传入的参数
                 * @return 参数
                 */
                getParam():$.java.util.Map;
            }
            type ClientCallBackEvent_T = $.java.util.EventObject & ClientCallBackEvent$;
            interface ClientCallBackEvent extends ClientCallBackEvent_T {
            }
            interface InitOperateOptionEventArgs_S {
            }
            type InitOperateOptionEventArgs_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & InitOperateOptionEventArgs_S;
            interface InitOperateOptionEventArgs_C extends InitOperateOptionEventArgs_ST {
                new(source:any):InitOperateOptionEventArgs;
            }
            interface InitOperateOptionEventArgs$ {
                /**
                 * 获取列表选择行，多行；允许插件对选择行进行排序，以免在分批操作时，需要优先处理的数据被排在后面处理，影响操作执行结果
                 * @return 列表选择行
                 */
                getListSelectedData():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 设置列表选择行数据集合
                 * @param listSelectedData 列表选择行
                 */
                setListSelectedData(listSelectedData:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
            }
            type InitOperateOptionEventArgs_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & InitOperateOptionEventArgs$;
            interface InitOperateOptionEventArgs extends InitOperateOptionEventArgs_T {
            }
            interface BillListHyperLinkClickEvent_S {
            }
            type BillListHyperLinkClickEvent_ST = BillListHyperLinkClickEvent_S & HyperLinkClickEvent_S;
            interface BillListHyperLinkClickEvent_C extends BillListHyperLinkClickEvent_ST {
                /**
                 * 构造方法：初始化单据列表单元格链接点击事件参数
                 * @param source 事件源
                 * @param fieldName 字段名
                 * @param rowIndex 行号
                 * @param currentRow 当前选中行
                 */
                new(source:any,fieldName:string,rowIndex:number,currentRow:$.kd.bos.entity.datamodel.ListSelectedRow):BillListHyperLinkClickEvent;
            }
            interface BillListHyperLinkClickEvent$ {
                /**
                 * 获取当前选中行
                 * @return 当前选中行
                 */
                getCurrentRow():$.kd.bos.entity.datamodel.ListSelectedRow;
            }
            type BillListHyperLinkClickEvent_T = BillListHyperLinkClickEvent$ & HyperLinkClickEvent;
            interface BillListHyperLinkClickEvent extends BillListHyperLinkClickEvent_T {
            }
            interface AfterMobileListPushDownRefreshListener_S {
            }
            interface AfterMobileListPushDownRefreshListener_C extends AfterMobileListPushDownRefreshListener_S {
            }
            interface AfterMobileListPushDownRefreshListener$ {
                /**
                 * 移动端列表下拉刷新界面事件
                 * @param evt 移动端列表下拉刷新界面事件参数
                 */
                afterPushDownRefresh(evt:AfterMobileListPushDownRefreshEvent):void;
            }
            type AfterMobileListPushDownRefreshListener_T = AfterMobileListPushDownRefreshListener$;
            interface AfterMobileListPushDownRefreshListener extends AfterMobileListPushDownRefreshListener_T {
            }
            interface BeforeExportFileEvent_S {
            }
            type BeforeExportFileEvent_ST = $.java.util.EventObject & BeforeExportFileEvent_S;
            interface BeforeExportFileEvent_C extends BeforeExportFileEvent_ST {
                /**
                 * 构造方法：初始化列表引出文件前事件参数
                 * @param source 列表引出文件前事件参数
                 */
                new(source:any):BeforeExportFileEvent;
                /**
                 * 构造方法：初始化列表引出文件前事件参数
                 * @param view 表单视图
                 * @param mainEntityType 单据实体类型
                 * @param fileName 文件名称
                 */
                new(view:IFormView,mainEntityType:$.kd.bos.entity.BillEntityType,fileName:string):BeforeExportFileEvent;
            }
            interface BeforeExportFileEvent$ {
                /**
                 * 获取单据实体类型
                 * @return 单据实体类型
                 */
                getMainEntityType():$.kd.bos.entity.BillEntityType;
                /**
                 * 设置文件名称
                 * @param fileName 文件名称
                 */
                setFileName(fileName:string):void;
                /**
                 * 获取文件名称
                 * @return 文件名称
                 */
                getFileName():string;
                /**
                 * 设置单据实体类型
                 * @param mainEntityType 单据实体类型
                 */
                setMainEntityType(mainEntityType:$.kd.bos.entity.BillEntityType):void;
            }
            type BeforeExportFileEvent_T = $.java.util.EventObject & BeforeExportFileEvent$;
            interface BeforeExportFileEvent extends BeforeExportFileEvent_T {
            }
            interface BeforeDoOperationEventArgs_S {
            }
            type BeforeDoOperationEventArgs_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & BeforeDoOperationEventArgs_S;
            interface BeforeDoOperationEventArgs_C extends BeforeDoOperationEventArgs_ST {
                /**
                 * 构造方法：初始化操作之前事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeDoOperationEventArgs;
            }
            interface BeforeDoOperationEventArgs$ {
                cancel:boolean;
                /**
                 * 获取取消事件的原因
                 * @return 取消事件的原因
                 */
                getCancelMessage():string;
                /**
                 * 设置列表选择行数据集合
                 * @param listSelectedData 列表选择行
                 */
                setListSelectedData(listSelectedData:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取列表选择行，多行；允许插件对选择行进行排序，以免在分批操作时，需要优先处理的数据被排在后面处理，影响操作执行结果
                 * @return 列表选择行
                 */
                getListSelectedData():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 是否取消该事件
                 * @return 是否取消：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 设置取消事件的原因
                 * @param cancelMessage 取消事件的原因
                 */
                setCancelMessage(cancelMessage:string):void;
            }
            type BeforeDoOperationEventArgs_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & BeforeDoOperationEventArgs$;
            interface BeforeDoOperationEventArgs extends BeforeDoOperationEventArgs_T {
            }
            interface ContextMenuClickEvent_S {
            }
            type ContextMenuClickEvent_ST = $.java.util.EventObject & ContextMenuClickEvent_S;
            interface ContextMenuClickEvent_C extends ContextMenuClickEvent_ST {
                /**
                 * 构造方法：初始化菜单点击事件参数
                 * @param source 事件源
                 * @param menuKey 上下文菜单来源标识
                 * @param itemKey 上下文菜单项标识
                 */
                new(source:any,menuKey:string,itemKey:string):ContextMenuClickEvent;
            }
            interface ContextMenuClickEvent$ {
                /**
                 * 获取上下文菜单项标识
                 * @return 上下文菜单项标识
                 */
                getItemKey():string;
                /**
                 * 获取上下文菜单来源标识
                 * @return 上下文菜单来源标识
                 */
                getMenuKey():string;
            }
            type ContextMenuClickEvent_T = $.java.util.EventObject & ContextMenuClickEvent$;
            interface ContextMenuClickEvent extends ContextMenuClickEvent_T {
            }
            interface FlexBeforeClosedEvent_S {
            }
            type FlexBeforeClosedEvent_ST = $.java.util.EventObject & FlexBeforeClosedEvent_S;
            interface FlexBeforeClosedEvent_C extends FlexBeforeClosedEvent_ST {
                /**
                 * 初始化弹性域界面关闭之前事件参数
                 * @param source 事件源
                 */
                new(source:any):FlexBeforeClosedEvent;
            }
            interface FlexBeforeClosedEvent$ {
                /**
                 * 获取弹性域标识
                 * @return 弹性域标识
                 */
                getFlexKey():string;
                /**
                 * 设置弹性域标识
                 * @param flexKey 弹性域标识
                 */
                setFlexKey(flexKey:string):void;
                /**
                 * 获取弹性域基础资料标识
                 * @return 弹性域基础资料标识
                 */
                getBasedataKey():string;
                /**
                 * 设置弹性域基础资料标识
                 * @param basedataKey 弹性域基础资料标识
                 */
                setBasedataKey(basedataKey:string):void;
                /**
                 * 设置是否取消关闭窗口
                 * @param cancel 是否取消：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 是否取消关闭窗口
                 * @return cancel 是否取消：false-不取消，true-取消
                 */
                isCancel():boolean;
            }
            type FlexBeforeClosedEvent_T = $.java.util.EventObject & FlexBeforeClosedEvent$;
            interface FlexBeforeClosedEvent extends FlexBeforeClosedEvent_T {
            }
            interface BeforeBuildTreeNodeEvent_S {
            }
            type BeforeBuildTreeNodeEvent_ST = $.java.util.EventObject & BeforeBuildTreeNodeEvent_S;
            interface BeforeBuildTreeNodeEvent_C extends BeforeBuildTreeNodeEvent_ST {
                /**
                 * 构造方法：初始化构建树节点前置处理事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeBuildTreeNodeEvent;
            }
            interface BeforeBuildTreeNodeEvent$ {
                cancel:boolean;
                /**
                 * 设置当前节点
                 * @param currNodeId 当前节点
                 */
                setCurrNodeId(currNodeId:string):void;
            }
            type BeforeBuildTreeNodeEvent_T = $.java.util.EventObject & BeforeBuildTreeNodeEvent$;
            interface BeforeBuildTreeNodeEvent extends BeforeBuildTreeNodeEvent_T {
            }
            interface BeforeCreateListDataProviderArgs_S {
            }
            type BeforeCreateListDataProviderArgs_ST = $.java.util.EventObject & BeforeCreateListDataProviderArgs_S;
            interface BeforeCreateListDataProviderArgs_C extends BeforeCreateListDataProviderArgs_ST {
                /**
                 * 构造方法：初始化创建列表数据访问类前置事件
                 * @param source 事件源
                 */
                new(source:any):BeforeCreateListDataProviderArgs;
            }
            interface BeforeCreateListDataProviderArgs$ {
                /**
                 * 设置取数接口类
                 *
                 * @param listDataProvider 取数接口类
                 */
                setListDataProvider(listDataProvider:$.kd.bos.entity.list.IListDataProvider):void;
                /**
                 * 获取取数接口类
                 *
                 * @return 取数接口类
                 */
                getListDataProvider():$.kd.bos.entity.list.IListDataProvider;
            }
            type BeforeCreateListDataProviderArgs_T = $.java.util.EventObject & BeforeCreateListDataProviderArgs$;
            interface BeforeCreateListDataProviderArgs extends BeforeCreateListDataProviderArgs_T {
            }
            interface HyperLinkClickListener_S {
            }
            interface HyperLinkClickListener_C extends HyperLinkClickListener_S {
            }
            interface HyperLinkClickListener$ {
                /**
                 * 超链接点击事件
                 * @param evt 超链接点击事件参数
                 */
                hyperLinkClick(evt:HyperLinkClickEvent):void;
            }
            type HyperLinkClickListener_T = HyperLinkClickListener$;
            interface HyperLinkClickListener extends HyperLinkClickListener_T {
            }
            interface BeforeDoCheckDataPermissionArgs_S {
            }
            type BeforeDoCheckDataPermissionArgs_ST = $.java.util.EventObject & BeforeDoCheckDataPermissionArgs_S;
            interface BeforeDoCheckDataPermissionArgs_C extends BeforeDoCheckDataPermissionArgs_ST {
                /**
                 * 构造方法：初始化操作检查数据权限前事件参数
                 * @param source 事件源
                 */
                new(source:kd.bos.form.operate.FormOperate):BeforeDoCheckDataPermissionArgs;
            }
            interface BeforeDoCheckDataPermissionArgs$ {
                /**
                 * 设置是否跳过数据权限验证
                 * @param skipCheckDataPermission 是否跳过
                 */
                setSkipCheckDataPermission(skipCheckDataPermission:boolean):void;
                /**
                 * 获取列表选择行，多行；允许插件对选择行进行排序，以免在分批操作时，需要优先处理的数据被排在后面处理，影响操作执行结果
                 * @return 列表选择行
                 */
                getListSelectedData():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 获取列表选择行数据集合
                 * @return 列表选择行数据集合
                 */
                getSelectData():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 获取数据权限验证项ID
                 * @return 数据权限验证项ID
                 */
                getPermissionItemId():string;
                /**
                 * 设置主键ID
                 * @param pkId 主键ID
                 */
                setPkId(pkId:any):void;
                /**
                 * 设置取消事件的原因
                 * @param cancelMessage 取消事件的原因
                 */
                setCancelMessage(cancelMessage:string):void;
                /**
                 * 设置数据权限验证项ID
                 * @param permissionItemId 数据权限验证项ID
                 */
                setPermissionItemId(permissionItemId:string):void;
                /**
                 * 获取主键ID
                 * @return 主键ID
                 */
                getPkId():any;
                /**
                 * 是否取消该事件判断
                 * @return 是否取消：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 设置是否取消该事件
                 * @param cancel 是否取消：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 是否跳过数据权限验证
                 * @return 是否跳过
                 */
                isSkipCheckDataPermission():boolean;
                /**
                 * 获取取消事件的原因
                 * @return 取消事件的原因
                 */
                getCancelMessage():string;
                /**
                 * 设置列表选择行
                 * @param listSelectedData 列表选择行
                 */
                setListSelectedData(listSelectedData:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
            }
            type BeforeDoCheckDataPermissionArgs_T = $.java.util.EventObject & BeforeDoCheckDataPermissionArgs$;
            interface BeforeDoCheckDataPermissionArgs extends BeforeDoCheckDataPermissionArgs_T {
            }
            interface BeforeQueryOfExportEvent_S {
            }
            type BeforeQueryOfExportEvent_ST = $.java.util.EventObject & BeforeQueryOfExportEvent_S;
            interface BeforeQueryOfExportEvent_C extends BeforeQueryOfExportEvent_ST {
                /**
                 * 构造方法：初始化查询引出数据前事件
                 * @param source 事件源
                 */
                new(source:any):BeforeQueryOfExportEvent;
                /**
                 * 构造方法：初始化查询引出数据前事件
                 * @param source 事件源
                 * @param selectFields 选择的字段
                 * @param orderBys 排序规则
                 * @param filters 过滤字段
                 */
                new(source:any,selectFields:string,orderBys:string,filters:$.kd.bos.orm.query.QFilter[]):BeforeQueryOfExportEvent;
            }
            interface BeforeQueryOfExportEvent$ {
                /**
                 * 获取选择的字段
                 * @return 选择的字段
                 */
                getSelectFields():string;
                /**
                 * 获取排序规则
                 * @return 排序规则
                 */
                getOrderBys():string;
                /**
                 * 设置过滤字段
                 * @param filters 过滤字段
                 */
                setFilters(filters:$.kd.bos.orm.query.QFilter[]):void;
                /**
                 * 设置选择的字段
                 * @param selectFields 选择的字段
                 */
                setSelectFields(selectFields:string):void;
                /**
                 * 设置排序规则
                 * @param orderBys 排序规则
                 */
                setOrderBys(orderBys:string):void;
                /**
                 * 获取过滤字段
                 * @return 过滤字段
                 */
                getFilters():$.kd.bos.orm.query.QFilter[];
            }
            type BeforeQueryOfExportEvent_T = $.java.util.EventObject & BeforeQueryOfExportEvent$;
            interface BeforeQueryOfExportEvent extends BeforeQueryOfExportEvent_T {
            }
            interface FilterContainerSearchClickArgs_S {
            }
            interface FilterContainerSearchClickArgs_C extends FilterContainerSearchClickArgs_S {
                /**
                 * 构造函数
                 *
                 * @param searchClickEvent
                 *            过滤容器搜索点击参数 {@link SearchClickEvent}
                 */
                new(searchClickEvent:kd.bos.form.control.events.SearchClickEvent):FilterContainerSearchClickArgs;
            }
            interface FilterContainerSearchClickArgs$ {
                /**
                 * 设置过滤条件原始值
                 *
                 * @param filterValues 过滤条件原始值
                 */
                setFilterValues(filterValues:$.java.util.Map):void;
                /**
                 * 获取过滤模型
                 *
                 * @return 过滤模型
                 */
                getFilterModel():$.kd.bos.entity.datamodel.IFilterModel;
                /**
                 * 获取快速过滤值
                 *
                 * @return 快速过滤值
                 */
                getFastFilterValues():$.java.util.List;
                /**
                 * 获取当前常用过滤条件
                 *
                 * @return 当前常用过滤条件
                 */
                getCurrentCommonFilter():$.java.util.Map;
                /**
                 * 获取当前选择的最小单位分录
                 *
                 * @return 当前选择的最小单位分录
                 */
                getEntryEntity():string;
                /**
                 * 获取选中组织
                 *
                 * @return 选中组织
                 */
                getSelectMainOrgIds():$.java.util.List;
                /**
                 * 获取查询点击事件
                 *
                 * @return 查询点击事件
                 */
                getSearchClickEvent():kd.bos.form.control.events.SearchClickEvent;
                /**
                 * 通过字段名获取过滤值
                 *
                 * @param fieldName 字段名
                 * @return 过滤值
                 */
                getFilterValue(fieldName:string):any;
                /**
                 * 添加快速过滤条件
                 *
                 * @param fieldName
                 * @param value
                 */
                addFastFilter(fieldName:string,value:string):void;
                /**
                 * 设置常用过滤条件
                 *
                 * @param filterParameter 常用过滤条件
                 */
                setFilterParameter(filterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * 添加常量过滤条件
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 比较符
                 */
                addConstFilter(fieldName:string,compareTypeId:$.kd.bos.entity.filter.CompareTypeEnum):void;
                /**
                 * 过滤条件原始值
                 *
                 * @return 条件原始值
                 */
                getFilterValues():$.java.util.Map;
                /**
                 * 添加过滤条件(不包括快速过滤)
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 比较符
                 * @param values 值
                 */
                addFilter(fieldName:string,compareTypeId:$.kd.bos.entity.filter.CompareTypeEnum,...values:any[]):void;
                /**
                 * 获取快速过滤条件
                 *
                 * @return 快速过滤条件
                 */
                getFastQFilters():$.java.util.List;
                /**
                 * 设置当前点击的常用过滤条件
                 *
                 * @param currentCommonFilter 当前点击的常用过滤条件
                 */
                setCurrentCommonFilter(currentCommonFilter:$.java.util.Map):void;
                /**
                 * 获取常用过滤条件
                 *
                 * @return 常用过滤条件
                 */
                getFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 设置查询点击事件
                 *
                 * @param searchClickEvent 查询点击事件
                 */
                setSearchClickEvent(searchClickEvent:kd.bos.form.control.events.SearchClickEvent):void;
            }
            type FilterContainerSearchClickArgs_T = FilterContainerSearchClickArgs$;
            interface FilterContainerSearchClickArgs extends FilterContainerSearchClickArgs_T {
            }
            interface MobFilterSortSearchClickArgs_S {
            }
            interface MobFilterSortSearchClickArgs_C extends MobFilterSortSearchClickArgs_S {
                /**
                 * 构造方法：初始化移动过滤排序控件搜索事件参数
                 * @param searchClickEvent 过滤容器查询点击事件
                 */
                new(searchClickEvent:kd.bos.form.control.events.SearchClickEvent):MobFilterSortSearchClickArgs;
            }
            interface MobFilterSortSearchClickArgs$ {
                /**
                 * 获取快速过滤条件
                 *
                 * @return 快速过滤条件
                 */
                getFastQFilters():$.java.util.List;
                /**
                 * 获取常用过滤条件
                 *
                 * @return 常用过滤条件
                 */
                getFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 通过字段名获取过滤值
                 *
                 * @param fieldName 字段名
                 * @return 过滤值
                 */
                getFilterValue(fieldName:string):any;
                /**
                 * 设置常用过滤条件
                 *
                 * @param filterParameter 常用过滤条件
                 */
                setFilterParameter(filterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * 设置搜索点击事件参数
                 *
                 * @param searchClickEvent 搜索点击事件参数
                 */
                setSearchClickEvent(searchClickEvent:kd.bos.form.control.events.SearchClickEvent):void;
                /**
                 * 添加常量过滤条件
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 比较符
                 */
                addConstFilter(fieldName:string,compareTypeId:$.kd.bos.entity.filter.CompareTypeEnum):void;
                /**
                 * 获取当前常用过滤条件
                 *
                 * @return 当前常用过滤条件
                 */
                getCurrentCommonFilter():$.java.util.Map;
                /**
                 * 设置过滤条件原始值
                 *
                 * @param filterValues 过滤条件原始值
                 */
                setFilterValues(filterValues:$.java.util.Map):void;
                /**
                 * 获取搜索点击事件参数
                 *
                 * @return 搜索点击事件参数
                 */
                getSearchClickEvent():kd.bos.form.control.events.SearchClickEvent;
                /**
                 * 添加过滤条件(不包括快速过滤)
                 *
                 * @param fieldName 字段名
                 * @param compareTypeId 比较符
                 * @param values
                 */
                addFilter(fieldName:string,compareTypeId:$.kd.bos.entity.filter.CompareTypeEnum,...values:any[]):void;
                /**
                 * 获取过滤条件原始值
                 *
                 * @return 过滤条件原始值
                 */
                getFilterValues():$.java.util.Map;
                /**
                 * 设置当前点击的常用过滤条件
                 *
                 * @param currentCommonFilter 前点击的常用过滤条件
                 */
                setCurrentCommonFilter(currentCommonFilter:$.java.util.Map):void;
            }
            type MobFilterSortSearchClickArgs_T = MobFilterSortSearchClickArgs$;
            interface MobFilterSortSearchClickArgs extends MobFilterSortSearchClickArgs_T {
            }
            interface CustomEventArgs_S {
            }
            type CustomEventArgs_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & CustomEventArgs_S;
            interface CustomEventArgs_C extends CustomEventArgs_ST {
                /**
                 * 构造方法：初始化自定义事件参数
                 * @param source 事件源
                 * @param key 自定义事件标识
                 * @param eventName 自定义事件名称
                 * @param eventArgs 自定义事件参数
                 */
                new(source:any,key:string,eventName:string,eventArgs:string):CustomEventArgs;
            }
            interface CustomEventArgs$ {
                /**
                 * 获取自定义事件标识
                 * @return 自定义事件标识
                 */
                getKey():string;
                /**
                 * 获取自定义事件参数
                 * @return 自定义事件参数
                 */
                getEventArgs():string;
                /**
                 * 获取自定义事件名称
                 * @return 自定义事件名称
                 */
                getEventName():string;
            }
            type CustomEventArgs_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & CustomEventArgs$;
            interface CustomEventArgs extends CustomEventArgs_T {
            }
            interface ListColumnCompareTypesSetListener_S {
            }
            interface ListColumnCompareTypesSetListener_C extends ListColumnCompareTypesSetListener_S {
            }
            interface ListColumnCompareTypesSetListener$ {
                /**
                 * 列表表头过滤比较符设置事件参数
                 * @param evt 列表表头过滤比较符设置事件参数
                 */
                listColumnCompareTypesSet(evt:ListColumnCompareTypesSetEvent):void;
            }
            type ListColumnCompareTypesSetListener_T = ListColumnCompareTypesSetListener$;
            interface ListColumnCompareTypesSetListener extends ListColumnCompareTypesSetListener_T {
            }
            interface OnCreateDynamicUIMetasArgs_S {
            }
            type OnCreateDynamicUIMetasArgs_ST = $.java.util.EventObject & OnCreateDynamicUIMetasArgs_S;
            interface OnCreateDynamicUIMetasArgs_C extends OnCreateDynamicUIMetasArgs_ST {
                /**
                 * 构造方法：初始化创建动态UI元数据事件参数
                 * @param source 事件源
                 */
                new(source:any):OnCreateDynamicUIMetasArgs;
            }
            interface OnCreateDynamicUIMetasArgs$ {
                /**
                 * 获取UI元数据
                 * @return UI元数据
                 */
                getUIMetas():$.java.util.Map;
                /**
                 * 设置UI元数据
                 * @param uiMetas UI元数据
                 */
                setUIMetas(uiMetas:$.java.util.Map):void;
            }
            type OnCreateDynamicUIMetasArgs_T = $.java.util.EventObject & OnCreateDynamicUIMetasArgs$;
            interface OnCreateDynamicUIMetasArgs extends OnCreateDynamicUIMetasArgs_T {
            }
            interface BeforeFieldPostBackEvent_S {
            }
            type BeforeFieldPostBackEvent_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & BeforeFieldPostBackEvent_S;
            interface BeforeFieldPostBackEvent_C extends BeforeFieldPostBackEvent_ST {
                /**
                 * 构造方法：初始化客户端提交字段值到服务端事件参数
                 * @param source 事件源
                 * @param value 字段值
                 * @param rowIndex 实体行号
                 * @param parentRowIndex 父实体行号
                 */
                new(source:any,value:any,rowIndex:number,parentRowIndex:number):BeforeFieldPostBackEvent;
            }
            interface BeforeFieldPostBackEvent$ {
                /**
                 * 获取实体行号
                 * @return 实体行号
                 */
                getRowIndex():number;
                /**
                 * 是否取消该事件
                 * @return 是否取消布尔值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取父实体行号
                 * @return 父实体行号
                 */
                getParentRowIndex():number;
                /**
                 * 获取控件标识
                 * @return
                 */
                getKey():string;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消布尔值：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取字段值
                 * @return 字段值
                 */
                getValue():any;
                /**
                 * 设置控件标识
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 设置字段值
                 * @param value
                 */
                setValue(value:any):void;
            }
            type BeforeFieldPostBackEvent_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & BeforeFieldPostBackEvent$;
            interface BeforeFieldPostBackEvent extends BeforeFieldPostBackEvent_T {
            }
            interface LoadWaterMarkInfoEventArgs_S {
            }
            type LoadWaterMarkInfoEventArgs_ST = $.java.util.EventObject & LoadWaterMarkInfoEventArgs_S;
            interface LoadWaterMarkInfoEventArgs_C extends LoadWaterMarkInfoEventArgs_ST {
                new(arg0:any):LoadWaterMarkInfoEventArgs;
            }
            interface LoadWaterMarkInfoEventArgs$ {
                setWaterMark(arg0:kd.bos.form.watermark.WaterMark):void;
                getWaterMark():kd.bos.form.watermark.WaterMark;
            }
            type LoadWaterMarkInfoEventArgs_T = $.java.util.EventObject & LoadWaterMarkInfoEventArgs$;
            interface LoadWaterMarkInfoEventArgs extends LoadWaterMarkInfoEventArgs_T {
            }
            interface TimerElapsedArgs_S {
            }
            type TimerElapsedArgs_ST = $.java.util.EventObject & TimerElapsedArgs_S;
            interface TimerElapsedArgs_C extends TimerElapsedArgs_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 */
                new(source:any):TimerElapsedArgs;
            }
            interface TimerElapsedArgs$ {
            }
            type TimerElapsedArgs_T = $.java.util.EventObject & TimerElapsedArgs$;
            interface TimerElapsedArgs extends TimerElapsedArgs_T {
            }
            interface AfterMobileListPushDownRefreshEvent_S {
            }
            type AfterMobileListPushDownRefreshEvent_ST = $.java.util.EventObject & AfterMobileListPushDownRefreshEvent_S;
            interface AfterMobileListPushDownRefreshEvent_C extends AfterMobileListPushDownRefreshEvent_ST {
                /**
                 * 构造方法：初始化移动端列表下拉刷新界面事件参数
                 * @param source 事件源
                 */
                new(source:any):AfterMobileListPushDownRefreshEvent;
            }
            interface AfterMobileListPushDownRefreshEvent$ {
            }
            type AfterMobileListPushDownRefreshEvent_T = $.java.util.EventObject & AfterMobileListPushDownRefreshEvent$;
            interface AfterMobileListPushDownRefreshEvent extends AfterMobileListPushDownRefreshEvent_T {
            }
            interface PreOpenFormEventArgs_S {
            }
            type PreOpenFormEventArgs_ST = $.java.util.EventObject & PreOpenFormEventArgs_S;
            interface PreOpenFormEventArgs_C extends PreOpenFormEventArgs_ST {
                /**
                 * 构造方法：初始化打开表单之前事件参数
                 * @param source 事件源
                 */
                new(source:any):PreOpenFormEventArgs;
            }
            interface PreOpenFormEventArgs$ {
                /**
                 * 获取参数，source一定是FormShowParameter类型
                 * @return 参数
                 */
                getFormShowParameter():FormShowParameter;
                /**
                 * 是否取消该事件判断
                 * @return 是否取消：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取取消事件的原因
                 * @return 取消事件的原因
                 */
                getCancelMessage():string;
                /**
                 * 获取取消事件的FormShowParameter对象字符串
                 * @return
                 */
                getCancelFormShowParameter():string;
                /**
                 * 设置是否取消该事件
                 * @param cancel 是否取消：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置取消事件的FormShowParameter对象字符串
                 * @param cancelFormShowParameter
                 */
                setCancelFormShowParameter(cancelFormShowParameter:string):void;
                /**
                 * 设置取消事件的原因
                 * @param cancelMessage 取消事件的原因
                 */
                setCancelMessage(cancelMessage:string):void;
            }
            type PreOpenFormEventArgs_T = $.java.util.EventObject & PreOpenFormEventArgs$;
            interface PreOpenFormEventArgs extends PreOpenFormEventArgs_T {
            }
            interface EntryHyperLinkClickEvent_S {
            }
            type EntryHyperLinkClickEvent_ST = $.java.util.EventObject & EntryHyperLinkClickEvent_S;
            interface EntryHyperLinkClickEvent_C extends EntryHyperLinkClickEvent_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any):EntryHyperLinkClickEvent;
                new(pk:any,entryPk:any,fieldName:string,source:any):EntryHyperLinkClickEvent;
            }
            interface EntryHyperLinkClickEvent$ {
                getEntryPk():any;
                getFieldName():string;
                getPk():any;
            }
            type EntryHyperLinkClickEvent_T = $.java.util.EventObject & EntryHyperLinkClickEvent$;
            interface EntryHyperLinkClickEvent extends EntryHyperLinkClickEvent_T {
            }
            interface BeforeBindDataEvent_S {
            }
            type BeforeBindDataEvent_ST = $.java.util.EventObject & BeforeBindDataEvent_S;
            interface BeforeBindDataEvent_C extends BeforeBindDataEvent_ST {
                /**
                 * 构造方法：初始化绑定数据前事件参数
                 *
                 * @param source 事件源
                 */
                new(source:any):BeforeBindDataEvent;
            }
            interface BeforeBindDataEvent$ {
            }
            type BeforeBindDataEvent_T = $.java.util.EventObject & BeforeBindDataEvent$;
            interface BeforeBindDataEvent extends BeforeBindDataEvent_T {
            }
            interface PagerClickEvent_S {
            }
            type PagerClickEvent_ST = $.java.util.EventObject & PagerClickEvent_S;
            interface PagerClickEvent_C extends PagerClickEvent_ST {
                /**
                 * 构造方法：初始化页面点击事件参数
                 * @param source 事件源
                 */
                new(source:any):PagerClickEvent;
                /**
                 * 构造方法：初始化页面点击事件参数
                 * @param source 事件源
                 * @param currentPageIndex 当前页面编号
                 * @param pageRows 页面上表格的行数
                 */
                new(source:any,currentPageIndex:number,pageRows:number):PagerClickEvent;
            }
            interface PagerClickEvent$ {
                /**
                 * 设置当前页面编号
                 * @param currentPageIndex 当前页面编号
                 */
                setCurrentPageIndex(currentPageIndex:number):void;
                /**
                 * 获取页面上表格的行数
                 * @return 页面上表格的行数
                 */
                getPageRows():number;
                /**
                 * 设置页面上表格的行数
                 * @param pageRows 页面上表格的行数
                 */
                setPageRows(pageRows:number):void;
                /**
                 * 获取当前页面编号
                 * @return 当前页面编号
                 */
                getCurrentPageIndex():number;
            }
            type PagerClickEvent_T = $.java.util.EventObject & PagerClickEvent$;
            interface PagerClickEvent extends PagerClickEvent_T {
            }
            interface OnGetControlArgs_S {
            }
            type OnGetControlArgs_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & OnGetControlArgs_S;
            interface OnGetControlArgs_C extends OnGetControlArgs_ST {
                /**
                 * 构造方法：初始化获取插件控件事件参数
                 * @param source 事件源
                 * @param key 插件控件标识
                 */
                new(source:any,key:string):OnGetControlArgs;
            }
            interface OnGetControlArgs$ {
                /**
                 * 设置插件控件
                 * @param control 插件控件
                 */
                setControl(control:kd.bos.form.control.Control):void;
                /**
                 * 获取插件控件标识
                 * @return 插件控件标识
                 */
                getKey():string;
                /**
                 * 获取插件控件
                 * @return 插件控件
                 */
                getControl():kd.bos.form.control.Control;
            }
            type OnGetControlArgs_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & OnGetControlArgs$;
            interface OnGetControlArgs extends OnGetControlArgs_T {
            }
            interface LoadCustomControlMetasArgs_S {
            }
            type LoadCustomControlMetasArgs_ST = $.java.util.EventObject & LoadCustomControlMetasArgs_S;
            interface LoadCustomControlMetasArgs_C extends LoadCustomControlMetasArgs_ST {
                /**
                 * 构造方法：初始化加载定制控件元数据事件参数
                 * @param source 事件源
                 */
                new(source:any):LoadCustomControlMetasArgs;
                /**
                 * 构造方法：初始化加载定制控件元数据事件参数
                 * @param source 事件源
                 * @param formConfig
                 */
                new(source:any,formConfig:$.java.util.Map):LoadCustomControlMetasArgs;
            }
            interface LoadCustomControlMetasArgs$ {
                /**
                 * 设置表单宽度
                 * @param width 表单宽度
                 */
                setFormWidth(width:string):void;
                /**
                 * 设置可见性
                 * @param data 可见性
                 */
                setInvisibleInstructions(data:$.java.util.List):void;
                /**
                 * 获取控件子项
                 * @return 控件子项
                 */
                getItems():$.java.util.List;
                /**
                 * 设置表单高度
                 * @param height 表单高度
                 */
                setFormHeight(height:string):void;
                /**
                 * 获取可见性
                 * @return 可见性
                 */
                getInvisibleInstructions():$.java.util.List;
            }
            type LoadCustomControlMetasArgs_T = $.java.util.EventObject & LoadCustomControlMetasArgs$;
            interface LoadCustomControlMetasArgs extends LoadCustomControlMetasArgs_T {
            }
            interface PagerClickListener_S {
            }
            interface PagerClickListener_C extends PagerClickListener_S {
            }
            interface PagerClickListener$ {
                /**
                 * 页面点击事件
                 * @param pagerClickEvent 页面点击事件参数
                 */
                pagerClick(pagerClickEvent:PagerClickEvent):void;
            }
            type PagerClickListener_T = PagerClickListener$;
            interface PagerClickListener extends PagerClickListener_T {
            }
            interface ClosedCallBackEvent_S {
            }
            type ClosedCallBackEvent_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & ClosedCallBackEvent_S;
            interface ClosedCallBackEvent_C extends ClosedCallBackEvent_ST {
                /**
                 * 构造方法：初始化关闭回调事件参数
                 * @param obj 事件源
                 * @param actionId 回调标识：由发起者自定义，以便和其他回调来源进行区分
                 * @param ret 回调返回数据
                 */
                new(obj:any,actionId:string,ret:any):ClosedCallBackEvent;
            }
            interface ClosedCallBackEvent$ {
                /**
                 * 获取回调标识：由发起者自定义，以便和其他回调来源进行区分
                 * @return 回调标识
                 */
                getActionId():string;
                /**
                 * 获取表单视图
                 * @return 表单视图
                 */
                getView():IFormView;
                /**
                 * 设置表单视图
                 * @param view 表单视图
                 */
                setView(view:IFormView):void;
                /**
                 * 获取回调返回数据
                 * @return 回调返回数据
                 */
                getReturnData():any;
            }
            type ClosedCallBackEvent_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & ClosedCallBackEvent$;
            interface ClosedCallBackEvent extends ClosedCallBackEvent_T {
            }
            interface ExportFileEvent_S {
            }
            type ExportFileEvent_ST = BeforeExportFileEvent_S & ExportFileEvent_S;
            interface ExportFileEvent_C extends ExportFileEvent_ST {
                /**
                 * 构造方法：初始化列表引出文件事件参数
                 * @param view 表单视图
                 * @param mainEntityType 单据实体类型
                 * @param fileName 文件名称
                 */
                new(view:IFormView,mainEntityType:$.kd.bos.entity.BillEntityType,fileName:string):ExportFileEvent;
            }
            interface ExportFileEvent$ {
                /**
                 * 设置文件
                 * @param file 文件
                 */
                setFile(file:$.java.io.File):void;
                /**
                 * 设置自定义excel头信息
                 * @param customHeaderMap 自定义excel头信息
                 */
                setCustomHeaderMap(customHeaderMap:$.java.util.Map):void;
                /**
                 * 获取自定义excel头信息
                 * @return 自定义excel头信息
                 */
                getCustomHeaderMap():$.java.util.Map;
                /**
                 * 获取文件
                 * @return 文件
                 */
                getFile():$.java.io.File;
            }
            type ExportFileEvent_T = BeforeExportFileEvent & ExportFileEvent$;
            interface ExportFileEvent extends ExportFileEvent_T {
            }
            interface TimeZoneLocationEvent_S {
            }
            type TimeZoneLocationEvent_ST = $.java.util.EventObject & TimeZoneLocationEvent_S;
            interface TimeZoneLocationEvent_C extends TimeZoneLocationEvent_ST {
                /**
                 * 构造方法：初始化移动端时区设置事件参数
                 * @param paramObject 事件源
                 * @param timeZoneNum 时区
                 */
                new(paramObject:any,timeZoneNum:string):TimeZoneLocationEvent;
            }
            interface TimeZoneLocationEvent$ {
                /**
                 * 设置时区
                 * @param timeZoneNum 时区
                 */
                setTimeZoneNum(timeZoneNum:string):void;
                /**
                 * 获取时区
                 * @return 时区
                 */
                getTimeZoneNum():string;
            }
            type TimeZoneLocationEvent_T = $.java.util.EventObject & TimeZoneLocationEvent$;
            interface TimeZoneLocationEvent extends TimeZoneLocationEvent_T {
            }
            interface BeforeClosedEvent_S {
            }
            type BeforeClosedEvent_ST = $.java.util.EventObject & BeforeClosedEvent_S;
            interface BeforeClosedEvent_C extends BeforeClosedEvent_ST {
                /**
                 * 构造方法：初始化关闭前操作事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeClosedEvent;
            }
            interface BeforeClosedEvent$ {
                /**
                 * 退出界面时，是否略过未绑定物理字段的字段改动
                 * @return 是否略过
                 */
                isSkipNoField():boolean;
                /**
                 * 是否取消关闭窗口
                 * @return 是否取消：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 是否检测BillView中Model数据变化并给出提示
                 * @return  是否检测：false-不检测，true-检测
                 */
                isCheckDataChange():boolean;
                /**
                 * 设置是否检测BillView中Model数据变化并给出提示
                 * @param checkDataChange 是否检测：false-不检测，true-检测
                 */
                setCheckDataChange(checkDataChange:boolean):void;
                /**
                 * 设置参数：退出界面时，略过未绑定物理字段的字段改动，不显示提示（绑定了物理字段的字段改动，不受此参数控制，依然会提示改动）
                 *
                 * @param skipNoField 是否略过
                 */
                setSkipNoField(skipNoField:boolean):void;
                /**
                 * 设置是否取消关闭窗口
                 * @param cancel 是否取消：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
            }
            type BeforeClosedEvent_T = $.java.util.EventObject & BeforeClosedEvent$;
            interface BeforeClosedEvent extends BeforeClosedEvent_T {
            }
            interface AfterBindDataEvent_S {
            }
            type AfterBindDataEvent_ST = $.java.util.EventObject & AfterBindDataEvent_S;
            interface AfterBindDataEvent_C extends AfterBindDataEvent_ST {
                /**
                 * 构造方法：初始化绑定数据后事件参数
                 * @param source 事件源
                 */
                new(source:any):AfterBindDataEvent;
            }
            interface AfterBindDataEvent$ {
            }
            type AfterBindDataEvent_T = $.java.util.EventObject & AfterBindDataEvent$;
            interface AfterBindDataEvent extends AfterBindDataEvent_T {
            }
            interface EntryHyperLinkClickListener_S {
            }
            interface EntryHyperLinkClickListener_C extends EntryHyperLinkClickListener_S {
            }
            interface EntryHyperLinkClickListener$ {
                /**
                 * 构造函数
                 * @param evt
                 */
                hyperLinkClick(evt:EntryHyperLinkClickEvent):void;
            }
            type EntryHyperLinkClickListener_T = EntryHyperLinkClickListener$;
            interface EntryHyperLinkClickListener extends EntryHyperLinkClickListener_T {
            }
            interface HyperLinkClickEvent_S {
            }
            type HyperLinkClickEvent_ST = $.java.util.EventObject & HyperLinkClickEvent_S;
            interface HyperLinkClickEvent_C extends HyperLinkClickEvent_ST {
                /**
                 * 构造方法：初始化超链接点击事件参数
                 * @param source 事件源
                 * @param fieldName 字段名
                 * @param rowIndex 行索引
                 */
                new(source:any,fieldName:string,rowIndex:number):HyperLinkClickEvent;
                /**
                 * @deprecated 不推荐，插件通过当前行所在行的主键获取数据
                 * @param source 事件源
                 * @param fieldName 字段名
                 * @param rowIndex 行索引
                 * @param rowData 行数据
                 */
                new(source:any,fieldName:string,rowIndex:number,rowData:$.kd.bos.dataentity.entity.DynamicObject):HyperLinkClickEvent;
                /**
                 * @deprecated 不推荐，插件通过当前行所在行的主键获取数据
                 * @param source 事件源
                 * @param fieldName 字段名
                 * @param rowIndex 行索引
                 * @param rowData 行数据
                 * @param pageIndex 分页索引
                 */
                new(source:any,fieldName:string,rowIndex:number,rowData:$.kd.bos.dataentity.entity.DynamicObject,pageIndex:number):HyperLinkClickEvent;
            }
            interface HyperLinkClickEvent$ {
                /**
                 * @deprecated 不推荐，插件通过当前行所在行的主键获取数据
                 *
                 * @return 行数据
                 */
                getRowData():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * @deprecated 获取分页索引
                 *
                 * @return 分页索引
                 */
                getPageIndex():number;
                /**
                 * 获取行索引
                 *
                 * @return 行索引
                 */
                getRowIndex():number;
                /**
                 * @deprecated 设置分页索引
                 *
                 * @param pageIndex 分页索引
                 */
                setPageIndex(pageIndex:number):void;
                /**
                 * 获取字段名
                 *
                 * @return 字段名
                 */
                getFieldName():string;
            }
            type HyperLinkClickEvent_T = $.java.util.EventObject & HyperLinkClickEvent$;
            interface HyperLinkClickEvent extends HyperLinkClickEvent_T {
            }
            interface AddCustomViewEvent_S {
            }
            type AddCustomViewEvent_ST = $.java.util.EventObject & AddCustomViewEvent_S;
            interface AddCustomViewEvent_C extends AddCustomViewEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 */
                new(source:any):AddCustomViewEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件来源
                 * @param customView
                 *            自定义视图实例
                 */
                new(source:any,customView:kd.bos.form.control.CustomView):AddCustomViewEvent;
            }
            interface AddCustomViewEvent$ {
                /**
                 * 设置子定义视图实例
                 *
                 * @param customView
                 *            自定义视图实例
                 */
                setCustomView(customView:kd.bos.form.control.CustomView):void;
                /**
                 * 获取自定义视图实例
                 *
                 * @return 自定义视图实例
                 */
                getCustomView():kd.bos.form.control.CustomView;
            }
            type AddCustomViewEvent_T = $.java.util.EventObject & AddCustomViewEvent$;
            interface AddCustomViewEvent extends AddCustomViewEvent_T {
            }
            interface BeforeBindDataListener_S {
            }
            interface BeforeBindDataListener_C extends BeforeBindDataListener_S {
            }
            interface BeforeBindDataListener$ {
                /**
                 *  绑定数据前事件
                 * @param evt 绑定数据前事件参数
                 */
                beforeBindData(evt:BeforeBindDataEvent):void;
            }
            type BeforeBindDataListener_T = BeforeBindDataListener$;
            interface BeforeBindDataListener extends BeforeBindDataListener_T {
            }
            interface MessageBoxClosedEvent_S {
            }
            type MessageBoxClosedEvent_ST = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & MessageBoxClosedEvent_S;
            interface MessageBoxClosedEvent_C extends MessageBoxClosedEvent_ST {
                /**
                 * 构造方法：初始化提示框关闭事件参数
                 * @param source 事件源
                 * @param callBackId 执行句柄
                 * @param resultOption 提示框选择结果
                 */
                new(source:any,callBackId:string,resultOption:number):MessageBoxClosedEvent;
                /**
                 * 构造方法：初始化提示框关闭事件参数
                 * @param source 事件源
                 * @param callBackId 执行句柄
                 * @param resultOption 提示框选择结果
                 * @param customVaule 自定义值
                 */
                new(source:any,callBackId:string,resultOption:number,customVaule:string):MessageBoxClosedEvent;
            }
            interface MessageBoxClosedEvent$ {
                /**
                 * 获取自定义值
                 * @return 自定义值
                 */
                getCustomVaule():string;
                /**
                 * 获取执行句柄
                 * @return 执行句柄
                 */
                getCallBackId():string;
                /**
                 * 返回提示框选择结果
                 * @return 提示框选择结果
                 */
                getResult():MessageBoxResult;
                /**
                 * 返回提示框选择结果转义字符
                 * @return 提示框选择结果转义字符
                 */
                getResultValue():string;
            }
            type MessageBoxClosedEvent_T = $.java.util.EventObject & $.kd.bos.entity.plugin.manager.IConditionEvent & MessageBoxClosedEvent$;
            interface MessageBoxClosedEvent extends MessageBoxClosedEvent_T {
            }
            interface SumDataLoadOnFirstSetEvent_S {
            }
            type SumDataLoadOnFirstSetEvent_ST = $.java.util.EventObject & SumDataLoadOnFirstSetEvent_S;
            interface SumDataLoadOnFirstSetEvent_C extends SumDataLoadOnFirstSetEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件来源
                 */
                new(source:any):SumDataLoadOnFirstSetEvent;
            }
            interface SumDataLoadOnFirstSetEvent$ {
                /**
                 * 获取是否打开页面加载同时“计算合计”事件开关
                 *
                 * @return 是否打开
                 */
                isSumDataLoadOnFirst():boolean;
                /**
                 * 设置打开页面加载同时“计算合计”事件
                 *
                 * @param isSumDataLoadOnFirst 是否打开
                 */
                setSumDataLoadOnFirst(isSumDataLoadOnFirst:boolean):void;
            }
            type SumDataLoadOnFirstSetEvent_T = $.java.util.EventObject & SumDataLoadOnFirstSetEvent$;
            interface SumDataLoadOnFirstSetEvent extends SumDataLoadOnFirstSetEvent_T {
            }
            interface ScrollListListener_S {
            }
            interface ScrollListListener_C extends ScrollListListener_S {
            }
            interface ScrollListListener$ {
                scroll(scrollListEvent:ScrollListEvent):void;
            }
            type ScrollListListener_T = ScrollListListener$;
            interface ScrollListListener extends ScrollListListener_T {
            }
            interface MobFilterSortInitArgs_S {
            }
            interface MobFilterSortInitArgs_C extends MobFilterSortInitArgs_S {
                /**
                 * 构造方法:初始化过滤容器初始化事件参数
                 * @param mobFilterSortInitEvent 过滤容器初始事件
                 */
                new(mobFilterSortInitEvent:kd.bos.form.control.events.MobFilterSortInitEvent):MobFilterSortInitArgs;
            }
            interface MobFilterSortInitArgs$ {
                /**
                 * 获取过滤字段
                 *
                 * @return 过滤字段
                 */
                getFilterColumns():$.java.util.List;
                /**
                 * 获取排序字段
                 *
                 * @return 排序字段
                 */
                getMobSortColumns():$.java.util.List;
                /**
                 * 通过字段名获取过滤字段
                 *
                 * @param fieldName 字段名
                 * @return 过滤字段
                 */
                getFilterColumn(fieldName:string):kd.bos.filter.FilterColumn;
                /**
                 * 添加过滤字段
                 *
                 * @param filterColumn 过滤字段
                 */
                addFilterColumn(filterColumn:kd.bos.filter.FilterColumn):void;
                /**
                 * 设置过滤容器初始事件
                 *
                 * @param mobFilterSortInitEvent 过滤容器初始事件
                 */
                setMobFilterSortInitEvent(mobFilterSortInitEvent:kd.bos.form.control.events.MobFilterSortInitEvent):void;
                /**
                 * 获取过滤容器初始事件参数
                 *
                 * @return 过滤容器初始事件参数
                 */
                getMobFilterSortInitEvent():kd.bos.form.control.events.MobFilterSortInitEvent;
                /**
                 * 添加排序字段
                 * @param mobSortColumn 排序字段
                 */
                addSortColumn(mobSortColumn:kd.bos.filter.mcontrol.MobSortColumn):void;
            }
            type MobFilterSortInitArgs_T = MobFilterSortInitArgs$;
            interface MobFilterSortInitArgs extends MobFilterSortInitArgs_T {
            }
            interface ScrollListEvent_S {
            }
            type ScrollListEvent_ST = $.java.util.EventObject & ScrollListEvent_S;
            interface ScrollListEvent_C extends ScrollListEvent_ST {
                new(source:any):ScrollListEvent;
                new(source:any,start:number,limit:number):ScrollListEvent;
            }
            interface ScrollListEvent$ {
                getStart():number;
                getLimit():number;
            }
            type ScrollListEvent_T = $.java.util.EventObject & ScrollListEvent$;
            interface ScrollListEvent extends ScrollListEvent_T {
            }
            interface SetFilterListener_S {
            }
            interface SetFilterListener_C extends SetFilterListener_S {
            }
            interface SetFilterListener$ {
                /**
                 * 设置过滤条件事件
                 * @param evt 设置过滤条件事件参数
                 */
                setFilter(evt:SetFilterEvent):void;
            }
            type SetFilterListener_T = SetFilterListener$;
            interface SetFilterListener extends SetFilterListener_T {
            }
            interface BeforeCreateListColumnsArgs_S {
            }
            type BeforeCreateListColumnsArgs_ST = $.java.util.EventObject & BeforeCreateListColumnsArgs_S;
            interface BeforeCreateListColumnsArgs_C extends BeforeCreateListColumnsArgs_ST {
                /**
                 * 初始化创建列表前事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeCreateListColumnsArgs;
                /**
                 * 初始化创建列表前事件参数
                 * @param source 事件源
                 * @param listColumns 列表字段
                 */
                new(source:any,listColumns:$.java.util.List):BeforeCreateListColumnsArgs;
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param listColumns 列表字段集合
                 * @param listGroupColumns 分组字段集合
                 */
                new(source:any,listColumns:$.java.util.List,listGroupColumns:$.java.util.List):BeforeCreateListColumnsArgs;
            }
            interface BeforeCreateListColumnsArgs$ {
                /**
                 * 获取分组字段
                 *
                 * @return 分组字段
                 */
                getListGroupColumns():$.java.util.List;
                /**
                 * 设置列表字段
                 *
                 * @param listColumns 列表字段
                 */
                setListColumns(listColumns:$.java.util.List):void;
                /**
                 * 获取列表字段
                 *
                 * @return 列表字段
                 */
                getListColumns():$.java.util.List;
                /**
                 * 获取动态文本字段
                 *
                 * @return 动态文本字段
                 */
                getDynamicTextListColumns():$.java.util.List;
                /**
                 * 设置表格合计类型
                 *
                 * @param totalType 设置列表列字段合计类型
                 */
                setTotalType(totalType:string):void;
                /**
                 * 通过字段名获取列表字段
                 *
                 * @param fieldName 字段名
                 * @return 列表字段
                 */
                getListColumn(fieldName:string):$.kd.bos.list.IListColumn;
                /**
                 * 获取表格的列编辑字段标识
                 * @return
                 */
                getEditableColumnKeys():$.java.util.Set;
                /**
                 * 添加列表字段
                 *
                 * @param listColumn 列表字段
                 */
                addListColumn(listColumn:$.kd.bos.list.IListColumn):void;
                /**
                 *  添加分组字段
                 *
                 *  示例：
                 *  <pre><code>
                 * ComboListColumn comboListColumn = (ComboListColumn) beforecreatelistcolumnsargs.getListColumn("test");
                 * comboListColumn.setFixed(true);
                 *
                 * comboListColumn.setListFieldKey("combofield");
                 * comboListColumn.setCaption(new LocaleString("combo"));
                 * comboListColumn.setParentViewKey("test1");
                 * beforecreatelistcolumnsargs.addListColumn(comboListColumn);
                 *
                 * ListColumnGroup listColumnGroup = new ListColumnGroup();
                 * listColumnGroup.setKey("test1");
                 * // listColumnGroup.setParentViewKey("gridview");
                 * listColumnGroup.setName(new LocaleString("test"));
                 * listColumnGroup.getItems().add(comboListColumn);
                 * listColumnGroup.setVisible(11);
                 * beforecreatelistcolumnsargs.addListColumnGroup(listColumnGroup);
                 * 		</code></pre>
                 *
                 *  @param listColumnGroup 列表分组字段
                 */
                addListColumnGroup(listColumnGroup:kd.bos.list.ListColumnGroup):void;
                /**
                 * 获取合并列表字段
                 *
                 * @return 合并列表字段
                 */
                getMergeListColumns():$.java.util.List;
                /**
                 * 获取表格合计类型
                 *
                 * @return
                 */
                getTotalType():string;
                /**
                 * 设置表格的列编辑字段标识
                 * @param editableColumnKey
                 */
                addEditableColumnKey(...editableColumnKey:string[]):void;
                /**
                 * 添加分组字段
                 *
                 * @param key 字段key
                 * @param name 字段名称
                 * @param parentViewKey 字段所属视图
                 */
                addListColumnGroup(key:string,name:$.kd.bos.dataentity.entity.LocaleString,parentViewKey:string):void;
                /**
                 * 设置分组字段
                 *
                 * @param listGroupColumns 分组字段
                 */
                setListGroupColumns(listGroupColumns:$.java.util.List):void;
            }
            type BeforeCreateListColumnsArgs_T = $.java.util.EventObject & BeforeCreateListColumnsArgs$;
            interface BeforeCreateListColumnsArgs extends BeforeCreateListColumnsArgs_T {
            }
            interface SetFilterEvent_S {
            }
            type SetFilterEvent_ST = $.java.util.EventObject & SetFilterEvent_S;
            interface SetFilterEvent_C extends SetFilterEvent_ST {
                /**
                 * 设置过滤源
                 * @param source 过滤源
                 */
                new(source:any):SetFilterEvent;
                /**
                 * 构造方法：初始化过滤条件事件参数
                 * @param source 事件源
                 * @param qFilters 过滤条件
                 * @param ordeyBy 排序规则
                 */
                new(source:any,qFilters:$.java.util.List,ordeyBy:string):SetFilterEvent;
            }
            interface SetFilterEvent$ {
                /**
                 * 设置特殊数据权限
                 *
                 * @param specialDataPermQFilter 特殊数据权限
                 */
                setSpecialDataPermQFilter(specialDataPermQFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 获取插件设置的过滤条件
                 *
                 * @return 插件设置的过滤条件
                 */
                getCustomQFilters():$.java.util.List;
                /**
                 * 设置数据权限
                 *
                 * @param dataPermQFilters 数据权限
                 */
                setDataPermQFilters(dataPermQFilters:$.java.util.List):void;
                /**
                 * 获取过滤字段控件映射的实体字段名
                 *
                 * @return 过滤字段控件映射的实体字段名
                 */
                getFieldName():string;
                /**
                 * 获取特殊数据权限
                 *
                 * @return 特殊数据权限
                 */
                getSpecialDataPermQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 获取最终合并的所有过滤条件
                 *
                 * @return 最终合并的所有过滤条件
                 */
                getMergeQFilters():$.java.util.List;
                /**
                 * 获取自定义控制器参数
                 *
                 * @return 自定义控制器参数
                 */
                getBasedataCoreQFilters():$.java.util.List;
                /**
                 * 设置主业务组织数据权限
                 *
                 * @param mainOrgQFilter 主业务组织数据权限
                 */
                setMainOrgQFilter(mainOrgQFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 设置排序
                 *
                 * @param orderBy 排序
                 */
                setOrderBy(orderBy:string):void;
                /**
                 * 将所有的过滤条件拼接起来
                 * @return 过滤条件
                 */
                joinAllQFiltersToAnd():$.kd.bos.orm.query.QFilter;
                /**
                 * 获取所有过滤条件(不包括权限相关的以及插件设置的过滤)
                 *
                 * @return 所有过滤条件
                 */
                getQFilters():$.java.util.List;
                /**
                 * 获取主业务组织数据权限
                 *
                 * @return 主业务组织数据权限
                 */
                getMainOrgQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 设置插件设置的过滤条件(多个)
                 *
                 * @param customQFilters 插件设置的过滤条件
                 */
                setCustomQFilters(customQFilters:$.java.util.List):void;
                /**
                 * 获取数据权限
                 *
                 * @return 数据权限
                 */
                getDataPermQFilters():$.java.util.List;
                /**
                 * 添加插件设置的过滤条件
                 *
                 * @param customQFilter 插件设置的过滤条件
                 */
                addCustomQFilter(customQFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 设置自定义控制器参数
                 *
                 * @param basedataCoreQFilters 自定义控制器参数
                 */
                setBasedataCoreQFilters(basedataCoreQFilters:$.java.util.List):void;
                /**
                 * 获取排序
                 *
                 * @return 排序
                 */
                getOrderBy():string;
            }
            type SetFilterEvent_T = $.java.util.EventObject & SetFilterEvent$;
            interface SetFilterEvent extends SetFilterEvent_T {
            }
            interface FilterColumnSetFilterEvent_S {
            }
            type FilterColumnSetFilterEvent_ST = FilterColumnSetFilterEvent_S & SetFilterEvent_S;
            interface FilterColumnSetFilterEvent_C extends FilterColumnSetFilterEvent_ST {
                /**
                 * 构造方法：初始化绑定数据前事件参数
                 * @param source 事件源
                 * @param qFilters 过滤条件
                 * @param ordeyBy 排序规则
                 * @param conmmonFilters 常用过滤字段
                 */
                new(source:any,qFilters:$.java.util.List,ordeyBy:string,commonFilters:$.java.util.Map):FilterColumnSetFilterEvent;
            }
            interface FilterColumnSetFilterEvent$ {
                /**
                 * 获取常用过滤字段
                 * @param fieldName 字段名称
                 * @return  常用过滤字段
                 */
                getCommonFilterValue(fieldName:string):$.java.util.List;
            }
            type FilterColumnSetFilterEvent_T = FilterColumnSetFilterEvent$ & SetFilterEvent;
            interface FilterColumnSetFilterEvent extends FilterColumnSetFilterEvent_T {
            }
            interface FilterContainerInitArgs_S {
            }
            interface FilterContainerInitArgs_C extends FilterContainerInitArgs_S {
                /**
                 * 构造函数
                 *
                 * @param filterContainerInitEvent
                 *            过滤容器初始化事件参数 {@link FilterContainerInitEvent}
                 */
                new(filterContainerInitEvent:kd.bos.form.control.events.FilterContainerInitEvent):FilterContainerInitArgs;
            }
            interface FilterContainerInitArgs$ {
                /**
                 * 获取方案过滤字段
                 *
                 * @return 方案过滤字段
                 */
                getSchemeFilterColumns():$.java.util.List;
                /**
                 * 添加过滤字段
                 *
                 * @param filterColumn 过滤字段
                 */
                addFilterColumn(filterColumn:kd.bos.filter.FilterColumn):void;
                /**
                 * 获取常用过滤字段
                 *
                 * @return 常用过滤字段
                 */
                getCommonFilterColumns():$.java.util.List;
                /**
                 * 通过字段名获取过滤字段
                 *
                 * @param fieldName 字段名
                 * @return  过滤字段
                 */
                getFilterColumn(fieldName:string):kd.bos.filter.FilterColumn;
                /**
                 * 获取快速过滤字段
                 *
                 * @return 快速过滤字段
                 */
                getFastFilterColumns():$.java.util.List;
                /**
                 * 获取过滤容器初始事件参数
                 *
                 * @return 过滤容器初始事件参数
                 */
                getFilterContainerInitEvent():kd.bos.form.control.events.FilterContainerInitEvent;
                /**
                 * 设置过滤容器初始事件参数
                 *
                 * @param filterContainerInitEvent 过滤容器初始事件参数
                 */
                setFilterContainerInitEvent(filterContainerInitEvent:kd.bos.form.control.events.FilterContainerInitEvent):void;
            }
            type FilterContainerInitArgs_T = FilterContainerInitArgs$;
            interface FilterContainerInitArgs extends FilterContainerInitArgs_T {
            }
        }
        namespace kd.bos.form.exception{
            interface InterruptNextRequestParam_S {
            }
            type InterruptNextRequestParam_ST = $.java.io.Serializable & InterruptNextRequestParam_S;
            interface InterruptNextRequestParam_C extends InterruptNextRequestParam_ST {
                /**
                 * 构造函数
                 * @param shouldInterrupt
                 * @param msgtype
                 * @param msg
                 */
                new(shouldInterrupt:boolean,msgtype:string,msg:string):InterruptNextRequestParam;
                /**
                 * 构造函数
                 * @param shouldInterrupt
                 * @param msgtype
                 * @param msg
                 * @param colseWindow
                 */
                new(shouldInterrupt:boolean,msgtype:string,msg:string,colseWindow:boolean):InterruptNextRequestParam;
            }
            interface InterruptNextRequestParam$ {
                /**
                 * 获取消息内容
                 * @return
                 */
                getMsg():string;
                /**
                 * 设置是否拦截下一个请求并中断
                 * @param shouldInterrupt
                 */
                setShouldInterrupt(shouldInterrupt:boolean):void;
                /**
                 * 获取消息类型
                 * @return
                 */
                getMsgtype():string;
                /**
                 * 设置消息类型
                 * @param msgtype
                 */
                setMsgtype(msgtype:string):void;
                /**
                 * 设置消息内容
                 * @param msg
                 */
                setMsg(msg:string):void;
                /**
                 * 是否同时关闭窗口
                 * @return
                 */
                isColseWindow():boolean;
                /**
                 * 设置是否同时关闭窗口
                 * @param colseWindow
                 */
                setColseWindow(colseWindow:boolean):void;
                /**
                 * 是否拦截下一个请求并中断
                 * @return
                 */
                isShouldInterrupt():boolean;
            }
            type InterruptNextRequestParam_T = $.java.io.Serializable & InterruptNextRequestParam$;
            interface InterruptNextRequestParam extends InterruptNextRequestParam_T {
            }
        }
        namespace kd.bos.form.field{
            interface LargeTextEdit_S {
            }
            type LargeTextEdit_ST = ICloseCallBack_S & LargeTextEdit_S & TextEdit_S;
            interface LargeTextEdit_C extends LargeTextEdit_ST {
                new():LargeTextEdit;
            }
            interface LargeTextEdit$ {
                /**
                 * 点击，大文本详细信息
                 * @param args
                 */
                detailClick(args:$.java.util.Map):void;
                /**
                 * 获取大文本详细信息字段标识
                 * @return
                 */
                getTagFieldKey():string;
            }
            type LargeTextEdit_T = ICloseCallBack & LargeTextEdit$ & TextEdit;
            interface LargeTextEdit extends LargeTextEdit_T {
            }
            interface GeoPointEdit_S {
            }
            type GeoPointEdit_ST = FieldEdit_S & GeoPointEdit_S;
            interface GeoPointEdit_C extends GeoPointEdit_ST {
                new():GeoPointEdit;
            }
            interface GeoPointEdit$ {
            }
            type GeoPointEdit_T = FieldEdit & GeoPointEdit$;
            interface GeoPointEdit extends GeoPointEdit_T {
            }
            interface FlexEdit_S {
            }
            type FlexEdit_ST = FlexEdit_S & ICloseCallBack_S & TextEdit_S & kd.bos.form.flex.IFlexEdit_S;
            interface FlexEdit_C extends FlexEdit_ST {
                new():FlexEdit;
            }
            interface FlexEdit$ {
                /**
                 * @param baseData
                 * @param rowIndex
                 */
                createFlexEdit(baseData:$.kd.bos.dataentity.entity.DynamicObject,rowIndex:number):void;
                isNeedSplit():boolean;
                /**
                 * 设置是否启用我的常用
                 * @param isBasedataShowFrequent false:不启用，true:启用
                 */
                setBasedataShowFrequent(isBasedataShowFrequent:boolean):void;
                getFlexItemFilter(controlKey:string,actionKey:string):void;
                /**
                 * 是否启用我的常用
                 * @return false:不启用，true:启用
                 */
                isBasedataShowFrequent():boolean;
                /**
                 * 获取弹性域model数据
                 * @param rowIndex
                 * @return
                 */
                getFlexModel(rowIndex:number):$.kd.bos.entity.datamodel.IDataModel;
                /**
                 * 获取弹性域类型ID
                 * @return
                 */
                getFlexTypeId():number;
                isDefaultSplit():boolean;
                /**
                 * @param map
                 */
                tryCloseFlexible(map:$.java.util.Map):void;
                /**
                 * 添加弹性域元数据监听器
                 * @param listener
                 */
                addFlexControlMetaPreRenderListener(listener:kd.bos.form.field.events.FlexControlMetaPreRenderListener):void;
                /**
                 * 添加弹性域中基础资料字段绑定数据之后（选择基础资料）事件监听器
                 *
                 * @param listener 事件监听器
                 */
                registerBaseDataEditListeners(listener:kd.bos.form.field.events.BasedataEditListener):void;
                setDefaultSplit(defaultSplit:boolean):void;
                splitSaveFlexData(row:number):void;
                /**
                 * 添加显示弹性域编辑控件监听器
                 * @param listener
                 */
                addShowFlexEditListener(listener:kd.bos.form.field.events.ShowFlexEditListener):void;
                /**
                 * 批量新增弹性域数据
                 */
                batchInput():void;
                /**
                 * 设置弹性域类型ID
                 * @param batchInput
                 */
                setBatchInput(batchInput:boolean):void;
                /**
                 * 给flexmodel赋值，值为Long（弹性域主键），或flex值（002[346852717341181952, {"f0002":346159919512159232}]）
                 * @param value
                 * @param rowIndex  单据头为-1， 分录行号从0开始
                 */
                setFlexModelValue(value:any,rowIndex:number):void;
                /**
                 * 拆分展示锁定解锁字段
                 */
                splitUnlock(bctx:BindingContext):void;
                /**
                 * 获取弹性域基础资料服务类
                 * @return
                 */
                getFlexBasedataService():kd.bos.form.flex.IFlexBasedataService;
                /**
                 * 设置弹性域类型ID
                 * @param flexTypeId
                 */
                setFlexTypeId(flexTypeId:number):void;
                /**
                 * 设置弹性域是否拆分展示
                 * @param isNeedSplit false:拆分，true:正常
                 */
                setNeedSplit(isNeedSplit:boolean):void;
                /**
                 * 添加绑定数据之后事件监听器
                 *
                 * @param listener
                 */
                addBaseDataEditListener(listener:kd.bos.form.field.events.BasedataEditListener):void;
                /**
                 * 拆分展示
                 */
                splitShow():void;
                /**
                 * 添加选择基础资料前（弹出过滤窗口前）事件监听器
                 * @param listener
                 */
                registerBeforeF7SelectListener(listener:kd.bos.form.field.events.BeforeF7SelectListener):void;
                /**
                 * 查看详情
                 */
                viewDetail(param:$.java.util.Map):void;
                /**
                 * 获取弹性域类型ID
                 * @return
                 */
                getBatchInput():boolean;
                splitEnable():boolean;
            }
            type FlexEdit_T = FlexEdit$ & ICloseCallBack & TextEdit & kd.bos.form.flex.IFlexEdit;
            interface FlexEdit extends FlexEdit_T {
            }
            interface AssistantFlexEdit_S {
            }
            type AssistantFlexEdit_ST = AssistantEdit_S & AssistantFlexEdit_S & kd.bos.form.flex.IFieldFlexEdit_S;
            interface AssistantFlexEdit_C extends AssistantFlexEdit_ST {
                new():AssistantFlexEdit;
            }
            interface AssistantFlexEdit$ {
                /**
                 * 获取组织id列表
                 * @return
                 */
                getOrgIds():$.java.util.List;
                /**
                 * 设置字段属性对象
                 * @param prop
                 */
                setProperty(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
                /**
                 * 设置组织id列表
                 * @param orgIds 组织id列表
                 */
                setOrgIds(orgIds:$.java.util.List):void;
            }
            type AssistantFlexEdit_T = AssistantEdit & AssistantFlexEdit$ & kd.bos.form.flex.IFieldFlexEdit;
            interface AssistantFlexEdit extends AssistantFlexEdit_T {
            }
            interface MulComboEdit_S {
            }
            type MulComboEdit_ST = ComboEdit_S & MulComboEdit_S;
            interface MulComboEdit_C extends MulComboEdit_ST {
                new():MulComboEdit;
            }
            interface MulComboEdit$ {
            }
            type MulComboEdit_T = ComboEdit & MulComboEdit$;
            interface MulComboEdit extends MulComboEdit_T {
            }
            interface GroupEdit_S {
            }
            type GroupEdit_ST = BasedataEdit_S & GroupEdit_S;
            interface GroupEdit_C extends GroupEdit_ST {
                new():GroupEdit;
            }
            interface GroupEdit$ {
            }
            type GroupEdit_T = BasedataEdit & GroupEdit$;
            interface GroupEdit extends GroupEdit_T {
            }
            interface OrgEdit_S {
            }
            type OrgEdit_ST = BasedataEdit_S & OrgEdit_S;
            interface OrgEdit_C extends OrgEdit_ST {
                new():OrgEdit;
            }
            interface OrgEdit$ {
                /**
                 * 获取缓存职能组织为业务单元
                 *
                 * @return
                 */
                getViewTypeCache():string;
                /**
                 * 设置是否基础管理员
                 */
                setIsOrgBaseAdmin(isOrgBaseAdmin:boolean):void;
                /**
                 * 设置是否仅显示叶子节点
                 */
                setIsOnlyDisplayOrgLeaves(isOnlyDisplayOrgLeaves:boolean):void;
                /**
                 * 是否仅显示叶子节点
                 */
                getIsOnlyDisplayOrgLeaves():boolean;
                /**
                 * @param params
                 */
                endSelect(params:any):void;
                /**
                 * 获取组织业务职能编码
                 */
                getOrgFunc():string;
                /**
                 * 设置缓存职能组织为业务单元
                 *
                 * @param viewTypeCache
                 */
                setViewTypeCache(viewTypeCache:string):void;
                /**
                 * 是否基础管理员
                 */
                getIsOrgBaseAdmin():boolean;
                /**
                 * 获取组织业务职能编码
                 */
                getOrgRtnSelFunc():string;
                /**
                 * 设置组织业务职能编码
                 */
                setOrgFunc(orgFunc:string):void;
                /**
                 * 设置组织业务职能编码
                 */
                setOrgRtnSelFunc(orgRtnSelFunc:string):void;
            }
            type OrgEdit_T = BasedataEdit & OrgEdit$;
            interface OrgEdit extends OrgEdit_T {
            }
            interface ComboEdit_S {
            }
            type ComboEdit_ST = ComboEdit_S & FieldEdit_S & kd.bos.form.control.events.ISuportClick_S;
            interface ComboEdit_C extends ComboEdit_ST {
                new():ComboEdit;
            }
            interface ComboEdit$ {
                /**
                 * 设置默认选中
                 *
                 * @param items
                 */
                selectedStore(items:$.java.util.List):void;
                /**
                 * 修改选项
                 * <p>使用示例：对选项值为value0的选项修改名称，并置灰，隐藏value1选项</p>
                 * <pre>{@code
                 * // 待更新的选项列表
                 * List<ComboItemUpdateDto> updateDtos = new ArrayList<>();
                 * ComboItemUpdateDto item = new ComboItemUpdateDto("value0");
                 * // 修改是否置灰
                 * item.setDisable(true);
                 * // 修改名称
                 * item.setCaption(new LocaleString("测试名称"));
                 *
                 * ComboItemUpdateDto item1 = new ComboItemUpdateDto("value1");
                 * // 修改可见性
                 * item1.setItemVisible(false);
                 *
                 * updateDtos.add(item);
                 * updateDtos.add(item1);
                 *
                 * comboEdit.updateComboItems(updateDtos);
                 * }</pre><p></p>
                 * @param data 待修改的选项列表
                 */
                updateComboItems(data:$.java.util.List):void;
                /**
                 * 移除选项
                 * <p>使用示例：
                 * <pre>{@code
                 * ComboEdit comboEdit = this.getView().getControl(控件标识);
                 * List<String> deleteValues = new ArrayList<>();
                 * deleteValues.add("value0");
                 * deleteValues.add("value1");
                 * comboEdit.deleteComboItems(deleteValues);
                 * }</pre><p></p>
                 * @param values 需要移除的选项value列表
                 */
                deleteComboItems(values:$.java.util.List):void;
                /**
                 * 前端设置默认值请求方法
                 *
                 * @param paramsMap
                 */
                setDefaultValue(paramsMap:$.java.util.Map):void;
                /**
                 * 新增选项
                 *
                 * <p>使用示例：</p>
                 *
                 * <pre>{@code
                 * ComboEdit comboEdit = this.getView().getControl(控件标识);
                 * // 构造需要插入的选项列表
                 * List<ComboItem> newItems = new ArrayList<>();
                 * // 在选项值为value0的选项的后方插入，若需要从前方插入使用ComboInsertDirection.BEFORE
                 * // insertPos参数若不设置则默认在最后一个选项的后方插入，此时插入方向不生效
                 * comboEdit.insertComboItems(newItems,"value0",ComboInsertDirection.AFTER);
                 * }</pre><p></p>
                 *
                 * @param data 待新增的选项数据
                 * @param insertedItemValue 插入位置(原数组中被插入选项的value，为空默认默认在最后一个选项的后方插入)
                 * @param insertDirection 插入方向(若为空则默认从后方插入)
                 */
                insertComboItems(data:$.java.util.List,insertedItemValue:string,insertDirection:ComboInsertDirection):void;
                /**
                 * 设置默认选中
                 *
                 * @param item
                 */
                selectedStore(item:ComboItem):void;
                /**
                 * 设置下拉框列表
                 *
                 * @param items
                 *            下拉框条目集合
                 */
                setComboItems(items:$.java.util.List):void;
                /**
                 * 设置下拉列表是否可以呈现编辑态
                 *
                 * @param inputable
                 *            true：可录入 false：不可录入
                 */
                setComboInputable(inputable:boolean):void;
            }
            type ComboEdit_T = ComboEdit$ & FieldEdit & kd.bos.form.control.events.ISuportClick;
            interface ComboEdit extends ComboEdit_T {
            }
            interface MaterielEdit_S {
            }
            type MaterielEdit_ST = BasedataEdit_S & MaterielEdit_S;
            interface MaterielEdit_C extends MaterielEdit_ST {
                new():MaterielEdit;
            }
            interface MaterielEdit$ {
            }
            type MaterielEdit_T = BasedataEdit & MaterielEdit$;
            interface MaterielEdit extends MaterielEdit_T {
            }
            interface RadioEdit_S {
            }
            type RadioEdit_ST = FieldEdit_S & RadioEdit_S;
            interface RadioEdit_C extends RadioEdit_ST {
                new():RadioEdit;
            }
            interface RadioEdit$ {
                /**
                 * 获取按钮组
                 * @return
                 */
                getGroup():string;
                /**
                 * 设置下拉项
                 * @param items
                 */
                setItems(items:string):void;
                /**
                 * 获取下拉项
                 * @return
                 */
                getItems():string;
                /**
                 * 设置按钮组
                 * @param group
                 */
                setGroup(group:string):void;
            }
            type RadioEdit_T = FieldEdit & RadioEdit$;
            interface RadioEdit extends RadioEdit_T {
            }
            interface CityEditUtil_S {
                getAllCityList():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 获取国内国际城市分组对应城市
                 */
                getCityGroupList(type_arg:number,group:string):$.java.util.List;
                /**
                 * 获取国内国际城市分组
                 */
                getCityGroup(dynamicObjects:$.kd.bos.dataentity.entity.DynamicObject[]):$.java.util.List;
                /**
                 * @param entityName
                 * @param selectProperties
                 * @param filters
                 * @return
                 * @description 通过实体标识和查询条件取得包含指定属性的缓存对象数组
                 */
                loadFromCache(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[]):$.java.util.Map;
                /**
                 * 获取城市信息，用于前端调用
                 * @return
                 */
                getCityInfo(commonDomesticCityList:$.java.util.List,commonForeignCityList:$.java.util.List):$.java.util.Map;
                /**
                 * 获得所有国家（城市数据）
                 *
                 * @return
                 */
                getAllCountrys():$.java.util.List;
                /**
                 * 获取城市信息，用于前端调用
                 * @return
                 */
                getCityInfo(commonDomesticCityList:$.java.util.List):$.java.util.Map;
                /**
                 * 通过城市获得省级行政区划
                 *
                 * @param countryId
                 * @return
                 */
                requestCityList(countryId:long,isIntl:boolean):$.java.util.Map;
                /**
                 * 搜索城市
                 */
                getCitySearchList(type_arg:number,keyword:string):$.java.util.List;
                /**
                 * 根据城市id,获取城市信息,用于前端调用
                 * @return
                 */
                getCityByIds(type_arg:number,idList:$.java.util.List,chinaProvinceCityMap:$.java.util.Map):$.java.util.List;
                getCityLists(filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据城市id,获取城市信息,用于前端调用
                 * @return
                 */
                getCityByIds(idList:$.java.util.List,chinaProvinceCityMap:$.java.util.Map):$.java.util.List;
                /**
                 * 获得所有国家（城市数据）
                 *
                 * @return
                 */
                getCountrys(filters:$.kd.bos.orm.query.QFilter[]):$.java.util.List;
                /**
                 * 获取国内国际常用城市
                 */
                getCommonCity(dynamicObjects:$.kd.bos.dataentity.entity.DynamicObject[],chinaProvinceCityMap:$.java.util.Map):$.java.util.Map;
                setCountryAndProvince(cityID:any,result:any[]):void;
                /**
                 * 反射调用静态方法
                 * @param className
                 * @param methodName
                 * @param param
                 * @param parameterTypes
                 * @return
                 */
                callStaticMethod(className:string,methodName:string,param:any[],...parameterTypes:$.java.lang.Class[]):any;
            }
            interface CityEditUtil_C extends CityEditUtil_S {
                new():CityEditUtil;
            }
            interface CityEditUtil$ {
            }
            type CityEditUtil_T = CityEditUtil$;
            interface CityEditUtil extends CityEditUtil_T {
            }
            interface TimeEdit_S {
            }
            type TimeEdit_ST = FieldEdit_S & TimeEdit_S;
            interface TimeEdit_C extends TimeEdit_ST {
                /**
                 * 构造方法
                 */
                new():TimeEdit;
                /**
                 * 构造方法
                 * @param fmtString 格式化字符串
                 */
                new(fmtString:string):TimeEdit;
            }
            interface TimeEdit$ {
                /**
                 * 获取时间对应的秒数
                 * @return
                 */
                getSecondOfTime():number;
                /**
                 * 打开选择时间面板时，设置焦点自定义时间  单据头
                 * @param time 时间戳
                 */
                setTimeFocusValue(time:long):void;
                /**
                 * 获取分钟数
                 * @return
                 */
                getMinutes():number;
                /**
                 * 获取秒数
                 * @return
                 */
                getSeconds():number;
                /**
                 * 获取小时数
                 * 下面5个get不明确做什么用，仅在处理postback中有赋值，设计存在问题
                 * @return
                 */
                getHours():number;
                /**
                 * 获取时间串
                 * @return
                 */
                getTime():string;
                /**
                 * 打开选择时间面板时，设置焦点自定义时间  单据体
                 * @param time 时间戳
                 * @param rowIndex 行号 单据体：0~n
                 */
                setEntryTimeFocusValue(time:long,rowIndex:number):void;
            }
            type TimeEdit_T = FieldEdit & TimeEdit$;
            interface TimeEdit extends TimeEdit_T {
            }
            interface ItemClassEdit_S {
            }
            type ItemClassEdit_ST = BasedataEdit_S & ItemClassEdit_S;
            interface ItemClassEdit_C extends ItemClassEdit_ST {
                new():ItemClassEdit;
            }
            interface ItemClassEdit$ {
            }
            type ItemClassEdit_T = BasedataEdit & ItemClassEdit$;
            interface ItemClassEdit extends ItemClassEdit_T {
            }
            interface RefBillEdit_S {
            }
            type RefBillEdit_ST = FieldEdit_S & ICloseCallBack_S & RefBillEdit_S;
            interface RefBillEdit_C extends RefBillEdit_ST {
                new():RefBillEdit;
            }
            interface RefBillEdit$ {
                /**
                 * 点击F7按钮
                 */
                click():void;
                /**
                 * F7批量返回，是否支持合并属性值改变事件，等F7赋值结束后，批量触发值更新事件
                 * @return
                 * @remark
                 * 批量触发字段的值更新事件，会暂停即时触发值更新事件，等F7同一批返回的全部字段值填写完成后，再触发值更新事件；
                 * 最终影响：
                 * 1. 首先是在值更新事件中收到的是多行数据，插件需要逐行处理；
                 * 2. 其次是会调整调整字段值更新事件、实体服务规则的执行顺序；如果插件和实体服务规则有交叉赋值、取值，可能取不到最新值
                 *
                 * 默认不合并值改变事件，和历史版本插件兼容；业务插件在完成了值更新事件批量处理改造后，可以在表单插件initialize事件中，设置本属性为true，支持批量触发值更新事件
                 */
                isBatchFirePropChanged():boolean;
                setQFilters(qFilters:$.java.util.List):void;
                /**
                 * 基础资料模糊查询 searchKey 查询关键字 rowIndex start limit
                 */
                getLookUpList(args:$.java.util.List):void;
                setLayoutId(layoutId:string):void;
                setEditSearchProp(editSearchProp:string):void;
                isF7BatchFill():boolean;
                getQFilter():$.kd.bos.orm.query.QFilter;
                setItemByNumber(number_arg:string,rowKey:number):void;
                addBasedataFuzzySearchListener(listener:kd.bos.form.field.events.BasedataFuzzySearchListener):void;
                quickAddNew(text:string):void;
                /**
                 * 点击Tips按钮
                 */
                cellTipsClick(rowIndex:number,tipsId:string):void;
                setF7BatchFill(f7BatchFill:boolean):void;
                addBeforeF7SelectListener(listener:kd.bos.form.field.events.BeforeF7SelectListener):void;
                getQFilters():$.java.util.List;
                setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
                setDisplayProp(displayProp:string):void;
                isShowFrequent():boolean;
                showMore(searchValue:string):void;
                setF7MultipleSelect(f7MultipleSelect:boolean):void;
                /**
                 * 基础资料模糊查询赋值
                 *
                 * @param args
                 */
                setItemByIdFromClient(args:$.java.util.List):void;
                addTipsClickListener(listener:kd.bos.form.field.events.CellTipsClickListener):void;
                getListShowParameter(sourceMethod:string):kd.bos.list.ListShowParameter;
                getEditSearchProp():string;
                setFlexKey(flexKey:string):void;
                viewDetail(param:$.java.util.Map):void;
                getLayoutId():string;
                getDisplayProp():string;
                setItemByNumber(number_arg:string):void;
                setShowOnlyAudited(showOnlyAudited:boolean):void;
                addBeforeQuickAddNewListener(listener:kd.bos.form.field.events.BeforeQuickAddNewListener):void;
                isF7Click():boolean;
                getSearchFilter():$.kd.bos.orm.query.QFilter;
                addBeforeF7ViewDetailListener(consumer:(t:any)=>void):void;
                /**
                 * 显示风格 0：默认，1：下拉
                 *
                 * @return
                 */
                getDisplayStyle():number;
                setBatchFirePropChanged(batchFirePropChanged:boolean):void;
                getFlexKey():string;
                setDisplayStyle(displayStyle:number):void;
                /**
                 * @return F7是否添加使用状态=ResManager.loadKDString("启用", "BasedataEdit_1", "bos-form-core")
                 */
                isShowOnlyAudited():boolean;
                addBasedataEditListener(listener:kd.bos.form.field.events.BasedataEditListener):void;
                setShowFrequent(isShowFrequent:boolean):void;
                addAfterF7SelectListener(listener:kd.bos.form.field.events.AfterF7SelectListener):void;
                setF7Click(isF7Click:boolean):void;
                /**
                 * @return F7是否多选
                 */
                isF7MultipleSelect():boolean;
            }
            type RefBillEdit_T = FieldEdit & ICloseCallBack & RefBillEdit$;
            interface RefBillEdit extends RefBillEdit_T {
            }
            interface OrgFlexEdit_S {
            }
            type OrgFlexEdit_ST = OrgEdit_S & OrgFlexEdit_S & kd.bos.form.flex.IFieldFlexEdit_S;
            interface OrgFlexEdit_C extends OrgFlexEdit_ST {
                new():OrgFlexEdit;
            }
            interface OrgFlexEdit$ {
                /**
                 * 获取值的过滤条件
                 * @return
                 */
                getBasedataValueCondition():string;
                /**
                 * 设置值的过滤条件
                 * @param propertyValueCondition
                 */
                setBasedataValueCondition(propertyValueCondition:string):void;
                /**
                 * 设置字段属性对象
                 * @param prop
                 */
                setProperty(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
            }
            type OrgFlexEdit_T = OrgEdit & OrgFlexEdit$ & kd.bos.form.flex.IFieldFlexEdit;
            interface OrgFlexEdit extends OrgFlexEdit_T {
            }
            interface TelephoneEdit_S {
            }
            type TelephoneEdit_ST = TelephoneEdit_S & TextEdit_S;
            interface TelephoneEdit_C extends TelephoneEdit_ST {
                new():TelephoneEdit;
            }
            interface TelephoneEdit$ {
                /**
                 * 获得所有国家手机号via
                 */
                getTelViaList():void;
            }
            type TelephoneEdit_T = TelephoneEdit$ & TextEdit;
            interface TelephoneEdit extends TelephoneEdit_T {
            }
            interface BasedataPropEdit_S {
            }
            type BasedataPropEdit_ST = BasedataPropEdit_S & FieldEdit_S;
            interface BasedataPropEdit_C extends BasedataPropEdit_ST {
                new():BasedataPropEdit;
            }
            interface BasedataPropEdit$ {
                /**
                 * 设置字段编辑控件
                 * @param propEdit
                 */
                setPropEdit(propEdit:FieldEdit):void;
                /**
                 * 获取显示属性
                 * @return
                 */
                getRefDisplayProp():string;
                /**
                 * 获取引用的基础资料字段
                 * @return
                 */
                getRefBasedataProp():string;
                /**
                 * 获取字段编辑控件
                 * @return
                 */
                getPropEdit():FieldEdit;
                /**
                 * 设置引用的基础资料字段
                 * @param refBasedataProp
                 */
                setRefBasedataProp(refBasedataProp:string):void;
                /**
                 * 设置显示属性
                 * @param refDisplayProp
                 */
                setRefDisplayProp(refDisplayProp:string):void;
            }
            type BasedataPropEdit_T = BasedataPropEdit$ & FieldEdit;
            interface BasedataPropEdit extends BasedataPropEdit_T {
            }
            interface MainOrgEdit_S {
            }
            type MainOrgEdit_ST = IConfirmCallBack_S & MainOrgEdit_S & OrgEdit_S;
            interface MainOrgEdit_C extends MainOrgEdit_ST {
                new():MainOrgEdit;
            }
            interface MainOrgEdit$ {
                /**
                 * 注册主组织切换事件监听插件，供插件调用，监听主组织切换事件
                 * @param listener
                 */
                addMainOrgChangeListener(listener:kd.bos.form.field.events.MainOrgChangeListener):void;
                /**
                 * 获取本控件关联的主组织属性对象
                 *
                 * @return
                 */
                getMainOrgProp():$.kd.bos.entity.property.MainOrgProp;
            }
            type MainOrgEdit_T = IConfirmCallBack & MainOrgEdit$ & OrgEdit;
            interface MainOrgEdit extends MainOrgEdit_T {
            }
            interface ItemClassTypeEdit_S {
            }
            type ItemClassTypeEdit_ST = ComboEdit_S & ItemClassTypeEdit_S;
            interface ItemClassTypeEdit_C extends ItemClassTypeEdit_ST {
                new():ItemClassTypeEdit;
            }
            interface ItemClassTypeEdit$ {
            }
            type ItemClassTypeEdit_T = ComboEdit & ItemClassTypeEdit$;
            interface ItemClassTypeEdit extends ItemClassTypeEdit_T {
            }
            interface ExchangeRateEdit_S {
                /**
                 * 自动注册汇率插件,没有注册，有则不注册
                 */
                autoRegisterExchangeRatePlugin(model:$.kd.bos.entity.datamodel.IDataModel,view:IFormView):void;
            }
            type ExchangeRateEdit_ST = DecimalEdit_S & ExchangeRateEdit_S;
            interface ExchangeRateEdit_C extends ExchangeRateEdit_ST {
                new():ExchangeRateEdit;
            }
            interface ExchangeRateEdit$ {
                /**
                 * 设置汇率换算方式
                 * @param exRateQuotationKey
                 */
                setExRateQuotationKey(exRateQuotationKey:string):void;
                /**
                 * 获取汇率类型
                 * @return
                 */
                getExRateTypeFieldKey():string;
                /**
                 * 设置目标币
                 * @param targetCurrencyFieldKey
                 */
                setTargetCurrencyFieldKey(targetCurrencyFieldKey:string):void;
                /**
                 * 设置汇率日期
                 * @param exRateDateFieldKey
                 */
                setExRateDateFieldKey(exRateDateFieldKey:string):void;
                /**
                 * 获取目标币
                 * @return
                 */
                getTargetCurrencyFieldKey():string;
                /**
                 * 获取汇率日期
                 * @return
                 */
                getExRateDateFieldKey():string;
                /**
                 * 设置汇率类型
                 * @param exRateTypeFieldKey
                 */
                setExRateTypeFieldKey(exRateTypeFieldKey:string):void;
                /**
                 * 获取原币
                 * @return
                 */
                getOriginalCurrencyFieldKey():string;
                /**
                 * 取当前行号。表头返回0
                 *
                 * @return
                 */
                getCurrentRowIndex():number;
                /**
                 * 设置原币
                 * @param originalCurrencyFieldKey
                 */
                setOriginalCurrencyFieldKey(originalCurrencyFieldKey:string):void;
                /**
                 * 获取汇率换算方式
                 * @return
                 */
                getExRateQuotationKey():string;
            }
            type ExchangeRateEdit_T = DecimalEdit & ExchangeRateEdit$;
            interface ExchangeRateEdit extends ExchangeRateEdit_T {
            }
            interface TimeRangeEdit_S {
            }
            type TimeRangeEdit_ST = FieldEdit_S & TimeRangeEdit_S;
            interface TimeRangeEdit_C extends TimeRangeEdit_ST {
                new():TimeRangeEdit;
            }
            interface TimeRangeEdit$ {
                /**
                 * 打开时间选择面板时，设置焦点自定义时间 单据头
                 * @param startTime 开始时间戳
                 * @param endTime 结束时间戳
                 */
                setTimeFocusValue(startTime:long,endTime:long):void;
                /**
                 * 设置开始时间标识
                 * @param startDateFieldKey
                 */
                setStartDateFieldKey(startDateFieldKey:string):void;
                /**
                 * 获取绑定数据值
                 * @param fieldkey 字段标识
                 * @param bctx 绑定上下文
                 * @return
                 */
                getBindingValue(fieldkey:string,bctx:BindingContext):any;
                /**
                 * 打开时间选择面板时，设置焦点自定义时间 单据体
                 * @param startTime 开始时间戳
                 * @param endTime 结束时间戳
                 * @param rowIndex 行号 单据体： 0~n
                 */
                setEntryTimeFocusValue(startTime:long,endTime:long,rowIndex:number):void;
                /**
                 * 设置结束时间标识
                 * @param endDateFieldKey
                 */
                setEndDateFieldKey(endDateFieldKey:string):void;
                /**
                 * 获取结束时间标识
                 * @return
                 */
                getEndDateFieldKey():string;
                /**
                 * 获取开始时间标识
                 * @return
                 */
                getStartDateFieldKey():string;
            }
            type TimeRangeEdit_T = FieldEdit & TimeRangeEdit$;
            interface TimeRangeEdit extends TimeRangeEdit_T {
            }
            interface CityEdit_S {
            }
            type CityEdit_ST = BasedataEdit_S & CityEdit_S;
            interface CityEdit_C extends CityEdit_ST {
                new():CityEdit;
            }
            interface CityEdit$ {
                /**
                 * 获取国内国际分组城市，用于前端调用
                 * @return
                 */
                getCityGroupList(type_arg:number,groupStr:string,pageSize:number,lastCityId:string):void;
                /**
                 * 城市搜索，最多返回20条数据，用于前端调用
                 * @return
                 */
                getCitySearchList(type_arg:number,keyword:string):void;
                /**
                 * 根据国家id获取所有城市（已废弃）
                 * @return
                 */
                requestCityList(countryId:number):void;
                /**
                 * 获取城市信息，用于前端调用
                 * @return
                 */
                getCityInfo(commonDomesticCityList:$.java.util.List):void;
                /**
                 * @param list
                 */
                setLocation(list:$.java.util.Map):void;
                /**
                 * 获取国内国际分组城市，用于前端调用
                 * @return
                 */
                getCityGroupList(type_arg:number,groupStr:string,pageSize:number):void;
                /**
                 * 根据国家id获取所有国外城市（已废弃）
                 * @return
                 */
                requestIntnVerCityList(countryId:number):void;
                /**
                 * 获取城市信息，用于前端调用
                 * @return
                 */
                getCityInfo(commonDomesticCityList:$.java.util.List,commonForeignCityList:$.java.util.List):void;
            }
            type CityEdit_T = BasedataEdit & CityEdit$;
            interface CityEdit extends CityEdit_T {
            }
            interface TextFlexEdit_S {
            }
            type TextFlexEdit_ST = TextEdit_S & TextFlexEdit_S & kd.bos.form.flex.IFieldFlexEdit_S;
            interface TextFlexEdit_C extends TextFlexEdit_ST {
                new():TextFlexEdit;
            }
            interface TextFlexEdit$ {
                /**
                 * 设置字段属性对象
                 * @param prop
                 */
                setProperty(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
            }
            type TextFlexEdit_T = TextEdit & TextFlexEdit$ & kd.bos.form.flex.IFieldFlexEdit;
            interface TextFlexEdit extends TextFlexEdit_T {
            }
            interface ComboItem_S {
            }
            type ComboItem_ST = $.java.io.Serializable & ComboItem_S;
            interface ComboItem_C extends ComboItem_ST {
                /**
                 * 构造方法：初始化下拉项条目
                 */
                new():ComboItem;
                /**
                 * 构造方法：初始化下拉项条目
                 * @param caption 下拉项显示文字
                 * @param value 下拉项值
                 */
                new(caption:$.kd.bos.dataentity.entity.LocaleString,value:string):ComboItem;
                /**
                 * 构造方法：初始化下拉项条目
                 * @param caption 下拉项显示文字
                 * @param value 下拉项值
                 * @param children 子下拉项条目
                 */
                new(caption:$.kd.bos.dataentity.entity.LocaleString,value:string,children:$.java.util.List):ComboItem;
                /**
                 * 构造方法：初始化下拉项条目
                 * @param caption 下拉项显示文字
                 * @param value 下拉项值
                 * @param imageKey
                 */
                new(caption:$.kd.bos.dataentity.entity.LocaleString,value:string,imageKey:string):ComboItem;
                /**
                 * 构造方法：初始化下拉项条目
                 * @param caption 下拉项显示文字
                 * @param value 下拉项值
                 * @param disable 下拉项是否可选
                 * @param children 子下拉项条目
                 */
                new(caption:$.kd.bos.dataentity.entity.LocaleString,value:string,disable:boolean,children:$.java.util.List):ComboItem;
                /**
                 * 构造方法：初始化下拉项条目
                 * @param imageKey
                 * @param caption 下拉项显示文字
                 * @param value 下拉项值
                 * @param itemVisible 选择项是否可见，true可见，false隐藏，默认true
                 */
                new(imageKey:string,caption:$.kd.bos.dataentity.entity.LocaleString,value:string,itemVisible:boolean):ComboItem;
            }
            interface ComboItem$ {
                /**
                 * 设置图片的标识
                 * @param imageKey 图片标识
                 */
                setImageKey(imageKey:string):void;
                /**
                 * 设置下拉项是否可选
                 * @param disable true：不可选，false：可选
                 */
                setDisable(disable:boolean):void;
                /**
                 * 获取图片的标识
                 * @return 图片标识
                 */
                getImageKey():string;
                /**
                 * 设置下拉项显示文字
                 * @param caption
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取主键ID
                 * @return
                 */
                getId():string;
                /**
                 * 设置选择项是否可见
                 * @param itemVisible true：可见，false：隐藏
                 */
                setItemVisible(itemVisible:boolean):void;
                /**
                 * 设置下拉项值
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 获取下拉项值
                 * @return
                 */
                getValue():string;
                /**
                 * 选择项是否可见，默认为true
                 * @return true：可见，false：隐藏
                 */
                isItemVisible():boolean;
                /**
                 * 获取下拉项显示文字
                 * @return
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置主键ID
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 设置子下拉项列表
                 * @param children
                 */
                setChildren(children:$.java.util.List):void;
                /**
                 * 下拉项是否可选
                 * @return  true：不可选，false：可选
                 */
                isDisable():boolean;
                /**
                 * 获取子下拉项列表
                 * @return
                 */
                getChildren():$.java.util.List;
            }
            type ComboItem_T = $.java.io.Serializable & ComboItem$;
            interface ComboItem extends ComboItem_T {
            }
            interface UnitEdit_S {
            }
            type UnitEdit_ST = BasedataEdit_S & UnitEdit_S;
            interface UnitEdit_C extends UnitEdit_ST {
                new():UnitEdit;
            }
            interface UnitEdit$ {
            }
            type UnitEdit_T = BasedataEdit & UnitEdit$;
            interface UnitEdit extends UnitEdit_T {
            }
            interface BizBasedataEdit_S {
            }
            type BizBasedataEdit_ST = BasedataEdit_S & BizBasedataEdit_S;
            interface BizBasedataEdit_C extends BizBasedataEdit_ST {
                new():BizBasedataEdit;
            }
            interface BizBasedataEdit$ {
            }
            type BizBasedataEdit_T = BasedataEdit & BizBasedataEdit$;
            interface BizBasedataEdit extends BizBasedataEdit_T {
            }
            interface StepperEdit_S {
            }
            type StepperEdit_ST = DecimalEdit_S & StepperEdit_S;
            interface StepperEdit_C extends StepperEdit_ST {
                new():StepperEdit;
            }
            interface StepperEdit$ {
            }
            type StepperEdit_T = DecimalEdit & StepperEdit$;
            interface StepperEdit extends StepperEdit_T {
            }
            interface AddressEdit_S {
                /**
                 * 地址转换，将地图提示结果转换成特定地址格式对应的地址
                 *
                 * @param map 地址查询结果
                 * @return
                 */
                convertMapAddress(map:string,formatId:long):$.java.util.Map;
            }
            type AddressEdit_ST = AddressEdit_S & BasedataEdit_S;
            interface AddressEdit_C extends AddressEdit_ST {
                new():AddressEdit;
            }
            interface AddressEdit$ {
                /**
                 * 获取区域字段
                 * @return
                 */
                getZoneField():string;
                /**
                 * 地址控件搜索，用于前端调用
                 *
                 * @param keyword 关键词
                 */
                getAddressSearchList(keyword:string):void;
                /**
                 * 设置区域字段
                 * @param zoneField
                 */
                setZoneField(zoneField:string):void;
                /**
                 * description 〈 清除国家地区和地址格式的页面缓存 〉
                 */
                clearAddrConfigId():void;
                /**
                 * 手动设置地址配置id，用于业务逻辑操作
                 *
                 * @param addrConfigId 地址格式 ID
                 * @param countryId    国家地区 ID
                 */
                setAddrConfigId(addrConfigId:long,countryId:long):void;
                /**
                 * description 〈 提供设置地址控件地址格式和国家地区的接口， 仅设置国家地区，则自动生成地址格式 〉
                 *
                 * @param countryId 国家地区 Id
                 */
                setAddrConfigId(countryId:long):void;
            }
            type AddressEdit_T = AddressEdit$ & BasedataEdit;
            interface AddressEdit extends AddressEdit_T {
            }
            interface ParentBasedataEdit_S {
            }
            type ParentBasedataEdit_ST = GroupEdit_S & ParentBasedataEdit_S;
            interface ParentBasedataEdit_C extends ParentBasedataEdit_ST {
                new():ParentBasedataEdit;
            }
            interface ParentBasedataEdit$ {
            }
            type ParentBasedataEdit_T = GroupEdit & ParentBasedataEdit$;
            interface ParentBasedataEdit extends ParentBasedataEdit_T {
            }
            interface AssistantEdit_S {
            }
            type AssistantEdit_ST = AssistantEdit_S & BasedataEdit_S;
            interface AssistantEdit_C extends AssistantEdit_ST {
                new():AssistantEdit;
            }
            interface AssistantEdit$ {
                /**
                 * 设置上级辅助资料名
                 * @param controlPropName 上级辅助资料名
                 */
                setControlPropName(controlPropName:string):void;
                /**
                 * 获取上级辅助资料名
                 * @return
                 */
                getControlPropName():string;
                /**
                 * 构建过滤条件
                 * @param id
                 * @param parentId
                 * @return
                 */
                buildAsstFilter(id:string,parentId:string):string;
            }
            type AssistantEdit_T = AssistantEdit$ & BasedataEdit;
            interface AssistantEdit extends AssistantEdit_T {
            }
            interface AdminDivisionEdit_S {
            }
            type AdminDivisionEdit_ST = AdminDivisionEdit_S & FieldEdit_S;
            interface AdminDivisionEdit_C extends AdminDivisionEdit_ST {
                new():AdminDivisionEdit;
            }
            interface AdminDivisionEdit$ {
                /**
                 * 通过行政区划id查询行政区划全称
                 * @param admins 当列表不为空时，取列表的第一个行政区划id
                 * @param rowNum
                 */
                getAdminDivisionInfo(admins:$.java.util.List,rowNum:number):void;
                /**
                 * 通过上级行政区划id查询行政区划
                 *
                 * @param parentId
                 * @return
                 */
                getAdminDivisionsByParentId(parentId:string):void;
                /**
                 * 通过行政区划id查询行政区划全称
                 *
                 * {countryId: 10001, countryName: 'China', adminvisionStr: '广东省/深圳市/南山区'}
                 * @param adminId 行政区划id
                 */
                getAdminDivisionInfo(adminId:string,rowNum:number):void;
                /**
                 * 通过上级行政区划id查询行政区划
                 *
                 * @param parentId 上级行政区划id
                 * @return
                 */
                getAdminDivisionsByParentId(parentId:string,rowNum:number):void;
                /**
                 *  〈设置行政区划控件的前端页面， 国家地区默认显示值〉（前端使用不可删除）
                 *
                 * @param countryId 国家地区id
                 * @return
                 */
                setCountryId(countryId:string):void;
                /**
                 * 通过国家获取第一级行政区划
                 *
                 * @param countryId 国家地区id
                 */
                getProincesByCountryIdForMobile(countryId:string):void;
                /**
                 * 获得国家对应的行政级次
                 *
                 * @param countryId 国家id
                 */
                getAdmindivisionLevelsByCountryId(countryId:string):void;
                /**
                 * 通过国家地区Id获得省级行政区划
                 *
                 * @param countryId 国家id
                 * @return
                 */
                getProvincesByCountryId(countryId:string):void;
                /**
                 * 通过国家地区Id获得省级行政区划
                 * @param countryId 国家地区id
                 * @param rowNum
                 */
                getProvincesByCountryId(countryId:string,rowNum:number):void;
                /**
                 * 通过国家获取第一级行政区划
                 *
                 * @param countryId 国家地区id
                 * @param rowNum
                 */
                getProincesByCountryIdForMobile(countryId:string,rowNum:number):void;
                /**
                 *  〈 历史方案：前端传入的值为数组方式， 但是只需要使用第一个值 〉
                 *
                 * @param admins 值如：[["1","中国",["安徽"]]]
                 */
                getAdminDivisionInfo(admins:$.java.util.List):void;
                /**
                 * 获得所有国家
                 *
                 * @return
                 */
                getCountrys():void;
                /**
                 * 获得根据字母排序的所有国家
                 * 响应前端
                 *
                 * @throws BadHanyuPinyinOutputFormatCombination
                 */
                getCountrysByFirstLetterForMobile():void;
                /**
                 * 通过行政区划id查询行政区划全称
                 *
                 * {countryId: 10001, countryName: 'China', adminvisionStr: '广东省/深圳市/南山区'}
                 * @param adminId 行政区划id
                 */
                getAdminDivisionInfo(adminId:string):void;
            }
            type AdminDivisionEdit_T = AdminDivisionEdit$ & FieldEdit;
            interface AdminDivisionEdit extends AdminDivisionEdit_T {
            }
            interface BasedataFlexEdit_S {
            }
            type BasedataFlexEdit_ST = BasedataEdit_S & BasedataFlexEdit_S & kd.bos.form.flex.IFieldFlexEdit_S;
            interface BasedataFlexEdit_C extends BasedataFlexEdit_ST {
                new():BasedataFlexEdit;
            }
            interface BasedataFlexEdit$ {
                /**
                 * 获取值的过滤条件
                 * @return
                 */
                getBasedataValueCondition():string;
                /**
                 * 设置值的过滤条件
                 * @param propertyValueCondition
                 */
                setBasedataValueCondition(propertyValueCondition:string):void;
                /**
                 * 设置字段属性对象
                 * @param prop
                 */
                setProperty(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):void;
            }
            type BasedataFlexEdit_T = BasedataEdit & BasedataFlexEdit$ & kd.bos.form.flex.IFieldFlexEdit;
            interface BasedataFlexEdit extends BasedataFlexEdit_T {
            }
            interface DateTimeEdit_S {
            }
            type DateTimeEdit_ST = DateTimeEdit_S & FieldEdit_S & ICloseCallBack_S;
            interface DateTimeEdit_C extends DateTimeEdit_ST {
                /**
                 * 构造函数
                 */
                new():DateTimeEdit;
                /**
                 * 构造函数
                 * @param fmtString 格式化字符串
                 */
                new(fmtString:string):DateTimeEdit;
            }
            interface DateTimeEdit$ {
                /**
                 * 设置是否设置了开始日期
                 * @param value
                 */
                setIsStartDate(value:boolean):void;
                /**
                 * 设置日期的最大值（给前端用，前端会禁止选择该日期之后的时间）
                 * @param date 日期的最大值
                 */
                setMaxDate(date:Date):void;
                /**
                 * 设置相关联日期
                 * @param value
                 */
                setRelatedDate(value:string):void;
                /**
                 * 是否设置了开始日期
                 * @return
                 */
                getIsStartDate():boolean;
                /**
                 * 设置日期的最大值
                 *
                 * @return 日期的最大值
                 */
                getMaxDate():string;
                /**
                 * 获取时区转换方式
                 * @return
                 */
                getTimeZoneTransType():number;
                /**
                 * 设置日期的最大值
                 *
                 * @param max 日期的最大值
                 */
                setMaxDate(max:string):void;
                /**
                 * 设置掩码
                 * @param mask
                 */
                setMask(mask:string):void;
                /**
                 * 获取相关联日期
                 * @return
                 */
                getRelatedDate():string;
                /**
                 * 获取格式化表达式，通过格式化表达式，控制数据的显示格式
                 * @return 格式化字符串
                 */
                getDisplayFormatString():string;
                /**
                 * 获取日期的最小值
                 *
                 * @return 日期的最小值
                 */
                getMinDate():string;
                /**
                 * 设置时区转换方式
                 * @param timeZoneTransType
                 */
                setTimeZoneTransType(timeZoneTransType:number):void;
                /**
                 * 设置格式化表达式
                 * @param displayFormatString 格式化字符串
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 获取格式化字符串
                 * @return
                 */
                getFormatString():string;
                /**
                 * 设置日期的最小值
                 *
                 * @param min 日期的最小值
                 */
                setMinDate(min:string):void;
                /**
                 * 输出数据
                 * @param key
                 * @param value
                 * @param rowIndex
                 * @param parentRowIndex
                 */
                postBack(key:string,value:any,rowIndex:number,parentRowIndex:number):void;
                /**
                 * 获取时区
                 * @return
                 */
                getTimeZone():$.kd.bos.service.InteTimeZone;
                /**
                 * 获取掩码，用于前端控件展示格式
                 * @return
                 */
                getMask():string;
                /**
                 * @param year
                 */
                changeYear(year:any):void;
                /**
                 * 设置日期的最小值，（给前端用，前端会禁止选择该日期之前的时间）
                 *
                 * @param date 最小日期
                 */
                setMinDate(date:Date):void;
                /**
                 * 输出数据
                 * @param key
                 * @param value
                 */
                postBack(key:string,value:any):void;
                /**
                 * 打开移动端日期选择控件
                 */
                focus():void;
                /**
                 * 添加调整日期事件监听器
                 * @param listener
                 */
                addDateClickListener(listener:kd.bos.form.field.events.DateClickListener):void;
                /**
                 * 设置格式化字符串
                 * @param format
                 */
                setFormatString(format:string):void;
            }
            type DateTimeEdit_T = DateTimeEdit$ & FieldEdit & ICloseCallBack;
            interface DateTimeEdit extends DateTimeEdit_T {
            }
            interface BasedataEdit_S {
            }
            type BasedataEdit_ST = BasedataEdit_S & FieldEdit_S & ICloseCallBack_S;
            interface BasedataEdit_C extends BasedataEdit_ST {
                new():BasedataEdit;
            }
            interface BasedataEdit$ {
                /**
                 * F7是否多选
                 * @return false:不多选，true:多选，默认为true
                 */
                isF7MultipleSelect():boolean;
                /**
                 * 添加查看F7明细事件监听器
                 * @param listener
                 */
                addBeforeF7ViewDetailListener(consumer:(t:any)=>void):void;
                /**
                 * 基础资料模糊查询赋值
                 *
                 * @param args
                 */
                setItemByIdFromClient(args:$.java.util.List):void;
                /**
                 * 获取弹性域标识
                 * @return
                 */
                getFlexKey():string;
                /**
                 * 设置布局ID
                 * @param layoutId
                 */
                setLayoutId(layoutId:string):void;
                /**
                 * 获取过滤器列表
                 * @return
                 */
                getQFilters():$.java.util.List;
                /**
                 * 点击F7按钮
                 */
                click():void;
                /**
                 * 设置是否返回批量填充空白行
                 * @param f7BatchFill
                 */
                setF7BatchFill(f7BatchFill:boolean):void;
                /**
                 * 快捷新增
                 * @param text
                 */
                quickAddNew(text:string):void;
                /**
                 * 添加模糊查询事件监听器
                 * @param fuzzySearchListener
                 */
                addFuzzzySearchListeners(fuzzySearchListener:kd.bos.form.field.events.FuzzySearchsListener):void;
                /**
                 * 基础资料模糊查询 searchKey 查询关键字 rowIndex start limit
                 */
                getLookUpList(args:$.java.util.List):void;
                /**
                 * 添加F7选择前事件监听器
                 * @param listener
                 */
                addBeforeF7SelectListener(listener:kd.bos.form.field.events.BeforeF7SelectListener):void;
                /**
                 * 获取基础资料编辑显示属性
                 * @return 编辑显示属性
                 */
                getEditSearchProp():string;
                /**
                 * 获取查询过滤器
                 * @return
                 */
                getSearchFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 设置是否是F7点击
                 * @param isF7Click false:否，true：是
                 */
                setF7Click(isF7Click:boolean):void;
                setFromEntryGrid(fromEntryGrid:boolean):void;
                /**
                 * @param number
                 */
                setItemByNumber(number_arg:string):void;
                /**
                 * 添加F7选择后事件监听器
                 * @param listener
                 */
                addAfterF7SelectListener(listener:kd.bos.form.field.events.AfterF7SelectListener):void;
                getListShowParameter(sourceMethod:string):kd.bos.list.ListShowParameter;
                /**
                 * F7是否添加使用状态
                 * @return F7是否添加使用状态=ResManager.loadKDString("启用", "BasedataEdit_1", "bos-form-core")
                 */
                isShowUsed():boolean;
                /**
                 * 设置是否支持合并属性值改变事件
                 * @param batchFirePropChanged
                 */
                setBatchFirePropChanged(batchFirePropChanged:boolean):void;
                /**
                 * 设置弹性域标识
                 * @param flexKey
                 */
                setFlexKey(flexKey:string):void;
                /**
                 * 添加绑定数据之后事件监听器
                 * @param listener
                 */
                addBasedataEditListener(listener:kd.bos.form.field.events.BasedataEditListener):void;
                /**
                 * 设置过滤器
                 * @param qFilter
                 */
                setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 设置过滤器列表
                 * @param qFilters
                 */
                setQFilters(qFilters:$.java.util.List):void;
                /**
                 * @param number
                 * @param rowKey
                 */
                setItemByNumber(number_arg:string,rowKey:number):void;
                /**
                 * 添加基础资料模糊查询干预api监听器
                 * @param listener
                 */
                addBasedataFuzzySearchListener(listener:kd.bos.form.field.events.BasedataFuzzySearchListener):void;
                /**
                 * 添加快捷新增前监听器
                 * @param listener
                 */
                addBeforeQuickAddNewListener(listener:kd.bos.form.field.events.BeforeQuickAddNewListener):void;
                /**
                 * 添加基础资料设值前监听器
                 */
                addBeforeBasedataSetValueListener(listener:kd.bos.form.field.events.BeforeBasedataSetValueListener):void;
                addTipsClickListener(listener:kd.bos.form.field.events.CellTipsClickListener):void;
                /**
                 * 设置F7是否多选
                 * @param f7MultipleSelect false:不多选，true:多选
                 */
                setF7MultipleSelect(f7MultipleSelect:boolean):void;
                /**
                 * @param param
                 */
                viewDetail(param:$.java.util.Map):void;
                /**
                 * 是否返回批量填充空白行
                 * @return
                 */
                isF7BatchFill():boolean;
                /**
                 * 获取基础资料显示属性
                 * @return 显示属性
                 */
                getDisplayProp():string;
                /**
                 * 是否是F7点击
                 * @return false:否，true：是
                 */
                isF7Click():boolean;
                /**
                 * 设置基础资料显示属性
                 * @param displayProp 显示属性
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 获取过滤器
                 * @return
                 */
                getQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 是否启用我的常用
                 * @return false:不启用，true:启用
                 */
                isShowFrequent():boolean;
                /**
                 * 设置显示风格 0：默认，1：下拉
                 * @param displayStyle 显示风格
                 */
                setDisplayStyle(displayStyle:number):void;
                /**
                 * 获取显示风格 0：默认，1：下拉
                 *
                 * @return
                 */
                getDisplayStyle():number;
                /**
                 * 获取布局ID
                 * @return
                 */
                getLayoutId():string;
                /**
                 * 设置基础资料编辑显示属性
                 * @param editSearchProp 编辑显示属性
                 */
                setEditSearchProp(editSearchProp:string):void;
                /**
                 * 点击Tips按钮
                 */
                cellTipsClick(rowIndex:number,tipsId:string):void;
                /**
                 * F7批量返回，是否支持合并属性值改变事件，等F7赋值结束后，批量触发值更新事件
                 * @return
                 * 批量触发字段的值更新事件，会暂停即时触发值更新事件，等F7同一批返回的全部字段值填写完成后，再触发值更新事件；
                 * 最终影响：
                 * 1. 首先是在值更新事件中收到的是多行数据，插件需要逐行处理；
                 * 2. 其次是会调整调整字段值更新事件、实体服务规则的执行顺序；如果插件和实体服务规则有交叉赋值、取值，可能取不到最新值
                 *
                 * 默认不合并值改变事件，和历史版本插件兼容；业务插件在完成了值更新事件批量处理改造后，可以在表单插件initialize事件中，设置本属性为true，支持批量触发值更新事件
                 */
                isBatchFirePropChanged():boolean;
                /**
                 * 设置F7是否添加使用状态
                 * @param isShowUsed
                 */
                setShowUsed(isShowUsed:boolean):void;
                /**
                 * 设置是否启用我的常用
                 * @param isShowFrequent false:不启用，true:启用
                 */
                setShowFrequent(isShowFrequent:boolean):void;
                /**
                 * 显示更多
                 * @param searchValue
                 */
                showMore(searchValue:string):void;
            }
            type BasedataEdit_T = BasedataEdit$ & FieldEdit & ICloseCallBack;
            interface BasedataEdit extends BasedataEdit_T {
            }
            interface IntegerEdit_S {
            }
            type IntegerEdit_ST = IntegerEdit_S & TextEdit_S;
            interface IntegerEdit_C extends IntegerEdit_ST {
                new():IntegerEdit;
            }
            interface IntegerEdit$ {
            }
            type IntegerEdit_T = IntegerEdit$ & TextEdit;
            interface IntegerEdit extends IntegerEdit_T {
            }
            interface BillStatusEdit_S {
            }
            type BillStatusEdit_ST = BillStatusEdit_S & ComboEdit_S;
            interface BillStatusEdit_C extends BillStatusEdit_ST {
                new():BillStatusEdit;
            }
            interface BillStatusEdit$ {
            }
            type BillStatusEdit_T = BillStatusEdit$ & ComboEdit;
            interface BillStatusEdit extends BillStatusEdit_T {
            }
            interface FieldEdit_S {
            }
            type FieldEdit_ST = FieldEdit_S & TipsSupport_S;
            interface FieldEdit_C extends FieldEdit_ST {
                new():FieldEdit;
            }
            interface FieldEdit$ {
                /**
                 * 输出数据
                 * @param value 值
                 * @param rowIndex 行
                 * @param parentRowIndex 父
                 */
                postBack(value:any,rowIndex:number,parentRowIndex:number):void;
                /**
                 * 设置控件可见性
                 * @param policy 策略
                 * @param enable 是否可见
                 */
                setVisible(policy:string,enable:boolean):void;
                /**
                 * 设置字段标识
                 * @param key 字段key
                 */
                setFieldKey(key:string):void;
                /**
                 * 根据字段数据判断是否脱敏
                 * @param bctx
                 * @return
                 */
                isDesensitized(bctx:BindingContext):boolean;
                /**
                 * 设置是否必录
                 *
                 * @param value
                 */
                setMustInput(value:boolean):void;
                /**
                 * 获取绑定值
                 * @param bctx 上下文
                 * @return 字段值
                 */
                getBindingValue(bctx:BindingContext):any;
                /**
                 * 获取字段显示名称
                 * @return LocaleString 显示名称
                 */
                getDisplayName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取字段属性对象
                 * @return
                 */
                getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 获取脱敏值
                 *
                 * @param clearText
                 * @return
                 */
                getDesensitizeValue(clearText:any):any;
                /**
                 * 处理隐私字段点击小眼睛取明文值
                 *
                 * 单头request：[{"key":"timefield","methodName":"getPlainText","args":[-1],"postData":[{},[]]]
                 * 分录request:[{"key":"integerfield3","methodName":"getPlainText","args":[rowIndex],"postData":[{},[]]]
                 * response：[{"p":[{"key":"timefield","methodname":"setPlainText","args":[{"v":180}]}],"a":"InvokeControlMethod"}]
                 * 分录response：[{"p":[{"key":"entryentity","methodname":"setPlainText","args":[{"fieldstates":[{"r":1,"k":"integerfield1","v":"0"}]}]}],"a":"InvokeControlMethod"}]
                 * @param rowIndex
                 */
                getPlainText(rowIndex:number):void;
                /**
                 * 获取分录控件标识
                 * @return 分录控件的标识
                 */
                getEntryControlKey():string;
                /**
                 * 按单元格设置必录/非必录
                 * @param gridMustInput
                 */
                setGridMustInput(gridMustInput:boolean):void;
                /**
                 * 设置字段名称
                 * @param caption
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置分录控件的Key
                 * @param entryKey 设置分录的标识
                 */
                setEntryKey(entryKey:string):void;
                /**
                 * 获取过滤条件列表
                 * @return
                 */
                getDefaultFilters():$.java.util.List;
                /**
                 * 获取分录控件的Key
                 * @return 返回字段为分录字段时对于的分录控件的Key,如表格、卡片,为了提高效率，当分录实体的Key和表格空间的Key相等时这里为空
                 */
                getEntryKey():string;
                /**
                 * 设置是否锁定
                 * @param policy 策略
                 * @param enable 是否锁定
                 * @param row -1 表示整列锁定
                 */
                setEnable(policy:string,enable:boolean,row:number):void;
                /**
                 * 兼容单据体获取处理脱敏的属性
                 * 单体的处理逻辑在EntryGrid中
                 */
                getDesenPropByEntry():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置是否平铺字段
                 * @param isFlatField
                 */
                setFlatField(isFlatField:boolean):void;
                /**
                 * 获取过滤条件键
                 * {@link ( Set, kd.bos.form.container.Container)}
                 * @return Set
                 */
                getFilterKeys():$.java.util.Set;
                /**
                 * @param policy 策略
                 * @param enable 是否
                 */
                oldsetVisible(policy:string,enable:boolean):void;
                /**
                 * 设置隐私属性绑定关系
                 * @param desensitizeField 属性隐私绑定对象
                 */
                setDesensitizeField(desensitizeField:kd.bos.privacy.DesensitizeField):void;
                /**
                 * 设置字段显示名称
                 * @param displayName 显示名称
                 */
                setDisplayName(displayName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置分录控件标识
                 * @param entryControlKey 分录控件标识
                 */
                setEntryControlKey(entryControlKey:string):void;
                /**
                 * 是否平铺字段。
                 * 平铺字段为代理字段，实体key与控件key不同。
                 * @return
                 */
                isFlatField():boolean;
                /**
                 * @param policy 策略
                 * @param enable 是否
                 * @param row 行
                 */
                oldsetEnable(policy:string,enable:boolean,row:number):void;
                /**
                 * 是否脱敏字段
                 *
                 * @return
                 */
                isDesensitizeField():boolean;
                /**
                 * 设置是否聚焦
                 * @param focus
                 */
                setFocus(focus:boolean):void;
                /**
                 * 设置文本值
                 * @param text
                 */
                setText(text:string):void;
                /**
                 * 检测字段状态：字段锁定则不能修改
                 * @return
                 */
                checkEditFieldStatus():boolean;
                /**
                 * 是否需要序列化 FieldKey属性，当this.fieldKey == this.key,不序列化
                 */
                shouldSerializeFieldKey():boolean;
                /**
                 * 设置脱敏标识
                 *
                 * @param bctx
                 * @param isDesensitize 是否脱敏
                 * @param canShowDetail 是否展示小眼睛
                 */
                setDesensitizedState(bctx:BindingContext,isDesensitize:boolean,canShowDetail:boolean):void;
                /**
                 * 设置运行时即时更新
                 * @param value boolean
                 */
                setFireEvtUp(value:boolean):void;
                /**
                 * 获取字段标识
                 * @return 字段标识
                 */
                getFieldKey():string;
                /**
                 * 是否按单元格设置必录/非必录
                 * @return
                 */
                isGridMustInput():boolean;
                /**
                 * 设置单元格必录的分录索引
                 * @param gridMustInputIndex
                 */
                setGridMustInputIndex(gridMustInputIndex:number):void;
            }
            type FieldEdit_T = FieldEdit$ & TipsSupport;
            interface FieldEdit extends FieldEdit_T {
            }
            interface BillTypeEdit_S {
                readonly CUSTOMPARAM_DISABLEBILLTYPE:string;
            }
            type BillTypeEdit_ST = BasedataEdit_S & BillTypeEdit_S & IConfirmCallBack_S;
            interface BillTypeEdit_C extends BillTypeEdit_ST {
                new():BillTypeEdit;
            }
            interface BillTypeEdit$ {
            }
            type BillTypeEdit_T = BasedataEdit & BillTypeEdit$ & IConfirmCallBack;
            interface BillTypeEdit extends BillTypeEdit_T {
            }
            interface QtyEdit_S {
            }
            type QtyEdit_ST = DecimalEdit_S & QtyEdit_S;
            interface QtyEdit_C extends QtyEdit_ST {
                new():QtyEdit;
            }
            interface QtyEdit$ {
            }
            type QtyEdit_T = DecimalEdit & QtyEdit$;
            interface QtyEdit extends QtyEdit_T {
            }
            interface DateEdit_S {
            }
            type DateEdit_ST = DateEdit_S & DateTimeEdit_S & ICloseCallBack_S;
            interface DateEdit_C extends DateEdit_ST {
                /**
                 * 构造方法：初始化日期字段
                 */
                new():DateEdit;
                /**
                 * 构造方法：初始化日期字段
                 *
                 * @param fmtString 格式化字符串
                 */
                new(fmtString:string):DateEdit;
            }
            interface DateEdit$ {
            }
            type DateEdit_T = DateEdit$ & DateTimeEdit & ICloseCallBack;
            interface DateEdit extends DateEdit_T {
            }
            class ComboInsertDirection {
                static readonly BEFORE:kd.bos.form.field.ComboInsertDirection;
                static readonly AFTER:kd.bos.form.field.ComboInsertDirection;
                static values():kd.bos.form.field.ComboInsertDirection[];
                static valueOf(arg0:string):kd.bos.form.field.ComboInsertDirection;
                getDirection():string;
            }
            interface DecimalFlexEdit_S {
            }
            type DecimalFlexEdit_ST = DecimalEdit_S & DecimalFlexEdit_S & kd.bos.form.flex.IFieldFlexEdit_S;
            interface DecimalFlexEdit_C extends DecimalFlexEdit_ST {
                new():DecimalFlexEdit;
            }
            interface DecimalFlexEdit$ {
            }
            type DecimalFlexEdit_T = DecimalEdit & DecimalFlexEdit$ & kd.bos.form.flex.IFieldFlexEdit;
            interface DecimalFlexEdit extends DecimalFlexEdit_T {
            }
            interface MulBasedataEdit_S {
            }
            type MulBasedataEdit_ST = BasedataEdit_S & MulBasedataEdit_S;
            interface MulBasedataEdit_C extends MulBasedataEdit_ST {
                new():MulBasedataEdit;
            }
            interface MulBasedataEdit$ {
                /**
                 * 是否基础管理员
                 */
                getIsOrgBaseAdmin():boolean;
                /**
                 * 设置是否基础管理员
                 */
                setIsOrgBaseAdmin(isOrgBaseAdmin:boolean):void;
                /**
                 * 设置组织职能
                 * @param orgFuncId
                 */
                setOrgFuncId(orgFuncId:string):void;
                /**
                 * 设置已选显示字段
                 * @param selectedDisplayField 已选显示字段
                 */
                setSelectedDisplayField(selectedDisplayField:$.kd.bos.entity.SelectedDisplayField):void;
                /**
                 * 获取组织职能
                 * @return
                 */
                getOrgFuncId():string;
                /**
                 * 获取已选显示字段
                 * @return
                 */
                getSelectedDisplayField():$.kd.bos.entity.SelectedDisplayField;
            }
            type MulBasedataEdit_T = BasedataEdit & MulBasedataEdit$;
            interface MulBasedataEdit extends MulBasedataEdit_T {
            }
            interface LargeTextOtherEdit_S {
            }
            type LargeTextOtherEdit_ST = LargeTextOtherEdit_S & TextEdit_S;
            interface LargeTextOtherEdit_C extends LargeTextOtherEdit_ST {
                new():LargeTextOtherEdit;
            }
            interface LargeTextOtherEdit$ {
                /**
                 * 获取大文本详细信息字段标识
                 * @return
                 */
                getTagFieldKey():string;
            }
            type LargeTextOtherEdit_T = LargeTextOtherEdit$ & TextEdit;
            interface LargeTextOtherEdit extends LargeTextOtherEdit_T {
            }
            interface TextAreaEdit_S {
            }
            type TextAreaEdit_ST = TextAreaEdit_S & TextEdit_S;
            interface TextAreaEdit_C extends TextAreaEdit_ST {
                new():TextAreaEdit;
            }
            interface TextAreaEdit$ {
            }
            type TextAreaEdit_T = TextAreaEdit$ & TextEdit;
            interface TextAreaEdit extends TextAreaEdit_T {
            }
            interface MasterBasedataEdit_S {
            }
            type MasterBasedataEdit_ST = BasedataEdit_S & MasterBasedataEdit_S;
            interface MasterBasedataEdit_C extends MasterBasedataEdit_ST {
                new():MasterBasedataEdit;
            }
            interface MasterBasedataEdit$ {
            }
            type MasterBasedataEdit_T = BasedataEdit & MasterBasedataEdit$;
            interface MasterBasedataEdit extends MasterBasedataEdit_T {
            }
            interface UserEdit_S {
            }
            type UserEdit_ST = BasedataEdit_S & UserEdit_S;
            interface UserEdit_C extends UserEdit_ST {
                new():UserEdit;
            }
            interface UserEdit$ {
                /**
                 * 设置云之家过滤条件
                 * @param filter
                 */
                setYzjFilter(filter:string):void;
                /**
                 * 添加下拉列表选择事件
                 * @param dataSelectEventListener
                 */
                addDataSelectEventListener(consumer:(t:any)=>void):void;
                /**
                 * 是否包含所有下级（用于打开F7人员列表的“是否包含所有下级”选项）
                 */
                setIsIncludeAllSub(isIncludeAllSub:boolean):void;
                /**
                 * 用户选择后处理
                 * @param params
                 */
                endSelect(params:any):void;
                /**
                 * 移动列表调用云之家选人控件
                 */
                showDataSelect():void;
                /**
                 * 是否包含所有下级（F7人员列表左树的“是否包含所有下级”参数）
                 */
                getIsIncludeAllSub():boolean;
                /**
                 * 添加下拉列表选择结束后事件
                 * @param endSelectEventListener
                 */
                addEndSelectEventListener(consumer:(t:any)=>void):void;
                /**
                 * 人员F7是否多选，默认非多选
                 * @return false:非多选,true:多选
                 */
                isUserF7MultipleSelect():boolean;
                /**
                 * 设置人员F7是否多选，默认非多选
                 * @param userF7MultipleSelect false:非多选,true:多选
                 */
                setUserF7MultipleSelect(userF7MultipleSelect:boolean):void;
            }
            type UserEdit_T = BasedataEdit & UserEdit$;
            interface UserEdit extends UserEdit_T {
            }
            interface PriceEdit_S {
            }
            type PriceEdit_ST = DecimalEdit_S & PriceEdit_S;
            interface PriceEdit_C extends PriceEdit_ST {
                new():PriceEdit;
            }
            interface PriceEdit$ {
            }
            type PriceEdit_T = DecimalEdit & PriceEdit$;
            interface PriceEdit extends PriceEdit_T {
            }
            interface EmailEdit_S {
            }
            type EmailEdit_ST = EmailEdit_S & FieldEdit_S;
            interface EmailEdit_C extends EmailEdit_ST {
                new():EmailEdit;
            }
            interface EmailEdit$ {
            }
            type EmailEdit_T = EmailEdit$ & FieldEdit;
            interface EmailEdit extends EmailEdit_T {
            }
            interface DateRangeEdit_S {
            }
            type DateRangeEdit_ST = DateRangeEdit_S & FieldEdit_S & ICloseCallBack_S;
            interface DateRangeEdit_C extends DateRangeEdit_ST {
                new():DateRangeEdit;
            }
            interface DateRangeEdit$ {
                /**
                 * 设置日期的最小值
                 * @param date
                 */
                setMinDate(date:Date):void;
                /**
                 * 打开移动端日期选择控件
                 */
                focus():void;
                /**
                 * 格式化信息，移动端存在格式化信息，原本是生成运行时元数据时存在 client 元数据类型中，但日期范围字段有弹框打开选择日期的场景，需要获取格式化信息
                 *
                 * @return
                 */
                getAdvFormatString():string;
                /**
                 * 设置开始日期标识
                 * @param startDateFieldKey
                 */
                setStartDateFieldKey(startDateFieldKey:string):void;
                /**
                 * 获取开始日期标识
                 * @return
                 */
                getStartDateFieldKey():string;
                /**
                 * 获取结束日期标识
                 * @return
                 */
                getEndDateFieldKey():string;
                /**
                 * 设置日期的最大值
                 * @param date
                 */
                setMaxDate(date:Date):void;
                /**
                 * 获取绑定值
                 * @param fieldkey 字段标识
                 * @param bctx 绑定上下文
                 * @return
                 */
                getBindingValue(fieldkey:string,bctx:BindingContext):any;
                updateDateRangeOption():void;
                setAdvFormatString(advFormatString:string):void;
                /**
                 * 设置结束日期标识
                 * @param endDateFieldKey
                 */
                setEndDateFieldKey(endDateFieldKey:string):void;
            }
            type DateRangeEdit_T = DateRangeEdit$ & FieldEdit & ICloseCallBack;
            interface DateRangeEdit extends DateRangeEdit_T {
            }
            interface DecimalEdit_S {
            }
            type DecimalEdit_ST = DecimalEdit_S & TextEdit_S;
            interface DecimalEdit_C extends DecimalEdit_ST {
                new():DecimalEdit;
            }
            interface DecimalEdit$ {
                /**
                 * 获取汇总类型
                 *
                 * @return 类型值： 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 */
                getSummary():number;
                /**
                 * 获取精度控制字段属性名
                 */
                getControlPropName():string;
                /**
                 * 设置汇总类型
                 * @param summary 类型值： 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 */
                setSummary(summary:number):void;
            }
            type DecimalEdit_T = DecimalEdit$ & TextEdit;
            interface DecimalEdit extends DecimalEdit_T {
            }
            interface TextEdit_S {
            }
            type TextEdit_ST = FieldEdit_S & TextEdit_S & kd.bos.form.control.events.ISuportClick_S;
            interface TextEdit_C extends TextEdit_ST {
                new():TextEdit;
            }
            interface TextEdit$ {
                /**
                 * 设置是否为敏感信息
                 *
                 * @param sensitiveInfo false:不是敏感信息，true:是敏感信息
                 */
                setSensitiveInfo(sensitiveInfo:boolean):void;
                /**
                 * 添加超链接事件
                 */
                addHyperClickListener(listener:kd.bos.form.events.HyperLinkClickListener):void;
                /**
                 * 聚集和失焦
                 *
                 * @param isFocus 是否聚焦
                 */
                inputFocus(isFocus:boolean):void;
                /**
                 * 点击按钮
                 */
                click():void;
                addButtonClickListener(listener:kd.bos.form.control.events.ClickListener):void;
                /**
                 * 设置是否触发 回车事件
                 *
                 * @param fireEnter true 开启
                 */
                setFireEnter(fireEnter:boolean):void;
                /**
                 * 动态设置字段聚焦时是否显示软键盘 （移动端使用）
                 *
                 * @param isShow 是否显示软键盘
                 */
                showSoftKeyboardWhenFocused(isShow:boolean):void;
                /**
                 * 设置是否聚焦值
                 *
                 * @param isFireFocus false:不聚焦，true:聚焦
                 */
                setFireFocus(isFireFocus:boolean):void;
                /**
                 * 是否是敏感信息
                 *
                 * @return 是否为敏感信息 false:不是敏感信息，true:是敏感信息
                 */
                isSensitiveInfo():boolean;
                /**
                 * 回车  不回车
                 *
                 * @param content
                 */
                enterKeyEvent(content:string):void;
                /**
                 * 添加文本回车事件监听，目前只支持移动端
                 *
                 * @param listener 监听器
                 */
                addEnterKeyListener(listener:kd.bos.form.control.events.EnterKeyListener):void;
                /**
                 * 是否聚焦判断
                 *
                 * @return false:不聚焦，true:聚焦
                 */
                isFireFocus():boolean;
                /**
                 * 添加聚焦失焦事件监听器
                 *
                 * @param listener 监听器
                 */
                addInputFocusListener(listener:kd.bos.form.control.events.InputFocusListener):void;
                hyperLinkClick():void;
            }
            type TextEdit_T = FieldEdit & TextEdit$ & kd.bos.form.control.events.ISuportClick;
            interface TextEdit extends TextEdit_T {
            }
            interface MobBasedataEdit_S {
            }
            type MobBasedataEdit_ST = BasedataEdit_S & MobBasedataEdit_S;
            interface MobBasedataEdit_C extends MobBasedataEdit_ST {
                new():MobBasedataEdit;
            }
            interface MobBasedataEdit$ {
            }
            type MobBasedataEdit_T = BasedataEdit & MobBasedataEdit$;
            interface MobBasedataEdit extends MobBasedataEdit_T {
            }
            interface RichEdit_S {
            }
            type RichEdit_ST = FieldEdit_S & RichEdit_S;
            interface RichEdit_C extends RichEdit_ST {
                new():RichEdit;
            }
            interface RichEdit$ {
            }
            type RichEdit_T = FieldEdit & RichEdit$;
            interface RichEdit extends RichEdit_T {
            }
            interface UserAvatarEdit_S {
            }
            type UserAvatarEdit_ST = BasedataPropEdit_S & UserAvatarEdit_S & kd.bos.form.control.events.ISuportClick_S;
            interface UserAvatarEdit_C extends UserAvatarEdit_ST {
                new():UserAvatarEdit;
            }
            interface UserAvatarEdit$ {
                /**
                 * 点击按钮
                 */
                click():void;
            }
            type UserAvatarEdit_T = BasedataPropEdit & UserAvatarEdit$ & kd.bos.form.control.events.ISuportClick;
            interface UserAvatarEdit extends UserAvatarEdit_T {
            }
            interface AmountEdit_S {
            }
            type AmountEdit_ST = AmountEdit_S & DecimalEdit_S;
            interface AmountEdit_C extends AmountEdit_ST {
                new():AmountEdit;
            }
            interface AmountEdit$ {
                setVoucherEditor(isVoucherEditor:boolean):void;
                isVoucherEditor():boolean;
            }
            type AmountEdit_T = AmountEdit$ & DecimalEdit;
            interface AmountEdit extends AmountEdit_T {
            }
            interface AttachmentEdit_S {
            }
            type AttachmentEdit_ST = $.kd.bos.form.field.MulBasedataEdit & AttachmentEdit_S & kd.bos.mservice.svc.attach.IAttachmentEdit_S;
            interface AttachmentEdit_C extends AttachmentEdit_ST {
                new():AttachmentEdit;
            }
            interface AttachmentEdit$ {
                /**
                 * 添加预览监听事件
                 * @param listener
                 */
                addPreviewListener(listener:kd.bos.form.control.events.AttachmentPreviewListener):void;
                /**
                 * 获取设置的表名
                 *
                 * @return 表名
                 */
                getTableName():string;
                /**
                 * 添加自定义按钮监听事件
                 * @param listener
                 */
                addOperaClickListener(listener:kd.bos.form.control.events.AttachmentOperaClickListener):void;
                /**
                 * 添加备注监听事件
                 * @param listener
                 */
                addMarkListener(listener:kd.bos.form.control.events.AttachmentMarkListener):void;
                /**
                 * 添加下载监听事件
                 * @param listener
                 */
                addDownloadListener(listener:kd.bos.form.control.events.AttachmentDownloadListener):void;
                /**
                 * 附件上传前监听事件
                 *
                 * @param listener
                 */
                addBeforeUploadListener(listener:kd.bos.form.control.events.BeforeAttachmentUploadListener):void;
                /**
                 * 适用于：单据头录附件字段
                 * 添加自定义按钮，展示效果同【删除】【下载】【预览】
                 * @param buttons
                 */
                addAttachOperaBtn(buttons:$.java.util.List):void;
                /**
                 * 添加删除前监听事件
                 * @param listener
                 */
                addBeforeRemoveListener(listener:kd.bos.form.control.events.BeforeAttachmentRemoveListener):void;
            }
            type AttachmentEdit_T = $.kd.bos.form.field.MulBasedataEdit & AttachmentEdit$ & kd.bos.mservice.svc.attach.IAttachmentEdit;
            interface AttachmentEdit extends AttachmentEdit_T {
            }
        }
        namespace kd.bos.form.field.events{
            interface BeforeF7PrepareUserOrgsEvent_S {
            }
            type BeforeF7PrepareUserOrgsEvent_ST = $.java.util.EventObject & BeforeF7PrepareUserOrgsEvent_S;
            interface BeforeF7PrepareUserOrgsEvent_C extends BeforeF7PrepareUserOrgsEvent_ST {
                /**
                 * 构造方法：初始化选择基础资料前（弹出过滤窗口前）事件参数
                 *
                 * @param source        事件源
                 * @param row           行号
                 * @param originalValue 源值
                 */
                new(source:FieldEdit,row:number,originalValue:any):BeforeF7PrepareUserOrgsEvent;
            }
            interface BeforeF7PrepareUserOrgsEvent$ {
                /**
                 * 获取源值
                 *
                 * @return 源值
                 */
                getOriginalValue():any;
                /**
                 * 获取基础资料字段关联组织,用于管控策略，数据规则，特殊数据权限验权
                 *
                 * @return
                 */
                getUserOrgIds():$.java.util.List;
                /**
                 * 获取字段属性对象
                 *
                 * @return 字段属性对象
                 */
                getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置基础资料字段关联组织,用于管控策略，数据规则，特殊数据权限验权
                 *
                 * @return
                 */
                setUserOrgIds(userOrgIds:$.java.util.List):void;
                /**
                 * 获取行号
                 *
                 * @return 行号
                 */
                getRow():number;
            }
            type BeforeF7PrepareUserOrgsEvent_T = $.java.util.EventObject & BeforeF7PrepareUserOrgsEvent$;
            interface BeforeF7PrepareUserOrgsEvent extends BeforeF7PrepareUserOrgsEvent_T {
            }
            interface ShowFlexEditListener_S {
            }
            interface ShowFlexEditListener_C extends ShowFlexEditListener_S {
            }
            interface ShowFlexEditListener$ {
                /**
                 * 显示弹性域编辑控件事件
                 * @param evt 显示弹性域编辑控件事件
                 */
                showFlexEdit(evt:ShowFlexEditEvent):void;
            }
            type ShowFlexEditListener_T = ShowFlexEditListener$;
            interface ShowFlexEditListener extends ShowFlexEditListener_T {
            }
            interface CellTipsClickListener_S {
            }
            interface CellTipsClickListener_C extends CellTipsClickListener_S {
            }
            interface CellTipsClickListener$ {
                /**
                 * 点击Tips按钮事件
                 * @param e 点击Tips按钮事件参数
                 */
                clickTips(e:CellTipsClickEvent):void;
            }
            type CellTipsClickListener_T = CellTipsClickListener$;
            interface CellTipsClickListener extends CellTipsClickListener_T {
            }
            interface BaseDataCustomControllerEvent_S {
            }
            type BaseDataCustomControllerEvent_ST = $.java.util.EventObject & BaseDataCustomControllerEvent_S;
            interface BaseDataCustomControllerEvent_C extends BaseDataCustomControllerEvent_ST {
                /**
                 * 构造方法：初始化基础资料个性化逻辑控制功能事件参数
                 * @param source 事件源
                 * @param listShowParameter 列表打开参数
                 */
                new(source:any,listShowParameter:kd.bos.list.ListShowParameter):BaseDataCustomControllerEvent;
                /**
                 * 构造方法：初始化基础资料个性化逻辑控制功能事件参数
                 * @param source 事件源
                 * @param listShowParameter 列表打开参数
                 * @param sourceEnum 基础资料个性化逻辑控制类型
                 */
                new(source:any,listShowParameter:kd.bos.list.ListShowParameter,sourceEnum:BasedataControllerSourceEnum):BaseDataCustomControllerEvent;
                /**
                 * 构造方法：初始化基础资料个性化逻辑控制功能事件参数
                 *
                 * @param source              事件源
                 * @param listShowParameter   列表打开参数
                 * @param sourceEnum          基础资料个性化逻辑控制类型
                 * @param filterColumnOrderBy 查询排序字段
                 */
                new(source:any,listShowParameter:kd.bos.list.ListShowParameter,sourceEnum:BasedataControllerSourceEnum,filterColumnOrderBy:string):BaseDataCustomControllerEvent;
                /**
                 * 构造方法：初始化基础资料个性化逻辑控制功能事件参数
                 *
                 * @param source              事件源
                 * @param listShowParameter   列表打开参数
                 * @param sourceEnum          基础资料个性化逻辑控制类型
                 * @param filterColumnOrderBy 查询排序字段
                 * @param sourceMethod 来源方法(setItemByNumber、getLookUpList、setItemByIdFromClient)
                 */
                new(source:any,listShowParameter:kd.bos.list.ListShowParameter,sourceEnum:BasedataControllerSourceEnum,filterColumnOrderBy:string,sourceMethod:string):BaseDataCustomControllerEvent;
            }
            interface BaseDataCustomControllerEvent$ {
                /**
                 * 获取基础资料个性化逻辑控制类型
                 * @return 基础资料个性化逻辑控制类型
                 */
                getSourceEnum():BasedataControllerSourceEnum;
                /**
                 * 设置排序字段
                 * @param filterColumnOrderBy
                 */
                setFilterColumnOrderBy(filterColumnOrderBy:string):void;
                /**
                 * 获取排序字段
                 * @return
                 */
                getFilterColumnOrderBy():string;
                /**
                 * 获取查询过滤条件列表
                 * @return 查询过滤条件列表
                 */
                getQfilters():$.java.util.List;
                /**
                 * 查询过滤条件
                 * @param qfilter 过滤条件
                 */
                addQFilter(qfilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 获取列表打开参数
                 * @return 列表打开参数
                 */
                getListShowParameter():kd.bos.list.ListShowParameter;
                /**
                 * 添加查询过滤条件列表
                 * @param qfilters 查询过滤条件列表
                 */
                addQFilters(qfilters:$.java.util.List):void;
                /**
                 * 获取来源方法(setItemByNumber、getLookUpList、setItemByIdFromClient)
                 *
                 * @return
                 */
                getSourceMethod():string;
            }
            type BaseDataCustomControllerEvent_T = $.java.util.EventObject & BaseDataCustomControllerEvent$;
            interface BaseDataCustomControllerEvent extends BaseDataCustomControllerEvent_T {
            }
            interface BasedataEditListener_S {
            }
            interface BasedataEditListener_C extends BasedataEditListener_S {
            }
            interface BasedataEditListener$ {
                /**
                 * 绑定数据之后
                 * @param evt 绑定数据之后事件参数
                 */
                afterBindingData(evt:AfterBindingDataEvent):void;
            }
            type BasedataEditListener_T = BasedataEditListener$;
            interface BasedataEditListener extends BasedataEditListener_T {
            }
            interface BeforeQuickAddNewEvent_S {
            }
            type BeforeQuickAddNewEvent_ST = $.java.util.EventObject & BeforeQuickAddNewEvent_S;
            interface BeforeQuickAddNewEvent_C extends BeforeQuickAddNewEvent_ST {
                /**
                 * 构造方法：初始化快捷新增前事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeQuickAddNewEvent;
                /**
                 * 构造方法：初始化快捷新增前事件参数
                 * @param source 事件源
                 * @param baseShowParameter 基础资料界面显示参数
                 */
                new(source:any,baseShowParameter:kd.bos.base.BaseShowParameter):BeforeQuickAddNewEvent;
            }
            interface BeforeQuickAddNewEvent$ {
                /**
                 * 设置基础资料界面显示参数
                 * @param showParameter 基础资料界面显示参数
                 */
                setShowParameter(showParameter:FormShowParameter):void;
                /**
                 * 是否取消该事件
                 * @return 是否取消：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取基础资料界面显示参数
                 * @return 基础资料界面显示参数
                 */
                getShowParameter():FormShowParameter;
                /**
                 * 设置是否取消该事件值
                 * @param cancel 是否取消：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
            }
            type BeforeQuickAddNewEvent_T = $.java.util.EventObject & BeforeQuickAddNewEvent$;
            interface BeforeQuickAddNewEvent extends BeforeQuickAddNewEvent_T {
            }
            interface ShowFlexEditEvent_S {
            }
            type ShowFlexEditEvent_ST = $.java.util.EventObject & ShowFlexEditEvent_S;
            interface ShowFlexEditEvent_C extends ShowFlexEditEvent_ST {
                /**
                 * 构造方法：初始化显示弹性域编辑控件事件参数
                 * @param flexEdit  弹性域编辑控件
                 * @param rowIndex 当前行号
                 * @param baseKey 字段名
                 */
                new(flexEdit:FlexEdit,rowIndex:number,baseKey:string):ShowFlexEditEvent;
            }
            interface ShowFlexEditEvent$ {
                /**
                 * 设置字段名
                 * @param baseKey 字段名
                 */
                setBaseKey(baseKey:string):void;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取当前行号
                 * @return 当前行号
                 */
                getRow():number;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取字段名
                 * @return 字段名
                 */
                getBaseKey():string;
                /**
                 * 设置当前行号
                 * @param row 当前行号
                 */
                setRow(row:number):void;
            }
            type ShowFlexEditEvent_T = $.java.util.EventObject & ShowFlexEditEvent$;
            interface ShowFlexEditEvent extends ShowFlexEditEvent_T {
            }
            interface FuzzySearchEvent_S {
            }
            interface FuzzySearchEvent_C extends FuzzySearchEvent_S {
                new(showColumns:$.java.util.List):FuzzySearchEvent;
            }
            interface FuzzySearchEvent$ {
                addItem(id:string,caption:string,width:number,visible:boolean):$.java.util.List;
            }
            type FuzzySearchEvent_T = FuzzySearchEvent$;
            interface FuzzySearchEvent extends FuzzySearchEvent_T {
            }
            interface BeforeQuickAddNewListener_S {
            }
            interface BeforeQuickAddNewListener_C extends BeforeQuickAddNewListener_S {
            }
            interface BeforeQuickAddNewListener$ {
                /**
                 * 快捷新增前事件
                 * @param e 快捷新增前事件参数
                 */
                beforeQuickAddNew(e:BeforeQuickAddNewEvent):void;
            }
            type BeforeQuickAddNewListener_T = BeforeQuickAddNewListener$;
            interface BeforeQuickAddNewListener extends BeforeQuickAddNewListener_T {
            }
            interface AfterF7SelectListener_S {
            }
            interface AfterF7SelectListener_C extends AfterF7SelectListener_S {
            }
            interface AfterF7SelectListener$ {
                /**
                 * F7选择后事件
                 * @param evt F7选择后事件参数
                 */
                afterF7Select(evt:AfterF7SelectEvent):void;
            }
            type AfterF7SelectListener_T = AfterF7SelectListener$;
            interface AfterF7SelectListener extends AfterF7SelectListener_T {
            }
            interface BasedataFuzzySearchEvent_S {
            }
            type BasedataFuzzySearchEvent_ST = $.java.util.EventObject & BasedataFuzzySearchEvent_S;
            interface BasedataFuzzySearchEvent_C extends BasedataFuzzySearchEvent_ST {
                /**
                 * 构造方法：初始化模糊查询事件参数
                 *
                 * @param source 事件源
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any,queryData:$.java.util.List):BasedataFuzzySearchEvent;
            }
            interface BasedataFuzzySearchEvent$ {
                /**
                 * 获取查询后的结果数据
                 * @return 查询后的结果数据
                 */
                getQueryData():$.java.util.List;
                /**
                 * 设置查询后的结果数据
                 * @param queryData 查询后的结果数据
                 */
                setQueryData(queryData:$.java.util.List):void;
            }
            type BasedataFuzzySearchEvent_T = $.java.util.EventObject & BasedataFuzzySearchEvent$;
            interface BasedataFuzzySearchEvent extends BasedataFuzzySearchEvent_T {
            }
            interface DateClickListener_S {
            }
            interface DateClickListener_C extends DateClickListener_S {
            }
            interface DateClickListener$ {
                /**
                 * 调整日期事件
                 * @param e 日期事件参数
                 */
                resetDateFilter(e:ResetDateFilterEvent):void;
            }
            type DateClickListener_T = DateClickListener$;
            interface DateClickListener extends DateClickListener_T {
            }
            interface FlexControlMetaPreRenderListener_S {
            }
            interface FlexControlMetaPreRenderListener_C extends FlexControlMetaPreRenderListener_S {
            }
            interface FlexControlMetaPreRenderListener$ {
                /**
                 * 创建弹性域元数据监听方法
                 * @param evt 弹性域元数据事件
                 */
                flexControlMetaPreRender(evt:kd.bos.form.flex.event.FlexControlMetaPreRenderEvent):void;
            }
            type FlexControlMetaPreRenderListener_T = FlexControlMetaPreRenderListener$;
            interface FlexControlMetaPreRenderListener extends FlexControlMetaPreRenderListener_T {
            }
            interface ListExpandEvent_S {
            }
            type ListExpandEvent_ST = $.java.util.EventObject & ListExpandEvent_S;
            interface ListExpandEvent_C extends ListExpandEvent_ST {
                /**
                 * 构造方法：初始化列表折叠表单事件参数
                 * @param source 事件源
                 * @param pkId 主键ID值
                 * @param rowIndex 序号
                 */
                new(source:any,pkId:any,rowIndex:number):ListExpandEvent;
            }
            interface ListExpandEvent$ {
                /**
                 * 获取主键ID值
                 * @return 主键ID值
                 */
                getPkId():any;
                /**
                 * 设置主键ID值
                 * @param pkId 主键ID值
                 */
                setPkId(pkId:any):void;
                /**
                 * 获取序号
                 * @return 序号
                 */
                getRowIndex():number;
                /**
                 * 设置序号
                 * @param rowIndex 序号
                 */
                setRowIndex(rowIndex:number):void;
            }
            type ListExpandEvent_T = $.java.util.EventObject & ListExpandEvent$;
            interface ListExpandEvent extends ListExpandEvent_T {
            }
            interface FuzzySearchsListener_S {
            }
            interface FuzzySearchsListener_C extends FuzzySearchsListener_S {
            }
            interface FuzzySearchsListener$ {
                handleFuzzySearchParam(xxxEvent:FuzzySearchEvent):void;
            }
            type FuzzySearchsListener_T = FuzzySearchsListener$;
            interface FuzzySearchsListener extends FuzzySearchsListener_T {
            }
            interface BeforeBasedataSetValueListener_S {
            }
            interface BeforeBasedataSetValueListener_C extends BeforeBasedataSetValueListener_S {
            }
            interface BeforeBasedataSetValueListener$ {
                /**
                 * 基础资料设值之前
                 * @param evt 基础资料设值之前事件参数
                 */
                beforeBasedataSetValue(evt:BeforeBasedataSetValueEvent):void;
            }
            type BeforeBasedataSetValueListener_T = BeforeBasedataSetValueListener$;
            interface BeforeBasedataSetValueListener extends BeforeBasedataSetValueListener_T {
            }
            interface MainOrgChangeListener_S {
            }
            interface MainOrgChangeListener_C extends MainOrgChangeListener_S {
            }
            interface MainOrgChangeListener$ {
                /**
                 * 切换主组织值之前触发的事件
                 *
                 * @param e 事件
                 * @remark
                 * 触发此事件时，还没有开始切换基础资料到新组织下；插件可以在此事件中取消主组织的切换
                 */
                beforeChangeMainOrg?(e:BeforeChangeMainOrgEventArgs):void;
                /**
                 * 切换主组织，把所有基础资料切换到新组织之后，触发此事件
                 *
                 * @param e 事件
                 * @remark
                 * 允许插件在此事件根据新的主组织重新刷新业务字段值
                 */
                afterChangeMainOrg?(e:AfterChangeMainOrgEventArgs):void;
            }
            type MainOrgChangeListener_T = MainOrgChangeListener$;
            interface MainOrgChangeListener extends MainOrgChangeListener_T {
            }
            interface AfterF7SelectEvent_S {
            }
            type AfterF7SelectEvent_ST = $.java.util.EventObject & AfterF7SelectEvent_S;
            interface AfterF7SelectEvent_C extends AfterF7SelectEvent_ST {
                /**
                 * 构造方法：初始化F7选择后事件
                 * @param source 事件源
                 * @param actionId 回调标识：由发起者自定义，以便和其他回调来源进行区分
                 * @param currentRowIndex 当前行号。表头返回0
                 */
                new(source:any,actionId:string,currentRowIndex:number):AfterF7SelectEvent;
            }
            interface AfterF7SelectEvent$ {
                /**
                 * 获取字段值列表
                 * @return 字段值列表
                 */
                getInputValues():$.java.util.List;
                /**
                 * 当字段值列表不为空时，获取字段值列表第一条数据
                 * @return 字段值列表第一条数据
                 */
                getInputValue():any;
                /**
                 * 设置表单视图
                 * @param view 表单视图
                 */
                setView(view:IFormView):void;
                /**
                 * 获取表单视图
                 * @return 表单视图
                 */
                getView():IFormView;
                /**
                 * 获取回调标识：由发起者自定义，以便和其他回调来源进行区分
                 * @return 回调标识
                 */
                getActionId():string;
                /**
                 * 获取编码列表
                 * @return 编码列表
                 */
                getInputTexts():$.java.util.List;
                /**
                 * 设置编码列表
                 * @param inputTexts 编码列表
                 */
                setInputTexts(inputTexts:$.java.util.List):void;
                /**
                 * 当编码列表不为空时，获取编码值列表第一条数据
                 * @return 编码值列表第一条数据
                 */
                getInputText():string;
                /**
                 * 设置字段值列表
                 * @param inputValues 字段值列表
                 */
                setInputValues(inputValues:$.java.util.List):void;
                /**
                 * 获取选中行列表第一条记录
                 * @return 选中行列表第一条记录
                 */
                getListSelectedRow():$.kd.bos.entity.datamodel.ListSelectedRow;
                /**
                 * 获取当前行号。表头返回0
                 * @return 行号
                 */
                getCurrentRowIndex():number;
                /**
                 * 获取选中行列表集合
                 * @return 选中行列表集合
                 */
                getListSelectedRowCollection():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 设置选中行列表集合
                 * @param listSelectedRowCollection 选中行列表集合
                 */
                setListSelectedRowCollection(listSelectedRowCollection:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
            }
            type AfterF7SelectEvent_T = $.java.util.EventObject & AfterF7SelectEvent$;
            interface AfterF7SelectEvent extends AfterF7SelectEvent_T {
            }
            interface BeforeBasedataSetValueEvent_S {
            }
            type BeforeBasedataSetValueEvent_ST = $.java.io.Serializable & $.java.util.EventObject & BeforeBasedataSetValueEvent_S;
            interface BeforeBasedataSetValueEvent_C extends BeforeBasedataSetValueEvent_ST {
                /**
                 * 构造方法：初始化客户端提交字段值到服务端事件参数
                 * @param source 事件源
                 * @param value 字段值
                 * @param rowIndex 实体行号
                 */
                new(source:any,value:any,rowIndex:number):BeforeBasedataSetValueEvent;
            }
            interface BeforeBasedataSetValueEvent$ {
                /**
                 * 是否取消该事件
                 * @return 是否取消布尔值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取实体行号
                 * @return 实体行号
                 */
                getRowIndex():number;
                /**
                 * 设置是否基础资料多选插入行
                 */
                setAppendEntryRow(appendEntryRow:boolean):void;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消布尔值：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取字段值
                 * @return 字段值
                 */
                getValue():any;
                /**
                 * 获取是否基础资料多选插入行
                 */
                isAppendEntryRow():boolean;
            }
            type BeforeBasedataSetValueEvent_T = $.java.io.Serializable & $.java.util.EventObject & BeforeBasedataSetValueEvent$;
            interface BeforeBasedataSetValueEvent extends BeforeBasedataSetValueEvent_T {
            }
            interface ResetDateFilterEvent_S {
            }
            type ResetDateFilterEvent_ST = $.java.util.EventObject & ResetDateFilterEvent_S;
            interface ResetDateFilterEvent_C extends ResetDateFilterEvent_ST {
                /**
                 * 构造方法：初始化日期事件参数
                 * @param source 事件源
                 * @param key 日期控件标识
                 */
                new(source:any,key:string):ResetDateFilterEvent;
            }
            interface ResetDateFilterEvent$ {
                /**
                 * 获取不可选的日期
                 * @return 不可选的日期
                 */
                getExcludeDates():$.java.util.List;
                /**
                 * 获取按yyyy-MM-dd格式化的不可选日期列表
                 * @return 按yyyy-MM-dd格式化的不可选日期列表
                 */
                getFmtExcludeDates():$.java.util.List;
                /**
                 * 获取当前传入日期
                 * @return 当前传入日期
                 */
                getFocusedYear():number;
                /**
                 * 设置不可选的日期。 可选和不可选为互斥组，若已设置可选日期，优先取可选日期去过滤，调用者可先判断哪组的数据量少然后选择对应方法
                 * @param excludeDates 不可选的日期
                 */
                setExcludeDates(excludeDates:$.java.util.List):void;
                /**
                 * 设置当前传入日期
                 * @param focusedYear 当前传入日期
                 */
                setFocusedYear(focusedYear:number):void;
                /**
                 * 获取可选择的日期
                 * @return 可选择的日期
                 */
                getIncludeDates():$.java.util.List;
                /**
                 * 设置可选择的日期
                 * @param includeDates 可选择的日期
                 */
                setIncludeDates(includeDates:$.java.util.List):void;
                /**
                 * 获取按yyyy-MM-dd格式化的可选日期列表
                 * @return 按yyyy-MM-dd格式化的可选日期列表
                 */
                getFmtIncludeDates():$.java.util.List;
            }
            type ResetDateFilterEvent_T = $.java.util.EventObject & ResetDateFilterEvent$;
            interface ResetDateFilterEvent extends ResetDateFilterEvent_T {
            }
            interface BeforeF7ViewDetailEvent_S {
            }
            type BeforeF7ViewDetailEvent_ST = $.java.util.EventObject & BeforeF7ViewDetailEvent_S;
            interface BeforeF7ViewDetailEvent_C extends BeforeF7ViewDetailEvent_ST {
                /**
                 * 构造方法：查看F7明细事件参数
                 * @param source 事件源
                 */
                new(source:any):BeforeF7ViewDetailEvent;
                /**
                 * 构造方法：查看F7明细事件参数
                 * @param source 事件源
                 * @param rowKey 序号
                 * @param pkId 主键ID
                 */
                new(source:any,rowKey:number,pkId:any):BeforeF7ViewDetailEvent;
            }
            interface BeforeF7ViewDetailEvent$ {
                /**
                 * 获取序号
                 * @return 序号
                 */
                getRowKey():number;
                /**
                 * 设置主键ID值
                 * @param pkId 主键ID值
                 */
                setPkId(pkId:any):void;
                /**
                 * 设置序号
                 * @param rowKey 序号
                 */
                setRowKey(rowKey:number):void;
                /**
                 * 获取主键ID值
                 * @return 主键ID值
                 */
                getPkId():any;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
            }
            type BeforeF7ViewDetailEvent_T = $.java.util.EventObject & BeforeF7ViewDetailEvent$;
            interface BeforeF7ViewDetailEvent extends BeforeF7ViewDetailEvent_T {
            }
            interface BeforeFilterF7SelectEvent_S {
            }
            interface BeforeFilterF7SelectEvent_C extends BeforeFilterF7SelectEvent_S {
                /**
                 * 构造函数
                 * @param refEntityId 打开的基础资料字段实体标识
                 * @param refPropKey 基础资料字段在实体上的最后一级的标识，比如A.B.C，这里就是C
                 * @param isMulti 是否多选
                 * @param fieldName 字段名
                 * @param selectedIds 已选数据集合
                 * @param qfilters 过滤条件
                 */
                new(refEntityId:string,refPropKey:string,isMulti:boolean,fieldName:string,selectedIds:any[],qfilters:$.java.util.List):BeforeFilterF7SelectEvent;
            }
            interface BeforeFilterF7SelectEvent$ {
                /**
                 * 返回是否多选
                 *
                 * @return 是否多选
                 */
                isMulti():boolean;
                /**
                 * 获取插件设置的过滤容器 F7 弹出的动态表单模板
                 *
                 * @param formId
                 */
                setFormId(formId:string):void;
                /**
                 * 获取绑定的实体编码
                 *
                 * @return 绑定的实体编码
                 */
                getRefEntityId():string;
                /**
                 * 获取实际字段名(多级的情况下最后一级)
                 *
                 * @return 实际字段名
                 */
                getRefPropKey():string;
                /**
                 * 设置实际字段名(多级的情况下最后一级)
                 *
                 * @param refPropKey 实际字段名
                 */
                setRefPropKey(refPropKey:string):void;
                /**
                 * 添加自定义参数
                 *
                 * @param key
                 *            参数key值
                 * @param value
                 *            参数value值
                 */
                addCustomParam(key:string,value:any):void;
                /**
                 * 返回是否取消
                 *
                 * @return 是否取消
                 */
                isCancel():boolean;
                /**
                 * 设置绑定的实体编码
                 *
                 * @param refEntityId 绑定的实体编码
                 */
                setRefEntityId(refEntityId:string):void;
                /**
                 * 获取所有过滤条件(不包括插件设置的过滤)
                 *
                 * @return 所有过滤条件
                 */
                getQfilters():$.java.util.List;
                /**
                 * 获取插件设置的列表的表单单据元数据number或者布局标识
                 *
                 * @return
                 */
                getBillFormId():string;
                /**
                 * 添加插件设置的过滤条件
                 *
                 * @param customQFilter 插件设置的过滤条件
                 */
                addCustomQFilter(customQFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 获取已选择的基础资料
                 *
                 * @return 已选择的基础资料
                 */
                getSelectedIds():any[];
                /**
                 * 设置自定义参数集合
                 *
                 * @param customParams
                 *            自定义参数Map
                 */
                setCustomParams(customParams:$.java.util.Map):void;
                /**
                 * 设置已选数据id集合
                 *
                 * @param selectedIds 已选数据id集合
                 */
                setSelectedIds(selectedIds:any[]):void;
                /**
                 * 设置是否取消
                 *
                 * @param cancel 是否取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取使用组织内码；序时簿需要据此组织内码，隔离数据；
                 *
                 * @return 使用组织内码
                 */
                getUseOrgId():long;
                /**
                 * 通过插件设置过滤容器 F7 弹出的动态表单模板
                 *
                 * @return
                 */
                getFormId():string;
                /**
                 * 获取插件设置的过滤条件
                 *
                 * @return 插件设置的过滤条件
                 */
                getCustomQFilters():$.java.util.List;
                /**
                 * 设置获取使用组织内码；序时簿需要据此组织内码，隔离数据；
                 *
                 * @param useOrgId 获取使用组织内码
                 */
                setUseOrgId(useOrgId:long):void;
                /**
                 * 获取最终合并的所有过滤条件
                 * @return 最终合并的所有过滤条件
                 */
                getMergeQFilters():$.java.util.List;
                /**
                 * 通过插件设置获取列表的表单单据元数据number或者布局标识
                 *
                 * @param billFormId
                 */
                setBillFormId(billFormId:string):void;
                /**
                 * 设置过滤条件
                 *
                 * @param qfilters 过滤条件
                 */
                setQfilters(qfilters:$.java.util.List):void;
                /**
                 * 获取映射的实体字段名
                 *
                 * @return 映射的实体字段名
                 */
                getFieldName():string;
                /**
                 * 设置插件设置的过滤条件(多个)
                 *
                 * @param customQFilters 插件设置的过滤条件
                 */
                setCustomQFilters(customQFilters:$.java.util.List):void;
                /**
                 * 获取自定义参数
                 *
                 * @return 自定义参数
                 */
                getCustomParams():$.java.util.Map;
            }
            type BeforeFilterF7SelectEvent_T = BeforeFilterF7SelectEvent$;
            interface BeforeFilterF7SelectEvent extends BeforeFilterF7SelectEvent_T {
            }
            interface BeforeFilterF7SelectListener_S {
            }
            interface BeforeFilterF7SelectListener_C extends BeforeFilterF7SelectListener_S {
            }
            interface BeforeFilterF7SelectListener$ {
                /**
                 * 选择基础资料前（弹出过滤窗口前）事件
                 * @param evt 过滤容器F7弹出之前事件参数
                 */
                beforeF7Select(evt:BeforeFilterF7SelectEvent):void;
            }
            type BeforeFilterF7SelectListener_T = BeforeFilterF7SelectListener$;
            interface BeforeFilterF7SelectListener extends BeforeFilterF7SelectListener_T {
            }
            interface ListExpandListener_S {
            }
            interface ListExpandListener_C extends ListExpandListener_S {
            }
            interface ListExpandListener$ {
                /**
                 * 监听折叠按钮点击事件
                 * @param evt 列表折叠表单事件参数
                 */
                expandClick(evt:ListExpandEvent):void;
            }
            type ListExpandListener_T = ListExpandListener$;
            interface ListExpandListener extends ListExpandListener_T {
            }
            interface BeforeChangeMainOrgEventArgs_S {
            }
            interface BeforeChangeMainOrgEventArgs_C extends BeforeChangeMainOrgEventArgs_S {
                new():BeforeChangeMainOrgEventArgs;
            }
            interface BeforeChangeMainOrgEventArgs$ {
                /**
                 * 设置取消主组织切换时的提示内容
                 *
                 * @param message 取消主组织切换时的提示内容
                 */
                setMessage(message:string):void;
                /**
                 * 是否取消主组织切换
                 * @return 是否取消
                 */
                isCancel():boolean;
                /**
                 * 设置取消主组织切换
                 * @param cancel 是否取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取取消主组织切换时的提示内容
                 * @return 取消主组织切换时的提示内容
                 */
                getMessage():string;
            }
            type BeforeChangeMainOrgEventArgs_T = BeforeChangeMainOrgEventArgs$;
            interface BeforeChangeMainOrgEventArgs extends BeforeChangeMainOrgEventArgs_T {
            }
            interface AfterChangeMainOrgEventArgs_S {
            }
            interface AfterChangeMainOrgEventArgs_C extends AfterChangeMainOrgEventArgs_S {
                new():AfterChangeMainOrgEventArgs;
            }
            interface AfterChangeMainOrgEventArgs$ {
            }
            type AfterChangeMainOrgEventArgs_T = AfterChangeMainOrgEventArgs$;
            interface AfterChangeMainOrgEventArgs extends AfterChangeMainOrgEventArgs_T {
            }
            interface BeforeF7SelectListener_S {
            }
            interface BeforeF7SelectListener_C extends BeforeF7SelectListener_S {
            }
            interface BeforeF7SelectListener$ {
                /**
                 * 选择基础资料前（弹出过滤窗口前）事件
                 * @param evt 选择基础资料前（弹出过滤窗口前）事件参数
                 */
                beforeF7Select(evt:BeforeF7SelectEvent):void;
                /**
                 * 选择基础资料前（弹出过滤窗口前）事件
                 *
                 * @param evt 设置基础资料字段关联的组织，用于后续验权
                 */
                beforeF7PrepareUserOrgs?(evt:BeforeF7PrepareUserOrgsEvent):void;
            }
            type BeforeF7SelectListener_T = BeforeF7SelectListener$;
            interface BeforeF7SelectListener extends BeforeF7SelectListener_T {
            }
            interface CellTipsClickEvent_S {
            }
            type CellTipsClickEvent_ST = $.java.util.EventObject & CellTipsClickEvent_S;
            interface CellTipsClickEvent_C extends CellTipsClickEvent_ST {
                /**
                 * 构造方法：初始化点击Tips按钮事件参数
                 * @param edit 事件源
                 * @param rowIndex 行号
                 * @param tipsId
                 */
                new(edit:kd.bos.form.control.Control,rowIndex:number,tipsId:string):CellTipsClickEvent;
            }
            interface CellTipsClickEvent$ {
                /**
                 * 设置tipsId
                 * @param tipsId
                 */
                setTipsId(tipsId:string):void;
                /**
                 * 获取行号
                 * @return 行号
                 */
                getRowIndex():number;
                /**
                 * 获取tipsId
                 * @return tipsId
                 */
                getTipsId():string;
                /**
                 * 设置行号
                 * @param rowIndex 行号
                 */
                setRowIndex(rowIndex:number):void;
            }
            type CellTipsClickEvent_T = $.java.util.EventObject & CellTipsClickEvent$;
            interface CellTipsClickEvent extends CellTipsClickEvent_T {
            }
            class BasedataControllerSourceEnum {
                static readonly SCHEME:kd.bos.form.field.events.BasedataControllerSourceEnum;
                static readonly F7:kd.bos.form.field.events.BasedataControllerSourceEnum;
                static readonly FUZZY:kd.bos.form.field.events.BasedataControllerSourceEnum;
                static readonly LIST:kd.bos.form.field.events.BasedataControllerSourceEnum;
                static readonly TREE:kd.bos.form.field.events.BasedataControllerSourceEnum;
                static readonly COMMON:kd.bos.form.field.events.BasedataControllerSourceEnum;
                static valueOf(arg0:string):kd.bos.form.field.events.BasedataControllerSourceEnum;
                static values():kd.bos.form.field.events.BasedataControllerSourceEnum[];
            }
            interface BasedataFuzzySearchListener_S {
            }
            interface BasedataFuzzySearchListener_C extends BasedataFuzzySearchListener_S {
            }
            interface BasedataFuzzySearchListener$ {
                /**
                 * 处理模糊查询的结果
                 * @param evt 模糊查询事件参数
                 */
                handleData(evt:BasedataFuzzySearchEvent):void;
            }
            type BasedataFuzzySearchListener_T = BasedataFuzzySearchListener$;
            interface BasedataFuzzySearchListener extends BasedataFuzzySearchListener_T {
            }
            interface BeforeF7SelectEvent_S {
            }
            type BeforeF7SelectEvent_ST = $.java.util.EventObject & BeforeF7SelectEvent_S;
            interface BeforeF7SelectEvent_C extends BeforeF7SelectEvent_ST {
                /**
                 * 构造方法：初始化选择基础资料前（弹出过滤窗口前）事件参数
                 * @param source 事件源
                 * @param row 行号
                 * @param originalValue 源值
                 */
                new(source:FieldEdit,row:number,originalValue:any):BeforeF7SelectEvent;
                /**
                 * 构造方法：初始化选择基础资料前（弹出过滤窗口前）事件参数
                 * @param source 事件源
                 * @param row 行号
                 * @param originalValue 源值
                 * @param sourceMethod 来源方法(click、setItemByNumber、getLookUpList、setItemByIdFromClient、f7combolist)
                 */
                new(source:FieldEdit,row:number,originalValue:any,sourceMethod:string):BeforeF7SelectEvent;
            }
            interface BeforeF7SelectEvent$ {
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取插件设置的过滤条件
                 *
                 * @return 插件设置的过滤条件
                 */
                getCustomQFilters():$.java.util.List;
                /**
                 * 获取来源方法(click、setItemByNumber、getLookUpList、setItemByIdFromClient、f7combolist)
                 * @return 来源方法
                 */
                getSourceMethod():string;
                /**
                 * 设置插件设置的过滤条件(多个)
                 *
                 * @param customQFilters 插件设置的过滤条件
                 */
                setCustomQFilters(customQFilters:$.java.util.List):void;
                /**
                 * 获取前端表单打开参数
                 * @return 前端表单打开参数
                 */
                getFormShowParameter():FormShowParameter;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                /**
                 * 获取源值
                 * @return 源值
                 */
                getOriginalValue():any;
                /**
                 * 获取字段属性对象
                 * @return 字段属性对象
                 */
                getProperty():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 添加插件设置的过滤条件
                 *
                 * @param customQFilter 插件设置的过滤条件
                 */
                addCustomQFilter(customQFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 获取行号
                 * @return 行号
                 */
                getRow():number;
                /**
                 * 设置前端表单打开参数
                 * @return 前端表单打开参数
                 */
                setFormShowParameter(param:FormShowParameter):void;
            }
            type BeforeF7SelectEvent_T = $.java.util.EventObject & BeforeF7SelectEvent$;
            interface BeforeF7SelectEvent extends BeforeF7SelectEvent_T {
            }
            interface AddFuzzySearchEvent_S {
            }
            type AddFuzzySearchEvent_ST = $.java.io.Serializable & AddFuzzySearchEvent_S;
            interface AddFuzzySearchEvent_C extends AddFuzzySearchEvent_ST {
                /**
                 * 构造函数
                 */
                new():AddFuzzySearchEvent;
            }
            interface AddFuzzySearchEvent$ {
                /**
                 * 获取模糊搜索字段
                 * @return
                 */
                getShowColumns():$.java.util.List;
                /**
                 * 添加模糊搜索字段
                 *
                 * @param key 字段标识
                 * @param caption 字段标题
                 * @param width 字段宽度
                 */
                addItem(key:string,caption:string,width:number):void;
            }
            type AddFuzzySearchEvent_T = $.java.io.Serializable & AddFuzzySearchEvent$;
            interface AddFuzzySearchEvent extends AddFuzzySearchEvent_T {
            }
            interface AfterBindingDataEvent_S {
            }
            type AfterBindingDataEvent_ST = $.java.util.EventObject & AfterBindingDataEvent_S;
            interface AfterBindingDataEvent_C extends AfterBindingDataEvent_ST {
                /**
                 * 构造方法：初始化绑定数据之后事件参数
                 * @param source 事件源
                 */
                new(source:any):AfterBindingDataEvent;
                /**
                 * 构造方法：初始化绑定数据之后事件参数
                 * @param source 事件源
                 * @param dataEntity 数据实体
                 */
                new(source:any,dataEntity:any):AfterBindingDataEvent;
            }
            interface AfterBindingDataEvent$ {
                /**
                 * 获取数据实体
                 * @return 数据实体
                 */
                getDataEntity():any;
                /**
                 * 获取显示属性
                 * @return 显示属性
                 */
                getDisplayProp():any;
                /**
                 * 设置显示属性
                 * @param displayProp 显示属性
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 设置编辑显示属性
                 * @param editSearchProp 编辑显示属性
                 */
                setEditSearchProp(editSearchProp:string):void;
                /**
                 * 获取编辑显示属性
                 * @return 编辑显示属性
                 */
                getEditSearchProp():string;
                /**
                 * 设置数据实体
                 * @param dataEntity 数据实体
                 */
                setDataEntity(dataEntity:any):void;
            }
            type AfterBindingDataEvent_T = $.java.util.EventObject & AfterBindingDataEvent$;
            interface AfterBindingDataEvent extends AfterBindingDataEvent_T {
            }
        }
        namespace kd.bos.form.field.format{
            interface FieldFormatContext_S {
            }
            interface FieldFormatContext_C extends FieldFormatContext_S {
                /**
                 * 构造函数
                 *
                 * @param entityType 实体类型
                 * @param cols       列表字段格式化
                 * @param pageData   数据
                 */
                new(entityType:$.kd.bos.entity.MainEntityType,cols:$.java.util.List,pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):FieldFormatContext;
            }
            interface FieldFormatContext$ {
                /**
                 * 设置页面数据
                 *
                 * @param pageData
                 */
                setPageData(pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                /**
                 * 设置 packageData 插件监听器
                 *
                 * @param packageDataListeners
                 */
                setPackageDataListeners(packageDataListeners:$.java.util.List):void;
                /**
                 * 获取实体 id
                 *
                 * @return
                 */
                getEntityId():string;
                /**
                 * 是否用于导出
                 *
                 * @return
                 */
                isForExport():boolean;
                /**
                 * 设置页面数据量
                 *
                 * @param perPageSize
                 */
                setPerPageSize(perPageSize:number):void;
                /**
                 * 是否用于轻分析
                 *
                 * @return
                 */
                isForQing():boolean;
                /**
                 * 获取格式化列
                 *
                 * @return
                 */
                getCols():$.java.util.List;
                /**
                 * 获取页面数据
                 *
                 * @return
                 */
                getPageData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取单据关键字段信息，组织字段，编码：如果是基础，是编码，如果是单据是单据编号
                 *
                 * @return
                 */
                getKeyFields():$.java.util.Map;
                /**
                 * 获取页面数据量
                 *
                 * @return
                 */
                getPerPageSize():number;
                /**
                 * 是否用于导出
                 *
                 * @param forExport
                 */
                setForExport(forExport:boolean):void;
                /**
                 * 是否用于轻分析
                 *
                 * @param forQing
                 */
                setForQing(forQing:boolean):void;
                /**
                 * 获取 packageData 插件监听器
                 *
                 * @return
                 */
                getPackageDataListeners():$.java.util.List;
            }
            type FieldFormatContext_T = FieldFormatContext$;
            interface FieldFormatContext extends FieldFormatContext_T {
            }
            interface FlexValueFormatter_S {
                /**
                 * 根据字段名获取弹性域数据
                 *
                 * @param v           数据包
                 * @param flexProp    弹性域属性
                 * @param basePropKey 字段名
                 * @return
                 */
                getFlexValueMap(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp,basePropKey:string):$.java.util.Map;
            }
            interface FlexValueFormatter_C extends FlexValueFormatter_S {
                /**
                 * 构造函数
                 */
                new():FlexValueFormatter;
                /**
                 * 构造函数
                 *
                 * @param formatContext 字段格式化上下文
                 * @param propKey       属性标识
                 */
                new(formatContext:FieldFormatContext,propKey:string):FlexValueFormatter;
            }
            interface FlexValueFormatter$ {
                /**
                 * 获取弹性域数据
                 * @param flexId  弹性域id
                 * @param flexField 弹性域字段（f0001）
                 * @param pkValue 弹性域维度 （f0001）对应基础资料id/组织id
                 * @param basedataEntityType 基础资料实体类型
                 * @return
                 */
                getFlexData(flexId:string,flexField:string,pkValue:any,basedataEntityType:$.kd.bos.entity.BasedataEntityType):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 弹性域在报表显示处理
                 * @param v
                 * @param flexProp
                 * @param basePropKey
                 * @return
                 */
                getDisplayValueForReport(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp,basePropKey:string):any;
                /**
                 * 报表用： 指定报表组织ID字段，如果设置该字段字段，则报表当前行获取组织Id
                 *
                 * @param reportOrgIdField
                 */
                setReportOrgIdField(reportOrgIdField:string):void;
                /**
                 * 报表用：指定报表当前组织Id ,用于整个报表统一字段
                 *
                 * @param reportCurrentOrgId
                 */
                setReportCurrentOrgId(reportCurrentOrgId:any):void;
                /**
                 * 分录弹性域数据预加载
                 * @param flexProps 弹性域字段
                 * @param dataEntities 单据体数据包
                 */
                preLoadFlexValueToCache(flexProps:$.java.util.List,dataEntities:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                /**
                 * 设置基础资料实体类型
                 *
                 * @param baseKeyMapFlexProperties
                 */
                setBaseKeyMapFlexProperties(baseKeyMapFlexProperties:$.java.util.Map):void;
                /**
                 * 根据字段名获取弹性域数据
                 *
                 * @param v           数据包
                 * @param flexProp    弹性域属性
                 * @param basePropKey 字段标识
                 * @return
                 */
                getListDisplayValue(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp,basePropKey:string):any;
                /**
                 * 报表用：指定报表当前组织Id ,用于整个报表统一字段
                 *
                 * @return
                 */
                getReportCurrentOrgId():any;
                /**
                 * 根据基础资料编码获取基础资料PK维度缓存
                 *
                 * @param baseKey 基础资料编码
                 * @return
                 */
                getBasePkFlexSplitCols(baseKey:string):$.java.util.Map;
                /**
                 * 报表用： 指定报表组织ID字段，如果设置该字段字段，则报表当前行获取组织Id
                 *
                 * @return
                 */
                getReportOrgIdField():string;
                /**
                 * 弹性域在报表显示处理
                 *
                 * @param values      数据集合（同一类型数据），批量数据尽量控制在1000条以内，避免oom
                 * @param flexProp    弹性域属性
                 * @param basePropKey 弹性域关联基础资料key
                 * @return 数据包主键关联的键值对
                 */
                getDisplayValueForReport(values:$.java.util.List,flexProp:$.kd.bos.entity.property.FlexProp,basePropKey:string):$.java.util.Map;
            }
            type FlexValueFormatter_T = FlexValueFormatter$;
            interface FlexValueFormatter extends FlexValueFormatter_T {
            }
        }
        namespace kd.bos.form.fieldtip{
            interface DeleteRule_S {
            }
            interface DeleteRule_C extends DeleteRule_S {
                new():DeleteRule;
            }
            interface DeleteRule$ {
                /**
                 * 获取规则的名称
                 * @return 规则名称
                 */
                getAction():string;
                /**
                 * 获取适用此规则的字段集合
                 *
                 * @return 字段集合
                 */
                getFields():$.java.util.List;
                /**
                 * 设置适用此规则的字段集合
                 *
                 * @param fields 字段集合
                 */
                setFields(fields:$.java.util.List):void;
                /**
                 *  设置规则的名称
                 *
                 *  系统预置了规则"isChange"，在字段值发生变化时自动隐藏提示
                 *  示例：
                 *  <pre>{@code
                 * FieldTip fieldTip = new FieldTip();
                 * fieldTip.setFieldKey(fieldKey);
                 * fieldTip.setLevel(FieldTip.FieldTipsLevel.Info);
                 * fieldTip.setSuccess(false);
                 * fieldTip.setTipsType(FieldTip.FieldTipsTypes.others);
                 * fieldTip.setTip("数据已存在");
                 *
                 * DeleteRule deleteRule = new DeleteRule();
                 * deleteRule.setAction("isChange");
                 * List<String> fields = new ArrayList<>(1);
                 * fields.add(fieldKey);
                 * deleteRule.setFields(fields);
                 *
                 * fieldTip.setDeleteRule(deleteRule);
                 * this.getView().showFieldTip(fieldTip);
                 *  }</pre>
                 *  @param action 规则名称，设置为"isChange"值改变时自动隐藏提示
                 */
                setAction(action:string):void;
            }
            type DeleteRule_T = DeleteRule$;
            interface DeleteRule extends DeleteRule_T {
            }
        }
        namespace kd.bos.form.flex{
            interface IFlexEdit_S {
            }
            interface IFlexEdit_C extends IFlexEdit_S {
            }
            interface IFlexEdit$ {
                getFlexControls():$.java.util.List;
                getFlexControl(key:string,row:number):kd.bos.form.control.Control;
                getFlexControl(key:string):kd.bos.form.control.Control;
                getFlexModel():$.kd.bos.entity.datamodel.IDataModel;
            }
            type IFlexEdit_T = IFlexEdit$;
            interface IFlexEdit extends IFlexEdit_T {
            }
            interface PartialFlexMeta_S {
            }
            interface PartialFlexMeta_C extends PartialFlexMeta_S {
                new():PartialFlexMeta;
            }
            interface PartialFlexMeta$ {
                getFlexMeta():$.java.util.Map;
            }
            type PartialFlexMeta_T = PartialFlexMeta$;
            interface PartialFlexMeta extends PartialFlexMeta_T {
            }
            interface AbstractFlexBasedataService_S {
            }
            type AbstractFlexBasedataService_ST = AbstractFlexBasedataService_S & IFlexBasedataService_S;
            interface AbstractFlexBasedataService_C extends AbstractFlexBasedataService_ST {
                new():AbstractFlexBasedataService;
            }
            interface AbstractFlexBasedataService$ {
            }
            type AbstractFlexBasedataService_T = AbstractFlexBasedataService$ & IFlexBasedataService;
            interface AbstractFlexBasedataService extends AbstractFlexBasedataService_T {
            }
            interface FlexValueFormatUtils_S {
                /**
                 * 根据字段名获取弹性域字段值
                 *
                 * @param v               数据包
                 * @param flexProp        弹性域属性
                 * @param basePropDataKey 字段标识
                 * @return
                 */
                getQingValue(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp,basePropDataKey:string):$.java.util.Map;
                /**
                 * 获取报表弹性域展示值
                 *
                 * @param v
                 * @param flexProp
                 * @return
                 */
                getReportDisplayValue(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp):string;
                /**
                 * 获取报表弹性域展示值
                 *
                 * @param v
                 * @param flexProp
                 * @param properties
                 * @param valueMap
                 * @return
                 */
                getReportDisplayValue(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp,properties:$.java.util.List,valueMap:$.java.util.Map):string;
                /**
                 * 根据字段名获取弹性域数据
                 *
                 * @param v               数据包
                 * @param flexProp        弹性域属性
                 * @param basePropDataKey 字段标识
                 * @return
                 */
                getListDisplayValue(v:$.kd.bos.dataentity.entity.DynamicObject,flexProp:$.kd.bos.entity.property.FlexProp,basePropDataKey:string):any;
            }
            interface FlexValueFormatUtils_C extends FlexValueFormatUtils_S {
                new():FlexValueFormatUtils;
            }
            interface FlexValueFormatUtils$ {
            }
            type FlexValueFormatUtils_T = FlexValueFormatUtils$;
            interface FlexValueFormatUtils extends FlexValueFormatUtils_T {
            }
            interface FlexFormMetaUtils_S {
            }
            interface FlexFormMetaUtils_C extends FlexFormMetaUtils_S {
                new():FlexFormMetaUtils;
            }
            interface FlexFormMetaUtils$ {
            }
            type FlexFormMetaUtils_T = FlexFormMetaUtils$;
            interface FlexFormMetaUtils extends FlexFormMetaUtils_T {
            }
            interface IFlexBasedataService_S {
            }
            interface IFlexBasedataService_C extends IFlexBasedataService_S {
            }
            interface IFlexBasedataService$ {
                /**
                 * 创建前端控件元数据插件。可自定义可见性和锁定性
                 * @param e
                 */
                createFlexControlMetas?(e:kd.bos.form.flex.event.FlexControlMetaEvent):void;
                beforeFlexItemF7(e:kd.bos.form.field.events.BeforeF7SelectEvent):void;
                /**
                 * 是否值组合控制（基础资料F8使用值组合）
                 * @param key  列的key
                 * @param baseDataObj	基础资料对象
                 * @param ctx
                 * @return
                 */
                isValComControl(baseDataObj:$.kd.bos.dataentity.entity.DynamicObject,key:string):boolean;
                /**
                 * 弹性域属性显示顺序
                 * @param baseDataObj
                 * @return
                 */
                flexItemDisplayOrder(baseDataObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * 获取参与锁定控制的维度字段
                 * @param baseDataObj
                 * @return
                 */
                getFlexEnableList(baseDataObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * 表格批量弹性域绑定数据后。可修改发送到前端的数据格式，比如分录弹性域数据增加必录控制
                 * @param e
                 */
                afterGridBindData?(e:kd.bos.form.flex.event.GridFlexBindDataEvent):void;
                /**
                 * 获取指定基础资料的弹性域默认值
                 * @param baseDataObj
                 * @param flexNumber
                 * @return
                 */
                getFlexItemDefValueInfo(baseDataObj:$.kd.bos.dataentity.entity.DynamicObject,flexNumber:string):$.kd.bos.dataentity.entity.DynamicObject;
            }
            type IFlexBasedataService_T = IFlexBasedataService$;
            interface IFlexBasedataService extends IFlexBasedataService_T {
            }
            interface IFieldFlexEdit_S {
            }
            interface IFieldFlexEdit_C extends IFieldFlexEdit_S {
            }
            interface IFieldFlexEdit$ {
                /**
                 * 拆分展示处理行号错误的场景
                 * @param handle 代理处理方法
                 * @return 是否交由代理处理
                 */
                splitDelegate?(view:IFormView,key:string,biConsumer2:(t:any,u:any)=>void):boolean;
                /**
                 * 直接调用弹性域的保存
                 */
                splitSaveDelegate?(view:IFormView,key:string):void;
            }
            type IFieldFlexEdit_T = IFieldFlexEdit$;
            interface IFieldFlexEdit extends IFieldFlexEdit_T {
            }
        }
        namespace kd.bos.form.flex.event{
            interface GridFlexBindDataEvent_S {
            }
            type GridFlexBindDataEvent_ST = $.java.util.EventObject & GridFlexBindDataEvent_S;
            interface GridFlexBindDataEvent_C extends GridFlexBindDataEvent_ST {
                new(source:any,flexFieldKey:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):GridFlexBindDataEvent;
            }
            interface GridFlexBindDataEvent$ {
                setClientData(clientData:kd.bos.form.control.EntryData):void;
                setFlexMustInput(value:boolean,propNames:$.java.util.List,row:number):void;
                getPartialFlex():PartialFlexMeta;
                setPartialFlex(partialFlex:PartialFlexMeta):void;
            }
            type GridFlexBindDataEvent_T = $.java.util.EventObject & GridFlexBindDataEvent$;
            interface GridFlexBindDataEvent extends GridFlexBindDataEvent_T {
            }
            interface FlexControlMetaEvent_S {
            }
            type FlexControlMetaEvent_ST = $.java.util.EventObject & FlexControlMetaEvent_S;
            interface FlexControlMetaEvent_C extends FlexControlMetaEvent_ST {
                new(source:any,formId:string,flexFieldKey:string,baseData:$.kd.bos.dataentity.entity.DynamicObject,flexPropertyIds:$.java.util.List):FlexControlMetaEvent;
            }
            interface FlexControlMetaEvent$ {
                /**
                 * 设置锁定性
                 * @param value
                 * @param ctlKeys 控件key："$$flexfield1__f0002"
                 */
                setEnable(value:boolean,ctlKeys:$.java.util.List):void;
                /**
                 * 设置必录
                 * @param value
                 * @param ctlKeys 控件key："$$flexfield1__f0002"
                 */
                setMustInput(value:boolean,ctlKeys:$.java.util.List):void;
                setItems(items:$.java.util.List):void;
                /**
                 * 设置可见性
                 * @param value
                 * @param ctlKeys 控件key："$$flexfield1__f0002"
                 */
                setVisable(value:boolean,ctlKeys:$.java.util.List):void;
            }
            type FlexControlMetaEvent_T = $.java.util.EventObject & FlexControlMetaEvent$;
            interface FlexControlMetaEvent extends FlexControlMetaEvent_T {
            }
            interface FlexControlMetaPreRenderEvent_S {
            }
            type FlexControlMetaPreRenderEvent_ST = $.java.util.EventObject & FlexControlMetaPreRenderEvent_S;
            interface FlexControlMetaPreRenderEvent_C extends FlexControlMetaPreRenderEvent_ST {
                new(source:any,formId:string,flexFieldKey:string,baseData:$.kd.bos.dataentity.entity.DynamicObject,flexPropertyIds:$.java.util.List):FlexControlMetaPreRenderEvent;
            }
            interface FlexControlMetaPreRenderEvent$ {
                setItems(items:$.java.util.List):void;
                getItems():$.java.util.List;
                /**
                 * 设置维度锁定性
                 * @param value
                 * @param ctlKeys 控件key："$$flexfield1__f0002"
                 */
                setEnable(value:boolean,ctlKeys:$.java.util.List):void;
                /**
                 * 设置维度必录
                 * @param value
                 * @param ctlKeys 控件key："$$flexfield1__f0002"
                 */
                setMustInput(value:boolean,ctlKeys:$.java.util.List):void;
                /**
                 * 设置维度可见性
                 * @param value
                 * @param ctlKeys 控件key："$$flexfield1__f0002"
                 */
                setVisable(value:boolean,ctlKeys:$.java.util.List):void;
            }
            type FlexControlMetaPreRenderEvent_T = $.java.util.EventObject & FlexControlMetaPreRenderEvent$;
            interface FlexControlMetaPreRenderEvent extends FlexControlMetaPreRenderEvent_T {
            }
        }
        namespace kd.bos.form.func{
            interface AbstractFuncParamPlugIn_S {
            }
            type AbstractFuncParamPlugIn_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractFuncParamPlugIn_S & kd.bos.form.func.IFuncParamEditor_S;
            interface AbstractFuncParamPlugIn_C extends AbstractFuncParamPlugIn_ST {
                new():AbstractFuncParamPlugIn;
            }
            interface AbstractFuncParamPlugIn$ {
            }
            type AbstractFuncParamPlugIn_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractFuncParamPlugIn$ & kd.bos.form.func.IFuncParamEditor;
            interface AbstractFuncParamPlugIn extends AbstractFuncParamPlugIn_T {
            }
            interface FuncSettingHelper_S {
                readonly CustParam_EntityItems:string;
                readonly CustParam_FunctionTypes:string;
                readonly CustParam_EntityNumber:string;
                readonly FormId_FuncParam:string;
                readonly CustParam_Vars:string;
                readonly CustParam_FuncId:string;
                readonly FormId_FuncSetting:string;
                /**
                 * 基于单据设计时，显示函数配置界面
                 *
                 * @param functionTypes 函数集FunctionTypes序列化为XML内容
                 * @param entityItems 单据设计时，元素集合
                 * @param fieldNodes 树节点TreeNode序列化为JSON内容
                 * @param view 父页面
                 * @param closeCallBack 回调：父页面接收函数配置返回
                 *
                 * @remark
                 * 典型场景：单据设计器，实体服务规则前置条件，调用函数配置界面
                 * 特点：单据设计还没有保存，传入设计时元素集合
                 */
                show(functionTypes:string,entityItems:$.java.util.List,fieldNodes:string,custParams:$.java.util.Map,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 构造显示参数
                 *
                 * @param functionTypes 自定义函数
                 * @param varNodes 参数的可选变量；传入根节点，变量放在根节点下
                 * @param closeCallBack 回调
                 * @return
                 */
                createShowParameter(functionTypes:$.kd.bos.entity.function_.FunctionTypes,varNodes:$.kd.bos.entity.tree.TreeNode,closeCallBack:$.kd.bos.form.CloseCallBack):$.kd.bos.form.FormShowParameter;
                /**
                 * 非单据环境，显示函数配置界面
                 *
                 * @param functionTypes 可选的自定义函数管理器
                 * @param varNodes 函数参数可选的变量；传入根节点，变量放在根节点下
                 * @param view 父页面
                 * @param closeCallBack 回调：父页面接收函数配置返回
                 *
                 * @remark
                 * 典型场景：工作流，配置连线跳转条件，调用函数配置界面
                 * 特点：函数配置与单据无关，由调用者自行传入函数集合、可选变量
                 */
                show(functionTypes:$.kd.bos.entity.function_.FunctionTypes,varNodes:$.kd.bos.entity.tree.TreeNode,custParams:$.java.util.Map,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 非单据环境，显示函数配置界面
                 *
                 * @param functionTypes 可选的自定义函数管理器
                 * @param varNodes 函数参数可选的变量；传入根节点，变量放在根节点下
                 * @param view 父页面
                 * @param closeCallBack 回调：父页面接收函数配置返回
                 *
                 * @remark
                 * 典型场景：工作流，配置连线跳转条件，调用函数配置界面
                 * 特点：函数配置与单据无关，由调用者自行传入函数集合、可选变量
                 */
                show(functionTypes:string,varNodes:string,custParams:$.java.util.Map,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 基于单据运行时，显示函数配置界面
                 *
                 * @param functionTypes 可选的自定义函数管理器，可以通过FunctionTypes.get()自动生成
                 * @param entityNumber 单据标识
                 * @param fieldNodes 函数参数可选的变量：单据上的字段集合；传入根节点，变量放在根节点下
                 * @param view 父页面
                 * @param closeCallBack 回调：父页面接收函数配置返回
                 *
                 * @remark
                 * 典型场景：设计单据转换业务规则，调用函数配置界面
                 * 特点：可以基于单据标识，自行读取完整的单据运行时元数据；
                 */
                show(functionTypes:$.kd.bos.entity.function_.FunctionTypes,entityNumber:string,fieldNodes:$.kd.bos.entity.tree.TreeNode,custParams:$.java.util.Map,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 构造显示参数
                 *
                 * @param functionTypes 函数集FunctionTypes，序列化为xml内容
                 * @param varNodes 变量树节点TreeNode序列化为Json内容
                 * @param closeCallBack 回调
                 * @return
                 */
                createShowParameter(functionTypes:string,varNodes:string,closeCallBack:$.kd.bos.form.CloseCallBack):$.kd.bos.form.FormShowParameter;
                /**
                 * 基于单据设计时，显示函数配置界面
                 *
                 * @param functionTypes 可选的自定义函数管理器，可以通过FunctionTypes.get()自动生成
                 * @param entityItems 单据设计时，元素集合
                 * @param fieldNodes 函数参数可选的变量：单据上的字段集合；传入根节点，变量放在根节点下
                 * @param view 父页面
                 * @param closeCallBack 回调：父页面接收函数配置返回
                 *
                 * @remark
                 * 典型场景：单据设计器，实体服务规则前置条件，调用函数配置界面
                 * 特点：单据设计还没有保存，传入设计时元素集合
                 */
                show(functionTypes:$.kd.bos.entity.function_.FunctionTypes,entityItems:$.java.util.List,fieldNodes:$.kd.bos.entity.tree.TreeNode,custParams:$.java.util.Map,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 基于单据运行时，显示函数配置界面
                 *
                 * @param functionTypes 可选的自定义函数管理器，可以通过FunctionTypes.get()自动生成
                 * @param entityNumber 单据标识
                 * @param fieldNodes 函数参数可选的变量：单据上的字段集合；传入根节点，变量放在根节点下
                 * @param view 父页面
                 * @param closeCallBack 回调：父页面接收函数配置返回
                 *
                 * @remark
                 * 典型场景：设计单据转换业务规则，调用函数配置界面
                 * 特点：可以基于单据标识，自行读取完整的单据运行时元数据；
                 */
                show(functionTypes:string,entityNumber:string,fieldNodes:string,custParams:$.java.util.Map,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
            }
            interface FuncSettingHelper_C extends FuncSettingHelper_S {
                new():FuncSettingHelper;
            }
            interface FuncSettingHelper$ {
            }
            type FuncSettingHelper_T = FuncSettingHelper$;
            interface FuncSettingHelper extends FuncSettingHelper_T {
            }
            interface IFuncParamEditor_S {
            }
            interface IFuncParamEditor_C extends IFuncParamEditor_S {
            }
            interface IFuncParamEditor$ {
                checkSetting(arg0:$.java.lang.StringBuilder):boolean;
                getSetting():string;
            }
            type IFuncParamEditor_T = IFuncParamEditor$;
            interface IFuncParamEditor extends IFuncParamEditor_T {
            }
        }
        namespace kd.bos.form.gpt{
            interface IGPTAction_S {
            }
            interface IGPTAction_C extends IGPTAction_S {
            }
            interface IGPTAction$ {
            }
            type IGPTAction_T = IGPTAction$;
            interface IGPTAction extends IGPTAction_T {
            }
            interface IGPTFormAction_S {
            }
            interface IGPTFormAction_C extends IGPTFormAction_S {
            }
            interface IGPTFormAction$ {
            }
            type IGPTFormAction_T = IGPTFormAction$;
            interface IGPTFormAction extends IGPTFormAction_T {
            }
        }
        namespace kd.bos.form.gridconfig{
            interface GridConfigRenderUtils_S {
            }
            interface GridConfigRenderUtils_C extends GridConfigRenderUtils_S {
                new():GridConfigRenderUtils;
            }
            interface GridConfigRenderUtils$ {
            }
            type GridConfigRenderUtils_T = GridConfigRenderUtils$;
            interface GridConfigRenderUtils extends GridConfigRenderUtils_T {
            }
        }
        namespace kd.bos.form.mcontrol.mobtable{
            interface IMobTableDataProvider_S {
            }
            interface IMobTableDataProvider_C extends IMobTableDataProvider_S {
            }
            interface IMobTableDataProvider$ {
                getData(args:kd.bos.form.mcontrol.mobtable.events.MobTableDataProviderArgs):$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            type IMobTableDataProvider_T = IMobTableDataProvider$;
            interface IMobTableDataProvider extends IMobTableDataProvider_T {
            }
            interface MobTableData_S {
            }
            interface MobTableData_C extends MobTableData_S {
                new():MobTableData;
            }
            interface MobTableData$ {
                /**
                 * 设置包含列定义、行数据等信息
                 * @param data
                 */
                setData(data:$.java.util.Map):void;
                /**
                 * 设置格式化信息
                 * @param fmtInfo
                 */
                setFmtInfo(fmtInfo:$.java.util.Map):void;
                /**
                 * 获取包含列定义、行数据等信息
                 * @return
                 */
                getData():$.java.util.Map;
                /**
                 * 获取格式化信息
                 * @return
                 */
                getFmtInfo():$.java.util.Map;
            }
            type MobTableData_T = MobTableData$;
            interface MobTableData extends MobTableData_T {
            }
            interface IMobTableModel_S {
            }
            interface IMobTableModel_C extends IMobTableModel_S {
            }
            interface IMobTableModel$ {
                /**
                 * 获取数据
                 * @return
                 */
                getData():MobTableData;
                /**
                 * 获取移动表格数据提供者
                 * @return
                 */
                getMobTableDataProvider():IMobTableDataProvider;
                /**
                 * 单据内码
                 * @return
                 */
                getPkId():any;
                /**
                 * 设置移动表格数据提供者
                 * @param mobTableDataProvider
                 */
                setMobTableDataProvider(mobTableDataProvider:IMobTableDataProvider):void;
                /**
                 * 数据包实体
                 * @param value
                 */
                setDataEntityType(value:$.kd.bos.entity.EntityType):void;
                /**
                 * 数据包实体
                 * @return
                 */
                getDataEntityType():$.kd.bos.entity.EntityType;
                /**
                 * 设置表格列
                 * @param mobTableColumns
                 */
                setMobTableColumns(mobTableColumns:$.java.util.List):void;
                /**
                 * 获取单据体标识
                 * @return
                 */
                getEntryKey():string;
                /**
                 * 获取表格列
                 * @return
                 */
                getMobTableColumns():$.java.util.List;
            }
            type IMobTableModel_T = IMobTableModel$;
            interface IMobTableModel extends IMobTableModel_T {
            }
            interface MobTablePackageDataHandler_S {
            }
            type MobTablePackageDataHandler_ST = IMobTablePackageDataHandler_S & MobTablePackageDataHandler_S;
            interface MobTablePackageDataHandler_C extends MobTablePackageDataHandler_ST {
                new():MobTablePackageDataHandler;
            }
            interface MobTablePackageDataHandler$ {
            }
            type MobTablePackageDataHandler_T = IMobTablePackageDataHandler & MobTablePackageDataHandler$;
            interface MobTablePackageDataHandler extends MobTablePackageDataHandler_T {
            }
            interface IMobTablePackageDataHandler_S {
            }
            interface IMobTablePackageDataHandler_C extends IMobTablePackageDataHandler_S {
            }
            interface IMobTablePackageDataHandler$ {
                /**
                 * 获取格式化信息
                 * @param args
                 * @return
                 */
                getFmtInfo(args:kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerArgs):$.java.util.Map;
                /**
                 * 处理合计
                 */
                handleSummary?(args:kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerArgs):void;
                /**
                 * 获取数据
                 * @param args
                 * @return
                 */
                getData?(args:kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerArgs):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 数据处理
                 * @param args
                 * @return
                 */
                handleData(args:kd.bos.form.mcontrol.mobtable.events.MobTablePackageDataHandlerArgs):kd.bos.form.mcontrol.mobtable.events.MobTableHandleResult;
            }
            type IMobTablePackageDataHandler_T = IMobTablePackageDataHandler$;
            interface IMobTablePackageDataHandler extends IMobTablePackageDataHandler_T {
            }
            interface MobTable_S {
            }
            type MobTable_ST = MobTable_S & kd.bos.form.container.Container_S;
            interface MobTable_C extends MobTable_ST {
                new():MobTable;
            }
            interface MobTable$ {
                /**
                 * 获取自定义参数
                 * @param name
                 * @return
                 */
                getCustomParam(name:string):any;
                /**
                 * 获取表格数据
                 * 取数步骤：
                 * 1.创建dataIndex数据索引，优先取设计器索引（插件干预创建列），有数据映射的字段索引；
                 * 2.创建rows数据行，默认null（插件重新取数）
                 * @return 表格数据
                 */
                getData():MobTableData;
                /**
                 * 添加数据处理类监听
                 * @param listener
                 */
                addMobTablePackageDataHandlerListener(listener:kd.bos.form.mcontrol.mobtable.events.IMobTablePackageDataHandlerListener):void;
                /**
                 * 获取自定义参数
                 * @return
                 */
                getCustomParams():$.java.util.Map;
                /**
                 * 设置冻结列
                 *
                 * @param freezeList
                 */
                setFreezeList(freezeList:$.java.util.List):void;
                /**
                 * 设置是否显示序号列
                 * @param showSeq 是否序号列 false:不显示序号列，true:显示序号列
                 */
                setShowSeq(showSeq:boolean):void;
                /**
                 * 获得单元格链接事件监听器列表
                 */
                getHyperLinkClickListeners():$.java.util.List;
                /**
                 * 获取移动表格类型 未使用、有表格类型可能没有映射实体和字段
                 * @return
                 */
                getMobTableType():string;
                /**
                 * 获取冻结列
                 *
                 * @return
                 */
                getFreezeList():$.java.util.List;
                /**
                 * 设置移动表格类型 未使用、有表格类型可能没有映射实体和字段
                 * @param mobTableType
                 */
                setMobTableType(mobTableType:string):void;
                /**
                 * 获取数据源
                 * @return
                 */
                getMobTableDataSource():$.java.util.Map;
                /**
                 * 单据体查询模型
                 *
                 * @return 查询model
                 */
                getMobTableModel():IMobTableModel;
                /**
                 * 表格分录附件行点击
                 * @param params
                 */
                attachmentClick(params:$.java.util.Map):void;
                /**
                 * 单元格链接事件方法
                 *
                 * @param fieldName 字段名
                 * @param rowIndex  行号
                 */
                hyperLinkClick(fieldName:string,rowIndex:number):void;
                /**
                 * 添加监听、用于在创建列之前插件干预
                 * @param listener
                 */
                addBeforeCreateMobTableColumnsListener(listener:kd.bos.form.mcontrol.mobtable.events.IBeforeCreateMobTableColumnsListener):void;
                /**
                 * 设置数据源
                 * @param mobTableDataSource
                 */
                setMobTableDataSource(mobTableDataSource:$.java.util.Map):void;
                /**
                 * 是否显示序号列
                 * @return 是否序号列 false:不显示序号列，true:显示序号列
                 */
                isShowSeq():boolean;
                /**
                 * 设置移动表格列
                 * @param mobTableColumns
                 */
                setMobTableColumns(mobTableColumns:$.java.util.List):void;
                /**
                 * 设置准备数据监听器
                 *
                 * @return
                 */
                getPrepareDataListener():$.java.util.List;
                /**
                 * 添加单元格链接事件
                 */
                addHyperClickListener(listener:kd.bos.form.mcontrol.mobtable.events.IMobTableHyperLinkClickListener):void;
                /**
                 * 设置自定义参数
                 * @param name
                 * @param value
                 */
                setCustomParam(name:string,value:any):void;
                /**
                 * 获取移动表格列
                 * @return
                 */
                getMobTableColumns():$.java.util.List;
            }
            type MobTable_T = MobTable$ & kd.bos.form.container.Container;
            interface MobTable extends MobTable_T {
            }
            interface MobTableRowBuilder_S {
                /**
                 * 构造行数据模板
                 * @param rowIndex
                 * @param mobTableColumns
                 * @return
                 */
                buildTemplateRowData(rowIndex:number,mobTableColumns:$.java.util.List):MobTableRowData;
            }
            interface MobTableRowBuilder_C extends MobTableRowBuilder_S {
                new():MobTableRowBuilder;
            }
            interface MobTableRowBuilder$ {
            }
            type MobTableRowBuilder_T = MobTableRowBuilder$;
            interface MobTableRowBuilder extends MobTableRowBuilder_T {
            }
            interface MobTableRowData_S {
            }
            interface MobTableRowData_C extends MobTableRowData_S {
                new():MobTableRowData;
            }
            interface MobTableRowData$ {
                /**
                 * 获取行索引
                 * @return
                 */
                getRowIndex():number;
                /**
                 * 设置值
                 * @param key
                 * @param value
                 */
                setValue(key:string,value:any):void;
                /**
                 * 设置cprop数据
                 * @param cpropMap
                 */
                setCpropMap(cpropMap:$.java.util.Map):void;
                /**
                 * 获取cprop数据
                 * @return
                 */
                getCpropMap():$.java.util.Map;
                /**
                 * 将原始占位符的rawRow转为表格真正需要的格式
                 * @return 表格真正需要的格式
                 */
                getRow():$.java.util.List;
                /**
                 * 设置行索引
                 * @param rowIndex
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 根据转化列表数据为map
                 */
                getRowDataMap(mobTableColKeys:$.java.util.Set):$.java.util.Map;
                /**
                 * 添加数据
                 * @param value
                 */
                add(value:any):void;
                /**
                 * 设置值
                 * @param index
                 * @param value
                 */
                setValue(index:number,value:any):void;
            }
            type MobTableRowData_T = MobTableRowData$;
            interface MobTableRowData extends MobTableRowData_T {
            }
        }
        namespace kd.bos.form.mcontrol.mobtable.events{
            interface MobTableDataProviderArgs_S {
            }
            interface MobTableDataProviderArgs_C extends MobTableDataProviderArgs_S {
                new():MobTableDataProviderArgs;
            }
            interface MobTableDataProviderArgs$ {
                /**
                 * @return 移动表格列
                 */
                getMobTableColumns():$.java.util.List;
                /**
                 * @param entryKey 单据体标识
                 */
                setEntryKey(entryKey:string):void;
                /**
                 * @param pkId 单据主键Id
                 */
                setPkId(pkId:any):void;
                setCustomParams(customParams:$.java.util.Map):void;
                /**
                 * @param mobTableColumns 移动表格列
                 */
                setMobTableColumns(mobTableColumns:$.java.util.List):void;
                setEntityTypeId(entityTypeId:string):void;
                getEntityTypeId():string;
                getCustomParam(name:string):any;
                /**
                 * @return 单据体标识
                 */
                getEntryKey():string;
                /**
                 * @return 单据主键Id
                 */
                getPkId():any;
            }
            type MobTableDataProviderArgs_T = MobTableDataProviderArgs$;
            interface MobTableDataProviderArgs extends MobTableDataProviderArgs_T {
            }
            interface BeforeCreateMobTableColumnsEvent_S {
            }
            type BeforeCreateMobTableColumnsEvent_ST = $.java.util.EventObject & BeforeCreateMobTableColumnsEvent_S;
            interface BeforeCreateMobTableColumnsEvent_C extends BeforeCreateMobTableColumnsEvent_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 * @param mobTableColumns 表格列
                 */
                new(source:any,mobTableColumns:$.java.util.List):BeforeCreateMobTableColumnsEvent;
            }
            interface BeforeCreateMobTableColumnsEvent$ {
                /**
                 * 获取表格列
                 * @return
                 */
                getMobTableColumns():$.java.util.List;
                /**
                 * 设置表格控件
                 * @param control
                 */
                setControl(control:MobTable):void;
                /**
                 * 设置自定义参数
                 * @param customParams
                 */
                setCustomParams(customParams:$.java.util.Map):void;
                /**
                 * 获取表格控件
                 * @return
                 */
                getControl():MobTable;
                /**
                 * 获取自定义参数
                 * @param name
                 * @return
                 */
                getCustomParam(name:string):any;
            }
            type BeforeCreateMobTableColumnsEvent_T = $.java.util.EventObject & BeforeCreateMobTableColumnsEvent$;
            interface BeforeCreateMobTableColumnsEvent extends BeforeCreateMobTableColumnsEvent_T {
            }
            interface IMobTablePackageDataHandlerListener_S {
            }
            interface IMobTablePackageDataHandlerListener_C extends IMobTablePackageDataHandlerListener_S {
            }
            interface IMobTablePackageDataHandlerListener$ {
                /**
                 * 移动表格数据打包处理类事件
                 * @param event
                 */
                createMobTablePackageDataHandler(event:MobTablePackageDataHandlerEvent):void;
            }
            type IMobTablePackageDataHandlerListener_T = IMobTablePackageDataHandlerListener$;
            interface IMobTablePackageDataHandlerListener extends IMobTablePackageDataHandlerListener_T {
            }
            interface IMobTableHyperLinkClickListener_S {
            }
            type IMobTableHyperLinkClickListener_ST = IMobTableHyperLinkClickListener_S & IMobTablePrepareDataListener_S;
            interface IMobTableHyperLinkClickListener_C extends IMobTableHyperLinkClickListener_ST {
            }
            interface IMobTableHyperLinkClickListener$ {
                /**
                 * 超链接点击事件
                 * @param evt 超链接点击事件参数
                 */
                hyperLinkClick?(evt:MobTableHyperLinkClickEvent):void;
            }
            type IMobTableHyperLinkClickListener_T = IMobTableHyperLinkClickListener$ & IMobTablePrepareDataListener;
            interface IMobTableHyperLinkClickListener extends IMobTableHyperLinkClickListener_T {
            }
            interface MobTableHandleResult_S {
            }
            interface MobTableHandleResult_C extends MobTableHandleResult_S {
                new():MobTableHandleResult;
            }
            interface MobTableHandleResult$ {
                /**
                 * 设置行数据集合
                 * @param mobTableRowDataList
                 */
                setMobTableRowDataList(mobTableRowDataList:$.java.util.List):void;
                /**
                 * 获取格式化信息
                 * @return
                 */
                getFmtInfo():$.java.util.Map;
                /**
                 * 设置行数据索引
                 * @param dataIndexMap
                 */
                setDataIndexMap(dataIndexMap:$.java.util.Map):void;
                /**
                 * 设置数据：表格真正需要的格式
                 * @param rows
                 */
                setRows(rows:$.java.util.List):void;
                /**
                 * 获取数据：表格真正需要的格式
                 * @return
                 */
                getRows():$.java.util.List;
                /**
                 * 设置总行数
                 * @param rowCount
                 */
                setRowCount(rowCount:number):void;
                /**
                 * 获取行数据索引
                 * @return
                 */
                getDataIndexMap():$.java.util.Map;
                /**
                 * 获取行数据集合
                 * @return
                 */
                getMobTableRowDataList():$.java.util.List;
                /**
                 * 设置格式化信息
                 * @param fmtInfo
                 */
                setFmtInfo(fmtInfo:$.java.util.Map):void;
                /**
                 * 获取总行数
                 * @return
                 */
                getRowCount():number;
            }
            type MobTableHandleResult_T = MobTableHandleResult$;
            interface MobTableHandleResult extends MobTableHandleResult_T {
            }
            interface IMobTableDataProviderListener_S {
            }
            interface IMobTableDataProviderListener_C extends IMobTableDataProviderListener_S {
            }
            interface IMobTableDataProviderListener$ {
                /**
                 * 创建移动表格数据访问类事件
                 * @param event 创建移动表格数据访问类事件参数
                 */
                createMobTableDataProvider(event:MobTableDataProviderEvent):void;
            }
            type IMobTableDataProviderListener_T = IMobTableDataProviderListener$;
            interface IMobTableDataProviderListener extends IMobTableDataProviderListener_T {
            }
            interface MobTableDataProviderEvent_S {
            }
            type MobTableDataProviderEvent_ST = $.java.util.EventObject & MobTableDataProviderEvent_S;
            interface MobTableDataProviderEvent_C extends MobTableDataProviderEvent_ST {
                new(source:any):MobTableDataProviderEvent;
            }
            interface MobTableDataProviderEvent$ {
                /**
                 * 获取取数接口类
                 * @return 取数接口类
                 */
                getMobTableDataProvider():IMobTableDataProvider;
                /**
                 * 设置取数接口类
                 * @param mobTableDataProvider 取数接口类
                 */
                setMobTableDataProvider(mobTableDataProvider:IMobTableDataProvider):void;
            }
            type MobTableDataProviderEvent_T = $.java.util.EventObject & MobTableDataProviderEvent$;
            interface MobTableDataProviderEvent extends MobTableDataProviderEvent_T {
            }
            interface MobTableHyperLinkClickEvent_S {
            }
            type MobTableHyperLinkClickEvent_ST = $.java.util.EventObject & MobTableHyperLinkClickEvent_S;
            interface MobTableHyperLinkClickEvent_C extends MobTableHyperLinkClickEvent_ST {
                /**
                 * 构造方法：初始化超链接点击事件参数
                 * @param source 事件源
                 * @param fieldName 字段名
                 * @param rowIndex 行索引
                 */
                new(source:any,fieldName:string,rowIndex:number):MobTableHyperLinkClickEvent;
            }
            interface MobTableHyperLinkClickEvent$ {
                /**
                 * 获取字段名
                 *
                 * @return 字段名
                 */
                getFieldName():string;
                /**
                 * 获取携带数据
                 */
                getRowDataMap():$.java.util.Map;
                /**
                 * 设置携带数据
                 */
                setRowDataMap(rowDataMap:$.java.util.Map):void;
                /**
                 * 获取行索引
                 *
                 * @return 行索引
                 */
                getRowIndex():number;
            }
            type MobTableHyperLinkClickEvent_T = $.java.util.EventObject & MobTableHyperLinkClickEvent$;
            interface MobTableHyperLinkClickEvent extends MobTableHyperLinkClickEvent_T {
            }
            interface IBeforeCreateMobTableColumnsListener_S {
            }
            interface IBeforeCreateMobTableColumnsListener_C extends IBeforeCreateMobTableColumnsListener_S {
            }
            interface IBeforeCreateMobTableColumnsListener$ {
                /**
                 * 创建移动表格列前事件
                 * @param event
                 */
                beforeCreateMobTableColumns?(event:BeforeCreateMobTableColumnsEvent):void;
            }
            type IBeforeCreateMobTableColumnsListener_T = IBeforeCreateMobTableColumnsListener$;
            interface IBeforeCreateMobTableColumnsListener extends IBeforeCreateMobTableColumnsListener_T {
            }
            interface IMobTablePrepareDataListener_S {
            }
            interface IMobTablePrepareDataListener_C extends IMobTablePrepareDataListener_S {
            }
            interface IMobTablePrepareDataListener$ {
                /**
                 * 插件在此方法放入需要回传的数据，不要放其它逻辑
                 */
                onPrepareData?(e:MobTablePrepareDataArgs):void;
            }
            type IMobTablePrepareDataListener_T = IMobTablePrepareDataListener$;
            interface IMobTablePrepareDataListener extends IMobTablePrepareDataListener_T {
            }
            interface MobTablePackageDataHandlerEvent_S {
            }
            type MobTablePackageDataHandlerEvent_ST = $.java.util.EventObject & MobTablePackageDataHandlerEvent_S;
            interface MobTablePackageDataHandlerEvent_C extends MobTablePackageDataHandlerEvent_ST {
                /**
                 * 构造函数
                 * @param source
                 */
                new(source:any):MobTablePackageDataHandlerEvent;
            }
            interface MobTablePackageDataHandlerEvent$ {
                /**
                 * 设置移动表格数据打包处理类
                 * @param mobTablePackageDataHandler
                 */
                setMobTablePackageDataHandler(mobTablePackageDataHandler:IMobTablePackageDataHandler):void;
                /**
                 * 获取移动表格数据打包处理类
                 * @return
                 */
                getMobTablePackageDataHandler():IMobTablePackageDataHandler;
            }
            type MobTablePackageDataHandlerEvent_T = $.java.util.EventObject & MobTablePackageDataHandlerEvent$;
            interface MobTablePackageDataHandlerEvent extends MobTablePackageDataHandlerEvent_T {
            }
            interface MobTablePackageDataHandlerArgs_S {
            }
            interface MobTablePackageDataHandlerArgs_C extends MobTablePackageDataHandlerArgs_S {
                new():MobTablePackageDataHandlerArgs;
            }
            interface MobTablePackageDataHandlerArgs$ {
                /**
                 * 设置单据主键Id
                 * @param pkId 单据主键Id
                 */
                setPkId(pkId:any):void;
                /**
                 * 设置单据体标识
                 * @param entryKey
                 */
                setEntryKey(entryKey:string):void;
                /**
                 * 获取单据主键Id
                 * @return 单据主键Id
                 */
                getPkId():any;
                /**
                 * 设置实体标识
                 * @param entityTypeId
                 */
                setEntityTypeId(entityTypeId:string):void;
                /**
                 * 设置移动表格列
                 * @param mobTableColumns
                 */
                setMobTableColumns(mobTableColumns:$.java.util.List):void;
                /**
                 * 获取页数据
                 * @return
                 */
                getPageData():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取实体id
                 * @return
                 */
                getEntityTypeId():string;
                /**
                 * 获取视图
                 * @return
                 */
                getView():IFormView;
                /**
                 * 获取移动表格控件
                 * @return
                 */
                getControl():MobTable;
                /**
                 * 获取实体标识
                 * @return
                 */
                getEntityId():string;
                /**
                 * 设置移动表格控件
                 * @param control
                 */
                setControl(control:MobTable):void;
                /**
                 * 获取自定义参数
                 * @param name
                 * @return
                 */
                getCustomParam(name:string):any;
                /**
                 * 设置页数据
                 * @param pageData
                 */
                setPageData(pageData:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                /**
                 * 设置实体标识
                 * @param entityId
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取单据体标识
                 * @return
                 */
                getEntryKey():string;
                /**
                 * 获取移动表格列
                 * @return
                 */
                getMobTableColumns():$.java.util.List;
            }
            type MobTablePackageDataHandlerArgs_T = MobTablePackageDataHandlerArgs$;
            interface MobTablePackageDataHandlerArgs extends MobTablePackageDataHandlerArgs_T {
            }
            interface MobTablePrepareDataArgs_S {
            }
            type MobTablePrepareDataArgs_ST = $.java.util.EventObject & MobTablePrepareDataArgs_S;
            interface MobTablePrepareDataArgs_C extends MobTablePrepareDataArgs_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any):MobTablePrepareDataArgs;
            }
            interface MobTablePrepareDataArgs$ {
                setMobTableColKeys(mobTableColKeys:$.java.util.List):void;
                getMobTableColKeys():$.java.util.List;
            }
            type MobTablePrepareDataArgs_T = $.java.util.EventObject & MobTablePrepareDataArgs$;
            interface MobTablePrepareDataArgs extends MobTablePrepareDataArgs_T {
            }
        }
        namespace kd.bos.form.mcontrol.mobtable.tablecolumn{
            interface PictureMobTableColumn_S {
            }
            type PictureMobTableColumn_ST = MobTableColumn_S & PictureMobTableColumn_S;
            interface PictureMobTableColumn_C extends PictureMobTableColumn_ST {
                new():PictureMobTableColumn;
            }
            interface PictureMobTableColumn$ {
                /**
                 * 设置显示方式
                 * @param displayMode
                 */
                setDisplayMode(displayMode:string):void;
                /**
                 * 获取显示方式
                 * @return
                 */
                getDisplayMode():string;
            }
            type PictureMobTableColumn_T = MobTableColumn & PictureMobTableColumn$;
            interface PictureMobTableColumn extends PictureMobTableColumn_T {
            }
            interface AmountMobTableColumn_S {
            }
            type AmountMobTableColumn_ST = AmountMobTableColumn_S & MobTableColumn_S;
            interface AmountMobTableColumn_C extends AmountMobTableColumn_ST {
                new():AmountMobTableColumn;
            }
            interface AmountMobTableColumn$ {
                /**
                 * 设置是否为零显示，为零不显示
                 * @param zeroShow 是否为零显示 false:显示，true:不显示
                 */
                setZeroShow(zeroShow:boolean):void;
                setSummary(summary:number):void;
                /**
                 * 是否不显示尾零
                 * @return 是否不显示尾零 false:显示尾零，true:不显示尾零
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 是否为零显示，为零不显示
                 * @return 是否为零显示 false:显示，true:不显示
                 */
                isZeroShow():boolean;
                /**
                 * 汇总类型: 0：无，1:合计 2：平均值  3:最大值,4:最小值,5：计数
                 */
                getSummary():number;
                /**
                 * 设置是否不显示尾零
                 * @param noDisplayScaleZero 是否不显示尾零 false:显示尾零，true:不显示尾零
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
            }
            type AmountMobTableColumn_T = AmountMobTableColumn$ & MobTableColumn;
            interface AmountMobTableColumn extends AmountMobTableColumn_T {
            }
            interface DateMobTableColumn_S {
            }
            type DateMobTableColumn_ST = DateMobTableColumn_S & MobTableColumn_S;
            interface DateMobTableColumn_C extends DateMobTableColumn_ST {
                new():DateMobTableColumn;
            }
            interface DateMobTableColumn$ {
                /**
                 * 获取日期格式
                 * @return
                 */
                getDateFormat():string;
                /**
                 * 设置日期格式
                 * @param dateFormat
                 */
                setDateFormat(dateFormat:string):void;
            }
            type DateMobTableColumn_T = DateMobTableColumn$ & MobTableColumn;
            interface DateMobTableColumn extends DateMobTableColumn_T {
            }
            interface IntegerMobTableColumn_S {
            }
            type IntegerMobTableColumn_ST = DecimalMobTableColumn_S & IntegerMobTableColumn_S;
            interface IntegerMobTableColumn_C extends IntegerMobTableColumn_ST {
                new():IntegerMobTableColumn;
            }
            interface IntegerMobTableColumn$ {
            }
            type IntegerMobTableColumn_T = DecimalMobTableColumn & IntegerMobTableColumn$;
            interface IntegerMobTableColumn extends IntegerMobTableColumn_T {
            }
            interface TimeMobTableColumn_S {
            }
            type TimeMobTableColumn_ST = MobTableColumn_S & TimeMobTableColumn_S;
            interface TimeMobTableColumn_C extends TimeMobTableColumn_ST {
                new():TimeMobTableColumn;
            }
            interface TimeMobTableColumn$ {
                /**
                 * 获取时间格式
                 * @return
                 */
                getTimeFormat():string;
                /**
                 * 设置时间格式
                 * @param timeFormat
                 */
                setTimeFormat(timeFormat:string):void;
            }
            type TimeMobTableColumn_T = MobTableColumn & TimeMobTableColumn$;
            interface TimeMobTableColumn extends TimeMobTableColumn_T {
            }
            interface DecimalMobTableColumn_S {
            }
            type DecimalMobTableColumn_ST = DecimalMobTableColumn_S & MobTableColumn_S;
            interface DecimalMobTableColumn_C extends DecimalMobTableColumn_ST {
                new():DecimalMobTableColumn;
            }
            interface DecimalMobTableColumn$ {
                /**
                 * 汇总类型: 0：无，1:合计 2：平均值  3:最大值,4:最小值,5：计数
                 */
                getSummary():number;
                /**
                 * 获取小数精度
                 * @return
                 */
                getScale():number;
                /**
                 * 设置是否为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 是否为零显示
                 * @return
                 */
                isZeroShow():boolean;
                setSummary(summary:number):void;
                /**
                 * 设置小数精度
                 * @param scale
                 */
                setScale(scale:number):void;
            }
            type DecimalMobTableColumn_T = DecimalMobTableColumn$ & MobTableColumn;
            interface DecimalMobTableColumn extends DecimalMobTableColumn_T {
            }
            interface MobTableColumn_S {
            }
            type MobTableColumn_ST = IMobTableColumn_S & MobTableColumn_S & kd.bos.form.control.Control_S;
            interface MobTableColumn_C extends MobTableColumn_ST {
                new():MobTableColumn;
            }
            interface MobTableColumn$ {
                /**
                 * 获取字体大小
                 * @return
                 */
                getFontSize():number;
                /**
                 * 设置文本对齐方式
                 * @param textAlign
                 */
                setTextAlign(textAlign:string):void;
                /**
                 * 设置映射字段
                 * @param mobTableField
                 */
                setMobTableField(mobTableField:string):void;
                /**
                 * 获取列元数据
                 * @return
                 */
                getColumnMeta():$.java.util.Map;
                /**
                 * 设置是否为超链接
                 *
                 * @param hyperlink 是否为超链接
                 */
                setHyperlink(hyperlink:boolean):void;
                /**
                 * 设置字体大小
                 * @param fontSize
                 */
                setFontSize(fontSize:number):void;
                /**
                 * 获取是否为超链接
                 *
                 * @return 是否为超链接
                 */
                isHyperlink():boolean;
                /**
                 * 设置前景色
                 * @param foreColor
                 */
                setForeColor(foreColor:string):void;
                /**
                 * 设置列元数据
                 * @param columnMeta
                 */
                setColumnMeta(columnMeta:$.java.util.Map):void;
                /**
                 * 获取前景色
                 * @return
                 */
                getForeColor():string;
                /**
                 * 获取文本对齐方式
                 * @return
                 */
                getTextAlign():string;
            }
            type MobTableColumn_T = IMobTableColumn & MobTableColumn$ & kd.bos.form.control.Control;
            interface MobTableColumn extends MobTableColumn_T {
            }
            interface IMobTableColumn_S {
            }
            interface IMobTableColumn_C extends IMobTableColumn_S {
            }
            interface IMobTableColumn$ {
                /**
                 * 创建列信息
                 * @return
                 */
                createColumn():$.java.util.Map;
                /**
                 * 设置自定义样式属性
                 * @param editor
                 */
                setCustomEditor(editor:$.java.util.Map):void;
                /**
                 * 获取自定义样式属性
                 * @return
                 */
                getCustomEditor():$.java.util.Map;
                /**
                 * 设置列宽度
                 * @param width
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置列标题
                 * @return
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取字段key
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 设置可见性
                 * @param visible
                 */
                setVisible(visible:string):void;
                /**
                 * 获取列标题
                 * @return
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置字段key
                 * @param fieldKey
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 获取可见性
                 * @return
                 */
                getVisible():string;
                /**
                 * 获取列宽度
                 * @return
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取映射字段
                 * @return
                 */
                getMobTableField():string;
                /**
                 * 获取可见性值
                 * @return
                 */
                getVisibleValue():number;
            }
            type IMobTableColumn_T = IMobTableColumn$;
            interface IMobTableColumn extends IMobTableColumn_T {
            }
            interface TextMobTableColumn_S {
            }
            type TextMobTableColumn_ST = MobTableColumn_S & TextMobTableColumn_S;
            interface TextMobTableColumn_C extends TextMobTableColumn_ST {
                new():TextMobTableColumn;
            }
            interface TextMobTableColumn$ {
            }
            type TextMobTableColumn_T = MobTableColumn & TextMobTableColumn$;
            interface TextMobTableColumn extends TextMobTableColumn_T {
            }
            interface AttachmentMobTableColumn_S {
            }
            type AttachmentMobTableColumn_ST = $.kd.bos.form.mcontrol.mobtable.tablecolumn.MobTableColumn & AttachmentMobTableColumn_S & kd.bos.mservice.svc.attach.IAttachmentMobTableColumn_S;
            interface AttachmentMobTableColumn_C extends AttachmentMobTableColumn_ST {
                new():AttachmentMobTableColumn;
            }
            interface AttachmentMobTableColumn$ {
            }
            type AttachmentMobTableColumn_T = $.kd.bos.form.mcontrol.mobtable.tablecolumn.MobTableColumn & AttachmentMobTableColumn$ & kd.bos.mservice.svc.attach.IAttachmentMobTableColumn;
            interface AttachmentMobTableColumn extends AttachmentMobTableColumn_T {
            }
        }
        namespace kd.bos.form.operate{
            interface AbstractOperate_S {
            }
            type AbstractOperate_ST = AbstractOperate_S & kd.bos.entity.operate.IOperate_S;
            interface AbstractOperate_C extends AbstractOperate_ST {
                new():AbstractOperate;
            }
            interface AbstractOperate$ {
                /**
                 * 设置页面ID
                 *
                 * @param pageId 页面ID
                 */
                setPageId(pageId:string):void;
                /**
                 * 设置参数
                 *
                 * @param parameter 参数字典Map
                 */
                setParameter(parameter:$.java.util.Map):void;
                /**
                 * 获取操作名称
                 *
                 * @return 操作名称
                 */
                getOperateName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置表单视图
                 *
                 * @param view 表单视图
                 */
                setView(view:IFormView):void;
                /**
                 * 设置操作类型
                 *
                 * @param type 操作类型
                 */
                setType(type_arg:string):void;
                /**
                 * 传入操作配置，初始化操作执行类
                 *
                 * @param opMeta 设计时配置的操作信息
                 * @remark 派生类可以重写此方法，提取操作配置信息，设置到本地变量中
                 */
                initialize(opMeta:$.java.util.Map):void;
                /**
                 * 设置操作代码
                 *
                 * @param key 操作代码key
                 */
                setOperateKey(key:string):void;
                /**
                 * 获取参数
                 *
                 * @return 参数字典Map
                 */
                getParameter():$.java.util.Map;
                /**
                 * 操作自定义参数
                 *
                 * @return 操作参数
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 获取实体对象ID
                 *
                 * @return 实体对象id
                 */
                getEntityId():string;
                /**
                 * 获取操作代码
                 *
                 * @return 操作代码key
                 */
                getOperateKey():string;
                /**
                 * 设置操作自定义参数
                 * @param option 操作自定义参数
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 设置实体类ID
                 *
                 * @param entityId 实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取操作类型（有哪一些类型？）
                 *
                 * @return 操作类型
                 */
                getType():string;
                /**
                 * 操作执行日志输出类
                 *
                 * @return 操作日志
                 */
                getOperateLog():$.kd.bos.entity.operate.OperateLog;
                /**
                 * 获取表单视图
                 *
                 * @return 表单视图
                 */
                getView():IFormView;
                /**
                 * 获取页面ID
                 *
                 * @return 页面ID
                 */
                getPageId():string;
            }
            type AbstractOperate_T = AbstractOperate$ & kd.bos.entity.operate.IOperate;
            interface AbstractOperate extends AbstractOperate_T {
            }
            interface MutexInfo_S {
            }
            interface MutexInfo_C extends MutexInfo_S {
                new():MutexInfo;
                new(dataObjId:string,groupId:string,entityNumber:string,operationKey:string):MutexInfo;
            }
            interface MutexInfo$ {
                setDataObjId(dataObjId:string):void;
                /**
                 * 获取互斥锁的组别信息
                 * @return
                 */
                getGroupId():string;
                setOperationKey(operationKey:string):void;
                /**
                 * 获取互斥锁的 数据id （单据内码）
                 * @return
                 */
                getDataObjId():string;
                setClient(client:string):void;
                getUserId():long;
                setEntityNumber(entityNumber:string):void;
                setSessionId(sessionId:string):void;
                /**
                 * 获取互斥锁操作编码
                 * @return
                 */
                getOperationKey():string;
                /**
                 * 获取客户端类型
                 * @return
                 */
                getClient():string;
                /**
                 * 获取会话id
                 * @return
                 */
                getSessionId():string;
                setUserId(userId:long):void;
                /**
                 * 获取互斥锁实体编码
                 * @return
                 */
                getEntityNumber():string;
                setGroupId(groupId:string):void;
            }
            type MutexInfo_T = MutexInfo$;
            interface MutexInfo extends MutexInfo_T {
            }
            interface IFormOperate_S {
            }
            interface IFormOperate_C extends IFormOperate_S {
            }
            interface IFormOperate$ {
                /**
                 * 打开查看单据的formid
                 */
                setViewBillFormId(viewBillFormId:string):void;
                /**
                 * 获取回掉参数
                 */
                getCloseCallBack():CloseCallBack;
                /**
                 * 获取单据的formid
                 */
                getViewBillFormId():string;
                /**
                 * 设置回掉参数
                 */
                setCloseCallBack(closeCallBack:CloseCallBack):void;
                /**
                 * 设置是否取消展示表单逻辑
                 */
                setCancelShowBill(isCancelShowBill:boolean):void;
                /**
                 * 增加单据展示前监听
                 */
                addBeforeShowBillListener(consumer:(t:any)=>void):void;
                /**
                 * 是否取消展示表单逻辑
                 */
                isCancelShowBill():boolean;
            }
            type IFormOperate_T = IFormOperate$;
            interface IFormOperate extends IFormOperate_T {
            }
            interface IntentMutexResult_S {
            }
            type IntentMutexResult_ST = IntentMutexResult_S & MutexResult_S;
            interface IntentMutexResult_C extends IntentMutexResult_ST {
                new():IntentMutexResult;
            }
            interface IntentMutexResult$ {
                setIntentKey(intentKey:string):void;
                /**
                 * 获取意向锁id
                 * @return
                 */
                getIntentKey():string;
            }
            type IntentMutexResult_T = IntentMutexResult$ & MutexResult;
            interface IntentMutexResult extends IntentMutexResult_T {
            }
            interface OpFieldValueReader_S {
                /**
                 * 根据页面视图读取相关字段值
                 * @param view 视图
                 */
                get(view:IFormView):OpFieldValueReader;
            }
            interface OpFieldValueReader_C extends OpFieldValueReader_S {
            }
            interface OpFieldValueReader$ {
                /**
                 * 动态表单，没有单据编号，直接返回null
                 */
                getBillNo(pkValue:any):string;
                /**
                 * 动态表单，没有主业务单元，直接返回0
                 */
                getMainOrg(pkValue:any):long;
                /**
                 * 输出关联的主实体编码；本方法会根据不同的界面类型，输出对应的主实体；调用者就可以不用关注这些差异
                 * @return
                 * @remark
                 */
                getEntityNumber():string;
            }
            type OpFieldValueReader_T = OpFieldValueReader$;
            interface OpFieldValueReader extends OpFieldValueReader_T {
            }
            interface CoreMutexHelper_S {
                readonly OBJ_PKID:string;
                readonly ENTITY_KEY:string;
                readonly HENTITY_ID:string;
                readonly INTENT_KEY:string;
                readonly HOBJ_PKID:string;
                readonly HYPERLINK:string;
                readonly MUTEX_CALL_SOURCE:string;
                readonly OPERATION_KEY:string;
                /**
                 * 获取系统参数是否配置开启意向锁
                 */
                isOpenIntentLocks():boolean;
                /**
                 * 申请意向锁
                 *
                 * @param view
                 * @param entityId
                 * @param pkId
                 * @param errMsg
                 * @return
                 */
                requireIntent(view:IFormView,entityId:string,pkId:any,errMsg:$.java.lang.StringBuilder):string;
            }
            interface CoreMutexHelper_C extends CoreMutexHelper_S {
                new():CoreMutexHelper;
            }
            interface CoreMutexHelper$ {
            }
            type CoreMutexHelper_T = CoreMutexHelper$;
            interface CoreMutexHelper extends CoreMutexHelper_T {
            }
            interface FormOperate_S {
            }
            type FormOperate_ST = AbstractOperate_S & FormOperate_S;
            interface FormOperate_C extends FormOperate_ST {
                new():FormOperate;
            }
            interface FormOperate$ {
                /**
                 * 确认提示消息内容
                 *
                 * @return
                 */
                getConfirmMessage():string;
                /**
                 * 设置列表焦点行，单行
                 */
                setListFocusRow(listFocusRow:$.kd.bos.entity.datamodel.ListSelectedRow):void;
                /**
                 * 操作绑定的权限项
                 *
                 * @return
                 */
                getPermissionItemId():string;
                /**
                 * 是否开启保存后提交
                 */
                isSaveAndSubmit():boolean;
                /**
                 * 操作是否写日志
                 *
                 * @return
                 */
                isLogEnable():boolean;
                /**
                 * 列表选择行，多行
                 *
                 * @return
                 */
                getListSelectedData():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 设置确认提示类型：保存、等待、删除等
                 * @param confirmTypes 确认提示类型：保存、等待、删除等
                 */
                setConfirmTypes(confirmTypes:ConfirmTypes):void;
                /**
                 * 确认提示类型：保存、等待、删除等
                 *
                 * @return
                 */
                getConfirmTypes():ConfirmTypes;
                /**
                 * 是否记录操作日志
                 *
                 * @return
                 */
                isOpMessageEnable():boolean;
                /**
                 * 列表焦点行，单行
                 *
                 * @return
                 */
                getListFocusRow():$.kd.bos.entity.datamodel.ListSelectedRow;
                /**
                 * 设置确认提示消息内容
                 */
                setConfirmMessage(confirmMessage:string):void;
                /**
                 * 是否需要列表选择数据
                 *
                 * @return true（需要）or false（不需要）
                 */
                needSelectData():boolean;
                /**
                 * 设置列表选择行，多行
                 */
                setListSelectedData(listSelectedData:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
            }
            type FormOperate_T = AbstractOperate & FormOperate$;
            interface FormOperate extends FormOperate_T {
            }
            interface IFormMutexService_S {
            }
            interface IFormMutexService_C extends IFormMutexService_S {
            }
            interface IFormMutexService$ {
                /**
                 * 给当前页面申请操作互斥锁
                 * @param entityNum 实体编码
                 * @param pkId 单据内码
                 * @param opKey 操作编码
                 * @param isStrict 严格互斥（禁止重入）
                 * @return 申请结果
                 */
                require(entityNum:string,pkId:any,opKey:string,isStrict:boolean):MutexResult;
                /**
                 * 销毁持有锁的页面
                 * （仅允许同用户，非当前会话且页面websocket失联状态下可清理。 从页面的角度释放锁，若锁非页面申请的则无法成功）
                 * @param entityNum 实体编码
                 * @param pkId 单据内码
                 * @param opKey 操作编码
                 * @param ignoreActiveState 忽略锁定页面存活状态（true:忽略页面活跃状态，直接销毁   false:页面活跃时，不销毁页面）
                 * @return
                 */
                destoryLockingPage(entityNum:string,pkId:any,opKey:string,ignoreActiveState:boolean):MutexResult;
                /**
                 * 释放指定的意向锁
                 * @param intentKey 意向锁id
                 * @return 意向锁结果
                 */
                releaseIntent(intentKey:string):IntentMutexResult;
                /**
                 * 销毁持有锁的页面
                 * （仅允许同用户，非当前会话且页面websocket失联状态下可清理。 从页面的角度释放锁，若锁非页面申请的则无法成功）
                 *
                 * @param entityNum         实体编码
                 * @param pkId              单据内码
                 * @param opKey             操作编码
                 * @param ignoreActiveState 忽略锁定页面存活状态（true:忽略页面活跃状态，直接销毁   false:页面活跃时，不销毁页面）
                 * @param ignorePageIds  不需要释放的pageid
                 * @return
                 */
                destoryLockingPage(entityNum:string,pkId:any,opKey:string,ignoreActiveState:boolean,ignorePageIds:$.java.util.List):MutexResult;
                /**
                 * 获取操作所属的互斥组别
                 * @param entityNum 实体编码
                 * @param opKey 操作编码
                 * @return 互斥组信息
                 */
                getMutexGroupId(entityNum:string,opKey:string):string;
                /**
                 * 给当前页面申请意向锁
                 * @param entityNum 实体编码
                 * @param pkId 数据id
                 * @return 意向锁结果
                 */
                requireIntent(entityNum:string,pkId:any):IntentMutexResult;
                /**
                 * 释放当前页面申请的所有互斥锁
                 * @return
                 */
                releaseMutex():MutexResult;
            }
            type IFormMutexService_T = IFormMutexService$;
            interface IFormMutexService extends IFormMutexService_T {
            }
            interface MutexResult_S {
            }
            interface MutexResult_C extends MutexResult_S {
                new():MutexResult;
            }
            interface MutexResult$ {
                setLockInfo(lockInfo:MutexInfo):void;
                /**
                 * 获取互斥锁信息
                 * @return
                 */
                getLockInfo():MutexInfo;
                getErrMsg():string;
                setSuccess(success:boolean):void;
                setErrMsg(errMsg:string):void;
                isSuccess():boolean;
            }
            type MutexResult_T = MutexResult$;
            interface MutexResult extends MutexResult_T {
            }
            interface MutexHelper_S {
                readonly HOBJ_PKID:string;
                readonly MUTEX_CALL_SOURCE:string;
                readonly OBJ_PKID:string;
                readonly OPERATION_KEY:string;
                readonly HENTITY_ID:string;
                readonly INTENT_KEY:string;
                readonly ENTITY_KEY:string;
                readonly HYPERLINK:string;
                /**
                 * 释放意向锁的缓存
                 *
                 * @param view 视图
                 */
                removeIntentCache(view:$.kd.bos.form.IFormView):void;
                /**
                 * 判断是否有字段去掉了提交锁定性或审核锁定性
                 *
                 * @param clientViewProxy 前端指令集合
                 * @param controls        控件集合
                 * @param lockType        需要判断的锁定性类型（提交锁定性或审核锁定性）
                 *                        {@link BillOperationStatus#SUBMIT}
                 *                        {@link BillOperationStatus#AUDIT}
                 * @param mainType 主实体
                 * @return true：无字段去掉锁定性  false：有字段去掉了锁定性
                 */
                allFieldWithRequiredLock(clientViewProxy:$.kd.bos.form.IClientViewProxy,controls:$.java.util.List,lockType:$.kd.bos.bill.BillOperationStatus,mainType:$.kd.bos.entity.MainEntityType):boolean;
                /**
                 * 申请网络互斥锁
                 *
                 * @param lockInfo 申请锁信息{@link MutexLockInfo}
                 * @param errMsg   错误信息
                 * @return
                 */
                require(lockInfo:$.kd.bos.mutex.impl.MutexLockInfo,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取当前申请锁的操作的互斥组，互斥锁仅在相同的互斥组下才能生效
                 *
                 * @param entityId 实体编码
                 * @param opKey    操作标识
                 * @return
                 */
                getMutexGroupId(entityId:string,opKey:string):string;
                /**
                 * 是否允许重入锁，满足以下所有条件，则允许重入：
                 * 1.持有锁的用户为当前用户；
                 * 2.持有锁的会话不是当前会话；
                 * 3.持有锁的客户端等于当前客户端；
                 * 4.持有锁的会话下不存在websocket
                 *
                 * @param entityId 实体编码
                 * @param pkId     数据ID
                 * @param opKey    操作编码
                 * @return
                 */
                enableReentrant(entityId:string,pkId:any,opKey:string):boolean;
                /**
                 * 释放页面占用的修改锁，能释放的前提是修改锁的信息记录到pagecache中
                 *
                 * @param view 具体页面
                 * @return
                 */
                release(view:$.kd.bos.form.IFormView):boolean;
                /**
                 * 清除对应的互斥锁，并释放占有锁的页面
                 *
                 * @param entityId 实体编码
                 * @param pkId     数据ID
                 * @param opKey    操作标识
                 */
                clearErrLockByWebSocket(entityId:string,pkId:any,opKey:string):void;
                /**
                 * 意向锁释放，列表操作没有申请意向锁但是也需要释放意向锁
                 * @param view 视图
                 * @param intentKey
                 * @param errMsg
                 * @return
                 */
                releaseIntent(view:$.kd.bos.form.IFormView,intentKey:string,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * 释放意向锁并重新申请一个新的意向锁，释放意向锁后，之前所有占用意向锁的界面保存数据会提示数据已被改动
                 *
                 * @param view   具体页面
                 * @param errMsg 错误信息
                 * @return
                 */
                releaseAndApplyIntent(view:$.kd.bos.form.IFormView,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取系统参数是否配置开启意向锁
                 */
                isOpenIntentLocks():boolean;
                /**
                 * 内部使用，记录最后一次成功申请锁的页面
                 * @param view 视图
                 * @param mutexObjId
                 * @param mutexEntityKey 实体
                 * @param mutexOperationKey 操作
                 */
                register(view:$.kd.bos.form.IFormView,mutexObjId:string,mutexEntityKey:string,mutexOperationKey:string):void;
                /**
                 * （平台内部使用）
                 * 该方法提供给billcontroller使用，与require的不同之处在于errMsg返回的提示语
                 *
                 * @param view     view
                 * @param lockInfo 互斥锁信息
                 * @param errMsg   失败信息
                 * @return
                 */
                requireMutex4BillController(view:$.kd.bos.form.IFormView,lockInfo:$.kd.bos.mutex.impl.MutexLockInfo,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取意向锁标识，用户申请意向锁
                 *
                 * @param entityKey 实体编码
                 * @param timestamp 时间戳
                 * @return
                 */
                getIntentKey(entityKey:string,timestamp:string):string;
                /**
                 * 列表操作是否可重入，满足以下所有条件，则允许重入：
                 * 1.当前存在锁
                 * 2.当前持有锁的会话和当前会话是同一个
                 *
                 * @param entityId 实体编码
                 * @param pkId     数据ID
                 * @param opKey    操作编码
                 * @param pageId   页面标识
                 * @return
                 */
                enableReentrant4ListViewOp(entityId:string,pkId:any,opKey:string,pageId:string):boolean;
                /**
                 * 申请意向锁
                 *
                 * @param view 视图
                 * @param entityId 实体
                 * @param pkId pk
                 * @param errMsg 错误信息
                 * @return
                 */
                requireIntent(view:$.kd.bos.form.IFormView,entityId:string,pkId:any,errMsg:$.java.lang.StringBuilder):string;
                /**
                 * 申请互斥锁，本接口会先释放页面中记录的修改锁，再重新申请一个锁
                 *
                 * @param view     具体页面
                 * @param lockInfo {@link MutexLockInfo} 申请锁信息
                 * @param errMsg   申请锁失败时的错误的信息
                 * @return
                 */
                require(view:$.kd.bos.form.IFormView,lockInfo:$.kd.bos.mutex.impl.MutexLockInfo,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * 检查是否界面存在意向锁，界面存在意向锁表示数据未被更新，可以继续操作
                 * @param view 具体页面
                 * @return
                 */
                checkIntent(view:$.kd.bos.form.IFormView):boolean;
                /**
                 * 释放互斥锁
                 *
                 * @param entityKey 实体编码
                 * @param operKey   操作标识
                 * @param objId     数据ID
                 * @return
                 */
                release(entityKey:string,operKey:string,objId:string):boolean;
            }
            interface MutexHelper_C extends MutexHelper_S {
                new():MutexHelper;
            }
            interface MutexHelper$ {
            }
            type MutexHelper_T = MutexHelper$;
            interface MutexHelper extends MutexHelper_T {
            }
            interface EntityOperate_S {
            }
            type EntityOperate_ST = $.kd.bos.entity.operate.IEntityOperate & $.kd.bos.form.operate.FormOperate & EntityOperate_S;
            interface EntityOperate_C extends EntityOperate_ST {
                new():EntityOperate;
            }
            interface EntityOperate$ {
                /**
                 * 操作功能： 1.操作校驗， 2.調用操作微服務執行操作； 3.操作後回調，處理操作結果；
                 */
                callEntityOperate():$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * (non-Javadoc)
                 * @see kd.bos.form.operate.FormOperate#invokeOperation()
                 */
                invokeOperation():$.kd.bos.entity.operate.result.OperationResult;
            }
            type EntityOperate_T = $.kd.bos.entity.operate.IEntityOperate & $.kd.bos.form.operate.FormOperate & EntityOperate$;
            interface EntityOperate extends EntityOperate_T {
            }
            interface ICombinOperate_S {
            }
            interface ICombinOperate_C extends ICombinOperate_S {
            }
            interface ICombinOperate$ {
                getOriOperateKey():string;
                getOriOperateType():string;
            }
            type ICombinOperate_T = ICombinOperate$;
            interface ICombinOperate extends ICombinOperate_T {
            }
            interface New_S {
            }
            type New_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.operate.IFormOperate & DefaultDynamicFormOperate_S & New_S;
            interface New_C extends New_ST {
                new():New;
            }
            interface New$ {
            }
            type New_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.operate.IFormOperate & DefaultDynamicFormOperate & New$;
            interface New extends New_T {
            }
            interface MoveEntryUp_S {
            }
            type MoveEntryUp_ST = EntryGridOperate_S & MoveEntryUp_S;
            interface MoveEntryUp_C extends MoveEntryUp_ST {
                new():MoveEntryUp;
            }
            interface MoveEntryUp$ {
            }
            type MoveEntryUp_T = EntryGridOperate & MoveEntryUp$;
            interface MoveEntryUp extends MoveEntryUp_T {
            }
            interface SetEntryBottom_S {
            }
            interface SetEntryBottom_C extends SetEntryBottom_S {
                new(entryKey:string,view:$.kd.bos.form.IFormView):SetEntryBottom;
            }
            interface SetEntryBottom$ {
            }
            type SetEntryBottom_T = SetEntryBottom$;
            interface SetEntryBottom extends SetEntryBottom_T {
            }
            interface SetEntryTop_S {
            }
            interface SetEntryTop_C extends SetEntryTop_S {
                new(entryKey:string,view:$.kd.bos.form.IFormView):SetEntryTop;
            }
            interface SetEntryTop$ {
            }
            type SetEntryTop_T = SetEntryTop$;
            interface SetEntryTop extends SetEntryTop_T {
            }
            interface Copy_S {
            }
            type Copy_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.operate.IFormOperate & Copy_S & DefaultDynamicFormOperate_S;
            interface Copy_C extends Copy_ST {
                new():Copy;
            }
            interface Copy$ {
            }
            type Copy_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.operate.IFormOperate & Copy$ & DefaultDynamicFormOperate;
            interface Copy extends Copy_T {
            }
            interface DefaultDynamicFormOperate_S {
            }
            type DefaultDynamicFormOperate_ST = $.kd.bos.form.operate.FormOperate & DefaultDynamicFormOperate_S;
            interface DefaultDynamicFormOperate_C extends DefaultDynamicFormOperate_ST {
                new():DefaultDynamicFormOperate;
            }
            interface DefaultDynamicFormOperate$ {
            }
            type DefaultDynamicFormOperate_T = $.kd.bos.form.operate.FormOperate & DefaultDynamicFormOperate$;
            interface DefaultDynamicFormOperate extends DefaultDynamicFormOperate_T {
            }
            interface MoveEntryDown_S {
            }
            type MoveEntryDown_ST = EntryGridOperate_S & MoveEntryDown_S;
            interface MoveEntryDown_C extends MoveEntryDown_ST {
                new():MoveEntryDown;
            }
            interface MoveEntryDown$ {
            }
            type MoveEntryDown_T = EntryGridOperate & MoveEntryDown$;
            interface MoveEntryDown extends MoveEntryDown_T {
            }
            interface Modify_S {
            }
            type Modify_ST = $.kd.bos.form.IConfirmCallBack & Modify_S & View_S;
            interface Modify_C extends Modify_ST {
                new():Modify;
            }
            interface Modify$ {
            }
            type Modify_T = $.kd.bos.form.IConfirmCallBack & Modify$ & View;
            interface Modify extends Modify_T {
            }
            interface DefaultBillFormOperate_S {
            }
            type DefaultBillFormOperate_ST = $.kd.bos.form.operate.IFormOperate & DefaultBillFormOperate_S & DefaultDynamicFormOperate_S;
            interface DefaultBillFormOperate_C extends DefaultBillFormOperate_ST {
                new():DefaultBillFormOperate;
            }
            interface DefaultBillFormOperate$ {
            }
            type DefaultBillFormOperate_T = $.kd.bos.form.operate.IFormOperate & DefaultBillFormOperate$ & DefaultDynamicFormOperate;
            interface DefaultBillFormOperate extends DefaultBillFormOperate_T {
            }
            interface EntryGridOperate_S {
            }
            type EntryGridOperate_ST = DefaultDynamicFormOperate_S & EntryGridOperate_S;
            interface EntryGridOperate_C extends EntryGridOperate_ST {
                new():EntryGridOperate;
            }
            interface EntryGridOperate$ {
            }
            type EntryGridOperate_T = DefaultDynamicFormOperate & EntryGridOperate$;
            interface EntryGridOperate extends EntryGridOperate_T {
            }
            interface View_S {
            }
            type View_ST = $.kd.bos.form.IConfirmCallBack & DefaultBillFormOperate_S & View_S;
            interface View_C extends View_ST {
                new():View;
            }
            interface View$ {
            }
            type View_T = $.kd.bos.form.IConfirmCallBack & DefaultBillFormOperate & View$;
            interface View extends View_T {
            }
            interface SignOperateCallback_S {
                readonly OPERATE_KEY:string;
                readonly FORM_ID:string;
                readonly SignCallbackPlugin:string;
                readonly SigncallbackId:string;
            }
            type SignOperateCallback_ST = SignOperateCallback_S & kd.bos.ca.ISignOperateCallback_S;
            interface SignOperateCallback_C extends SignOperateCallback_ST {
                /**
                 * 默认构造函数。
                 */
                new():SignOperateCallback;
                /**
                 * 构造函数。
                 * @param view 调用视图
                 * @param invoker 调用插件
                 * @param option 操作选项参数
                 * @param type 是否标准客户端签名
                 * @param callbackId 回调标识
                 */
                new(view:$.kd.bos.form.IFormView,invoker:$.kd.bos.form.SignCallbackLisenter,option:$.kd.bos.dataentity.OperateOption,type_arg:kd.bos.form.ClientCallback$SignClientType,callbackId:string):SignOperateCallback;
            }
            interface SignOperateCallback$ {
                /**
                 * 设置操作编码。
                 * @param key 操作编码
                 */
                setOperateKey(key:string):void;
                /**
                 * 获取回调标识。
                 * @return 回调标识
                 */
                getCallbackId():string;
                /**
                 * 设置调用视图。
                 * @param view 调用视图
                 */
                setView(view:$.kd.bos.form.IFormView):void;
                /**
                 * 获取操作编码
                 * @return 操作编码
                 */
                getOperateKey():string;
                /**
                 * 获取调用视图。
                 * @return 调用视图
                 */
                getView():$.kd.bos.form.IFormView;
                /**
                 * 获取回调插件。
                 * @return 回调插件
                 */
                getPlugins():string;
                /**
                 * 获取调用选项参数。
                 * @return 调用选项参数
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 设置客户端签名类型。
                 * <p>
                 *     通过二次开发类型进行签名时，请使用{@link kd.bos.form.ClientCallback.SignClientType#Secondry}。
                 * </p>
                 * @param type 客户端签名类型
                 */
                setType(type_arg:kd.bos.form.ClientCallback$SignClientType):void;
                /**
                 * 设置回调插件。
                 * @param plugins 回调插件
                 */
                setPlugins(plugins:string):void;
                /**
                 * 设置自定义参数。
                 * @param customParameter 自定义参数
                 */
                setCustomParameter(customParameter:$.java.util.Map):void;
                /**
                 * 获取自定义参数。
                 * @return 自定义参数
                 */
                getCustomParameter():$.java.util.Map;
                /**
                 * 是否是标准客户端签名。
                 * @return 是否是标准客户端签名
                 */
                getType():kd.bos.form.ClientCallback$SignClientType;
                /**
                 * 设置调用选项参数。
                 * @param option 调用选项参数
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 设置回调标识。
                 * @param callbackId 回调标识
                 */
                setCallbackId(callbackId:string):void;
                /**
                 * 设置调用插件。
                 * @param invoker 调用插件
                 */
                setInvoker(invoker:$.kd.bos.form.SignCallbackLisenter):void;
                /**
                 * 获取调用插件。
                 * @return 设置调用插件
                 */
                getInvoker():$.kd.bos.form.SignCallbackLisenter;
            }
            type SignOperateCallback_T = SignOperateCallback$ & kd.bos.ca.ISignOperateCallback;
            interface SignOperateCallback extends SignOperateCallback_T {
            }
        }
        namespace kd.bos.form.operate.botp{
            interface ThirdPushManage_S {
            }
            interface ThirdPushManage_C extends ThirdPushManage_S {
                new(push:Push):ThirdPushManage;
            }
            interface ThirdPushManage$ {
                /**
                 * @Description: 第三方下推设置参数
                 * @Param:
                 * @return:
                 * @Date: 2023/3/23
                 */
                addThirdConvertBills(bills:$.java.util.List):$.java.util.List;
                /**
                 * @Description: 第三方下推设置参数
                 * @Param:
                 * @return:
                 * @Date: 2023/3/23
                 */
                setThirdPushParams(showParameter:$.kd.bos.form.FormShowParameter):void;
                /**
                 * @Description: 设置第三方下推参数
                 * @Param:
                 * @return:
                 * @Date: 2023/3/23
                 */
                setThirdPushParams():void;
                /**
                 * 获取第三方下推源单单据类型ids
                 *
                 * @return
                 */
                getTirdSrcBillTypeIds(bill:$.kd.bos.entity.botp.ConvertBill):$.java.util.Set;
                getThirdConvertRuleKeyPair(convertBill:$.kd.bos.entity.botp.ConvertBill):kd.bos.entity.botp.ConvertRuleKeyPair;
            }
            type ThirdPushManage_T = ThirdPushManage$;
            interface ThirdPushManage extends ThirdPushManage_T {
            }
            interface Push_S {
                readonly AllRule:string;
                /**
                 * 读取列表选项，区分是否单头合并，据此设置整单下推选项值
                 *
                 * @param view
                 * @param args
                 */
                addPushByBillOption(view:$.kd.bos.form.IFormView,args:$.kd.bos.entity.botp.runtime.AbstractConvertServiceArgs):void;
                isMobileView(view:$.kd.bos.form.IFormView):boolean;
                /**
                 * 打开下游单据界面，显示下推生成的单据
                 *
                 * @param view          启动下推操作的界面视图
                 * @param pushArgs      下推参数
                 * @param convertResult 下推结果
                 * @param showReport    是否同时显示下推报告
                 */
                showTargetBill(view:$.kd.bos.form.IFormView,pushArgs:$.kd.bos.entity.botp.runtime.PushArgs,convertResult:$.kd.bos.entity.botp.runtime.ConvertOperationResult,showReport:boolean):void;
                /**
                 * 显示转换错误报告
                 *
                 * @param view          当前焦点表单视图
                 * @param convertArgs   转换参数
                 * @param convertResult 转换结果
                 */
                showReport(view:$.kd.bos.form.IFormView,convertArgs:$.kd.bos.entity.botp.runtime.AbstractConvertServiceArgs,convertResult:$.kd.bos.entity.botp.runtime.ConvertOperationResult):void;
                showMultiTargetBills(view:$.kd.bos.form.IFormView,pushArgs:$.kd.bos.entity.botp.runtime.PushArgs,convertResult:$.kd.bos.entity.botp.runtime.ConvertOperationResult,showReport:boolean,customParams:$.java.util.Map):void;
                /**
                 * 下推生成了多张单据，需要打开批量结果显示界面
                 *
                 * @param view          启动下推操作的界面视图
                 * @param pushArgs      下推参数
                 * @param convertResult 下推结果
                 * @param showReport    是否同时显示下推报告
                 */
                showMultiTargetBills(view:$.kd.bos.form.IFormView,pushArgs:$.kd.bos.entity.botp.runtime.PushArgs,convertResult:$.kd.bos.entity.botp.runtime.ConvertOperationResult,showReport:boolean):void;
            }
            type Push_ST = $.kd.bos.form.operate.DefaultDynamicFormOperate & Push_S;
            interface Push_C extends Push_ST {
                new():Push;
            }
            interface Push$ {
                getSrcMainType():$.kd.bos.entity.MainEntityType;
                /**
                 * 获取所选源单的主组织，如在列表上执行操作，所选单据可能会对应多个主组织
                 *
                 * @return
                 */
                getSrcOrgIds():$.java.util.Set;
            }
            type Push_T = $.kd.bos.form.operate.DefaultDynamicFormOperate & Push$;
            interface Push extends Push_T {
            }
        }
        namespace kd.bos.form.operate.formop{
            interface Refresh_S {
            }
            type Refresh_ST = DefaultDynamicFormOperate_S & Refresh_S;
            interface Refresh_C extends Refresh_ST {
                new():Refresh;
            }
            interface Refresh$ {
            }
            type Refresh_T = DefaultDynamicFormOperate & Refresh$;
            interface Refresh extends Refresh_T {
            }
            interface OpenForm_S {
            }
            type OpenForm_ST = DefaultDynamicFormOperate_S & OpenForm_S;
            interface OpenForm_C extends OpenForm_ST {
                new():OpenForm;
            }
            interface OpenForm$ {
            }
            type OpenForm_T = DefaultDynamicFormOperate & OpenForm$;
            interface OpenForm extends OpenForm_T {
            }
            interface NewEntry_S {
            }
            type NewEntry_ST = EntryGridOperate_S & NewEntry_S;
            interface NewEntry_C extends NewEntry_ST {
                new():NewEntry;
            }
            interface NewEntry$ {
            }
            type NewEntry_T = EntryGridOperate & NewEntry$;
            interface NewEntry extends NewEntry_T {
            }
            interface CopyEntryRow_S {
            }
            type CopyEntryRow_ST = CopyEntryRow_S & EntryGridOperate_S;
            interface CopyEntryRow_C extends CopyEntryRow_ST {
                new():CopyEntryRow;
            }
            interface CopyEntryRow$ {
            }
            type CopyEntryRow_T = CopyEntryRow$ & EntryGridOperate;
            interface CopyEntryRow extends CopyEntryRow_T {
            }
            interface DeleteEntry_S {
            }
            type DeleteEntry_ST = DeleteEntry_S & EntryGridOperate_S;
            interface DeleteEntry_C extends DeleteEntry_ST {
                new():DeleteEntry;
            }
            interface DeleteEntry$ {
            }
            type DeleteEntry_T = DeleteEntry$ & EntryGridOperate;
            interface DeleteEntry extends DeleteEntry_T {
            }
        }
        namespace kd.bos.form.operate.imptapi{
            interface RowMapper_S {
            }
            type RowMapper_ST = RowMapper_S & kd.bos.form.operate.webapi.RowMapper_S;
            interface RowMapper_C extends RowMapper_ST {
                /**
                 * 构造函数
                 * @param sourceObj 已解析的源数据
                 * @param targetObj 目标转换数据对象
                 * @param parent 父行数据
                 * @param rowIndex 行号
                 */
                new(sourceObj:$.java.util.Map,targetObj:$.kd.bos.dataentity.entity.DynamicObject,parent:RowMapper,rowIndex:number):RowMapper;
            }
            interface RowMapper$ {
            }
            type RowMapper_T = RowMapper$ & kd.bos.form.operate.webapi.RowMapper;
            interface RowMapper extends RowMapper_T {
            }
        }
        namespace kd.bos.form.operate.interaction{
            interface InteractionCallBackHandler_S {
                readonly actId_InteractionHandler:string;
                readonly CacheKey_InteractionSponore:string;
                readonly CacheKey_ConfirmCallBackListener:string;
            }
            type InteractionCallBackHandler_ST = ICloseCallBack_S & InteractionCallBackHandler_S;
            interface InteractionCallBackHandler_C extends InteractionCallBackHandler_ST {
                new():InteractionCallBackHandler;
            }
            interface InteractionCallBackHandler$ {
            }
            type InteractionCallBackHandler_T = ICloseCallBack & InteractionCallBackHandler$;
            interface InteractionCallBackHandler extends InteractionCallBackHandler_T {
            }
        }
        namespace kd.bos.form.operate.printop{
            interface PrintTemplateMatcher_S {
            }
            interface PrintTemplateMatcher_C extends PrintTemplateMatcher_S {
                new(printSetting:$.java.util.Map,billTypeObjCache:$.java.util.Map,billidToBillTypeId:$.java.util.Map,isContainBillType:boolean):PrintTemplateMatcher;
            }
            interface PrintTemplateMatcher$ {
                /**
                 * 从单据类型对象中，获取
                 *  @param currentPKid
                 *  @return
                 */
                getTemplateByDefault(currentPKid:any):string;
                /**
                 * 从打印设置-基本设置中，获取单据类型对应的模板
                 *  @param currentPKid
                 *  @return
                 */
                getTemplateBySetting(currentPKid:any):string;
                findMatchedPrintTemplate(pkid:any):string;
                getDefaultTemplateBySetting():string;
            }
            type PrintTemplateMatcher_T = PrintTemplateMatcher$;
            interface PrintTemplateMatcher extends PrintTemplateMatcher_T {
            }
        }
        namespace kd.bos.form.operate.webapi{
            interface AbstractOperateWebApi_S {
            }
            interface AbstractOperateWebApi_C extends AbstractOperateWebApi_S {
                new():AbstractOperateWebApi;
            }
            interface AbstractOperateWebApi$ {
                /**
                 * 设置操作编码
                 * @param operationNumber 操作编码
                 */
                setOperationNumber(operationNumber:string):void;
                /**
                 *  初始化
                 * @param formId  表单编码
                 * @param requestData 请求数据
                 */
                initialize(formId:string,requestData:$.java.util.Map):void;
                /**
                 * 获取操作编码
                 * @return
                 */
                getOperationNumber():string;
                /**
                 *  clear
                 */
                clear():void;
                /**
                 * 执行逻辑
                 * @return
                 */
                execute():$.kd.bos.entity.api.ApiResult;
            }
            type AbstractOperateWebApi_T = AbstractOperateWebApi$;
            interface AbstractOperateWebApi extends AbstractOperateWebApi_T {
            }
            interface RowMapper_S {
            }
            interface RowMapper_C extends RowMapper_S {
                new(arg0:$.java.util.Map,arg1:$.kd.bos.dataentity.entity.DynamicObject,arg2:RowMapper,arg3:number):RowMapper;
            }
            interface RowMapper$ {
                getParent():this;
                getExcelRowIndex():number;
                getValueFromSourceObj(arg0:string,arg1:boolean):any;
                getRowIndex():number;
                getSourceObj():$.java.util.Map;
                getTargetObj():$.kd.bos.dataentity.entity.DynamicObject;
            }
            type RowMapper_T = RowMapper$;
            interface RowMapper extends RowMapper_T {
            }
        }
        namespace kd.bos.form.operatecol{
            interface OperationColItem_S {
            }
            type OperationColItem_ST = $.java.io.Serializable & OperationColItem_S;
            interface OperationColItem_C extends OperationColItem_ST {
                /**
                 * 构造函数
                 */
                new():OperationColItem;
                /**
                 * 构造函数：复制传入的操作列
                 *
                 * @param operationColItem 源操作列，复制其属性
                 */
                new(operationColItem:OperationColItem):OperationColItem;
                /**
                 * 构造函数
                 *
                 * @param id 标识
                 * @param showStyle 显示方式：0-文字，1-图片
                 * @param operationName 操作名称（显示内容）
                 * @param operationKey 操作标识
                 * @param icon 显示图标
                 * @param visible 是否可见
                 * @param foreColor 前景色
                 * @param fontSize 字体
                 */
                new(id:string,showStyle:number,operationName:$.kd.bos.dataentity.entity.LocaleString,operationKey:string,icon:string,visible:boolean,foreColor:string,fontSize:string):OperationColItem;
                /**
                 * 构造函数
                 *
                 * @param id 标识
                 * @param showStyle 显示方式：0-文字，1-图片
                 * @param operationName 操作名称（显示内容）
                 * @param operationKey 操作标识
                 * @param icon 显示图标
                 * @param visible 是否可见
                 * @param foreColor 前景色
                 * @param fontSize 字体
                 */
                new(id:string,showStyle:number,operationName:string,operationKey:string,icon:string,visible:boolean,foreColor:string,fontSize:string):OperationColItem;
                /**
                 * 构造函数，增加权限id，原来的构造函数保留
                 * @param id 标识
                 * @param showStyle 显示方式：0-文字，1-图片
                 * @param operationName 操作名称（显示内容）
                 * @param operationKey 操作标识
                 * @param icon 显示图标
                 * @param visible 是否可见
                 * @param foreColor 前景色
                 * @param fontSize 字体
                 * @param permissionId 权限id
                 */
                new(id:string,showStyle:number,operationName:$.kd.bos.dataentity.entity.LocaleString,operationKey:string,icon:string,visible:boolean,foreColor:string,fontSize:string,permissionId:string):OperationColItem;
                /**
                 * 构造函数，增加权限id，原来的构造函数保留
                 * @param id 标识
                 * @param showStyle 显示方式：0-文字，1-图片
                 * @param operationName 操作名称（显示内容）
                 * @param operationKey 操作标识
                 * @param icon 显示图标
                 * @param visible 是否可见
                 * @param foreColor 前景色
                 * @param fontSize 字体
                 * @param permissionId 权限id
                 */
                new(id:string,showStyle:number,operationName:string,operationKey:string,icon:string,visible:boolean,foreColor:string,fontSize:string,permissionId:string):OperationColItem;
            }
            interface OperationColItem$ {
                /**
                 * 设置操作列绑定的操作标识
                 *
                 * @param operationKey 操作标识
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置字体
                 *
                 * @param fontSize 字体
                 */
                setFontSize(fontSize:string):void;
                /**
                 * 返回前景色
                 *
                 * @return 前景色
                 */
                getForeColor():string;
                /**
                 * 返回字体
                 *
                 * @return 字体
                 */
                getFontSize():string;
                /**
                 * 设置操作列标识
                 *
                 * @param id 标识
                 */
                setId(id:string):void;
                /**
                 * 返回操作列绑定的操作标识
                 *
                 * @return 操作标识
                 */
                getOperationKey():string;
                /**
                 * 设置显示图标
                 *
                 * @param icon 图标
                 */
                setIcon(icon:string):void;
                /**
                 * 设置操作列是否锁定
                 *
                 * @param locked 设置为true-锁定
                 */
                setLocked(locked:boolean):void;
                /**
                 * 返回操作的权限项id
                 * @return
                 */
                getPermissionId():string;
                /**
                 * 操作列是否锁定
                 *
                 * @return 默认返回false-未锁定
                 */
                isLocked():boolean;
                /**
                 * 设置操作名称（显示内容）
                 *
                 * @param operationName 操作名称
                 */
                setOperationName(operationName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 返回操作名称（显示内容）
                 *
                 * @return 操作名称
                 */
                getOperationName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置前景色
                 *
                 * @param foreColor 前景色
                 */
                setForeColor(foreColor:string):void;
                /**
                 * 操作列是否可见
                 *
                 * @return 默认返回true-可见
                 */
                isVisible():boolean;
                /**
                 * 设置操作列是否可见
                 *
                 * @param visible 设置为false-隐藏不可见
                 */
                setVisible(visible:boolean):void;
                /**
                 * 返回操作列显示风格："0"-文字，"1"=图标
                 *
                 * @return 默认返回"0"-文字
                 */
                getShowStyle():number;
                /**
                 * 设置操作的权限项id 权限项id
                 * @param permissionId
                 */
                setPermissionId(permissionId:string):void;
                /**
                 * 返回操作列标识
                 *
                 * @return 标识
                 */
                getId():string;
                /**
                 * 返回显示图标
                 *
                 * @return 图标
                 */
                getIcon():string;
                /**
                 * 设置操作列显示风格
                 *
                 * @param showStyle 显示风格："0"-文字，"1"=图标
                 */
                setShowStyle(showStyle:number):void;
            }
            type OperationColItem_T = $.java.io.Serializable & OperationColItem$;
            interface OperationColItem extends OperationColItem_T {
            }
        }
        namespace kd.bos.form.plugin{
            interface IFormPlugin_S {
            }
            type IFormPlugin_ST = $.kd.bos.entity.datamodel.events.IDataModelChangeListener & $.kd.bos.entity.datamodel.events.IDataModelListener & ICloseCallBack_S & IFormPlugin_S & kd.bos.form.control.events.ClickListener_S & kd.bos.form.control.events.ItemClickListener_S;
            interface IFormPlugin_C extends IFormPlugin_ST {
            }
            interface IFormPlugin$ {
                /**
                 * 数据权限验权前事件
                 *
                 * @param args 事件参数
                 */
                beforeCheckDataPermission(args:kd.bos.form.events.BeforeDoCheckDataPermissionArgs):void;
                /**
                 * 操作前事件
                 *
                 * @param e 事件参数
                 */
                beforeDoOperation(e:kd.bos.form.events.BeforeDoOperationEventArgs):void;
                /**
                 * 初始化操作选项
                 *
                 * @param e 事件参数
                 */
                initOperateOption(e:kd.bos.form.events.InitOperateOptionEventArgs):void;
                /**
                 * 操作后事件
                 *
                 * @param e 事件参数
                 */
                afterDoOperation(e:kd.bos.form.events.AfterDoOperationEventArgs):void;
                /**
                 * 设置不加载运行时模型监听的表单视图
                 *
                 * @param formView 表单视图
                 */
                setViewNoModelListener(formView:IFormView):void;
                /**
                 * 注册控件监听器事件
                 *
                 * @param e 事件参数
                 */
                registerListener(e:$.java.util.EventObject):void;
                /**
                 * 获取插件控件
                 *
                 * @param e 事件参数
                 */
                onGetControl(e:kd.bos.form.events.OnGetControlArgs):void;
                /**
                 * 菜单点击
                 *
                 * @param e 事件参数
                 */
                contextMenuClick(e:kd.bos.form.events.ContextMenuClickEvent):void;
                /**
                 * 获取插件名
                 *
                 * @return 插件名
                 */
                getPluginName():string;
                /**
                 * 处理带点击确认的提示框
                 *
                 * @param e 事件参数
                 */
                confirmCallBack(e:kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 弹性域界面关闭前事件
                 */
                flexBeforeClosed(e:kd.bos.form.events.FlexBeforeClosedEvent):void;
                /**
                 * 打开表单前修改水印内容
                 *
                 * @param e 事件参数
                 */
                setWaterMarkInfo(e:kd.bos.form.events.LoadWaterMarkInfoEventArgs):void;
                /**
                 * 关闭前操作
                 *
                 * @param e 事件参数
                 */
                beforeClosed(e:kd.bos.form.events.BeforeClosedEvent):void;
                /**
                 * 加载定制控件元数据
                 *
                 * @param e 事件参数
                 */
                loadCustomControlMetas(e:kd.bos.form.events.LoadCustomControlMetasArgs):void;
                /**
                 * 客户端回调事件
                 *
                 * @param e 事件参数
                 */
                clientCallBack(e:kd.bos.form.events.ClientCallBackEvent):void;
                /**
                 * 页面释放
                 */
                pageRelease(e:$.java.util.EventObject):void;
                /**
                 * 绑定数据前操作
                 *
                 * @param e 事件参数
                 */
                beforeBindData(e:$.java.util.EventObject):void;
                /**
                 * 客户端字段值改动回传事件
                 *
                 * @param e 事件参数
                 */
                beforeFieldPostBack(e:kd.bos.form.events.BeforeFieldPostBackEvent):void;
                /**
                 * 初始化事件
                 */
                initialize():void;
                /**
                 * 设置表单视图
                 *
                 * @param formView 表单视图
                 */
                setView(formView:IFormView):void;
                /**
                 * 设置插件的名称
                 *
                 * @param name 插件名称
                 */
                setPluginName(name:string):void;
                /**
                 * 关闭消息提示窗口
                 *
                 * @param e 事件参数
                 */
                messageBoxClosed(e:kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 打开表单前的处理
                 *
                 * @param e 事件参数
                 */
                preOpenForm(e:kd.bos.form.events.PreOpenFormEventArgs):void;
                /**
                 * 自定义事件
                 *
                 * @param e 事件参数
                 */
                customEvent(e:kd.bos.form.events.CustomEventArgs):void;
                /**
                 * 绑定数据后操作
                 *
                 * @param e 事件参数
                 */
                afterBindData(e:$.java.util.EventObject):void;
                /**
                 * 销毁插件
                 */
                destory():void;
                /**
                 * 定时器事件
                 *
                 * @param e 事件参数
                 */
                TimerElapsed(e:kd.bos.form.events.TimerElapsedArgs):void;
            }
            type IFormPlugin_T = $.kd.bos.entity.datamodel.events.IDataModelChangeListener & $.kd.bos.entity.datamodel.events.IDataModelListener & ICloseCallBack & IFormPlugin$ & kd.bos.form.control.events.ClickListener & kd.bos.form.control.events.ItemClickListener;
            interface IFormPlugin extends IFormPlugin_T {
            }
            interface AbstractFormPlugin_S {
            }
            type AbstractFormPlugin_ST = $.kd.bos.entity.plugin.AbstractDataModelPlugin & AbstractFormPlugin_S & IFormPlugin_S;
            interface AbstractFormPlugin_C extends AbstractFormPlugin_ST {
                new():AbstractFormPlugin;
            }
            interface AbstractFormPlugin$ {
                /**
                 * 获取表单视图控制接口
                 *
                 * @return 视图
                 */
                getView():IFormView;
                /**
                 * 获取表单上的控件
                 *
                 * @param key 控件标识
                 * @return 控件
                 */
                getControl(key:string):kd.bos.form.control.Control;
                /**
                 * 监听控件的点击事件（如按钮点击）
                 * <p>
                 * 此方法供插件调用，监听界面上控件的点击事件
                 *
                 * @param keys 控件标识
                 */
                addClickListeners(...keys:string[]):void;
                /**
                 * 获取页面缓存服务接口
                 *
                 * @return 页面缓存服务接口
                 */
                getPageCache():IPageCache;
                /**
                 * 控制前端折叠
                 *
                 * @param key            控件标识
                 * @param isCoollapsible 是否折叠
                 */
                setCollapsible(key:string,isCoollapsible:boolean):void;
                /**
                 * 监听控件的的子项点击事件（如工具栏）
                 *
                 * @param keys 控件标识，如工具栏标识
                 */
                addItemClickListeners(...keys:string[]):void;
                /**
                 * 获取表单模型控制接口
                 *
                 * @return 返回表单模型控制接口
                 */
                getModel():$.kd.bos.entity.datamodel.IDataModel;
            }
            type AbstractFormPlugin_T = $.kd.bos.entity.plugin.AbstractDataModelPlugin & AbstractFormPlugin$ & IFormPlugin;
            interface AbstractFormPlugin extends AbstractFormPlugin_T {
            }
            interface IMobFormPlugin_S {
            }
            interface IMobFormPlugin_C extends IMobFormPlugin_S {
            }
            interface IMobFormPlugin$ {
                /**
                 * 前端指令发送前事件
                 *
                 * @param map 前端指令参数
                 * @param operateKey 前端指令类型，包括："scanqrcode" - 扫描，"closewebview" - 关闭，"previewimage" - 预览图片， "callphone" - 电话等 ...
                 */
                beforeExecClientCmd(map:$.java.util.Map,operateKey:string):void;
                /**
                 * 移动端请求表单关闭后处理事件，专门给前端调用的
                 *
                 * @param e 事件参数
                 */
                afterMobilePageClose(e:$.java.util.EventObject):void;
                /**
                 * 移动端时区设置事件
                 *
                 * @param e 时区设置参数
                 */
                timeZoneLocate(e:kd.bos.form.events.TimeZoneLocationEvent):void;
                /**
                 * 上传文件（拍照上传、文件上传）成功事件
                 *
                 * @param e 文件上传参数 ，{@link kd.bos.form.control.events.UploadEvent} 类型实例
                 */
                uploadFile(e:$.java.util.EventObject):void;
                /**
                 * 移动端位置定位成功事件
                 *
                 * @param e 定位参数
                 */
                locate(e:kd.bos.bill.events.LocateEvent):void;
                /**
                 * 单据体卡片分录下拉监听事件
                 */
                refreshData():void;
            }
            type IMobFormPlugin_T = IMobFormPlugin$;
            interface IMobFormPlugin extends IMobFormPlugin_T {
            }
            interface FormViewPluginProxy_S {
            }
            interface FormViewPluginProxy_C extends FormViewPluginProxy_S {
                /**
                 * 构造函数
                 */
                new():FormViewPluginProxy;
            }
            interface FormViewPluginProxy$ {
                /**
                 * 触发closedCallBack事件
                 *
                 * @param closeCallBack 回调示例
                 * @param ret           回调方法返回值
                 */
                fireClosedCallBack(closeCallBack:CloseCallBack,ret:any):void;
                /**
                 * 触发initOperateOption事件
                 *
                 * @param args 事件参数
                 */
                fireInitOperateOption(args:kd.bos.form.events.InitOperateOptionEventArgs):void;
                /**
                 * 触发beforeClosed事件
                 *
                 * @param e 事件参数
                 */
                fireBeforeClosed(e:kd.bos.form.events.BeforeClosedEvent):void;
                /**
                 * 触发beforeCheckDataPermission事件
                 *
                 * @param args 事件参数
                 */
                fireBeforeCheckDataPermission(args:kd.bos.form.events.BeforeDoCheckDataPermissionArgs):void;
                /**
                 * 触发TimerElapsed事件
                 *
                 * @param e 事件参数
                 */
                fireTimerElapsed(e:kd.bos.form.events.TimerElapsedArgs):void;
                /**
                 * 根据类名触发confirmCallBack事件
                 *
                 * @param messageBoxClosedEvent 弹出确认事件参数
                 * @param className             类名
                 */
                fireConfirmedCallBack(messageBoxClosedEvent:kd.bos.form.events.MessageBoxClosedEvent,className:string):void;
                /**
                 * 移动端发送客户端指令之前
                 *
                 * @param args       指令
                 * @param operateKey 操作key
                 */
                fireBeforeExecClientCmd(args:$.java.util.Map,operateKey:string):void;
                /**
                 * 判断插件是不是没有被重写
                 *
                 * @param pluginClass    插件类名
                 * @param methodName     方法名
                 * @param conditionEvent 参数条件
                 * @param parameterTypes 参数
                 * @return
                 */
                isNotOverride(pluginClass:$.java.lang.Class,methodName:string,conditionEvent:$.kd.bos.entity.plugin.manager.IConditionEvent,...parameterTypes:$.java.lang.Class[]):boolean;
                /**
                 * 触发OnGetControl方法
                 *
                 * @param e
                 */
                fireOnGetControl(e:kd.bos.form.events.OnGetControlArgs):void;
                /**
                 * 触发afterBindData事件
                 *
                 * @param e 事件参数
                 */
                fireAfterBindData(e:$.java.util.EventObject):void;
                /**
                 * 注册插件实例
                 *
                 * @param list 插件集合
                 */
                registerPlugins(list:$.java.util.List):void;
                /**
                 * 设置表单视图
                 *
                 * @param formView 表单视图
                 */
                setView(formView:IFormView):void;
                /**
                 * 触发beforeFieldPostBack事件
                 *
                 * @param e 事件参数
                 */
                fireBeforeFieldPostBack(e:kd.bos.form.events.BeforeFieldPostBackEvent):void;
                /**
                 * 根据传入的类名获取插件实例
                 *
                 * @param className 类名
                 * @return
                 */
                getPlugin(className:string):IFormPlugin;
                /**
                 * 移除插件,业务注入插件自己创建，自己移除
                 *
                 * @param plugIn 插件
                 */
                removePlugIn(plugIn:IFormPlugin):void;
                /**
                 * 触发contextMenuClick事件
                 *
                 * @param source  事件来源
                 * @param itemKey 菜单项的标识
                 */
                fireContextMenuClick(source:string,itemKey:string):void;
                /**
                 * 触发afterDoOperation事件
                 *
                 * @param afterDoOperationEventArgs 事件参数
                 */
                fireAfterDoOperation(afterDoOperationEventArgs:kd.bos.form.events.AfterDoOperationEventArgs):void;
                /**
                 * 插件管理初始化，构造事件方法实例列表
                 * @param formView 视图
                 */
                initPluginManager(formView:IFormView):void;
                /**
                 * 触发messageBoxClosed事件
                 *
                 * @param e 事件参数
                 */
                fireMessageBoxClosed(e:kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 触发pageRelease事件
                 *
                 * @param e 事件参数
                 */
                firePageRelease(e:$.java.util.EventObject):void;
                /**
                 * 触发customPrintDataObject事件
                 *
                 * @param e 事件参数
                 */
                fireCustomPrintDataObject(e:kd.bos.form.events.CustomPrintDataObjectArgs):void;
                /**
                 * 触发clientCallBack事件
                 *
                 * @param e 事件参数
                 */
                fireClientCallBack(e:kd.bos.form.events.ClientCallBackEvent):void;
                /**
                 * 触发customEvent事件
                 *
                 * @param e 事件参数
                 */
                fireCustomEvent(e:kd.bos.form.events.CustomEventArgs):void;
                /**
                 * 触发registerListener事件
                 *
                 * @param e 事件参数
                 */
                fireRegisterListener(e:$.java.util.EventObject):void;
                /**
                 * 触发beforeBindData
                 *
                 * @param e 事件参数
                 */
                fireBeforeBindData(e:$.java.util.EventObject):void;
                /**
                 * 触发destory事件
                 */
                fireDestory():void;
                /**
                 * 插件实例集合
                 */
                getPlugIns():$.java.util.List;
                /**
                 * 触发beforeDoOperation事件
                 *
                 * @param args 事件参数
                 */
                fireBeforeDoOperation(args:kd.bos.form.events.BeforeDoOperationEventArgs):void;
                /**
                 * 实例化后操作
                 */
                fireInitialize():void;
                /**
                 * 开放给控件使用
                 */
                isNotOverride(pluginClass:$.java.lang.Class,methodName:string,...parameterTypes:$.java.lang.Class[]):boolean;
                /**
                 * 触发flexBeforeClosed事件
                 *
                 * @param e 事件参数
                 */
                fireFlexBeforeClosed(e:kd.bos.form.events.FlexBeforeClosedEvent):void;
                /**
                 * 注册插件实例
                 *
                 * @param plugin 插件
                 */
                registerPlugin(plugin:IFormPlugin):void;
            }
            type FormViewPluginProxy_T = FormViewPluginProxy$;
            interface FormViewPluginProxy extends FormViewPluginProxy_T {
            }
            interface AbstractMobFormPlugin_S {
            }
            type AbstractMobFormPlugin_ST = AbstractFormPlugin_S & AbstractMobFormPlugin_S & IMobFormPlugin_S;
            interface AbstractMobFormPlugin_C extends AbstractMobFormPlugin_ST {
                new():AbstractMobFormPlugin;
            }
            interface AbstractMobFormPlugin$ {
            }
            type AbstractMobFormPlugin_T = AbstractFormPlugin & AbstractMobFormPlugin$ & IMobFormPlugin;
            interface AbstractMobFormPlugin extends AbstractMobFormPlugin_T {
            }
            interface MobileTreeListPlugin_S {
            }
            type MobileTreeListPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & MobileTreeListPlugin_S & kd.bos.list.events.ListSelectedListener_S;
            interface MobileTreeListPlugin_C extends MobileTreeListPlugin_ST {
                new():MobileTreeListPlugin;
            }
            interface MobileTreeListPlugin$ {
            }
            type MobileTreeListPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & MobileTreeListPlugin$ & kd.bos.list.events.ListSelectedListener;
            interface MobileTreeListPlugin extends MobileTreeListPlugin_T {
            }
            interface YzjContextMenuClickPlugin_S {
            }
            type YzjContextMenuClickPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.plugin.IFormPlugin & YzjContextMenuClickPlugin_S;
            interface YzjContextMenuClickPlugin_C extends YzjContextMenuClickPlugin_ST {
                new():YzjContextMenuClickPlugin;
            }
            interface YzjContextMenuClickPlugin$ {
            }
            type YzjContextMenuClickPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & $.kd.bos.form.plugin.IFormPlugin & YzjContextMenuClickPlugin$;
            interface YzjContextMenuClickPlugin extends YzjContextMenuClickPlugin_T {
            }
            interface TemplateTreeBaseDataPlugin_S {
            }
            type TemplateTreeBaseDataPlugin_ST = $.kd.bos.base.AbstractBasePlugIn & $.kd.bos.entity.datamodel.events.IDataModelChangeListener & TemplateTreeBaseDataPlugin_S;
            interface TemplateTreeBaseDataPlugin_C extends TemplateTreeBaseDataPlugin_ST {
                new():TemplateTreeBaseDataPlugin;
            }
            interface TemplateTreeBaseDataPlugin$ {
            }
            type TemplateTreeBaseDataPlugin_T = $.kd.bos.base.AbstractBasePlugIn & $.kd.bos.entity.datamodel.events.IDataModelChangeListener & TemplateTreeBaseDataPlugin$;
            interface TemplateTreeBaseDataPlugin extends TemplateTreeBaseDataPlugin_T {
            }
            interface TreeListBizAppsPlugin_S {
            }
            type TreeListBizAppsPlugin_ST = $.kd.bos.form.control.events.ItemClickListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.list.plugin.StandardTreeListPlugin & TreeListBizAppsPlugin_S;
            interface TreeListBizAppsPlugin_C extends TreeListBizAppsPlugin_ST {
                new():TreeListBizAppsPlugin;
            }
            interface TreeListBizAppsPlugin$ {
            }
            type TreeListBizAppsPlugin_T = $.kd.bos.form.control.events.ItemClickListener & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.list.plugin.StandardTreeListPlugin & TreeListBizAppsPlugin$;
            interface TreeListBizAppsPlugin extends TreeListBizAppsPlugin_T {
            }
            interface OperationResultPlugin_S {
            }
            type OperationResultPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & OperationResultPlugin_S;
            interface OperationResultPlugin_C extends OperationResultPlugin_ST {
                new():OperationResultPlugin;
            }
            interface OperationResultPlugin$ {
            }
            type OperationResultPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & OperationResultPlugin$;
            interface OperationResultPlugin extends OperationResultPlugin_T {
            }
            interface TemplateTreePlugin_S {
            }
            type TemplateTreePlugin_ST = $.kd.bos.entity.datamodel.events.IDataModelChangeListener & $.kd.bos.list.plugin.StandardTreeListPlugin & TemplateTreePlugin_S;
            interface TemplateTreePlugin_C extends TemplateTreePlugin_ST {
                new():TemplateTreePlugin;
            }
            interface TemplateTreePlugin$ {
            }
            type TemplateTreePlugin_T = $.kd.bos.entity.datamodel.events.IDataModelChangeListener & $.kd.bos.list.plugin.StandardTreeListPlugin & TemplateTreePlugin$;
            interface TemplateTreePlugin extends TemplateTreePlugin_T {
            }
            interface TemplateGroupBaseDataPlugin_S {
            }
            type TemplateGroupBaseDataPlugin_ST = $.kd.bos.entity.datamodel.events.IDataModelChangeListener & TemplateGroupBaseDataPlugin_S & TemplateTreePlugin_S;
            interface TemplateGroupBaseDataPlugin_C extends TemplateGroupBaseDataPlugin_ST {
                new():TemplateGroupBaseDataPlugin;
            }
            interface TemplateGroupBaseDataPlugin$ {
            }
            type TemplateGroupBaseDataPlugin_T = $.kd.bos.entity.datamodel.events.IDataModelChangeListener & TemplateGroupBaseDataPlugin$ & TemplateTreePlugin;
            interface TemplateGroupBaseDataPlugin extends TemplateGroupBaseDataPlugin_T {
            }
            interface IWaterMarkPlugin_S {
            }
            interface IWaterMarkPlugin_C extends IWaterMarkPlugin_S {
            }
            interface IWaterMarkPlugin$ {
                /**
                 * 实现该接口的插件可绑定在水印配置中，从而实现自定义的水印效果
                 *
                 * 示例可参考社区文档：https://vip.kingdee.com/knowledge/specialDetail/294832938980257024?category=294833149400665344&id=289788705932651264&type=Knowledge&productLineId=29&lang=zh-CN
                 * @param e 水印信息事件。内部封装了具体的水印配置参数，参数由用户自定义设置。
                 */
                setWaterMarkInfo?(e:$.kd.bos.form.events.LoadWaterMarkInfoEventArgs):void;
            }
            type IWaterMarkPlugin_T = IWaterMarkPlugin$;
            interface IWaterMarkPlugin extends IWaterMarkPlugin_T {
            }
            interface AfterExportEntryEvent_S {
            }
            type AfterExportEntryEvent_ST = $.java.util.EventObject & AfterExportEntryEvent_S;
            interface AfterExportEntryEvent_C extends AfterExportEntryEvent_ST {
            }
            interface AfterExportEntryEvent$ {
                /**
                 * 获取即将上传至文件服务器的导出文件
                 * @return
                 */
                getFile():$.java.io.File;
                /**
                 * 获取文件名
                 * @return
                 */
                getFileName():string;
                /**
                 * 设置新的文件
                 * @param file
                 */
                setFile(file:$.java.io.File):void;
                /**
                 * 设置文件名
                 * @param fileName
                 */
                setFileName(fileName:string):void;
            }
            type AfterExportEntryEvent_T = $.java.util.EventObject & AfterExportEntryEvent$;
            interface AfterExportEntryEvent extends AfterExportEntryEvent_T {
            }
            interface BeforeExportEntryEvent_S {
            }
            type BeforeExportEntryEvent_ST = $.java.util.EventObject & BeforeExportEntryEvent_S;
            interface BeforeExportEntryEvent_C extends BeforeExportEntryEvent_ST {
            }
            interface BeforeExportEntryEvent$ {
                /**
                 * 获取每行的数据
                 * @return
                 */
                getRowData():$.java.util.List;
            }
            type BeforeExportEntryEvent_T = $.java.util.EventObject & BeforeExportEntryEvent$;
            interface BeforeExportEntryEvent extends BeforeExportEntryEvent_T {
            }
            interface IExportEntryPlugin_S {
            }
            interface IExportEntryPlugin_C extends IExportEntryPlugin_S {
            }
            interface IExportEntryPlugin$ {
                /**
                 * 引出前事件
                 * 写入Excel前，每行数据触发
                 * @param beforeExportEntryEvent
                 */
                beforeExportEntry?(beforeExportEntryEvent:BeforeExportEntryEvent):void;
                /**
                 * 引出后事件
                 * Excel写入完成，文件上传前触发
                 * @param afterExportEntryEvent
                 */
                afterExportEntry?(afterExportEntryEvent:AfterExportEntryEvent):void;
            }
            type IExportEntryPlugin_T = IExportEntryPlugin$;
            interface IExportEntryPlugin extends IExportEntryPlugin_T {
            }
            interface ImportTemplateListener_S {
            }
            interface ImportTemplateListener_C extends ImportTemplateListener_S {
            }
            interface ImportTemplateListener$ {
                beforeSetBaseData?(evt:BeforeDownloadImportTemplateEvent):void;
            }
            type ImportTemplateListener_T = ImportTemplateListener$;
            interface ImportTemplateListener extends ImportTemplateListener_T {
            }
            interface BeforeDownloadImportTemplateEvent_S {
            }
            type BeforeDownloadImportTemplateEvent_ST = $.java.util.EventObject & BeforeDownloadImportTemplateEvent_S;
            interface BeforeDownloadImportTemplateEvent_C extends BeforeDownloadImportTemplateEvent_ST {
            }
            interface BeforeDownloadImportTemplateEvent$ {
                /**
                 * 基础资料下拉值集合，通过设置此变量设置各基础资料的下拉值
                 * @return
                 */
                getBaseDataDropDownValues():$.java.util.Map;
                /**
                 * 获取基础资料的导入属性集合
                 * @return 基础资料导入属性集合
                 */
                getBaseDataImportType():$.java.util.Map;
            }
            type BeforeDownloadImportTemplateEvent_T = $.java.util.EventObject & BeforeDownloadImportTemplateEvent$;
            interface BeforeDownloadImportTemplateEvent extends BeforeDownloadImportTemplateEvent_T {
            }
        }
        namespace kd.bos.form.plugin.importentry.strategy{
            interface ImportEntryTemplateListener_S {
            }
            interface ImportEntryTemplateListener_C extends ImportEntryTemplateListener_S {
            }
            interface ImportEntryTemplateListener$ {
                beforeSetBaseData?(evt:BeforeDownloadImportEntryTemplateEvent):void;
            }
            type ImportEntryTemplateListener_T = ImportEntryTemplateListener$;
            interface ImportEntryTemplateListener extends ImportEntryTemplateListener_T {
            }
            interface BeforeDownloadImportEntryTemplateEvent_S {
            }
            type BeforeDownloadImportEntryTemplateEvent_ST = $.java.util.EventObject & BeforeDownloadImportEntryTemplateEvent_S;
            interface BeforeDownloadImportEntryTemplateEvent_C extends BeforeDownloadImportEntryTemplateEvent_ST {
            }
            interface BeforeDownloadImportEntryTemplateEvent$ {
                /**
                 * 基础资料下拉值集合，通过设置此变量设置各基础资料的下拉值
                 * @return 基础资料下拉值集合，key为基础资料标识，值为空集合，业务将具体下拉值设置即可
                 */
                getBaseDataDropDownValues():$.java.util.Map;
                /**
                 * 获取基础资料的导入属性集合
                 * @return 基础资料导入属性集合（编码或者名称或者ID）
                 */
                getBaseDataImportType():$.java.util.Map;
            }
            type BeforeDownloadImportEntryTemplateEvent_T = $.java.util.EventObject & BeforeDownloadImportEntryTemplateEvent$;
            interface BeforeDownloadImportEntryTemplateEvent extends BeforeDownloadImportEntryTemplateEvent_T {
            }
        }
        namespace kd.bos.form.plugin.impt{
            interface IImportDataPluginSupportKS_S {
            }
            interface IImportDataPluginSupportKS_C extends IImportDataPluginSupportKS_S {
            }
            interface IImportDataPluginSupportKS$ {
                getDefaultLockUIs():$.java.util.List;
                getOverrideFieldsConfig():$.java.util.List;
                getDefaultImportType():string;
                setContext(rc:$.kd.bos.context.RequestContext,ctx:ImportContext,startArgs:$.java.util.List):BatchImportPlugin;
                getDefaultKeyFields():string;
            }
            type IImportDataPluginSupportKS_T = IImportDataPluginSupportKS$;
            interface IImportDataPluginSupportKS extends IImportDataPluginSupportKS_T {
            }
            interface ImportContext_S {
            }
            interface ImportContext_C extends ImportContext_S {
            }
            interface ImportContext$ {
                /**
                 * 获取导入日志对象
                 * @param url 导入文件路径
                 * @return 日志对象<code>ImportLogger</code>
                 */
                getLogger(url:string):kd.bos.entity.plugin.ImportLogger;
                /**
                 * 导入过程中的特殊参数集合（如SetNull等A2单元格的参数）
                 * <b>注意：如需要传递自定义参数用于二开逻辑，请使用addOption</b>
                 * @return 参数对象的clone对象
                 */
                getOption():$.java.util.Map;
                /**
                 * 获取当前导入的业务对象标识
                 * @return 业务对象标识
                 */
                getBillFormId():string;
                /**
                 * 添加自定义参数
                 * @param key 参数key
                 * @param val 参数值
                 * @return 当前上下文对象
                 */
                addOption(key:string,val:any):this;
                /**
                 * 获取所有导入文件路径
                 * @return 导入文件路径 <b>注意：仅有一个元素</b>
                 */
                getAllUrls():$.java.util.Set;
            }
            type ImportContext_T = ImportContext$;
            interface ImportContext extends ImportContext_T {
            }
            interface BatchImportPlugin_S {
            }
            type BatchImportPlugin_ST = $.java.util.concurrent.Callable & $.kd.sdk.plugin.Plugin & BatchImportPlugin_S & IImportDataPluginSupportKS_S & kd.bos.entity.plugin.IImportDataPlugin_S;
            interface BatchImportPlugin_C extends BatchImportPlugin_ST {
                new():BatchImportPlugin;
            }
            interface BatchImportPlugin$ {
            }
            type BatchImportPlugin_T = $.java.util.concurrent.Callable & $.kd.sdk.plugin.Plugin & BatchImportPlugin$ & IImportDataPluginSupportKS & kd.bos.entity.plugin.IImportDataPlugin;
            interface BatchImportPlugin extends BatchImportPlugin_T {
            }
            interface ImportEntityMapping_S {
                create(entityType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,nameRow:$.java.util.Map,titleRow:$.java.util.Map):ImportEntityMapping;
                /**
                 * 构建实体字段的映射关系entityMapping
                 * @param entityType
                 * @param nameRow
                 * @param titleRow
                 * @param option
                 * @return
                 */
                create(entityType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,nameRow:$.java.util.Map,titleRow:$.java.util.Map,option:$.java.util.Map):ImportEntityMapping;
            }
            interface ImportEntityMapping_C extends ImportEntityMapping_S {
                new():ImportEntityMapping;
            }
            interface ImportEntityMapping$ {
                isAttachmentPanel():boolean;
                getEntityType():$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                getCols():$.java.util.Map;
                setAttachmentPanel(attachmentPanel:boolean):void;
                /**
                 * 判断是否是分录
                 * @param prevRow
                 * @param currRow
                 * @return
                 */
                isEntryRow(prevRow:kd.bos.impt.SheetHandler$ParsedRow,currRow:kd.bos.impt.SheetHandler$ParsedRow):boolean;
                push(prevRow:kd.bos.impt.SheetHandler$ParsedRow,curRow:kd.bos.impt.SheetHandler$ParsedRow,data:any):$.java.util.List;
                /**
                 * 判断当前行的单头信息是否与上一行相同 (或者单头信息为空)
                 * 如果与上一行相同说明是分录
                 * @param prevRow 上一行的解析对象
                 * @param row 当前行数据
                 * @return
                 */
                isSameOne(prevRow:kd.bos.impt.SheetHandler$ParsedRow,row:$.java.util.Map):boolean;
                getEntries():$.java.util.Map;
            }
            type ImportEntityMapping_T = ImportEntityMapping$;
            interface ImportEntityMapping extends ImportEntityMapping_T {
            }
            interface ImportBillData_S {
            }
            interface ImportBillData_C extends ImportBillData_S {
                /**
                 * 构造函数
                 * @param data excle解析出的单据原始JSON数据
                 * @param startIndex 在excel中，该单据的起始行号
                 * @param endIndex 在excel中，该单据的结束行号
                 * @param mapping 映射规则对象，描述excel中的列与动态对象各字段的映射关系
                 */
                new(data:any,startIndex:number,endIndex:number,mapping:ImportEntityMapping):ImportBillData;
            }
            interface ImportBillData$ {
                /**
                 * 获取当前单据的JSON数据
                 * @return JSONObject data
                 */
                getData():any;
                /**
                 * 当前单据数据是否为空
                 * @return
                 */
                isEmpty():boolean;
                /**
                 * 获取数据对应原始excel文件行号
                 * @return startIndex
                 */
                getStartIndex():number;
                /**
                 * 设置当前单据的JSON数据
                 * @param data
                 */
                setData(data:any):void;
                /**
                 * 获取当前单据数据行在excel中，解析结束时对应的行号
                 * @return
                 */
                getEndIndex():number;
                /**
                 * 获取映射规则对象
                 * @return
                 */
                getEntityMapping():ImportEntityMapping;
            }
            type ImportBillData_T = ImportBillData$;
            interface ImportBillData extends ImportBillData_T {
            }
        }
        namespace kd.bos.form.plugin.list{
            interface StandardF7FormPlugin_S {
            }
            type StandardF7FormPlugin_ST = $.kd.bos.form.control.events.ListboxClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & StandardF7FormPlugin_S;
            interface StandardF7FormPlugin_C extends StandardF7FormPlugin_ST {
                new():StandardF7FormPlugin;
            }
            interface StandardF7FormPlugin$ {
            }
            type StandardF7FormPlugin_T = $.kd.bos.form.control.events.ListboxClickListener & $.kd.bos.form.plugin.AbstractFormPlugin & StandardF7FormPlugin$;
            interface StandardF7FormPlugin extends StandardF7FormPlugin_T {
            }
            interface AbstractMobF7Plugin_S {
            }
            type AbstractMobF7Plugin_ST = $.kd.bos.list.plugin.AbstractMobListPlugin & AbstractMobF7Plugin_S;
            interface AbstractMobF7Plugin_C extends AbstractMobF7Plugin_ST {
                new():AbstractMobF7Plugin;
            }
            interface AbstractMobF7Plugin$ {
            }
            type AbstractMobF7Plugin_T = $.kd.bos.list.plugin.AbstractMobListPlugin & AbstractMobF7Plugin$;
            interface AbstractMobF7Plugin extends AbstractMobF7Plugin_T {
            }
        }
        namespace kd.bos.form.plugin.logbill{
            interface LogBillListPlugin_S {
            }
            type LogBillListPlugin_ST = $.kd.bos.form.control.events.SearchEnterListener & $.kd.bos.list.plugin.AbstractListPlugin & LogBillListPlugin_S;
            interface LogBillListPlugin_C extends LogBillListPlugin_ST {
                new():LogBillListPlugin;
            }
            interface LogBillListPlugin$ {
            }
            type LogBillListPlugin_T = $.kd.bos.form.control.events.SearchEnterListener & $.kd.bos.list.plugin.AbstractListPlugin & LogBillListPlugin$;
            interface LogBillListPlugin extends LogBillListPlugin_T {
            }
        }
        namespace kd.bos.form.plugin.print{
            interface ComplexSettingItem_S {
            }
            interface ComplexSettingItem_C extends ComplexSettingItem_S {
                new():ComplexSettingItem;
            }
            interface ComplexSettingItem$ {
                setFiltertype(type_arg:number):void;
                setId(id:number):void;
                setFiltertemplateid(filterTemplateId:string):void;
                getFiltercondition():any;
                getFiltertype():number;
                setEnable(enable:boolean):void;
                setFilterprinter(filterPrinter:string):void;
                isEnable():boolean;
                setSeq(seq:number):void;
                getFiltertemplateid():string;
                setFiltercondition(filtercondition:any):void;
                getFiltername():string;
                setFiltername(filtername:string):void;
                getId():number;
                getSeq():number;
                getFilterprinter():string;
            }
            type ComplexSettingItem_T = ComplexSettingItem$;
            interface ComplexSettingItem extends ComplexSettingItem_T {
            }
            interface PrintOperationHelper_S {
                /**
                 * 原来的打印方式
                 *
                 * @param printTaskId
                 * @param attachList
                 */
                download(actionView:kd.bos.form.IFormView,printTaskId:any,attachList:$.java.util.List):void;
                /**
                 * 执行print操作
                 * @param view
                 * @param param
                 * @return
                 */
                doPrintOperation(view:kd.bos.form.IFormView,param:PrintOperationHelper$PrintOperateParam):kd.bos.entity.operate.result.OperationResult;
                /**
                 * 本地打印，发送指令给客户端。指令格式如下
                 * {
                 *     "url": "http://127.0.0.1:49425/lpServer/print",
                 *     "param": {
                 *         "callbackUrl":"http://featurn_dev/ierp",
                 *         "taskId","xxxx"
                 *         "count:: "“,//表示有多少个job
                 *         "preview": true,//是否预览后打印
                 *         "user": //用于客户端请求服务端，知道是哪个用户请求
                 *     }
                 * }
                 */
                clientLocalPrint(actionView:kd.bos.form.IFormView,previewView:kd.bos.form.IFormView,taskResult:kd.bos.svc.util.print.PrtTaskResult,needPreview:boolean):void;
                printNewTpl(param:PrintOperationHelper$PrintOperateParam):string;
                /**
                 * 将PrintJob 按新旧模版分类
                 * @return
                 */
                classifyPrintJob(printJobs:$.java.util.List):$.java.util.Map;
                /**
                 * 执行打印print操作，不包含旧打印模板的直接打印逻辑
                 * @param view
                 * @param param
                 * @return
                 */
                doNewPrintOperation(view:kd.bos.form.IFormView,param:PrintOperationHelper$PrintOperateParam):kd.bos.entity.operate.result.OperationResult;
                /**
                 * 打开客户端安装提示页
                 * @param view
                 */
                clientInstallTips(view:kd.bos.form.IFormView):void;
                /**
                 * 记录打印次数
                 * @param entityTypeId
                 * @param newPrintJobs
                 * @param oldPrintJobs
                 */
                recordPrintField(entityTypeId:string,newPrintJobs:$.java.util.List,oldPrintJobs:$.java.util.List):void;
                /**
                 *  打开打印机设置提示页
                 *  @param view
                 * b
                 */
                printerSettingTips(view:kd.bos.form.IFormView):void;
                /**
                 * 新加的移动端预览方式
                 *
                 * @param previewView
                 * @param printTaskId
                 * @param attachList
                 */
                mobilePreview(actionView:kd.bos.form.IFormView,previewView:kd.bos.form.IFormView,printTaskId:any,attachList:$.java.util.List):void;
                /**
                 * 原来的打印方式
                 *
                 * @param previewView
                 * @param printTaskId
                 * @param attachList
                 */
                preview(actionView:kd.bos.form.IFormView,previewView:kd.bos.form.IFormView,printTaskId:any,attachList:$.java.util.List):void;
                /**
                 * 触发打印操作after事件
                 * @param operateKey
                 */
                fireAfterDoPrint(thisView:kd.bos.form.IFormView,parentView:kd.bos.form.IFormView,operateKey:string,data:$.java.util.Map):boolean;
                /**
                 * ·根据列表勾选单据顺序构建jobs
                 *
                 * @param pkIds     单据id（已排序）
                 * @param oriJobs   原始jobs
                 */
                sortAndMergeJobs(pkIds:$.java.util.List,oriJobs:$.java.util.List):$.java.util.List;
                /**
                 * 打印预览，图片分页形式预览
                 * @param actionView
                 * @param previewView
                 * @param printTaskId
                 * @param pkIds
                 */
                clientPreview(actionView:kd.bos.form.IFormView,previewView:kd.bos.form.IFormView,printTaskId:any,pkIds:$.java.util.List,printJobs:string):void;
                /**
                 * 更新打印次数字段，记录打印操作类型的打印次数字段
                 */
                updatePrintCountField(entityTypeId:string,pkIds:$.java.util.List):void;
                /**
                 * ·记录pkIds，用于更新打印次数
                 *
                 * @param newPrintJobs
                 * @param oldPrintJobs
                 * @return
                 */
                recordPkIds(entityTypeId:string,newPrintJobs:$.java.util.List,oldPrintJobs:$.java.util.List):$.java.util.Set;
            }
            interface PrintOperationHelper_C extends PrintOperationHelper_S {
                new():PrintOperationHelper;
            }
            interface PrintOperationHelper$ {
            }
            type PrintOperationHelper_T = PrintOperationHelper$;
            interface PrintOperationHelper extends PrintOperationHelper_T {
            }
            interface PrintOperationHelper$PrintOperateParam_S {
            }
            interface PrintOperationHelper$PrintOperateParam_C extends PrintOperationHelper$PrintOperateParam_S {
                new():PrintOperationHelper$PrintOperateParam;
                new(arg0:string,arg1:string,arg2:string,arg3:string,arg4:string,arg5:$.java.util.List,arg6:$.java.util.List):PrintOperationHelper$PrintOperateParam;
                new(arg0:string,arg1:string,arg2:string,arg3:string,arg4:string,arg5:string,arg6:$.java.util.List,arg7:$.java.util.List,arg8:$.java.util.Map):PrintOperationHelper$PrintOperateParam;
            }
            interface PrintOperationHelper$PrintOperateParam$ {
                setExtParam(arg0:$.java.util.Map):void;
                getPrintType():string;
                setCopyNum(arg0:number):void;
                getPageId():string;
                setServiceType(arg0:string):void;
                setPrintJobs(arg0:$.java.util.List):void;
                setPkIds(arg0:$.java.util.List):void;
                getExpType():$.kd.bos.print.api.PrintWork$EXP_TYPE;
                getPrintJobs():$.java.util.List;
                getLang():string;
                setFormId(arg0:string):void;
                getFormId():string;
                setLang(arg0:string):void;
                setPrinterId(arg0:long):void;
                getCopyNum():number;
                getPkIds():$.java.util.List;
                getDefaultTplId():string;
                setBtPrinter(arg0:string):void;
                getOperateKey():string;
                getServiceType():string;
                getExtParam():$.java.util.Map;
                getPrinterId():long;
                setOperateKey(arg0:string):void;
                getPrintTaskId():string;
                setExpType(arg0:$.kd.bos.print.api.PrintWork$EXP_TYPE):void;
                getBtPrinter():string;
            }
            type PrintOperationHelper$PrintOperateParam_T = PrintOperationHelper$PrintOperateParam$;
            interface PrintOperationHelper$PrintOperateParam extends PrintOperationHelper$PrintOperateParam_T {
            }
        }
        namespace kd.bos.form.plugin.tools{
            interface Column_S {
            }
            interface Column_C extends Column_S {
                new():Column;
            }
            interface Column$ {
                /**
                 * 设置名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 字段类型
                 * @return
                 */
                getcType():number;
                /**
                 * 设置字段类型
                 * @param cType
                 */
                setcType(cType:number):void;
                /**
                 * 获取名称
                 * @return
                 */
                getName():string;
            }
            type Column_T = Column$;
            interface Column extends Column_T {
            }
        }
        namespace kd.bos.form.rule{
            interface FormRuleExecuteContext_S {
            }
            type FormRuleExecuteContext_ST = FormRuleExecuteContext_S & kd.bos.entity.rule.BRExecuteContext_S;
            interface FormRuleExecuteContext_C extends FormRuleExecuteContext_ST {
                new(arg0:IFormView):FormRuleExecuteContext;
            }
            interface FormRuleExecuteContext$ {
                getView():IFormView;
            }
            type FormRuleExecuteContext_T = FormRuleExecuteContext$ & kd.bos.entity.rule.BRExecuteContext;
            interface FormRuleExecuteContext extends FormRuleExecuteContext_T {
            }
        }
        namespace kd.bos.form.spread{
            interface Spread_S {
            }
            type Spread_ST = Spread_S & kd.bos.form.container.Container_S;
            interface Spread_C extends Spread_ST {
                new():Spread;
            }
            interface Spread$ {
                /**
                 * 获取前端传回的数据信息
                 * @return
                 */
                getPostDataInfo():SpreadPostDataInfo;
                /**
                 * 注册插件
                 * @param spreadAction
                 */
                addSpreadAction(spreadAction:kd.bos.form.spread.event.ISpreadAction):void;
            }
            type Spread_T = Spread$ & kd.bos.form.container.Container;
            interface Spread extends Spread_T {
            }
            interface SpreadActionAdapter_S {
            }
            type SpreadActionAdapter_ST = SpreadActionAdapter_S & kd.bos.form.spread.event.ISpreadAction_S;
            interface SpreadActionAdapter_C extends SpreadActionAdapter_ST {
                /**
                 * 构造函数
                 * @param plugin 表单插件：需通过表单插件调用表单视图功能
                 */
                new(plugin:kd.bos.form.plugin.AbstractFormPlugin):SpreadActionAdapter;
            }
            interface SpreadActionAdapter$ {
            }
            type SpreadActionAdapter_T = SpreadActionAdapter$ & kd.bos.form.spread.event.ISpreadAction;
            interface SpreadActionAdapter extends SpreadActionAdapter_T {
            }
            interface SpreadPostDataInfo_S {
            }
            interface SpreadPostDataInfo_C extends SpreadPostDataInfo_S {
                new():SpreadPostDataInfo;
            }
            interface SpreadPostDataInfo$ {
                /**
                 * 设置结束列
                 *
                 * @param endCol 结束列
                 */
                setEndCol(endCol:number):void;
                /**
                 * 设置选择行
                 *
                 * @param selRows 选择行
                 */
                setSelRows(selRows:$.java.util.List):void;
                /**
                 * 设置选择列
                 *
                 * @param selCols
                 */
                setSelCols(selCols:$.java.util.List):void;
                /**
                 * 获取回调函数的具体参数值
                 *
                 * @param key 参数名
                 * @return 参数值
                 */
                getInvokeParamValue(key:string):any;
                /**
                 * 获取选择列
                 *
                 * @return 选择列
                 */
                getSelCols():$.java.util.List;
                /**
                 * 获取更新值列表
                 *
                 * @return 更新值列表
                 */
                getValues():$.java.util.List;
                /**
                 * 获取页签索引
                 *
                 * @return 页签索引
                 */
                getSheetIndex():number;
                /**
                 * 设置选择的行或列坐标
                 * @param selcIndex 选择的行或列坐标
                 */
                setSelcIndex(selcIndex:number):void;
                /**
                 * 获取开始行
                 *
                 * @return 开始行
                 */
                getStartRow():number;
                /**
                 * 获取操作数，如插入多少行或列数
                 * @return 操作数
                 */
                getOprtCount():number;
                /**
                 * 设置回调函数的参数信息
                 *
                 * @param invokeParams 回调函数的参数信息
                 */
                setInvokeParams(invokeParams:$.java.util.LinkedHashMap):void;
                /**
                 * 获取结束行
                 *
                 * @return 结束行
                 */
                getEndRow():number;
                /**
                 * 获取选择行
                 *
                 * @return 选择行
                 */
                getSelRows():$.java.util.List;
                /**
                 * 设置开始列
                 *
                 * @param startCol 开始列
                 */
                setStartCol(startCol:number):void;
                /**
                 * 设置开始行
                 *
                 * @param startRow 开始行
                 */
                setStartRow(startRow:number):void;
                /**
                 * 设置结束行
                 *
                 * @param endRow 结束行
                 */
                setEndRow(endRow:number):void;
                /**
                 * 获取结束列
                 *
                 * @return 结束列
                 */
                getEndCol():number;
                /**
                 * 设置更新值列表
                 *
                 * @param values 更新值列表
                 */
                setValues(values:$.java.util.LinkedHashMap):void;
                /**
                 * 获取序列参数
                 *
                 * @return 序列参数
                 */
                getInvokeListParams():$.java.util.List;
                /**
                 * 获取选择的行或列坐标
                 * @return 选择的行或列坐标
                 */
                getSelcIndex():number;
                /**
                 * 获取回调函数的参数信息，未分解过的，由插件自己去解释
                 *
                 * @return 回调函数的参数信息
                 */
                getInvokeParams():$.java.util.LinkedHashMap;
                /**
                 * 获取开始列
                 *
                 * @return 开始列
                 */
                getStartCol():number;
                /**
                 * 设置序列参数
                 *
                 * @param invokeListParams 序列参数
                 */
                setInvokeListParams(invokeListParams:$.java.util.List):void;
                /**
                 * 设置操作数，如插入多少行或列数
                 *
                 * @param oprtCount 操作数
                 */
                setOprtCount(oprtCount:number):void;
            }
            type SpreadPostDataInfo_T = SpreadPostDataInfo$;
            interface SpreadPostDataInfo extends SpreadPostDataInfo_T {
            }
            interface LookUpDataArgs_S {
            }
            interface LookUpDataArgs_C extends LookUpDataArgs_S {
                new():LookUpDataArgs;
            }
            interface LookUpDataArgs$ {
                /**
                 * 获取值
                 *
                 * @return 值
                 */
                getValue():string;
                /**
                 * 设置结束数字
                 *
                 * @param countEnd 结束数字
                 */
                setCountEnd(countEnd:number):void;
                /**
                 * 获取模糊查询左符号
                 *
                 * @return 模糊查询左符号
                 */
                getLeft():string;
                /**
                 * 设置匹配模式
                 *
                 * @param pipeiModel 匹配模式
                 */
                setPipeiModel(pipeiModel:string):void;
                /**
                 * 显示的记录数量
                 *
                 * @return 记录数量
                 */
                getCountModel():number;
                /**
                 * 设置模糊查询右符号
                 *
                 * @param right 模糊查询右符号
                 */
                setRight(right:string):void;
                /**
                 * 获取模糊查询右符号
                 *
                 * @return 模糊查询右符号
                 */
                getRight():string;
                /**
                 * 获取列号
                 *
                 * @return 列号
                 */
                getC():number;
                /**
                 * 设置记录数量
                 *
                 * @param countModel 记录数量
                 */
                setCountModel(countModel:number):void;
                /**
                 * 设置列号
                 *
                 * @param c 列号
                 */
                setC(c:number):void;
                /**
                 * 获取匹配模式
                 *
                 * @return 匹配模式
                 */
                getPipeiModel():string;
                /**
                 * 开始数字
                 *
                 * @return 开始数字
                 */
                getCountStart():number;
                /**
                 * 设置开始数字
                 *
                 * @param countStart 开始数字
                 */
                setCountStart(countStart:number):void;
                /**
                 * 获取结束数字
                 *
                 * @return 结束数字
                 */
                getCountEnd():number;
                /**
                 * 设置值
                 *
                 * @param value 值
                 */
                setValue(value:string):void;
                /**
                 * 获取行号
                 *
                 * @return 行号
                 */
                getR():number;
                /**
                 * 设置行号
                 *
                 * @param r 行号
                 */
                setR(r:number):void;
                /**
                 * 设置模糊查询左符号
                 *
                 * @param left 模糊查询左符号
                 */
                setLeft(left:string):void;
            }
            type LookUpDataArgs_T = LookUpDataArgs$;
            interface LookUpDataArgs extends LookUpDataArgs_T {
            }
        }
        namespace kd.bos.form.spread.event{
            interface SpreadEvent_S {
            }
            type SpreadEvent_ST = $.java.util.EventObject & SpreadEvent_S;
            interface SpreadEvent_C extends SpreadEvent_ST {
                /**
                 * 构造函数，传入事件源、表格数据包
                 *
                 * @param source 事件源
                 * @param postData 表格数据包
                 */
                new(source:any,postData:SpreadPostDataInfo):SpreadEvent;
            }
            interface SpreadEvent$ {
                /**
                 * 获取表格数据包
                 *
                 * @return 表格数据包
                 */
                getPostData():SpreadPostDataInfo;
            }
            type SpreadEvent_T = $.java.util.EventObject & SpreadEvent$;
            interface SpreadEvent extends SpreadEvent_T {
            }
            interface ISpreadAction_S {
            }
            interface ISpreadAction_C extends ISpreadAction_S {
            }
            interface ISpreadAction$ {
                /**
                 * 模糊查询返回结果，返回ID,编码，名称
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年11月9日
                 */
                setItemByIdFromClient(event:SpreadEvent):void;
                /**
                 * 增加列,可以是多列
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年7月5日
                 */
                addColumns(event:SpreadEvent):void;
                /**
                 * 插入选择范围内列记录，选择列往右移
                 *
                 * @author yu_wei
                 * @since 2017年10月24日
                 */
                insertRangeCols(event:SpreadEvent):void;
                /**
                 * 删除列，可以是多列
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年7月5日
                 */
                deleteColumns(event:SpreadEvent):void;
                /**
                 * 删除选择范围内行记录，选择行往上移
                 *
                 * @author yu_wei
                 * @since 2017年10月24日
                 */
                delRangeRow(event:SpreadEvent):void;
                /**
                 * 增加行,可以是多行
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年7月5日
                 */
                addRows(event:SpreadEvent):void;
                /**
                 * 公式修改
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年12月19日
                 */
                updateFormula(event:SpreadEvent):void;
                /**
                 * 删除行
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年7月5日
                 */
                deleteRows(event:SpreadEvent):void;
                /**
                 * 显示公式向导
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年12月13日
                 */
                showFormulaPanel(event:SpreadEvent):void;
                /**
                 * 显示单元格维度信息
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年7月5日
                 */
                showCellDimInfo(event:SpreadEvent):void;
                /**
                 * F7单元格单击事件,反射调用插件接口
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年11月1日
                 */
                f7Click(event:SpreadEvent):void;
                /**
                 * 回填插件的接口
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年9月13日
                 */
                invokePluginMethod(event:SpreadEvent):void;
                /**
                 * F7手工录入模糊查询处理，把匹配的结果返回前端
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年11月8日
                 */
                getLookupData(event:SpreadEvent):void;
                /**
                 * 删除选择范围内列记录，选择列往左移
                 *
                 * @author yu_wei
                 * @since 2017年10月24日
                 */
                delRangeCols(event:SpreadEvent):void;
                /**
                 * 表格选择范围
                 *
                 * @param event
                 * @author yu_wei
                 * @since 2017年10月31日
                 */
                selectedSpread(event:SpreadEvent):void;
                /**
                 * 编辑单元格,对值做处理加工
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2017年7月5日
                 */
                updateCellValue(event:SpreadEvent):void;
                /**
                 * 双击锁定单元格处理事件
                 *
                 * @param event 事件参数
                 * @author yu_wei
                 * @since 2018年1月19日
                 */
                cellIsLocked?(event:SpreadEvent):void;
                /**
                 * 插入选择范围内行记录，选择行往下移
                 *
                 * @author yu_wei
                 * @since 2017年10月24日
                 */
                insertRangeRow(event:SpreadEvent):void;
                /**
                 * 删除 插入 行列 的 询问是否执行事件
                 *
                 * @param event 事件参数
                 * @author gtom_li
                 * @since 2018年6月26日
                 */
                askExecute(event:SpreadEvent):void;
            }
            type ISpreadAction_T = ISpreadAction$;
            interface ISpreadAction extends ISpreadAction_T {
            }
        }
        namespace kd.bos.form.transfer{
            interface TransferTreeNode_S {
            }
            type TransferTreeNode_ST = TransferNode_S & TransferTreeNode_S;
            interface TransferTreeNode_C extends TransferTreeNode_ST {
                /**
                 * 空构造方法
                 */
                new():TransferTreeNode;
                /**
                 * 构造方法
                 *
                 * @param parentId 父节点数据标识
                 * @param id 本节点数据标识
                 * @param text 显示内容
                 */
                new(parentId:string,id:string,text:string):TransferTreeNode;
                /**
                 * 构造方法
                 *
                 * @param id 本节点数据标识
                 * @param text 显示内容
                 * @param disabled 节点是否被禁止选中
                 */
                new(id:string,text:string,disabled:boolean):TransferTreeNode;
            }
            interface TransferTreeNode$ {
                /**
                 * 获取子节点集合
                 *
                 * @return 返回子节点集合，可能为null
                 */
                getChildren():$.java.util.List;
                /**
                 * 获取父节点数据标识
                 *
                 * @return 父节点数据标识
                 */
                getParentid():string;
                /**
                 * 返回本节点是否自动展开
                 *
                 * @return 返回true-自动展开
                 */
                getIsOpened():boolean;
                /**
                 * 设置子节点集合
                 *
                 * @param children 子节点集合
                 */
                setChildren(children:$.java.util.List):void;
                /**
                 * 添加单个子节点
                 *
                 * @param node 子节点
                 *
                 * @return 返回当前节点，方便链式操作
                 */
                addChild(node:TransferTreeNode):this;
                /**
                 * 设置父节点数据标识
                 * @param parentid
                 */
                setParentid(parentid:string):void;
                /**
                 * 设置本节点是否自动展开
                 *
                 * @param isOpened 设置为true-自动展开
                 */
                setIsOpened(isOpened:boolean):void;
            }
            type TransferTreeNode_T = TransferNode & TransferTreeNode$;
            interface TransferTreeNode extends TransferTreeNode_T {
            }
            interface TransferNode_S {
            }
            interface TransferNode_C extends TransferNode_S {
                /**
                 * 构造函数（空参数）
                 */
                new():TransferNode;
                /**
                 * 构造函数，传入标识和显示内容
                 *
                 * @param id 数据标识
                 * @param text 显示内容
                 */
                new(id:string,text:string):TransferNode;
                /**
                 * 构造函数，传入标识和显示内容，以及是否允许被选中
                 *
                 * @param id 数据标识
                 * @param text 显示内容
                 * @param disabled 是否被禁止选中
                 */
                new(id:string,text:string,disabled:boolean):TransferNode;
            }
            interface TransferNode$ {
                /**
                 * 设置数据标识
                 *
                 * @param id 数据标识
                 */
                setId(id:string):void;
                /**
                 * 设置显示内容
                 * @param text 显示内容
                 */
                setText(text:string):void;
                /**
                 * 设置数据项是否被禁止选中
                 *
                 * 预先设置的数据项可能被禁止选中，以免被移出了已选列表
                 *
                 * @param disabled
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 获取显示内容
                 *
                 * @return 显示内容
                 */
                getText():string;
                /**
                 * 获取数据标识
                 *
                 * @return 数据标识
                 */
                getId():string;
                /**
                 * 本数据是否被禁止选中
                 *
                 * @return 返回true被禁止选中
                 */
                getDisabled():boolean;
            }
            type TransferNode_T = TransferNode$;
            interface TransferNode extends TransferNode_T {
            }
        }
        namespace kd.bos.form.upgrade{
            interface IUpgradePlugin_S {
            }
            interface IUpgradePlugin_C extends IUpgradePlugin_S {
            }
            interface IUpgradePlugin$ {
                getClassQualifiedName():string;
                setClassQualifiedName(classQualifiedName:string):void;
                beforeExecuteSql(ver:string,iteration:string,dbKey:string,sqlFileName:string):$.kd.bos.service.upgrade.UpgradeResult;
                afterExecuteSql(ver:string,iteration:string,dbKey:string,sqlFileName:string):$.kd.bos.service.upgrade.UpgradeResult;
            }
            type IUpgradePlugin_T = IUpgradePlugin$;
            interface IUpgradePlugin extends IUpgradePlugin_T {
            }
            interface AbstractUpgradePlugin_S {
            }
            type AbstractUpgradePlugin_ST = AbstractUpgradePlugin_S & IUpgradePlugin_S;
            interface AbstractUpgradePlugin_C extends AbstractUpgradePlugin_ST {
                new():AbstractUpgradePlugin;
            }
            interface AbstractUpgradePlugin$ {
            }
            type AbstractUpgradePlugin_T = AbstractUpgradePlugin$ & IUpgradePlugin;
            interface AbstractUpgradePlugin extends AbstractUpgradePlugin_T {
            }
            interface UpgradeResult_S {
            }
            type UpgradeResult_ST = $.java.io.Serializable & UpgradeResult_S;
            interface UpgradeResult_C extends UpgradeResult_ST {
                /**
                 * 构造方法
                 */
                new():UpgradeResult;
                /**
                 * 构造方法
                 *
                 * @param data 升级结果参数
                 */
                new(data:$.java.util.Map):UpgradeResult;
            }
            interface UpgradeResult$ {
                /**
                 * 错误级别，值包括"error", "warning"。其中error表示错误，升级将终止，warning表示有警告，升级继续。
                 */
                getEl():string;
                /**
                 * 将该对象转换成map
                 *
                 * @return 升级结果字典
                 */
                toMap():$.java.util.Map;
                /**
                 * 返回成功或失败，对失败提供了错误和警告错误2种方式，通过setEl设置错误级别
                 */
                isSuccess():boolean;
                /**
                 * 错误或警告错误信息
                 */
                getErrorInfo():string;
                /**
                 * 设置错误或警告错误信息
                 */
                setErrorInfo(errorInfo:string):void;
                /**
                 * 返回日志，主要用于跟踪和排查问题
                 */
                getLog():string;
                /**
                 * 设置日志信息，主要用于跟踪和排查问题
                 */
                setLog(log:string):void;
                /**
                 * 设置错误级别，值包括"error", "warning"。其中error表示错误，升级将终止，warning表示有警告，升级继续。
                 */
                setEl(el:string):void;
                /**
                 * 设置升级状态，true表示成功，false表示失败。对失败提供了错误和警告错误2种方式，通过setEl设置错误级别。
                 */
                setSuccess(success:boolean):void;
            }
            type UpgradeResult_T = $.java.io.Serializable & UpgradeResult$;
            interface UpgradeResult extends UpgradeResult_T {
            }
        }
        namespace kd.bos.form.userguide{
            interface GuideItem_S {
            }
            type GuideItem_ST = GuideItem_S & kd.bos.form.container.Container_S;
            interface GuideItem_C extends GuideItem_ST {
                new():GuideItem;
            }
            interface GuideItem$ {
                /**
                 * 设定图片URL
                 * @param url 图片的链接
                 */
                setUrl(url:string):void;
            }
            type GuideItem_T = GuideItem$ & kd.bos.form.container.Container;
            interface GuideItem extends GuideItem_T {
            }
            interface GuidePage_S {
            }
            type GuidePage_ST = GuidePage_S & kd.bos.form.container.Container_S;
            interface GuidePage_C extends GuidePage_ST {
                new():GuidePage;
            }
            interface GuidePage$ {
                /**
                 * 获取用户向导
                 * @return
                 */
                getUserGuide():string;
                /**
                 * 关闭向导页
                 * @param args
                 */
                close(args:any):void;
                /**
                 * 设置用户向导
                 * @param userGuide
                 */
                setUserGuide(userGuide:string):void;
            }
            type GuidePage_T = GuidePage$ & kd.bos.form.container.Container;
            interface GuidePage extends GuidePage_T {
            }
        }
        namespace kd.bos.form.watermark{
            interface WaterMark_S {
            }
            type WaterMark_ST = $.java.io.Serializable & $.java.lang.Cloneable & WaterMark_S;
            interface WaterMark_C extends WaterMark_ST {
                new():WaterMark;
            }
            interface WaterMark$ {
                getColor():string;
                getText():string;
                setText(arg0:string):void;
                setPicture(arg0:string):void;
                isVisible():boolean;
                cloneObj():this;
                setFontSize(arg0:string):void;
                getType():string;
                getGlobalAlpha():number;
                isAddDownloadWatermark():boolean;
                getDensity():string;
                setPlugin(arg0:string):void;
                getPicture():string;
                getPlugin():string;
                setGlobalAlpha(arg0:number):void;
                setObjectId(arg0:string):void;
                getTextType():string;
                setAddImageDownloadWatermark(arg0:boolean):void;
                getLevel():string;
                setAddPreviewWatermark(arg0:boolean):void;
                setLevel(arg0:string):void;
                setDensity(arg0:string):void;
                isAddPreviewWatermark():boolean;
                setAddDownloadWatermark(arg0:boolean):void;
                getFontSize():string;
                getObjectId():string;
                setTextType(arg0:string):void;
                setColor(arg0:string):void;
                setType(arg0:string):void;
                isAddImageDownloadWatermark():boolean;
            }
            type WaterMark_T = $.java.io.Serializable & $.java.lang.Cloneable & WaterMark$;
            interface WaterMark extends WaterMark_T {
            }
        }
        namespace kd.bos.form.widget{
            interface Widget_S {
            }
            type Widget_ST = Widget_S & kd.bos.form.control.Control_S;
            interface Widget_C extends Widget_ST {
                new():Widget;
            }
            interface Widget$ {
                /**
                 * 重新加载内容
                 */
                reLoadContent():void;
                /**
                 * 设置widgetId
                 * @param widgetId
                 */
                setWidgetId(widgetId:string):void;
                /**
                 * 获取单个widget项对应的pageId
                 * @return
                 */
                getItemPageId():string;
                /**
                 * 设置卡片id
                 * @param cardId
                 */
                setCardId(cardId:string):void;
                /**
                 * 获取widgetId
                 * @return widgetId
                 */
                getWidgetId():string;
                /**
                 * 获取卡片id
                 * @return
                 */
                getCardId():string;
            }
            type Widget_T = Widget$ & kd.bos.form.control.Control;
            interface Widget extends Widget_T {
            }
            interface WidgetContainer_S {
            }
            type WidgetContainer_ST = WidgetContainer_S & kd.bos.form.container.Container_S;
            interface WidgetContainer_C extends WidgetContainer_ST {
                new():WidgetContainer;
            }
            interface WidgetContainer$ {
                /**
                 * 工具栏点击事件
                 *
                 * @param id
                 *            控件id
                 * @param operationKey
                 *            操作id
                 */
                itemClick(id:string,operationKey:string):void;
                /**
                 * 获取设计器设计内容
                 *
                 * @return 设计内容map
                 */
                getContent():$.java.util.Map;
                /**
                 * 设置卡片容器进入设计模式
                 *
                 * @param value
                 *            没有用，是否抛弃？
                 */
                setDesignMode(value:boolean,designerMeta:$.java.util.Map):void;
                /**
                 * 注册WidgetContainerDesignerListener监听
                 * @param listener
                 */
                addWidgetContainerDesignerListener(listener:kd.bos.form.widget.events.WidgetContainerDesignerListener):void;
                /**
                 * widget改变事件
                 * @param widget
                 */
                widgetChanged(widget:$.java.util.Map):void;
                /**
                 * 重新load卡片内容
                 */
                reloadWidgetContent():void;
                /**
                 * 获取所有卡片
                 * @return
                 */
                getWidgets():$.java.util.List;
                /**
                 * 重命名分组
                 *
                 * @param designerGroup
                 *            设计时分组
                 * @param runtimeGroup
                 *            运行时分组
                 */
                renameGroup(designerGroup:$.java.util.Map,runtimeGroup:$.java.util.Map):void;
                /**
                 * 卡片容器中增加一个分组
                 *
                 * @param designerGroup
                 *            设计时分组
                 * @param runtimeGroup
                 *            运行时分组
                 */
                addGroup(designerGroup:$.java.util.Map,runtimeGroup:$.java.util.Map):void;
                /**
                 * 重新load data
                 */
                refresh():void;
                /**
                 * 在卡片分组中增加一个卡片
                 *
                 * @param groupId 分组id
                 * @param designerWidget 设计时分组
                 * @param runtimeWidget 运行时分组
                 */
                addWidget(groupId:string,designerWidget:$.java.util.Map,runtimeWidget:$.java.util.Map):void;
                /**
                 * 设置卡片属性
                 *
                 * @param id
                 * @param designerProperty 设计时属性
                 * @param runtimeProperty 运行时属性
                 */
                setWidgetProperty(id:string,designerProperty:$.java.util.Map,runtimeProperty:$.java.util.Map):void;
            }
            type WidgetContainer_T = WidgetContainer$ & kd.bos.form.container.Container;
            interface WidgetContainer extends WidgetContainer_T {
            }
        }
        namespace kd.bos.form.widget.events{
            interface WidgetChangedEvent_S {
            }
            type WidgetChangedEvent_ST = $.java.util.EventObject & WidgetChangedEvent_S;
            interface WidgetChangedEvent_C extends WidgetChangedEvent_ST {
                /**
                 * 构造函数
                 * @param widgetContainer 卡片所属容器
                 * @param widget 卡片信息
                 */
                new(widgetContainer:WidgetContainer,widget:$.java.util.Map):WidgetChangedEvent;
            }
            interface WidgetChangedEvent$ {
                /**
                 * 获取卡片信息
                 * @return
                 */
                getWidgetAp():$.java.util.Map;
            }
            type WidgetChangedEvent_T = $.java.util.EventObject & WidgetChangedEvent$;
            interface WidgetChangedEvent extends WidgetChangedEvent_T {
            }
            interface WidgetContainerDesignerListener_S {
            }
            interface WidgetContainerDesignerListener_C extends WidgetContainerDesignerListener_S {
            }
            interface WidgetContainerDesignerListener$ {
                /**
                 * 切换卡片
                 * @param e 卡片改变事件参数
                 */
                widgetChanged?(e:WidgetChangedEvent):void;
            }
            type WidgetContainerDesignerListener_T = WidgetContainerDesignerListener$;
            interface WidgetContainerDesignerListener extends WidgetContainerDesignerListener_T {
            }
        }
        namespace kd.bos.formula{
            interface FormulaModule_S {
            }
            type FormulaModule_ST = $.kd.sdk.module.Module & FormulaModule_S;
            interface FormulaModule_C extends FormulaModule_ST {
                new():FormulaModule;
            }
            interface FormulaModule$ {
            }
            type FormulaModule_T = $.kd.sdk.module.Module & FormulaModule$;
            interface FormulaModule extends FormulaModule_T {
            }
            interface FormulaEngine_S {
                /**
                 * 执行表达式
                 *
                 * 适用于存在自定义函数的情况
                 * 例如：
                 * <pre><code>
                 *     UDFunction funcLike = new UDFunction()
                 *         {
                 *
                 *             public String getName() {
                 *                 return "contains";
                 *             }
                 *
                 *             public Object call(Object... params) {
                 *                 String left = (String)params[0];
                 *                 String right = (String)params[1];
                 *
                 *                 return left.contains(right);
                 *             }
                 *         };
                 *   String formula = "contains('abc','bc')";
                 *   Expr expr = FormulaEngine.parseFormula(formula);
                 *   Object result = FormulaEngine.execExcelFormula(expr, Collections.<String,Object>emptyMap(), new UDFunction[]{funcLike});
                 * </code></pre>
                 * @param expr 公式分解后的执行单元
                 * @param variableMap 表达式变量
                 * @param userDefinedFunctions 自定义函数
                 * @return   执行后结果
                 */
                execExcelFormula(expr:kd.bos.formula.excel.Expr,variableMap:$.java.util.Map,userDefinedFunctions:kd.bos.formula.excel.UDFunction[]):any;
                /**
                 * 执行表达式
                 *
                 * 适用于有自定义函数的情况
                 * 例如：
                 * <pre><code>
                 *     UDFunction funcLike = new UDFunction()
                 *         {
                 *             public String getName() {
                 *                 return "contains";
                 *             }
                 *
                 *             public Object call(Object... params) {
                 *                 String left = (String)params[0];
                 *                 String right = (String)params[1];
                 *
                 *                 return left.contains(right);
                 *             }
                 *         };
                 *   String formula = "contains('abc','bc')";
                 *   Object result = FormulaEngine.execExcelFormula(formula, Collections.<String,Object>emptyMap(), new UDFunction[]{funcLike});
                 * </code></pre>
                 * @param formula 表达式
                 * @param variableMap 表达式变量
                 * @param userDefinedFunctions 自定义函数
                 * @return  执行后结果
                 */
                execExcelFormula(formula:string,variableMap:$.java.util.Map,userDefinedFunctions:kd.bos.formula.excel.UDFunction[]):any;
                /**
                 * 提取表达式中包含的变量
                 * @param formula 表达式
                 * @return  表达式变量数组
                 */
                extractVariables(formula:string):string[];
                /**
                 * 执行表达式
                 *
                 * 适用于已经解析好表达式的情况
                 * 例如:
                 * <pre><code>
                 *     String formula = "right('hello', 2)";
                 *     Expr expr = FormulaEngine.parseFormula(formula);
                 *     Object result = FormulaEngine.execExcelFormula(expr);
                 * </code></pre>
                 * @param expr 公式分解后的执行单元
                 * @return  执行后结果
                 */
                execExcelFormula(expr:kd.bos.formula.excel.Expr):any;
                /**
                 * 表达式解析
                 *
                 * @param formula 表达式
                 * @return  表达式解析后执行单元
                 */
                parseFormula(formula:string):kd.bos.formula.excel.Expr;
                /**
                 * 执行表达式
                 *
                 * 适用于有表达式参数变量的情况
                 * 例如：
                 * <pre><code>
                 *     String formula = "v like '%bc%'";
                 *     HashMap<String,Object> map = new HashMap<String,Object>();
                 *     map.put("v", "abcd");
                 *     Object result = FormulaEngine.execExcelFormula(formula,map);
                 * </code></pre>
                 * @param formula 表达式
                 * @param variableMap 表达式变量
                 * @return  执行后结果
                 */
                execExcelFormula(formula:string,variableMap:$.java.util.Map):any;
                /**
                 * 执行表达式
                 *
                 * 适用于只有一个表达式,不存在参数变量的情况，
                 * 例如：
                 * <pre><code>
                 *     String formula = "right('hello', 2)";
                 *     Object result = FormulaEngine.execExcelFormula(formula);
                 * </code></pre>
                 * @param formula 表达式
                 * @return  执行后结果
                 */
                execExcelFormula(formula:string):any;
                /**
                 * 执行表达式
                 *
                 * 适用于存在表达式变量的情况
                 * 例如：
                 * <pre><code>
                 *     String formula = "v like '%bc%'";
                 *     Expr expr = FormulaEngine.parseFormula(formula);
                 *     HashMap<String,Object> map = new HashMap<String,Object>();
                 *     map.put("v", "abcd");
                 *     Object result = FormulaEngine.execExcelFormula(expr,map);
                 * </code></pre>
                 * @param expr 公式分解后的执行单元
                 * @param variableMap 表达式变量
                 * @return  执行后结果
                 */
                execExcelFormula(expr:kd.bos.formula.excel.Expr,variableMap:$.java.util.Map):any;
            }
            interface FormulaEngine_C extends FormulaEngine_S {
                new():FormulaEngine;
            }
            interface FormulaEngine$ {
            }
            type FormulaEngine_T = FormulaEngine$;
            interface FormulaEngine extends FormulaEngine_T {
            }
        }
        namespace kd.bos.formula.excel{
            interface NamedExpr_S {
            }
            type NamedExpr_ST = ExprBase_S & NamedExpr_S;
            interface NamedExpr_C extends NamedExpr_ST {
                /**
                 * 有参构造
                 * @param expr 表达式
                 * @param name 名称
                 */
                new(expr:Expr,name:string):NamedExpr;
                /**
                 * 有参构造
                 * @param expr 表达式
                 * @param name 名称
                 * @param hasAs 是否有别名
                 */
                new(expr:Expr,name:string,hasAs:boolean):NamedExpr;
            }
            interface NamedExpr$ {
                /**
                 * 获取名称
                 * @return
                 */
                getName():string;
                /**
                 * 获取表达式对象
                 * @return
                 */
                getExpr():Expr;
            }
            type NamedExpr_T = ExprBase & NamedExpr$;
            interface NamedExpr extends NamedExpr_T {
            }
            interface Operator_S {
                readonly PLUS:Operator;
                readonly NOTLIKE:Operator;
                readonly GE:Operator;
                readonly MOD:Operator;
                readonly NOT:Operator;
                readonly GT:Operator;
                readonly IN:Operator;
                readonly NOTIN:Operator;
                readonly NE:Operator;
                readonly DIVIDE:Operator;
                readonly LE:Operator;
                readonly NE2:Operator;
                readonly AND:Operator;
                readonly XOR:Operator;
                readonly LT:Operator;
                readonly MINUS:Operator;
                readonly TIMES:Operator;
                readonly CONCAT:Operator;
                readonly LIKE:Operator;
                readonly EQ:Operator;
                readonly OR:Operator;
                readonly UMINUS:Operator;
            }
            interface Operator_C extends Operator_S {
            }
            interface Operator$ {
                /**
                 * 公式执行
                 * @param context 公式执行上下文
                 * @param params 参数
                 * @return 公式执行结果
                 */
                execute(context:ExecuteContext,params:Expr[]):any;
                /**
                 * 获取名称
                 * @return
                 */
                getName():string;
            }
            type Operator_T = Operator$;
            interface Operator extends Operator_T {
            }
            interface Visitor_S {
            }
            interface Visitor_C extends Visitor_S {
            }
            interface Visitor$ {
                /**
                 * 遍历表达式执行单元
                 * @param expr 公式分解后的执行单元
                 */
                visit(expr:Expr):void;
            }
            type Visitor_T = Visitor$;
            interface Visitor extends Visitor_T {
            }
            interface BinaryExpr_S {
            }
            type BinaryExpr_ST = BinaryExpr_S & ExprBase_S;
            interface BinaryExpr_C extends BinaryExpr_ST {
                new():BinaryExpr;
            }
            interface BinaryExpr$ {
                /**
                 * 获取表达式比较符
                 * @return
                 */
                getOperator():Operator;
                /**
                 * 获取表达式右侧内容
                 */
                getRight():Expr;
                /**
                 * 获取表达式左侧内容
                 */
                getLeft():Expr;
            }
            type BinaryExpr_T = BinaryExpr$ & ExprBase;
            interface BinaryExpr extends BinaryExpr_T {
            }
            interface ExprBase_S {
            }
            type ExprBase_ST = ExprBase_S & Expr_S;
            interface ExprBase_C extends ExprBase_ST {
                new():ExprBase;
            }
            interface ExprBase$ {
            }
            type ExprBase_T = Expr & ExprBase$;
            interface ExprBase extends ExprBase_T {
            }
            interface ExecuteContext_S {
            }
            interface ExecuteContext_C extends ExecuteContext_S {
            }
            interface ExecuteContext$ {
                /**
                 * 是否包含某个变量
                 * @param key 变量标识
                 * @return  布尔值
                 */
                contains(key:string):boolean;
                /**
                 * 获取变量值
                 * @param key 变量标识
                 * @return  变量值
                 */
                getValue(key:string):any;
                /**
                 * 获取自定义函数
                 * @param name 函数名
                 * @return  自定义函数
                 */
                getUDFunction(name:string):UDFunction;
            }
            type ExecuteContext_T = ExecuteContext$;
            interface ExecuteContext extends ExecuteContext_T {
            }
            interface CompoundId_S {
            }
            type CompoundId_ST = CompoundId_S & ExprBase_S;
            interface CompoundId_C extends CompoundId_ST {
                /**
                 * 有参构造
                 * @param name 全名称
                 */
                new(name:string):CompoundId;
                /**
                 * 有参构造
                 * @param name 全名称
                 * @param isKey 是否主键
                 */
                new(name:string,isKey:boolean):CompoundId;
            }
            interface CompoundId$ {
                /**
                 * 获取拼接全量名称值
                 * @return 名称数组值[]
                 */
                toStringArray():string[];
                /**
                 * 拼接名称
                 */
                append(name:string,isKey:boolean):void;
                /**
                 * 输出名称值
                 * @param end 截至位
                 * @return 名称值
                 */
                toString(end:number):string;
                /**
                 * 拼接名称
                 */
                append(name:string):void;
                /**
                 * 克隆一个新的实例对象
                 * @return
                 */
                clone():any;
            }
            type CompoundId_T = CompoundId$ & ExprBase;
            interface CompoundId extends CompoundId_T {
            }
            interface ExprParser_S {
                /**
                 * 解析表达式
                 * @param formula 表达式
                 * @return  公式分解后的执行单元
                 */
                parse(formula:string):Expr;
            }
            interface ExprParser_C extends ExprParser_S {
                new():ExprParser;
            }
            interface ExprParser$ {
            }
            type ExprParser_T = ExprParser$;
            interface ExprParser extends ExprParser_T {
            }
            interface FunDef_S {
                /**
                 * 通过函数名称获取函数
                 * @param name 函数名
                 * @return
                 */
                getFunDef(name:string):FunDef;
                /**
                 * 函数注册
                 * @param name 函数名
                 * @param e 函数调用执行
                 */
                register(name:string,e:FunCallExecutable):void;
                /**
                 * 获取全部函数名称集合
                 * @return
                 */
                getAllFuncNames():string[];
                /**
                 * 函数注册
                 * @param name 函数名
                 * @param def 函数实例对象
                 */
                register(name:string,def:FunDef):void;
                /**
                 * 函数注册
                 * @param def 函数实例对象
                 */
                register(def:FunDef):void;
                /**
                 * 函数注册
                 * @param names 函数名
                 * @param e 函数调用执行
                 */
                register(names:string[],e:FunCallExecutable):void;
                /**
                 * replace(替换)
                 * 将给定值相等的所有值替换为另一个值
                 * @param str 需要替换的字符
                 * @param r 需要替换的子字符串
                 * @param replacement 替换的字符串
                 * @param n 次数
                 * @return 替换后字符串
                 */
                replace(str:string,r:string,replacement:string,n:number):string;
                /**
                 * 是否为默认函数
                 * @param name
                 * @return
                 */
                contains(name:string):boolean;
                /**
                 * 在文本字符串中用 new_text 替代 old_text
                 * @param text 需要替换其中字符的文本
                 * @param old_text 需要替换的旧文本
                 * @param new_text 用于替换 old_text 的文本
                 * @param number 为一数值，用来指定以 new_text 替换第几次出现的 old_text
                 * @return 替换后字符串
                 */
                substitute(text:string,old_text:string,new_text:string,number_arg:number):string;
            }
            type FunDef_ST = FunCallExecutable_S & FunDef_S;
            interface FunDef_C extends FunDef_ST {
            }
            interface FunDef$ {
                /**
                 * 获取函数名
                 */
                getName():string;
            }
            type FunDef_T = FunCallExecutable & FunDef$;
            interface FunDef extends FunDef_T {
            }
            interface Expr_S {
            }
            interface Expr_C extends Expr_S {
            }
            interface Expr$ {
                /**
                 * 公式执行
                 * @param context 公式执行上下文
                 * @return 公式执行结果
                 */
                execute(context:ExecuteContext):any;
                /**
                 * 计算表达式
                 * @return 是否计算表达式
                 */
                isCalculate():boolean;
                /**
                 * 逻辑表达式
                 * @return 是否逻辑表达式
                 */
                isLogic():boolean;
                /**
                 * 遍历表达式执行单元
                 * @param visitor 表达式执行单元遍历接口
                 */
                accept(visitor:Visitor):void;
                /**
                 *  函数调用
                 * @return 是否函数调用
                 */
                isFuncall():boolean;
            }
            type Expr_T = Expr$;
            interface Expr extends Expr_T {
            }
            interface FunCall_S {
                readonly FUNCTION:number;
                readonly PROPERTY:number;
                readonly METHOD:number;
                /**
                 * 是否为默认基础函数
                 * @param name 函数名
                 * @return
                 */
                isFunCall(name:string):boolean;
            }
            type FunCall_ST = ExprBase_S & FunCall_S;
            interface FunCall_C extends FunCall_ST {
                new():FunCall;
            }
            interface FunCall$ {
                /**
                 * 获取函数参数
                 * @return
                 */
                getParams():Expr[];
                /**
                 * 获取函数名
                 * @return
                 */
                getName():string;
            }
            type FunCall_T = ExprBase & FunCall$;
            interface FunCall extends FunCall_T {
            }
            interface ExprList_S {
            }
            type ExprList_ST = ExprBase_S & ExprList_S;
            interface ExprList_C extends ExprList_ST {
                /**
                 * 有参构造
                 * @param list 表达式
                 * @param paren 有无括号
                 */
                new(list:Expr[],paren:boolean):ExprList;
            }
            interface ExprList$ {
                list:Expr[];
            }
            type ExprList_T = ExprBase & ExprList$;
            interface ExprList extends ExprList_T {
            }
            interface Literal_S {
                readonly one:Literal;
                readonly doubleZero:Literal;
                readonly TYPE_SYMBOL:number;
                readonly doubleOne:Literal;
                readonly TYPE_DOUBLE:number;
                readonly emptyString:Literal;
                readonly TYPE_LONG:number;
                readonly TYPE_INTEGER:number;
                readonly TYPE_STRING:number;
                readonly zero:Literal;
                /**
                 * 有参构造
                 * @param i 整数值
                 * @return
                 */
                create(i:number):Literal;
                /**
                 * 有参构造
                 * @param i long形值
                 * @return
                 */
                create(i:long):Literal;
                /**
                 * 有参构造（有符号）
                 * @param s 字符串类型值
                 * @return
                 */
                createSymbol(s:string):Literal;
                /**
                 * 有参构造（无符号）
                 * @param s 字符串类型值
                 * @return
                 */
                createString(s:string):Literal;
                /**
                 * 有参构造
                 * @param d double精度值
                 * @return
                 */
                create(d:number):Literal;
            }
            type Literal_ST = ExprBase_S & Literal_S;
            interface Literal_C extends Literal_ST {
                new():Literal;
            }
            interface Literal$ {
                type:number;
                /**
                 * 获取字符串类型值
                 * @return
                 */
                stringValue():string;
                /**
                 * 获取值类型
                 * @return
                 */
                getType():number;
                /**
                 * 克隆一个新的对象实例
                 * @return
                 */
                clone():any;
                /**
                 * 获取值
                 * @return
                 */
                getValueObject():any;
            }
            type Literal_T = ExprBase & Literal$;
            interface Literal extends Literal_T {
            }
            interface MapExecuteContext_S {
            }
            type MapExecuteContext_ST = ExecuteContext_S & MapExecuteContext_S;
            interface MapExecuteContext_C extends MapExecuteContext_ST {
                /**
                 * 无参构造
                 */
                new():MapExecuteContext;
                /**
                 * 有参构造
                 * @param variableMap 表达式变量
                 */
                new(variableMap:$.java.util.Map):MapExecuteContext;
            }
            interface MapExecuteContext$ {
                /**
                 * 添加自定义函数
                 * @param func
                 */
                addUDFunction(func:UDFunction):void;
                /**
                 * 获取函数数量大小
                 * @return
                 */
                size():number;
                /**
                 * 有参构造
                 * @param key 表达式变量key
                 * @param value 表达式变量值
                 */
                putValue(key:string,value:any):void;
            }
            type MapExecuteContext_T = ExecuteContext & MapExecuteContext$;
            interface MapExecuteContext extends MapExecuteContext_T {
            }
            interface VerifyVisitor_S {
            }
            type VerifyVisitor_ST = VerifyVisitor_S & Visitor_S;
            interface VerifyVisitor_C extends VerifyVisitor_ST {
                /**
                 * 有参构造
                 * @param ctx 公式执行上下文
                 */
                new(ctx:ExecuteContext):VerifyVisitor;
            }
            interface VerifyVisitor$ {
                /**
                 * 获取无效变量
                 * @return
                 */
                getInvalidSymboList():$.java.util.List;
                /**
                 * 获取有效变量
                 * @return
                 */
                getValidSymboList():$.java.util.List;
            }
            type VerifyVisitor_T = VerifyVisitor$ & Visitor;
            interface VerifyVisitor extends VerifyVisitor_T {
            }
            interface FormulaException_S {
            }
            type FormulaException_ST = $.java.lang.RuntimeException & FormulaException_S;
            interface FormulaException_C extends FormulaException_ST {
                /**
                 * 无参构造函数
                 */
                new():FormulaException;
                /**
                 * 构造函数
                 * @param cause 异常对象
                 */
                new(cause:$.java.lang.Throwable):FormulaException;
                /**
                 * 构造函数
                 * @param message 异常消息
                 */
                new(message:string):FormulaException;
                /**
                 * 构造函数
                 * @param message 异常消息
                 * @param cause 异常对象
                 */
                new(message:string,cause:$.java.lang.Throwable):FormulaException;
            }
            interface FormulaException$ {
            }
            type FormulaException_T = $.java.lang.RuntimeException & FormulaException$;
            interface FormulaException extends FormulaException_T {
            }
            interface FunCallExecutable_S {
            }
            interface FunCallExecutable_C extends FunCallExecutable_S {
            }
            interface FunCallExecutable$ {
                execute(call:FunCall,context:ExecuteContext):any;
            }
            type FunCallExecutable_T = FunCallExecutable$;
            interface FunCallExecutable extends FunCallExecutable_T {
            }
            interface UDFunction_S {
            }
            interface UDFunction_C extends UDFunction_S {
            }
            interface UDFunction$ {
                /**
                 * 获取自定义函数名称
                 * @return 自定义函数名称
                 */
                getName():string;
                /**
                 * 自定义函数具体执行方法
                 * @param params 自定义函数
                 * @return 运行结果
                 */
                call(...params:any[]):any;
            }
            type UDFunction_T = UDFunction$;
            interface UDFunction extends UDFunction_T {
            }
            interface Paren_S {
            }
            type Paren_ST = ExprBase_S & Paren_S;
            interface Paren_C extends Paren_ST {
                new():Paren;
            }
            interface Paren$ {
                /**
                 * 获取表达式
                 * @return
                 */
                getExpr():Expr;
            }
            type Paren_T = ExprBase & Paren$;
            interface Paren extends Paren_T {
            }
        }
        namespace kd.bos.formula.functions{
            interface Avg_S {
            }
            type Avg_ST = Avg_S & kd.bos.formula.excel.UDFunction_S;
            interface Avg_C extends Avg_ST {
                new():Avg;
            }
            interface Avg$ {
            }
            type Avg_T = Avg$ & kd.bos.formula.excel.UDFunction;
            interface Avg extends Avg_T {
            }
            interface Min_S {
            }
            type Min_ST = Min_S & kd.bos.formula.excel.UDFunction_S;
            interface Min_C extends Min_ST {
                new():Min;
            }
            interface Min$ {
            }
            type Min_T = Min$ & kd.bos.formula.excel.UDFunction;
            interface Min extends Min_T {
            }
            interface Max_S {
            }
            type Max_ST = Max_S & kd.bos.formula.excel.UDFunction_S;
            interface Max_C extends Max_ST {
                new():Max;
            }
            interface Max$ {
            }
            type Max_T = Max$ & kd.bos.formula.excel.UDFunction;
            interface Max extends Max_T {
            }
            interface Sum_S {
            }
            type Sum_ST = Sum_S & kd.bos.formula.excel.UDFunction_S;
            interface Sum_C extends Sum_ST {
                new():Sum;
            }
            interface Sum$ {
            }
            type Sum_T = Sum$ & kd.bos.formula.excel.UDFunction;
            interface Sum extends Sum_T {
            }
            interface Count_S {
            }
            type Count_ST = Count_S & kd.bos.formula.excel.UDFunction_S;
            interface Count_C extends Count_ST {
                new():Count;
            }
            interface Count$ {
            }
            type Count_T = Count$ & kd.bos.formula.excel.UDFunction;
            interface Count extends Count_T {
            }
            interface If_S {
            }
            type If_ST = If_S & kd.bos.formula.excel.UDFunction_S;
            interface If_C extends If_ST {
                new():If;
            }
            interface If$ {
            }
            type If_T = If$ & kd.bos.formula.excel.UDFunction;
            interface If extends If_T {
            }
        }
        namespace kd.bos.formula.platform{
            interface FormulaPlatformModule_S {
            }
            type FormulaPlatformModule_ST = $.kd.sdk.module.Module & FormulaPlatformModule_S;
            interface FormulaPlatformModule_C extends FormulaPlatformModule_ST {
                new():FormulaPlatformModule;
            }
            interface FormulaPlatformModule$ {
            }
            type FormulaPlatformModule_T = $.kd.sdk.module.Module & FormulaPlatformModule$;
            interface FormulaPlatformModule extends FormulaPlatformModule_T {
            }
        }
        namespace kd.bos.formula.platform.api{
            interface IFuncInfo_S {
            }
            interface IFuncInfo_C extends IFuncInfo_S {
            }
            interface IFuncInfo$ {
                /**
                 * 获取函数描述，用法说明
                 * @return 函数描述，用法说明
                 */
                getFuncDesc():string;
                /**
                 * 设置带括号、参数的完整函数表达式： funcName()；可不设置，由系统自动生成
                 * @param formula 函数表达式
                 */
                setFuncFormula(formula:string):void;
                /**
                 * 设置函数参数配置界面FormId，可不设置
                 * @param formId 函数参数配置界面FormId
                 */
                setParaFormId(formId:string):void;
                /**
                 * 获取函数参数配置界面FormId
                 * @return 函数参数配置界面FormId
                 */
                getParaFormId():string;
                /**
                 * 输出函数分组目录
                 * @return 函数分组目录
                 */
                getFuncCatetory():string;
                /**
                 * 获取函数标题 (中文，显示在函数树上)
                 * @return 函数标题
                 */
                getFuncCaption():string;
                /**
                 * 设置函数标题（中文，显示在函数树上）
                 * @param caption 函数标题
                 */
                setFuncCaption(caption:string):void;
                /**
                 * 设置函数名(英文，区分大小写)
                 * @param name 函数名
                 */
                setFuncName(name:string):void;
                /**
                 * 获取函数名(英文，区分大小写)
                 * @return 函数名
                 */
                getFuncName():string;
                /**
                 * 获取函数分组目录
                 * @param category 函数分组目录
                 */
                setFuncCatetory(category:string):void;
                /**
                 * 设置函数描述，用法说明
                 * @param desc 函数描述，用法说明
                 */
                setFuncDesc(desc:string):void;
                /**
                 * 插入到公式中的函数表达式，带括号、参数： funcName(param1, param2)
                 * @return 函数表达式
                 */
                getFuncFormula():string;
            }
            type IFuncInfo_T = IFuncInfo$;
            interface IFuncInfo extends IFuncInfo_T {
            }
            interface IVarInfo_S {
                readonly FORMULA_RESULT_STR:string;
                readonly VAR_SCOPE_LOCAL:string;
                readonly VAR_TYPE_BOOLEAN:string;
                readonly VAR_TYPE_STRING:string;
                readonly VAR_TYPE_DATE:string;
                readonly VAR_TYPE_LONG:string;
                readonly VAR_SCOPE_RETURN:string;
                readonly VAR_TYPE_INT:string;
                readonly VAR_TYPE_BIGDECIMAL:string;
                readonly VAR_TYPE_DOUBLE:string;
                readonly VAR_SCOPE_IN:string;
                /**
                 * 分解注释条目
                 *
                 * @param commentLeft 需分解的条目名：var_name
                 * @param commentLine 完整内容：//{bos_formula_comments_var|var_name=name|var_scope=scope|var_desc=desc|var_type=type|var_alias=alias}
                 * @return 输出条目内容：name
                 */
                innerDealVarComments(commentLeft:string,commentLine:string):string;
                /**
                 * 生成变量定义描述字符串
                 * @return 变量定义描述字符串
                 */
                genVarStr(varInfo:IVarInfo):string;
                /**
                 * 解析传入的脚本当前行内容，如果是变量定义，则转为变量对象输出
                 *
                 * @param line 当前脚本行 //{bos_formula_comments_var|var_name=name|var_scope=scope|var_desc=desc|var_type=type|var_alias=alias}
                 * @return 公式变量信息
                 */
                get(line:string):IVarInfo;
            }
            interface IVarInfo_C extends IVarInfo_S {
            }
            interface IVarInfo$ {
                /**
                 * 得到变量初值
                 *
                 * @return 变量初值
                 */
                getVarInitval():string;
                /**
                 * 得到变量描述
                 *
                 * @return 变量描述
                 */
                getVarDesc():string;
                /**
                 * 得到变量别名
                 *
                 * @return 变量别名
                 */
                getVarAlias():string;
                /**
                 * 得到变量作用域：返回值、输入、本地
                 *
                 * @return 变量作用域
                 */
                getVarScope():string;
                /**
                 * 得到变量类型：数值、字符、日期、布尔、单据
                 *
                 * @return 变量类型
                 */
                getVarType():string;
                /**
                 * 得到变量名
                 *
                 * @return 变量名
                 */
                getVarName():string;
            }
            type IVarInfo_T = IVarInfo$;
            interface IVarInfo extends IVarInfo_T {
            }
            interface VarInfo_S {
            }
            type VarInfo_ST = IVarInfo_S & VarInfo_S;
            interface VarInfo_C extends VarInfo_ST {
                /**
                 * 构造函数，不带参数，适用于反序列化
                 */
                new():VarInfo;
                /**
                 * 构造函数
                 * @param name 变量名
                 * @param alias 变量别名
                 * @param type 变量类型
                 * @param initval 变量初值
                 * @param scope 变量作用域
                 * @param desc 变量描述
                 */
                new(name:string,alias:string,type_arg:string,initval:string,scope:string,desc:string):VarInfo;
            }
            interface VarInfo$ {
                /**
                 * 设置变量名
                 * @param str 变量名
                 */
                setVarName(str:string):void;
                /**
                 * 设置变量类型
                 * @param str 变量类型
                 */
                setVarType(str:string):void;
                /**
                 * 设置变量初值
                 * @param str 变量初值
                 */
                setVarInitval(str:string):void;
                /**
                 * 设置变量描述
                 * @param str 变量描述
                 */
                setVarDesc(str:string):void;
                /**
                 * 设置变量别名
                 * @param str 变量别名
                 */
                setVarAlias(str:string):void;
                /**
                 * 设置变量作用域
                 * @param str 变量作用域
                 */
                setVarScope(str:string):void;
            }
            type VarInfo_T = IVarInfo & VarInfo$;
            interface VarInfo extends VarInfo_T {
            }
            interface InvokeFunctionException_S {
                readonly LESS_PARAM:number;
                readonly MORE_PARAM:number;
                readonly WRONG_PARAM_TYPE:number;
            }
            type InvokeFunctionException_ST = $.java.lang.Exception & InvokeFunctionException_S;
            interface InvokeFunctionException_C extends InvokeFunctionException_ST {
                /**
                 * 构造函数
                 * @param name 函数名称
                 */
                new(name:string):InvokeFunctionException;
                /**
                 * 构造函数
                 * @param name 函数名称
                 * @param t 异常对象
                 */
                new(name:string,t:$.java.lang.Throwable):InvokeFunctionException;
                /**
                 * 构造函数
                 * @param name 函数名称
                 * @param msg 异常消息
                 */
                new(name:string,msg:string):InvokeFunctionException;
                /**
                 * 构造函数
                 * @param name 函数名称
                 * @param type 异常类型
                 */
                new(name:string,type_arg:number):InvokeFunctionException;
            }
            interface InvokeFunctionException$ {
            }
            type InvokeFunctionException_T = $.java.lang.Exception & InvokeFunctionException$;
            interface InvokeFunctionException extends InvokeFunctionException_T {
            }
            interface FuncInfo_S {
                readonly CATEGORY_STRING:string;
                readonly CATEGORY_OTHER:string;
                readonly CATEGORY_TIME:string;
                readonly CATEGORY_NULLJUDGE:string;
                readonly CATEGORY_MATH:string;
                readonly CATEGORY_SET:string;
                readonly CATEGORY_IO:string;
            }
            type FuncInfo_ST = FuncInfo_S & IFuncInfo_S;
            interface FuncInfo_C extends FuncInfo_ST {
                /**
                 * 构造函数
                 */
                new():FuncInfo;
                /**
                 * 构造函数
                 * @param name 函数名称
                 * @param caption 函数标题
                 * @param formula 函数表达式
                 * @param category 函数分组目录
                 * @param desc 函数描述，用法说明
                 */
                new(name:string,caption:string,formula:string,category:string,desc:string):FuncInfo;
                /**
                 * 构造函数
                 * @param name 函数名称
                 * @param caption 函数标题
                 * @param formula 函数表达式
                 * @param category 函数分组目录
                 * @param desc 函数描述，用法说明
                 * @param formId 函数参数配置界面FormId
                 */
                new(name:string,caption:string,formula:string,category:string,desc:string,formId:string):FuncInfo;
            }
            interface FuncInfo$ {
                /**
                 * 构建函数树
                 * @param parent 本节点
                 * @return  树节点
                 */
                buildFuncTree(parent:$.kd.bos.entity.tree.TreeNode):$.kd.bos.entity.tree.TreeNode;
            }
            type FuncInfo_T = FuncInfo$ & IFuncInfo;
            interface FuncInfo extends FuncInfo_T {
            }
            interface IFormulaVarInfos_S {
                /**
                 * 输出本接口的默认实现类
                 * @return  输出本接口的默认实现类
                 */
                get():IFormulaVarInfos;
            }
            interface IFormulaVarInfos_C extends IFormulaVarInfos_S {
            }
            interface IFormulaVarInfos$ {
                /**
                 * 得到公式代码中的变量定义
                 * @param formulaStr 要解析的公式代码
                 * @return 公式代码中的所有变量定义信息
                 */
                getFormulaVars(formulaStr:string):IVarInfo[];
                /**
                 * 基于传入的变量集合，生成变量定义代码块
                 *
                 * var name
                 * {bos_formula_comments_var|var_name=name|var_scope=scope|var_desc=desc|var_type=type|var_alias=alias}
                 * @return String 变量定义代码块
                 */
                genVarsDefBlock(vars:$.java.lang.Iterable):string;
                /**
                 * 去掉脚本中的描述性语句，输出用于查看的脚本内容：脚本中，会包含变量定义代码块、返回值代码块等，这些内容在运行时必须，但是在查看脚本时，就显得冗余，需要去掉
                 *
                 * 1. 去掉 //{bos_formula_comments_var 开头语句，变量描述
                 * 2. 去掉 //bizenum 开头语句，枚举项定义
                 * 3. 去掉 return formula_result;
                 * @return  脚本内容
                 */
                getDisplayString(formulaStr:string):string;
            }
            type IFormulaVarInfos_T = IFormulaVarInfos$;
            interface IFormulaVarInfos extends IFormulaVarInfos_T {
            }
            interface IFormulaFunctions_S {
            }
            type IFormulaFunctions_ST = IFormulaFunctions_S & kd.bos.kscript.IFunctionProvider_S;
            interface IFormulaFunctions_C extends IFormulaFunctions_ST {
            }
            interface IFormulaFunctions$ {
                /**
                 * 输出函数自定义参数配置界面FormId，页面插件，必须实现 IFuncParamInputFormPlugin 接口
                 *
                 * @param funcName 函数名称
                 * @return 参数配置页面FormId
                 */
                getParaFormId(funcName:string):string;
                /**
                 * 得到某函数的中文标题,可以返回空，以英文函数名为标题
                 *
                 * @param funcName 函数名
                 * @return 函数名
                 */
                getFuncCaption(funcName:string):string;
                /**
                 * 得到某函数的完整表达式,可以返回空，自动以 "funcName()" 作为表达式
                 *
                 * @param funcName 函数名
                 * @return 表达式
                 */
                getFuncFormula(funcName:string):string;
                /**
                 * 得到某函数的分类名称
                 *
                 * @param funcName 函数名称
                 * @return 该函数的分类名称
                 */
                getFuncCategory(funcName:string):string;
                /**
                 * 得到某函数的描述
                 *
                 * @param funcName 函数名称
                 * @return 该函数的描述
                 */
                getFuncDesc(funcName:string):string;
                /**
                 * 得到本函数扩展对象所支持的所有函数名称
                 *
                 * @return 公式代码中的所有变量定义信息
                 */
                getAllFuncNames():string[];
            }
            type IFormulaFunctions_T = IFormulaFunctions$ & kd.bos.kscript.IFunctionProvider;
            interface IFormulaFunctions extends IFormulaFunctions_T {
            }
            interface IFormulaGrammarVerifier_S {
                /**
                 * 输出本接口的默认实现类
                 *
                 * @return  输出本接口的默认实现类
                 */
                get():IFormulaGrammarVerifier;
            }
            interface IFormulaGrammarVerifier_C extends IFormulaGrammarVerifier_S {
            }
            interface IFormulaGrammarVerifier$ {
                /**
                 * 验证是否符合KScript语法
                 * @param formulaStr 要验证的公式代码
                 * @return 返回true表示符合，false表示不符合。
                 */
                isCompatibleWithKScript(formulaStr:string):boolean;
                /**
                 * 验证是否为formula_result设置了值
                 * @param formulaStr 要验证的公式代码
                 * @return 为true，则设置了formula_result，为false则没有设置。
                 */
                hasSetFormulaResult(formulaStr:string):boolean;
                /**
                 * 验证是否符合BOS Formula语法
                 * @param formulaStr 要验证的公式代码
                 * @return 返回true表示符合，false表示不符合。
                 */
                isCompatibleWithBOSFormula(formulaStr:string):boolean;
            }
            type IFormulaGrammarVerifier_T = IFormulaGrammarVerifier$;
            interface IFormulaGrammarVerifier extends IFormulaGrammarVerifier_T {
            }
        }
        namespace kd.bos.formula.platform.api.funcpara{
            interface IFuncParamInputFormPlugin_S {
                readonly CustParam_FuncInfo:string;
            }
            type IFuncParamInputFormPlugin_ST = $.kd.bos.form.func.IFuncParamEditor & IFuncParamInputFormPlugin_S;
            interface IFuncParamInputFormPlugin_C extends IFuncParamInputFormPlugin_ST {
            }
            interface IFuncParamInputFormPlugin$ {
                /**
                 * 获取公式平台编辑参数，其中包含了输入变量、当前实体等信息
                 * @return 公式平台编辑参数
                 */
                getDesignerParameter?():$.kd.bos.formula.platform.builder.FormulaDesignerParameter;
                /**
                 * 获取当前选择的函数信息
                 *
                 * @param view 函数自定义参数配置界面view
                 * @return 函数信息
                 */
                getFuncInfo?():$.kd.bos.formula.platform.api.FuncInfo;
            }
            type IFuncParamInputFormPlugin_T = $.kd.bos.form.func.IFuncParamEditor & IFuncParamInputFormPlugin$;
            interface IFuncParamInputFormPlugin extends IFuncParamInputFormPlugin_T {
            }
        }
        namespace kd.bos.formula.platform.builder{
            interface FormulaDesignerParameter_S {
                readonly MODE_HR:number;
                readonly MODE_Script:number;
                readonly MODE_KSQL:number;
                readonly MODE_Formula:number;
            }
            interface FormulaDesignerParameter_C extends FormulaDesignerParameter_S {
                new():FormulaDesignerParameter;
            }
            interface FormulaDesignerParameter$ {
                /**
                 * 公式依赖的单据、及其树节点构建参数
                 * @return 公式依赖的单据、及其树节点构建参数
                 */
                getEntities():$.java.util.Map;
                /**
                 * 获取运行模式
                 * @return 运行模式
                 */
                getRunMode():number;
                /**
                 * 添加变量
                 * @param varInfo 公式变量信息
                 */
                addVarInfo(varInfo:kd.bos.formula.platform.api.VarInfo):void;
                /**
                 * 获取已经注入的全部函数信息
                 * @return 已经注入的全部函数信息
                 */
                getFuncInfos():$.java.util.List;
                /**
                 * 启用平台预置的基本函数
                 */
                addBaseFormulaFunctions():void;
                /**
                 * 当前编辑的脚本内容(KScript)
                 * @param formulaStr 表达式字符串
                 */
                setFormulaStr(formulaStr:string):void;
                /**
                 * 获取公式依赖的输入变量集合
                 * @return 变量集合
                 */
                getVarInfos():$.java.util.List;
                /**
                 * 是否可编辑
                 * @return 是否可编辑
                 */
                isEditable():boolean;
                /**
                 * 清除已经注入的全部函数（包括平台预置的基本函数）
                 */
                clearFunctions():void;
                /**
                 * 获取当前编辑的脚本内容(KScript)
                 * @return 表达式字符串
                 */
                getFormulaStr():string;
                /**
                 * 此方法主要用于反序列化本对象，勿调用。如果需要增加业务，请使用addEntity方法
                 * @param entities 公式依赖的单据、及其树节点构建参数
                 */
                setEntities(entities:$.java.util.Map):void;
                /**
                 * 运行模式：脚本、四则运算、 KSQL、HR
                 * @param runMode 运行模式
                 */
                setRunMode(runMode:number):void;
                /**
                 * 添加函数扩展。
                 *
                 * @param functions
                 *            用户自己定义的函数扩展。
                 */
                addFormulaFunctions(functions:kd.bos.formula.platform.api.IFormulaFunctions):void;
                /**
                 * 增加公式平台需要使用的业务对象实体编码，以及用于构建树节点的参数对象
                 * @param entityNumber 业务对象实体编码
                 * @param option 业务对象树节点构建参数，可以在参数中，设置只显示那个单据体的字段，只显示什么字段
                 */
                addEntity(entityNumber:string,option:$.kd.bos.metadata.treebuilder.PropTreeBuildOption):void;
                /**
                 * 增加公式平台需要使用的业务对象实体编码
                 * @param entityNumber 业务对象实体编码
                 */
                addEntity(entityNumber:string):void;
                /**
                 * 设置函数集合：此方法用于反序列化时，还原已经注入的全部函数信息。外部程序请勿调用，要注入函数，请使用addFormulaFunctions函数
                 *
                 * @param funcInfos 函数信息集合
                 */
                setFuncInfos(funcInfos:$.java.util.List):void;
                /**
                 * 批量添加函数扩展
                 * @param functions 函数集合
                 */
                addBatchFormulaFunctions(functions:$.java.util.List):void;
                /**
                 * 公式依赖的变量
                 * @param varInfos 公式依赖的变量集合
                 */
                setVarInfos(varInfos:$.java.util.List):void;
                /**
                 * 设置是否可编辑
                 * @param editable 是否可编辑
                 */
                setEditable(editable:boolean):void;
            }
            type FormulaDesignerParameter_T = FormulaDesignerParameter$;
            interface FormulaDesignerParameter extends FormulaDesignerParameter_T {
            }
            interface FormulaDesignerResult_S {
            }
            interface FormulaDesignerResult_C extends FormulaDesignerResult_S {
                new():FormulaDesignerResult;
            }
            interface FormulaDesignerResult$ {
                /**
                 * 设置脚本内容
                 * @param formulaStr 脚本内容
                 */
                setFormulaStr(formulaStr:string):void;
                /**
                 * 设置中文别名公式内容
                 * @param formulaAliasStr 中文别名公式内容
                 */
                setFormulaAliasStr(formulaAliasStr:string):void;
                /**
                 * 脚本内容
                 * @return 脚本内容
                 */
                getFormulaStr():string;
                /**
                 * 中文别名公式内容
                 * @return 中文别名公式内容
                 */
                getFormulaAliasStr():string;
            }
            type FormulaDesignerResult_T = FormulaDesignerResult$;
            interface FormulaDesignerResult extends FormulaDesignerResult_T {
            }
            interface FormulaDesigner_S {
                /**
                 * 获取用户已经编辑好的公式内容，仅适合于嵌入式打开公式平台子页面，由父页面主动获取公式内容
                 *
                 * @param parentView 父页面
                 * @param pageId 公式平台子页面PageId
                 * @return 公式内容
                 */
                getFormulaStr(parentView:$.kd.bos.form.IFormView,pageId:string):FormulaDesignerResult;
                /**
                 * 在父页面的容器面板中，显示公式平台编辑子页面
                 *
                 * @param parentView 父页面
                 * @param targetPanel 容器面板
                 * @param parameter 公式平台显示参数
                 *
                 * @return 公式平台子页面 pageId，父页面需要主动使用子页面pageId获取已经编辑好的公式
                 */
                showInContainer(parentView:$.kd.bos.form.IFormView,targetPanel:string,parameter:FormulaDesignerParameter):string;
                /**
                 * 使用模态窗口显示公式编辑页面
                 *
                 * @param parentView 父页面
                 * @param closeCallBack 用户关闭公式编辑页面时，回调参数
                 * @param parameter 公式平台显示参数
                 *
                 * @return 公式平台子页面 pageId
                 */
                showModal(parentView:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack,parameter:FormulaDesignerParameter):string;
            }
            interface FormulaDesigner_C extends FormulaDesigner_S {
                new():FormulaDesigner;
            }
            interface FormulaDesigner$ {
            }
            type FormulaDesigner_T = FormulaDesigner$;
            interface FormulaDesigner extends FormulaDesigner_T {
            }
        }
        namespace kd.bos.formula.platform.engine{
            interface RunFormulaException_S {
            }
            type RunFormulaException_ST = $.java.lang.Exception & RunFormulaException_S;
            interface RunFormulaException_C extends RunFormulaException_ST {
                /**
                 * 构造函数
                 * @param t 异常对象
                 */
                new(t:$.java.lang.Throwable):RunFormulaException;
                /**
                 * 构造函数
                 * @param msg 异常信息
                 */
                new(msg:string):RunFormulaException;
            }
            interface RunFormulaException$ {
            }
            type RunFormulaException_T = $.java.lang.Exception & RunFormulaException$;
            interface RunFormulaException extends RunFormulaException_T {
            }
            interface FormulaException_S {
            }
            type FormulaException_ST = $.java.lang.RuntimeException & FormulaException_S;
            interface FormulaException_C extends FormulaException_ST {
                /**
                 * 构造函数
                 */
                new():FormulaException;
                /**
                 * 构造函数
                 * @param cause 异常对象
                 */
                new(cause:$.java.lang.Throwable):FormulaException;
                /**
                 * 构造函数
                 * @param message 异常信息
                 */
                new(message:string):FormulaException;
                /**
                 * 构造函数
                 * @param message 异常信息
                 * @param cause 异常对象
                 */
                new(message:string,cause:$.java.lang.Throwable):FormulaException;
            }
            interface FormulaException$ {
            }
            type FormulaException_T = $.java.lang.RuntimeException & FormulaException$;
            interface FormulaException extends FormulaException_T {
            }
            interface FormulaEngine_S {
                /**
                 * 获取int类型值
                 * @param obj Integer类型对象
                 * @return int类型值
                 */
                getIntValue(obj:any):number;
                /**
                 * 获取double类型值
                 * @param obj Double类型对象
                 * @return double类型值
                 */
                getDoubleValue(obj:any):number;
                /**
                 * 获取byte类型值
                 * @param obj Byte类型对象
                 * @return byte类型值
                 */
                getByteValue(obj:any):number;
                /**
                 * 获取boolean类型值
                 * @param obj Boolean类型对象
                 * @return boolean类型值
                 */
                getBooleanValue(obj:any):boolean;
                /**
                 * 获取short类型值
                 * @param obj Short类型对象
                 * @return short类型值
                 */
                getShortValue(obj:any):number;
                /**
                 * 获取BigDecimal类型值
                 * @param obj BigDecimal类型对象
                 * @return BigDecimal类型值
                 */
                getBigDecmialValue(obj:any):$.java.math.BigDecimal;
                /**
                 * 注册函数扩展。
                 *
                 * @param functions 要添加的函数扩展。
                 */
                registerFunctions(functions:kd.bos.formula.platform.api.IFormulaFunctions):void;
                /**
                 * 运行公式。
                 *
                 * @param interpreter
                 * @param formulaStr  运行的公式代码字符串。
                 * @param paramCtx    公式变量键值对。
                 * @return 运行结果。
                 */
                runFormula(interpreter:kd.bos.kscript.runtime.Interpreter,formulaStr:string,paramCtx:$.java.util.Map):any;
                /**
                 * 运行公式。
                 *
                 * @param formulaStr 运行的公式代码字符串。
                 * @param paramCtx   公式变量键值对。
                 * @return 运行结果。
                 */
                runFormula(formulaStr:string,paramCtx:$.java.util.Map):any;
                /**
                 * 运行公式。
                 *
                 * @param formulaStr 运行的公式代码字符串。
                 * @param params     按照公式传入变量定义顺序传入的对应对象数组。
                 * @return 运行结果。
                 */
                runFormula(formulaStr:string,params:any[]):any;
                /**
                 * 获取long类型值
                 * @param obj Long类型对象
                 * @return long类型值
                 */
                getLongValue(obj:any):long;
                /**
                 * 获取float类型值
                 * @param obj Float类型对象
                 * @return float类型值
                 */
                getFloatValue(obj:any):number;
                /**
                 * 获取char类型值
                 * @param obj Character类型对象
                 * @return char类型值
                 */
                getCharValue(obj:any):string;
            }
            interface FormulaEngine_C extends FormulaEngine_S {
                new():FormulaEngine;
            }
            interface FormulaEngine$ {
            }
            type FormulaEngine_T = FormulaEngine$;
            interface FormulaEngine extends FormulaEngine_T {
            }
        }
        namespace kd.bos.framework{
            interface FrameworkModule_S {
            }
            type FrameworkModule_ST = $.kd.sdk.module.Module & FrameworkModule_S;
            interface FrameworkModule_C extends FrameworkModule_ST {
                new():FrameworkModule;
            }
            interface FrameworkModule$ {
            }
            type FrameworkModule_T = $.kd.sdk.module.Module & FrameworkModule$;
            interface FrameworkModule extends FrameworkModule_T {
            }
        }
        namespace kd.bos.framework.lifecycle{
            interface Service_S {
            }
            interface Service_C extends Service_S {
            }
            interface Service$ {
                /**
                 * 判断服务是否启动完成
                 * 用以实现服务之间依赖，如果B依赖于A，那么B的启动要等A.isStarted()=true
                 * @return
                 */
                isStarted():boolean;
                /**
                 * 获取服务名字
                 *
                 * @return
                 */
                getName():string;
                /**
                 * 服务启动
                 */
                start():void;
                /**
                 * 停止服务
                 */
                stop():void;
            }
            type Service_T = Service$;
            interface Service extends Service_T {
            }
        }
        namespace kd.bos.framework.lifecycle.appstart{
            interface AppStarter_S {
            }
            interface AppStarter_C extends AppStarter_S {
            }
            interface AppStarter$ {
                /**
                 * app启动
                 */
                start():void;
            }
            type AppStarter_T = AppStarter$;
            interface AppStarter extends AppStarter_T {
            }
        }
        namespace kd.bos.fulltext.storage{
            interface FieldValue_S {
            }
            interface FieldValue_C extends FieldValue_S {
                new(name:string,value:any):FieldValue;
            }
            interface FieldValue$ {
                getValue():any;
                getName():string;
            }
            type FieldValue_T = FieldValue$;
            interface FieldValue extends FieldValue_T {
            }
        }
        namespace kd.bos.id{
            interface IDRange_S {
            }
            interface IDRange_C extends IDRange_S {
                new():IDRange;
            }
            interface IDRange$ {
                getMinId():long;
                getMaxId():long;
            }
            type IDRange_T = IDRange$;
            interface IDRange extends IDRange_T {
            }
            interface IDModule_S {
            }
            type IDModule_ST = $.kd.sdk.module.Module & IDModule_S;
            interface IDModule_C extends IDModule_ST {
                new():IDModule;
            }
            interface IDModule$ {
            }
            type IDModule_T = $.kd.sdk.module.Module & IDModule$;
            interface IDModule extends IDModule_T {
            }
            interface ID_S {
                /**
                 * 将长整型 ID 转换为字符串形式。
                 * 调用 Base39Coder 的 toString 方法进行转换。
                 *
                 * @param id 待转换的长整型 ID
                 * @return 转换后的字符串 ID
                 */
                toStringId(id:long):string;
                /**
                 * 获取创建id的时间
                 */
                getCreateTime(id:string):Date;
                /**
                 * 批量生成long类型ID
                 *
                 * @param count 数量
                 * @return 批量ID
                 */
                genLongIds(count:number):long[];
                /**
                 * 获取<tt>date</tt>那天创建的ID值范围
                 */
                getIDRangeOfDay(date:Date):IDRange;
                /**
                 * 字符类型ID，最大长度12，是产生long值ID后再用Base39编码进行转换所得，它和long值保持一一对应关系，是有序的。
                 *
                 * <p>
                 * Base39字符集：<code>+/0123456789=ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>
                 *
                 * <p>
                 * 常用作实体主键
                 *
                 * @return String类型ID
                 */
                genStringId():string;
                /**
                 * Base36编码字符ID -> long ID
                 */
                longFrom36Radix(idOf36Radix:string):long;
                /**
                 * 获取创建id的时间
                 */
                getCreateTime(id:long):Date;
                /**
                 * @return long类型ID，常用作实体主键。
                 */
                genLongId():long;
                /**
                 * 将字符串形式的 ID 转换为长整型。
                 * 调用 Base39Coder 的 toLong 方法进行转换。
                 *
                 * @param id 待转换的字符串 ID
                 * @return 转换后的长整型 ID
                 */
                toLongId(id:string):long;
                /**
                 * 批量生成字符类型ID
                 *
                 * @param count 数量
                 * @return 批量ID
                 */
                genStringIds(count:number):string[];
                /**
                 * long ID -> Base36编码字符ID (最大长度13)
                 *
                 * <p>
                 * Base36字符集：<code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>
                 *
                 * <p>
                 * 比Base39少了三个字符：<code>+/=</code>
                 *
                 * <p>
                 * 用于只接受数字和字符的场合，不可用作实体主键。
                 */
                longTo36Radix(id:long):string;
            }
            interface ID_C extends ID_S {
            }
            interface ID$ {
            }
            type ID_T = ID$;
            interface ID extends ID_T {
            }
        }
        namespace kd.bos.image.pojo{
            interface NoticeImageInfo_S {
            }
            interface NoticeImageInfo_C extends NoticeImageInfo_S {
                new():NoticeImageInfo;
            }
            interface NoticeImageInfo$ {
                getOrgId():string;
                setReason(arg0:string):void;
                getImageNo():string;
                setType(arg0:string):void;
                setUserAccount(arg0:string):void;
                getType():string;
                getUserAccount():string;
                setDescription(arg0:string):void;
                setUserId(arg0:string):void;
                setBillId(arg0:string):void;
                getReason():string;
                getDescription():string;
                setOrgName(arg0:string):void;
                setImageNo(arg0:string):void;
                getName():string;
                getOrgName():string;
                setName(arg0:string):void;
                getUserId():string;
                getBillId():string;
                setOrgId(arg0:string):void;
            }
            type NoticeImageInfo_T = NoticeImageInfo$;
            interface NoticeImageInfo extends NoticeImageInfo_T {
            }
            interface ViewImageVo_S {
            }
            interface ViewImageVo_C extends ViewImageVo_S {
                new():ViewImageVo;
            }
            interface ViewImageVo$ {
                getImageNo():string;
                isMobile():boolean;
                isRelated():boolean;
                getIsEdit():string;
                setUrl(arg0:string):void;
                setRelated(arg0:boolean):void;
                getIsRelated():boolean;
                getUserId():string;
                setImageSys(arg0:string):void;
                getBillId():string;
                setType(arg0:string):void;
                setIsRelated(arg0:boolean):void;
                getMessage():string;
                getType():string;
                setUserName(arg0:string):void;
                getOrgId():string;
                setBillId(arg0:string):void;
                setIsEdit(arg0:string):void;
                getImageSys():string;
                getUrl():string;
                setUserId(arg0:string):void;
                setBilltype(arg0:string):void;
                setOrgId(arg0:string):void;
                getUserName():string;
                setImageNo(arg0:string):void;
                setMessage(arg0:string):void;
                getBilltype():string;
                setMobile(arg0:boolean):void;
            }
            type ViewImageVo_T = ViewImageVo$;
            interface ViewImageVo extends ViewImageVo_T {
            }
            interface ImageInfo_S {
                covertImageInfo(arg0:ImageInfo,arg1:string):$.kd.bos.dataentity.entity.DynamicObject;
                buildImageInfoListByBillDatas(arg0:$.kd.bos.dataentity.entity.DynamicObject[],arg1:$.java.util.Map,arg2:string):$.java.util.List;
            }
            type ImageInfo_ST = $.java.io.Serializable & ImageInfo_S;
            interface ImageInfo_C extends ImageInfo_ST {
                new():ImageInfo;
            }
            interface ImageInfo$ {
                setScanclientip(arg0:string):void;
                setProcessingId(arg0:string):void;
                getBillData():string;
                setBillData(arg0:string):void;
                setImageNo(arg0:string):void;
                getCreatetime():Date;
                getErpUserName():string;
                getScanuserId():string;
                setImageId(arg0:string):void;
                setUploadFlag(arg0:number):void;
                setImageState(arg0:string):void;
                getCreatorName():string;
                getCreator():string;
                getImageNoFieldName():string;
                setCreatorAccount(arg0:string):void;
                setCreatorName(arg0:string):void;
                setOrgId(arg0:string):void;
                setScanuserId(arg0:string):void;
                setOperation(arg0:string):void;
                setCreator(arg0:string):void;
                setImageNoFieldName(arg0:string):void;
                setCreatorPhone(arg0:string):void;
                setBillId(arg0:string):void;
                getBillNo():string;
                getImageNo():string;
                setElectricAutoCommit(arg0:number):void;
                getScanclientip():string;
                getBillId():string;
                setBilltype(arg0:string):void;
                getImageState():string;
                setBilltypeName(arg0:string):void;
                getSourceSys():string;
                setCreatetime(arg0:Date):void;
                getOrgName():string;
                isFillImageNo():boolean;
                getLaunch():string;
                getProcessingId():string;
                getImageId():string;
                getBilltypeName():string;
                getCreatorAccount():string;
                getHeterogeneid():string;
                setOrgName(arg0:string):void;
                setErpUserName(arg0:string):void;
                setSourceSys(arg0:string):void;
                setHeterogeneid(arg0:string):void;
                getCreatorPhone():string;
                getOrgId():string;
                setFillImageNo(arg0:boolean):void;
                setLaunch(arg0:string):void;
                getImageScan():string;
                getUploadFlag():number;
                getElectricAutoCommit():number;
                getBilltype():string;
                getOperation():string;
                setBillNo(arg0:string):void;
                setImageScan(arg0:string):void;
            }
            type ImageInfo_T = $.java.io.Serializable & ImageInfo$;
            interface ImageInfo extends ImageInfo_T {
            }
        }
        namespace kd.bos.impt{
            interface ExcelReader_S {
            }
            interface ExcelReader_C extends ExcelReader_S {
                new():ExcelReader;
            }
            interface ExcelReader$ {
                /**
                 * 事件驱动模式解析excel
                 * @param in Excel文件流
                 * @param sheetHandler 页签解析类
                 * <h3>使用示例：</h3>
                 * <pre>{@code
                 * // 入参为@See SheetHandler的子类，可传递匿名类，实现其handlerRow方法即可
                 *  new ExcelReader().read(文件流, new SheetHandler() {
                 *             @Override
                 *             public void handleRow(ParsedRow currentRow) {
                 *                 //业务逻辑
                 *             }
                 *         });
                 * }</pre>
                 *
                 * @throws Exception 解析过程可能抛出异常
                 */
                read(in_arg:$.java.io.InputStream,sheetHandler:SheetHandler):void;
            }
            type ExcelReader_T = ExcelReader$;
            interface ExcelReader extends ExcelReader_T {
            }
            interface SheetHandler$ParsedRow_S {
            }
            interface SheetHandler$ParsedRow_C extends SheetHandler$ParsedRow_S {
                new():SheetHandler$ParsedRow;
            }
            interface SheetHandler$ParsedRow$ {
                getRowNum():number;
                isEmpty():boolean;
                getData():$.java.util.Map;
            }
            type SheetHandler$ParsedRow_T = SheetHandler$ParsedRow$;
            interface SheetHandler$ParsedRow extends SheetHandler$ParsedRow_T {
            }
            interface ImportModel_S {
            }
            type ImportModel_ST = $.kd.sdk.module.Module & ImportModel_S;
            interface ImportModel_C extends ImportModel_ST {
                new():ImportModel;
            }
            interface ImportModel$ {
            }
            type ImportModel_T = $.kd.sdk.module.Module & ImportModel$;
            interface ImportModel extends ImportModel_T {
            }
            interface SheetHandler_S {
            }
            type SheetHandler_ST = $.org.xml.sax.helpers.DefaultHandler & SheetHandler_S;
            interface SheetHandler_C extends SheetHandler_ST {
                new():SheetHandler;
            }
            interface SheetHandler$ {
                /**
                 * 处理每行数据
                 * 子类实现该方法，自定义每行数据处理逻辑
                 * @param currentRow 当前行数据
                 */
                handleRow(currentRow:SheetHandler$ParsedRow):void;
            }
            type SheetHandler_T = $.org.xml.sax.helpers.DefaultHandler & SheetHandler$;
            interface SheetHandler extends SheetHandler_T {
            }
        }
        namespace kd.bos.instance{
            interface Instance_S {
                readonly INSTANCE_ID_LENGTH_MAX:number;
                readonly KEY_APPIDS:string;
                readonly KEY_APPNAME:string;
                readonly KEY_APPSPLIT:string;
                readonly KEY_CLOUD_PRE_TAG:string;
                readonly KEY_CLUSTERNAME:string;
                readonly KEY_CONFIGAPPNAME:string;
                readonly KEY_CUSTOMAPPIDS:string;
                readonly KEY_DATACENTERNAME:string;
                readonly KEY_DEBUG_APP_NAME:string;
                readonly KEY_DEPLOYEDAPPIDS:string;
                readonly KEY_EXCLUEFROMCLOUD:string;
                readonly KEY_HASBOSINNERAPPIDS:string;
                readonly KEY_INNERAPPIDS:string;
                readonly KEY_LIGHTWEIGHTDEPLOY:string;
                readonly KEY_REGISTEDAPPIDS:string;
                readonly KEY_WEBMSERVICEINONE:string;
                readonly MSERVICE_NAME:string;
                addAppIds(arg0:string):void;
                getAppIds():string[];
                getAppName():string;
                getAppNameFromInstanceId(arg0:string):string;
                getClusterName():string;
                getConfigAppName():string[];
                getDeployedAppIds():string[];
                getDeployedCloudByApp(arg0:string):string;
                getDeployedClouds():$.java.util.Set;
                getInnerAppIds():string[];
                getInstanceId():string;
                isAppSplit():boolean;
                isDebugInstance():boolean;
                isLightWeightDeploy():boolean;
                isPausedServiceByMonitor():boolean;
                isStandaloneWebNode():boolean;
                isWebMserviceInOne():boolean;
                parseAppIds(arg0:string):string[];
            }
            interface Instance_C extends Instance_S {
                new():Instance;
            }
            interface Instance$ {
            }
            type Instance_T = Instance_S & Instance$;
            interface Instance extends Instance_T {
            }
        }
        namespace kd.bos.inte.api{
            interface RoundingInfo_S {
                readonly NO_ROUNDING:RoundingInfo;
            }
            interface RoundingInfo_C extends RoundingInfo_S {
                new(precision:number,roundingMode:$.java.math.RoundingMode):RoundingInfo;
            }
            interface RoundingInfo$ {
                setRoundingMode(roundingMode:$.java.math.RoundingMode):void;
                getRoundingMode():$.java.math.RoundingMode;
                getPrecision():number;
                setPrecision(scale:number):void;
            }
            type RoundingInfo_T = RoundingInfo$;
            interface RoundingInfo extends RoundingInfo_T {
            }
            interface IInteService_S {
            }
            interface IInteService_C extends IInteService_S {
            }
            interface IInteService$ {
                /**
                 * 查询目标语言的文字方向属性值
                 * @return 文字方向属性值:rtl(右>左)/ltr(左>右)
                 */
                queryDirectionByLang?(lang:string):string;
                /**
                 * 描述：数字金额格式，单位转换
                 * @param bd 数字金额格式的字符串表达形式
                 * @param convertUnit 要转换的单位
                 * @param roundingInfo 舍入信息
                 * @return 转换单位后的str表示形式
                 */
                unitConvert(bd:string,convertUnit:Unit,roundingInfo:RoundingInfo):string;
                /**
                 * 获取多语言字段启用语言
                 * @return
                 */
                getMultiLangEnabledLang?():$.java.util.List;
                calculateDateByInterval?(workingPlanId:long,date:Date,interval:number,intervalType:number,outputIntervalType:number):$.java.util.Map;
                /**
                 * 描述：获取组织时区
                 * @param orgID 组织ID
                 * @return DynamicObject 组织时区
                 */
                getOrgTimezone(orgID:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * @description 获取区域格式
                 * @param formatID 区域格式ID，如果传0则返回默认的区域格式
                 *
                 * @return Map<String, String> key:dateFormat 日期格式 yyyy-MM-dd; timeFormat
                 *         时间格式 hh:mm:ss; numberFormat 数字格式 ##,###.##
                 */
                getFormat?(userID:long):$.java.util.Map;
                commitAddressInfo?(addressInfo:$.java.util.Map):kd.bos.inte.api.address.AddressCommitResult;
                calculateDateByStartAndEndDate?(workingPlanId:long,startDate:Date,endDate:Date):$.java.util.Map;
                /**
                 * 判断某个字符串是否阿拉伯币别符号
                 * @param currencySymbol 币别符号
                 * @return 是否阿拉伯币别符号
                 */
                isArabicCurrency?(currencySymbol:string):boolean;
                /**
                 * 描述：获取数字格式
                 * @param userId
                 * @param precision 精度
                 * @return
                 */
                getNumberFormat(userId:long,precision:number):$.java.util.Map;
                /**
                 * 描述：获取用户国际化设置
                 * @param userID 用户id
                 * @return DynamicObject 国家化设置
                 */
                getUserFormat(userID:long):$.java.util.Map;
                /**
                 * 描述：保存用户时区
                 * @param userID 用户ID
                 * @param timezone 时区
                 */
                saveUserTimezone(userID:long,timezone:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 描述：获取用户时区
                 * @param userID 用户ID
                 * @param clientType 客户端类型
                 * @return DynamicObject 用户时区
                 */
                getUserTimezone(userID:long,clientType:string):$.kd.bos.dataentity.entity.DynamicObject;
                commitAddressConfig?(addressConfigInfo:kd.bos.inte.api.address.AddressConfigInfo):kd.bos.inte.api.address.AddressCommitResult;
                /**
                 * 描述：保存用户时区
                 * @param userID 用户ID
                 * @param timezone 时区
                 * @param clientType 客户端类型
                 */
                saveUserTimezone(userID:long,timezone:$.kd.bos.dataentity.entity.DynamicObject,clientType:string):void;
                /**
                 * 修改人员用户时区
                 * @param userId 人员id
                 * @param timeZoneNum 时区编码
                 * @return 更新结果
                 */
                updateUserTimeZone?(userId:long,timeZoneNum:string):$.java.util.Map;
                /**
                 * 描述：数字金额格式，单位转换
                 * @param bd 数字金额格式的bigdecimal表达形式
                 * @param convertUnit 要转换的单位
                 * @param roundingInfo 舍入信息
                 * @return 转换单位后的str表示形式
                 */
                unitConvert(bd:$.java.math.BigDecimal,convertUnit:Unit,roundingInfo:RoundingInfo):string;
                /**
                 * 获取公共参数中的国家地区
                 * @return 国家id，若参数为空，则默认中国
                 */
                getDefaultCountry?():long;
                validIdentityCardNo?(countryId:long,identityNo:string):$.java.util.Map;
                /**
                 * 描述：获取用户国际化设置(给前端表单使用）
                 * @param userID 用户id
                 * @return DynamicObject 国家化设置
                 */
                getUserFormFormat(userID:long):$.java.util.Map;
                /**
                 * 描述：获取日期格式
                 * @param userId
                 * @return
                 */
                getDateFormat(userId:long):string;
                /**
                 * 描述：获取职能组织时区
                 * @param orgID 职能组织ID
                 * @return DynamicObject 职能组织时区
                 */
                getBizOrgTimezone(orgID:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：保存业务单元时区
                 * @param orgID 组织ID
                 * @param timezone 时区
                 */
                saveOrgTimezone(orgID:long,timezone:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 描述：保存业务单元时区
                 *
                 * @param orgTimeZoneMap 组织时区集合
                 */
                saveOrgTimezone(orgTimeZoneMap:$.java.util.Map):void;
                /**
                 * 描述：获取启用的语言信息
                 * @return 启用语言列表
                 */
                getEnabledLang?():$.java.util.List;
                /**
                 * 描述：获取用户默认语言
                 * @param userID 用户ID
                 * @return 用户默认语言信息对象
                 */
                getUserLang?(userID:long):EnabledLang;
                /**
                 * 描述：获取用户时区
                 * @param userID 用户ID
                 * @return DynamicObject 用户时区
                 */
                getUserTimezone(userID:long):$.kd.bos.dataentity.entity.DynamicObject;
                getCountryConfiguration?(countryId:long):$.java.util.Map;
                /**
                 * 描述：获取日期格式
                 * @param userId
                 * @return
                 */
                getTimeFormat(userId:long):$.java.util.Map;
                /**
                 * @param sourceType 源日历类型
                 * @param targetType 目标日历类型
                 * @param sourceDate 源日历的日期字符串
                 * @return java.lang.String 对应目标日历日期的字符串
                 * @Description //从给定日历 @sourceType 的日期字符串 @sourceDate ，转为目标日历 @targetType 的对应日期字符串。
                 * @Date 2024/12/9 17:49
                 */
                convertDate?(sourceType:kd.bos.inte.api.enums.ChronoLocalDateType,targetType:kd.bos.inte.api.enums.ChronoLocalDateType,sourceDate:string):string;
                /**
                 * 描述：获取启用的语言信息和本地打印语言
                 * @param type : 1 返回所有语言信息，2返回本地打印语言信息
                 * @return 启用语言列表
                 */
                getLocalLangForPrint?(type_arg:string):$.java.util.List;
                /**
                 * 描述：获取用户国际化设置(给前端表单使用）
                 * @param userID 用户id
                 * @return DynamicObject 国家化设置
                 */
                getUserInfo?(userID:long):$.java.util.Map;
                /**
                 * 描述：获取系统时区
                 * @return DynamicObject 系统时区
                 */
                getSysTimezone():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：获取重建元数据的语言信息
                 * @return 启用语言列表
                 */
                getRebuildMetaLang?():$.java.util.List;
                /**
                 * 描述：获取数字格式
                 * @param userId
                 * @return
                 */
                getCurrencyFormat(userId:long):$.java.util.Map;
            }
            type IInteService_T = IInteService$;
            interface IInteService extends IInteService_T {
            }
            interface EnabledLang_S {
            }
            type EnabledLang_ST = $.java.io.Serializable & EnabledLang_S;
            interface EnabledLang_C extends EnabledLang_ST {
                new():EnabledLang;
            }
            interface EnabledLang$ {
                getName():string;
                setLangCode(langCode:string):void;
                setNumber(number_arg:string):void;
                getIsDefault():boolean;
                getLangCode():string;
                getNumber():string;
                setName(name:string):void;
                setIsDefault(isDefault:boolean):void;
            }
            type EnabledLang_T = $.java.io.Serializable & EnabledLang$;
            interface EnabledLang extends EnabledLang_T {
            }
            interface Unit_S {
            }
            interface Unit_C extends Unit_S {
            }
            interface Unit$ {
                /**
                 * 单位转换时，左移的位数
                 * @return
                 */
                getLeftShiftPlaces():number;
                /**
                 * 给字符串str，添加相应的单位后缀
                 * @param str
                 * @return
                 */
                addUnitSuffix(str:string):string;
            }
            type Unit_T = Unit$;
            interface Unit extends Unit_T {
            }
        }
        namespace kd.bos.inte.api.address{
            interface AddressCommitResult_S {
            }
            type AddressCommitResult_ST = $.java.io.Serializable & AddressCommitResult_S;
            interface AddressCommitResult_C extends AddressCommitResult_ST {
                new():AddressCommitResult;
            }
            interface AddressCommitResult$ {
                getErrorMsg():$.java.util.Map;
                getId():long;
                setId(id:long):void;
                setErrorMsg(errorMsg:$.java.util.Map):void;
                setSuccess(success:boolean):void;
                getSuccess():boolean;
            }
            type AddressCommitResult_T = $.java.io.Serializable & AddressCommitResult$;
            interface AddressCommitResult extends AddressCommitResult_T {
            }
            interface AddressConfigInfo_S {
            }
            type AddressConfigInfo_ST = $.java.io.Serializable & AddressConfigInfo_S;
            interface AddressConfigInfo_C extends AddressConfigInfo_ST {
                new():AddressConfigInfo;
            }
            interface AddressConfigInfo$ {
                setLevel(level:number):void;
                getLevel():number;
                getAddressName():$.kd.bos.dataentity.entity.ILocaleString;
                getAddressNumber():string;
                setDefaultFormat(defaultFormat:boolean):void;
                getAddressConfigStructs():$.java.util.List;
                setAddressConfigFormats(addressConfigFormats:$.java.util.List):void;
                getAddressConfigFormats():$.java.util.List;
                getAdmindivison():boolean;
                setAdmindivison(admindivison:boolean):void;
                setCountryIds(countryIds:$.java.util.List):void;
                setAddressNumber(addressNumber:string):void;
                getCountryIds():$.java.util.List;
                setAddressConfigStructs(addressConfigStructs:$.java.util.List):void;
                setAddressName(addressName:$.kd.bos.dataentity.entity.ILocaleString):void;
                getDefaultFormat():boolean;
            }
            type AddressConfigInfo_T = $.java.io.Serializable & AddressConfigInfo$;
            interface AddressConfigInfo extends AddressConfigInfo_T {
            }
        }
        namespace kd.bos.inte.api.enums{
            class ChronoLocalDateType {
                static readonly GREGORIAN:kd.bos.inte.api.enums.ChronoLocalDateType;
                static readonly HIJRI:kd.bos.inte.api.enums.ChronoLocalDateType;
                static readonly BUDDHIST:kd.bos.inte.api.enums.ChronoLocalDateType;
                static readonly JAPANESE:kd.bos.inte.api.enums.ChronoLocalDateType;
                static values():kd.bos.inte.api.enums.ChronoLocalDateType[];
                static valueOf(arg0:string):kd.bos.inte.api.enums.ChronoLocalDateType;
                getNumber():string;
                getMultiLangEnumBridge():kd.bos.bundle.util.MultiLangEnumBridge;
            }
        }
        namespace kd.bos.invoice.service{
            interface InvoiceServiceInterface_S {
            }
            interface InvoiceServiceInterface_C extends InvoiceServiceInterface_S {
            }
            interface InvoiceServiceInterface$ {
                /**
                 * 识别发票信息并保存
                 * @param imageUrl 发票信息地址
                 * @param billId 单据id
                 * @param imageNumber
                 * @throws IOException
                 * @throws ParseException
                 * @throws Exception
                 */
                recognitionAndSaveInvoice(imageUrl:string,billId:string,imageNumber:string):void;
                /**
                 * 解析识别出来的发票信息，储存到List列表中
                 * @param billId 单据id
                 * @param imageNumber
                 * @param result 识别结果
                 * @param page
                 * @return
                 * @throws ParseException
                 */
                parseJson(billId:string,imageNumber:string,result:string,page:number):$.java.util.Map;
            }
            type InvoiceServiceInterface_T = InvoiceServiceInterface$;
            interface InvoiceServiceInterface extends InvoiceServiceInterface_T {
            }
        }
        namespace kd.bos.isc.http.sdk{
            interface HttpUtil_S {
                /**
                 * POST访问，发送文本内容
                 *
                 * @param serverNumber 服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL  相对URL，与服务器登记的URL前缀以/作为分隔符合并形成完整的URL
                 * @param body         文本内容
                 * @param headers      必须包含：Content-Type，示例：application/json; charset=utf-8
                 * @param readTimeout  读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                postText(serverNumber:string,relativeURL:string,body:string,headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * PUT访问，发送byte[]内容
                 *
                 * @param serverNumber 服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL  相对URL
                 * @param body         byte[]内容
                 * @param headers      必须包含：Content-Type，示例：application/json; charset=utf-8
                 * @param readTimeout  读取超时
                 * @return
                 * @throws IOException
                 */
                putBytes(serverNumber:string,relativeURL:string,body:number[],headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * POST访问，发送byte[]内容
                 *
                 * @param serverNumber 服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL  相对URL
                 * @param body         byte[]内容
                 * @param headers      必须包含：Content-Type，示例：application/json; charset=utf-8
                 * @param readTimeout  读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                postBytes(serverNumber:string,relativeURL:string,body:number[],headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * PUT访问，发送文本内容
                 *
                 * @param serverNumber 服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL  相对URL，与服务器登记的URL前缀以/作为分隔符合并形成完整的URL
                 * @param body         文本内容
                 * @param headers      必须包含：Content-Type，示例：application/json; charset=utf-8
                 * @param readTimeout  读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                putText(serverNumber:string,relativeURL:string,body:string,headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * GET访问
                 *
                 * @param serverNumber   服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL    相对URL，与服务器登记的URL前缀以/作为分隔符合并形成完整的URL
                 * @param defaultCharset 默认字符集，示例：utf-8
                 * @param headers        Headers
                 * @param readTimeout    读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                get(serverNumber:string,relativeURL:string,defaultCharset:string,headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * DELETE访问
                 *
                 * @param serverNumber   服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL    相对URL，与服务器登记的URL前缀以/作为分隔符合并形成完整的URL
                 * @param defaultCharset 默认字符集，示例：utf-8
                 * @param headers        Headers
                 * @param readTimeout    读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                delete(serverNumber:string,relativeURL:string,defaultCharset:string,headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * PATCH访问，发送字文本内容
                 *
                 * @param serverNumber 服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL  相对URL，与服务器登记的URL前缀以/作为分隔符合并形成完整的URL
                 * @param body         文本内容
                 * @param headers      必须包含：Content-Type，示例：application/json; charset=utf-8
                 * @param readTimeout  读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                patchText(serverNumber:string,relativeURL:string,body:string,headers:$.java.util.Map,readTimeout:number):HttpResponse;
                /**
                 * PATCH访问，发送byte[]内容
                 *
                 * @param serverNumber 服务器编码，登记在第三方Web服务器（third_web_server）
                 * @param relativeURL  相对URL
                 * @param body         byte[]内容
                 * @param headers      必须包含：Content-Type，示例：application/json; charset=utf-8
                 * @param readTimeout  读取超时，单位：毫秒
                 * @return
                 * @throws IOException
                 */
                patchBytes(serverNumber:string,relativeURL:string,body:number[],headers:$.java.util.Map,readTimeout:number):HttpResponse;
            }
            interface HttpUtil_C extends HttpUtil_S {
                new():HttpUtil;
            }
            interface HttpUtil$ {
            }
            type HttpUtil_T = HttpUtil$;
            interface HttpUtil extends HttpUtil_T {
            }
            interface HttpResponse_S {
            }
            type HttpResponse_ST = $.java.lang.AutoCloseable & HttpResponse_S;
            interface HttpResponse_C extends HttpResponse_ST {
                new(http:any,defaultCharset:string):HttpResponse;
            }
            interface HttpResponse$ {
                /**
                 * 错误内容，isSuccess() 为 false 时调用本方法，否则应该调用 getContentText()
                 *
                 * @return
                 * @throws IOException
                 */
                getErrorText():string;
                /**
                 * HTTP请求执行是否成功
                 *
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * HTTP响应头信息
                 *
                 * @return
                 */
                getHeaders():$.java.util.Map;
                /**
                 * 响应内容，isSuccess() 为true时调用本方法，否则应该调用 getErrorText()
                 *
                 * 注意：本方法允许调用多次
                 *
                 * @return
                 * @throws IOException
                 */
                getContentText():string;
                /**
                 * HTTP响应结果类型
                 *
                 * @return
                 */
                getContentType():string;
                /**
                 * HTTP响应结果编码方式
                 *
                 * @return
                 */
                getContentEncoding():string;
                /**
                 * HTTP响应码，2xx、3xx表示成功，4xx、5xx、6xx等表示失败
                 *
                 * @return
                 */
                getResponseCode():number;
                /**
                 * 响应内容，isSuccess() 为true时调用本方法，否则应该调用 getErrorText()
                 *
                 * 注意：本方法仅允许调用一次
                 *
                 * @return
                 * @throws IOException
                 */
                getContentBytes():number[];
            }
            type HttpResponse_T = $.java.lang.AutoCloseable & HttpResponse$;
            interface HttpResponse extends HttpResponse_T {
            }
        }
        namespace kd.bos.kdtx{
            interface KdtxModule_S {
            }
            type KdtxModule_ST = $.kd.sdk.module.Module & KdtxModule_S;
            interface KdtxModule_C extends KdtxModule_ST {
                new():KdtxModule;
            }
            interface KdtxModule$ {
            }
            type KdtxModule_T = $.kd.sdk.module.Module & KdtxModule$;
            interface KdtxModule extends KdtxModule_T {
            }
        }
        namespace kd.bos.kdtx.common{
            interface CommonParam_S {
                /**
                 * 把map转化为CommonParam对象
                 *
                 * @param map map集合
                 * @return CommonParam对象
                 */
                valueOf(map:$.java.util.Map):CommonParam;
            }
            type CommonParam_ST = CommonParam_S & Param_S;
            interface CommonParam_C extends CommonParam_ST {
                new():CommonParam;
            }
            interface CommonParam$ {
                /**
                 * 传入一个map，批量存储map的数据
                 *
                 * @param map map集合
                 * @return
                 */
                putAll(map:$.java.util.Map):void;
                /**
                 * 获取值
                 *
                 * @param field map中的key
                 * @return 返回key对应的value
                 */
                get(field:any):any;
                /**
                 * 获取整型值
                 *
                 * @param field map中的key
                 * @return 返回key对应的整型value
                 */
                getInt(field:any):number;
                /**
                 * 获取字符值
                 *
                 * @param field map中的key
                 * @return 返回key对应的字符value
                 */
                getString(field:any):string;
                /**
                 * 获取全部参数，返回值为map
                 *
                 * @return map集合
                 */
                getAll():$.java.util.Map;
                /**
                 * 获取长整型值
                 *
                 * @param field map中的key
                 * @return 返回key对应的长整型value
                 */
                getLong(field:any):long;
                /**
                 * 设置键值
                 *
                 * @param filed map中的key
                 * @param value map中key对应的value
                 */
                put(filed:any,value:any):void;
            }
            type CommonParam_T = CommonParam$ & Param;
            interface CommonParam extends CommonParam_T {
            }
            interface Param_S {
            }
            type Param_ST = $.java.io.Serializable & Param_S;
            interface Param_C extends Param_ST {
            }
            interface Param$ {
            }
            type Param_T = $.java.io.Serializable & Param$;
            interface Param extends Param_T {
            }
        }
        namespace kd.bos.kdtx.common.constant{
            class TxActionType {
                static readonly COMMIT:kd.bos.kdtx.common.constant.TxActionType;
                static readonly ROLLBACK:kd.bos.kdtx.common.constant.TxActionType;
                static values():kd.bos.kdtx.common.constant.TxActionType[];
                static valueOf(arg0:string):kd.bos.kdtx.common.constant.TxActionType;
                getCode():number;
                setCode(arg0:number):void;
                getName():string;
                setName(arg0:string):void;
            }
        }
        namespace kd.bos.kdtx.common.entity{
            interface BranchExecuteInfo_S {
            }
            type BranchExecuteInfo_ST = $.java.io.Serializable & BranchExecuteInfo_S;
            interface BranchExecuteInfo_C extends BranchExecuteInfo_ST {
                new():BranchExecuteInfo;
            }
            interface BranchExecuteInfo$ {
                /**
                 * 获取分支事务状态描述
                 * @return 分支事务状态描述
                 */
                getBranchStatusDesc():string;
                /**
                 * 获取分支事务序号
                 * @return 分支事务序号
                 */
                getSeq():number;
                /**
                 * 获取分支事务场景编码
                 * @return 分支事务场景编码
                 */
                getBranchSceneCode():string;
                /**
                 * 获取分支事务的ID
                 * @return 分支事务的ID
                 */
                getBranchId():string;
                /**
                 * 获取分支事务场景名称
                 * @return 分支事务场景名称
                 */
                getBranchSceneName():string;
                /**
                 * 获取分支事务执行异常时的错误信息
                 * @return 分支事务执行异常时的错误信息
                 */
                getBranchError():string;
                /**
                 * 获取分支事务状态 {@link kd.bos.kdtx.common.constant.BranchStatus}
                 * @return 分支事务状态
                 */
                getBranchStatus():number;
                /**
                 * 获取分布式事务ID
                 * @return 分布式事务ID
                 */
                getXid():string;
            }
            type BranchExecuteInfo_T = $.java.io.Serializable & BranchExecuteInfo$;
            interface BranchExecuteInfo extends BranchExecuteInfo_T {
            }
            interface TxLogInfo_S {
            }
            type TxLogInfo_ST = $.java.io.Serializable & TxLogInfo_S;
            interface TxLogInfo_C extends TxLogInfo_ST {
                new():TxLogInfo;
            }
            interface TxLogInfo$ {
                /**
                 * 获取事务类型：
                 * @return 事务类型 0 tcc，1最终一致性，2 简单的最终一致性
                 */
                getTxType():number;
                /**
                 * 事务由哪里触发，{@link kd.bos.kdtx.common.constant.TriggerType}
                 *  @return 触发类型
                 */
                getTriggerType():string;
                /**
                 * 获取分支事务的id
                 * @return 分支事务的id
                 */
                getBranchXid():string;
                /**
                 * 获取分支事务类名称
                 * @return 分支事务类名称
                 */
                getBranchClazz():string;
                /**
                 * 操作执行结果:0 执行中，-1 执行失败,1 执行成功
                 *  @return 操作执行结果
                 */
                getResult():number;
                /**
                 * 获取执行当前事务时的traceId
                 * @return traceId
                 */
                getTraceId():string;
                /**
                 * 获取操作类型 {@link kd.bos.kdtx.common.constant.ActionType}
                 * @return 操作类型
                 */
                getActionType():number;
                /**
                 * 获取事务场景名称
                 * @return 事务场景名称
                 */
                getTxDesc():string;
                /**
                 * 获取事务日志更新时间
                 * @return 事务日志更新时间
                 */
                getUpdatedTime():Date;
                /**
                 * 获取分支名称
                 * @return 分支名称
                 */
                getBranchDesc():string;
                /**
                 * 获取操作类型名称
                 * @return 操作类型名称
                 */
                getActionTypeDesc():string;
                /**
                 * 获取分布式事务id
                 * @return 分布式事务id
                 */
                getXid():string;
                /**
                 * 获取事务日志创建时间
                 * @return 事务日志创建时间
                 */
                getCreateTime():Date;
                /**
                 * 事务日志信息，主要用来记录异常信息
                 * @return 事务日志信息
                 */
                getRemark():string;
            }
            type TxLogInfo_T = $.java.io.Serializable & TxLogInfo$;
            interface TxLogInfo extends TxLogInfo_T {
            }
        }
        namespace kd.bos.kdtx.common.invoke{
            interface DtxResult_S {
            }
            type DtxResult_ST = $.java.io.Serializable & DtxResult_S;
            interface DtxResult_C extends DtxResult_ST {
                new():DtxResult;
            }
            interface DtxResult$ {
                /**
                 * 是否是内部类
                 * @return
                 */
                isInnerClass():boolean;
                /**
                 * 获取分布式事务执行结果
                 * @return 分布式事务执行结果
                 */
                getDtxGlobalResult():DtxGlobalResult;
                /**
                 * 获取分支事务执行结果
                 * @return 分支事务执行结果
                 */
                getBranchList():$.java.util.List;
                /**
                 * 获取回调类名
                 * @return 回调类名
                 */
                getCallbackClassName():string;
                /**
                 * 获取事务id
                 * @return 事务id
                 */
                getXid():string;
            }
            type DtxResult_T = $.java.io.Serializable & DtxResult$;
            interface DtxResult extends DtxResult_T {
            }
            interface DtxResponse_S {
            }
            type DtxResponse_ST = $.java.io.Serializable & DtxResponse_S;
            interface DtxResponse_C extends DtxResponse_ST {
            }
            interface DtxResponse$ {
                /**
                 * 将confirm结果转为json串
                 * @return json串
                 */
                toJsonString?():string;
            }
            type DtxResponse_T = $.java.io.Serializable & DtxResponse$;
            interface DtxResponse extends DtxResponse_T {
            }
            interface DtxGlobalResult_S {
            }
            type DtxGlobalResult_ST = $.java.io.Serializable & DtxGlobalResult_S;
            interface DtxGlobalResult_C extends DtxGlobalResult_ST {
                new():DtxGlobalResult;
            }
            interface DtxGlobalResult$ {
                /**
                 * 提交是否已经回滚
                 * @return 提交是否已经回滚
                 */
                isRollbacked():boolean;
                /**
                 * 提交是否成功
                 * @return 提交是否成功
                 */
                isCommitted():boolean;
            }
            type DtxGlobalResult_T = $.java.io.Serializable & DtxGlobalResult$;
            interface DtxGlobalResult extends DtxGlobalResult_T {
            }
            interface CommonDtxResponse_S {
            }
            type CommonDtxResponse_ST = CommonDtxResponse_S & DtxResponse_S;
            interface CommonDtxResponse_C extends CommonDtxResponse_ST {
                new():CommonDtxResponse;
            }
            interface CommonDtxResponse$ {
                /**
                 * 获取整型值
                 *
                 * @param field map中的key
                 * @return 返回key对应的整型value
                 */
                getInt(field:any):number;
                /**
                 * 获取字符值
                 *
                 * @param field map中的key
                 * @return 返回key对应的字符value
                 */
                getString(field:any):string;
                /**
                 * 获取全部参数，返回值为map
                 * @return
                 */
                getAll():$.java.util.Map;
                /**
                 * 获取值
                 *
                 * @param field map中的key
                 * @return 返回key对应的value
                 */
                get(field:any):any;
                /**
                 * 获取长整型值
                 *
                 * @param field map中的key
                 * @return 返回key对应的长整型value
                 */
                getLong(field:any):long;
                /**
                 * 传入一个map，批量存储map的数据
                 *
                 * @param map
                 */
                putAll(map:$.java.util.Map):void;
                /**
                 * 设置键值
                 *
                 * @param filed map中的key
                 * @param value map中key对应的value
                 */
                put(filed:any,value:any):void;
            }
            type CommonDtxResponse_T = CommonDtxResponse$ & DtxResponse;
            interface CommonDtxResponse extends CommonDtxResponse_T {
            }
            interface DtxBranch_S {
            }
            type DtxBranch_ST = $.java.io.Serializable & DtxBranch_S;
            interface DtxBranch_C extends DtxBranch_ST {
                new():DtxBranch;
            }
            interface DtxBranch$ {
                /**
                 * 获取分支事务对应的服务名
                 * @return 分支事务对应的服务名
                 */
                getResource():string;
                /**
                 * 获取分支事务序号
                 * @return 分支事务序号
                 */
                getRegistrySeq():number;
                /**
                 * 获取分支事务执行后返回的结果
                 * @return 分支事务执行后返回的结果
                 */
                getDtxResponse():DtxResponse;
            }
            type DtxBranch_T = $.java.io.Serializable & DtxBranch$;
            interface DtxBranch extends DtxBranch_T {
            }
        }
        namespace kd.bos.kdtx.common.response{
            interface CompensateResponse_S {
            }
            type CompensateResponse_ST = $.java.io.Serializable & CompensateResponse_S;
            interface CompensateResponse_C extends CompensateResponse_ST {
                new():CompensateResponse;
            }
            interface CompensateResponse$ {
                /**
                 * 获取没有操作类型的事务信息
                 * @return 事务信息
                 */
                getWrongTxList():$.java.util.List;
                /**
                 * 返回重试异常的事务信息
                 * @return 事务信息
                 */
                getErrTxList():$.java.util.List;
            }
            type CompensateResponse_T = $.java.io.Serializable & CompensateResponse$;
            interface CompensateResponse extends CompensateResponse_T {
            }
            interface CompensateResponse$TxInfo_S {
            }
            type CompensateResponse$TxInfo_ST = $.java.io.Serializable & CompensateResponse$TxInfo_S;
            interface CompensateResponse$TxInfo_C extends CompensateResponse$TxInfo_ST {
            }
            interface CompensateResponse$TxInfo$ {
                getXid():string;
                getTxDesc():string;
            }
            type CompensateResponse$TxInfo_T = $.java.io.Serializable & CompensateResponse$TxInfo$;
            interface CompensateResponse$TxInfo extends CompensateResponse$TxInfo_T {
            }
        }
        namespace kd.bos.kdtx.sdk.api{
            interface TCCAdapterService_S {
            }
            type TCCAdapterService_ST = TCCAdapterService_S & TCCService_S;
            interface TCCAdapterService_C extends TCCAdapterService_ST {
                new():TCCAdapterService;
            }
            interface TCCAdapterService$ {
                /**
                 * TCC模式try阶段:锁定资源
                 * @param param 参数
                 * @throws Exception 异常
                 */
                Try(param:any):void;
                /**
                 * TCC模式confir阶段：提交事务
                 * @param param 参数
                 * @param lastReturn 上个分支事务返回结果
                 * @return 事务confirm结果
                 * @throws Exception 异常
                 */
                confirm(param:any,lastReturn:any):$.kd.bos.kdtx.common.invoke.DtxResponse;
                /**
                 * TCC模式cancel阶段：回滚事务
                 * @param param 参数
                 * @throws Exception
                 */
                cancel(param:any):void;
            }
            type TCCAdapterService_T = TCCAdapterService$ & TCCService;
            interface TCCAdapterService extends TCCAdapterService_T {
            }
            interface DTXCallback_S {
            }
            interface DTXCallback_C extends DTXCallback_S {
            }
            interface DTXCallback$ {
                /**
                 * 处理回调结果
                 * @param dtxResult 回调结果
                 */
                callback(dtxResult:$.kd.bos.kdtx.common.invoke.DtxResult):void;
            }
            type DTXCallback_T = DTXCallback$;
            interface DTXCallback extends DTXCallback_T {
            }
            interface EventualConsistencyService_S {
            }
            interface EventualConsistencyService_C extends EventualConsistencyService_S {
                new():EventualConsistencyService;
            }
            interface EventualConsistencyService$ {
                /**
                 * 执行逻辑办法
                 *
                 * @param param 业务传入参数
                 * @param lastReturn 上一个服务的返回值
                 *
                 * @return 返回当前服务的计算结果，下一个服务可以在lastReturn参数中获取
                 */
                execute(param:any,lastReturn:any):$.kd.bos.kdtx.common.invoke.DtxResponse;
            }
            type EventualConsistencyService_T = EventualConsistencyService$;
            interface EventualConsistencyService extends EventualConsistencyService_T {
            }
            interface TCCService_S {
            }
            interface TCCService_C extends TCCService_S {
            }
            interface TCCService$ {
                doCancel(param:any):void;
                doTry(param:any):void;
                doConfirm(param:any,lastReturn:any):$.kd.bos.kdtx.common.invoke.DtxResponse;
            }
            type TCCService_T = TCCService$;
            interface TCCService extends TCCService_T {
            }
            interface KdtxBusinessHelper_S {
                /**
                 * 使用场景编码(sceneCode)和业务ID(businessId)查询对应分布式事务的日志信息
                 *
                 * @param sceneCode  分布式事务的场景编码
                 * @param businessId 触发分布式事务的业务操作ID, 此ID需要在注册分支事务时设置
                 * @return 分布式事务的日志信息列表
                 */
                queryTxLogInfo(sceneCode:string,businessId:string):$.java.util.List;
                /**
                 * 使用场景编码(sceneCode)和业务ID(businessId)重试对应的分布式事务的分支事务
                 *
                 * @param sceneCode  分布式事务的场景编码, 需要配置事务场景白名单才可使用此方法重试
                 * @param businessId 触发分布式事务的业务操作ID, 此ID需要在注册分支事务时设置
                 * @return 重试结果信息
                 */
                manuallyRetry(sceneCode:string,businessId:string):$.kd.bos.kdtx.common.response.CompensateResponse;
                /**
                 * 使用场景编码(sceneCode)和业务ID(businessId)重试对应的分布式事务的分支事务
                 *
                 * @param sceneCode  分布式事务的场景编码, 需要配置事务场景白名单才可使用此方法重试
                 * @param businessId 触发分布式事务的业务操作ID, 此ID需要在注册分支事务时设置
                 * @param sync 是否同步执行重试，默认false
                 * @return 重试结果信息
                 */
                manuallyRetry(sceneCode:string,businessId:string,sync:boolean):$.kd.bos.kdtx.common.response.CompensateResponse;
                /**
                 * 使用原单ID(businessId)查询分布式事务未完成的分支执行情况
                 *
                 * @param businessId 对应分支注册时的业务id
                 * @return 未完成的分支执行情况
                 */
                queryUncompletedRelativeTxBranchExecuteInfos(businessId:string):$.java.util.Map;
                /**
                 * 使用场景编码(sceneCode)和业务ID(businessId)查询对应分布式事务的日志信息
                 *
                 * @param businessId 触发分布式事务的业务操作ID, 此ID需要在注册分支事务时设置
                 * @return 分布式事务的日志信息列表
                 */
                queryTxLogInfo(businessId:string):$.java.util.Map;
                /**
                 * 使用原单ID(businessId)查询分布式事务分支执行情况
                 *
                 * @param businessId 对应分支注册时的业务id
                 * @return 分布式事务分支执行情况
                 */
                queryRelativeTxBranchExecuteInfos(businessId:string):$.java.util.Map;
            }
            interface KdtxBusinessHelper_C extends KdtxBusinessHelper_S {
                new():KdtxBusinessHelper;
            }
            interface KdtxBusinessHelper$ {
            }
            type KdtxBusinessHelper_T = KdtxBusinessHelper$;
            interface KdtxBusinessHelper extends KdtxBusinessHelper_T {
            }
            interface TCCServiceOnlyConfirm_S {
            }
            type TCCServiceOnlyConfirm_ST = TCCAdapterService_S & TCCServiceOnlyConfirm_S;
            interface TCCServiceOnlyConfirm_C extends TCCServiceOnlyConfirm_ST {
                new():TCCServiceOnlyConfirm;
            }
            interface TCCServiceOnlyConfirm$ {
            }
            type TCCServiceOnlyConfirm_T = TCCAdapterService & TCCServiceOnlyConfirm$;
            interface TCCServiceOnlyConfirm extends TCCServiceOnlyConfirm_T {
            }
        }
        namespace kd.bos.kdtx.sdk.check{
            interface TxCheckUtil_S {
                /**
                 * 获取执行中的事务Map
                 *
                 * @param businessIds 业务ID列表
                 *
                 * @return 返回未完成的事务Map列表(key:业务类型,value:业务ID列表)
                 */
                loadUnfinishedTxBusinessInfo(businessIds:$.java.util.List):$.java.util.Map;
                /**
                 * 在协调器中获取传入的”业务ID列表“中未完成的事务
                 *
                 * @param businessIds 业务ID列表
                 *
                 * @return 返回未完成的事务businessIds列表
                 */
                loadUnfinishedTx(businessIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据业务ID获取被锁定的事务businessIds列表
                 *
                 * @param businessIds 业务ID列表
                 *
                 * @return 返回被锁定的事务businessIds列表
                 */
                getLocked(businessIds:$.java.util.List):$.java.util.List;
                /**
                 * 获取被锁定的事务Map
                 *
                 * @param businessIds 业务ID列表
                 *
                 * @return 返回被锁定的事务Map列表(key:业务类型,value:业务ID列表)
                 */
                getLockedMap(businessIds:$.java.util.List):$.java.util.Map;
                /**
                 * 根据业务类型，在协调器中获取传入的”业务ID列表“中未完成的事务
                 *
                 * @param businessType 业务类型
                 * @param businessIds 业务ID列表
                 *
                 * @return 返回未完成的事务businessIds列表
                 */
                loadUnfinishedTx(businessType:string,businessIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据业务类型和业务ID获取被锁定的事务businessIds列表
                 *
                 * @param businessType 业务类型
                 * @param businessIds 业务ID列表
                 *
                 * @return 返回被锁定的事务businessIds列表
                 */
                getLocked(businessType:string,businessIds:$.java.util.List):$.java.util.List;
            }
            interface TxCheckUtil_C extends TxCheckUtil_S {
                new():TxCheckUtil;
            }
            interface TxCheckUtil$ {
            }
            type TxCheckUtil_T = TxCheckUtil$;
            interface TxCheckUtil extends TxCheckUtil_T {
            }
        }
        namespace kd.bos.kdtx.sdk.context{
            interface DtxContext_S {
                /**
                 * 获取错误信息
                 *
                 * @return 错误信息
                 */
                getErrorMessage():string;
                /**
                 * 是否存在错误
                 *
                 * @return 是或否
                 */
                isError():boolean;
                /**
                 * 获取分布式事务会话信息
                 *
                 * @return DTX会话
                 */
                getDtxSession():kd.bos.kdtx.sdk.session.Session;
            }
            interface DtxContext_C extends DtxContext_S {
                new():DtxContext;
            }
            interface DtxContext$ {
            }
            type DtxContext_T = DtxContext$;
            interface DtxContext extends DtxContext_T {
            }
        }
        namespace kd.bos.kdtx.sdk.session{
            interface ParentSession_S {
            }
            interface ParentSession_C extends ParentSession_S {
                new():ParentSession;
            }
            interface ParentSession$ {
                /**
                 * 挂起当前事务
                 */
                suspend():void;
                /**
                 * 恢复分布式事务
                 */
                resume(dbTxId:long,txActionType:kd.bos.kdtx.common.constant.TxActionType):void;
            }
            type ParentSession_T = ParentSession$;
            interface ParentSession extends ParentSession_T {
            }
            interface DtxFactory_S {
                /**
                 * 创建最终一致对象
                 *
                 * @param scenesCode 业务场景编码
                 *
                 * @return 最终一致Session对象 {@link kd.bos.kdtx.sdk.session.ec.ECSession}
                 */
                createEC(scenesCode:string):kd.bos.kdtx.sdk.session.ec.ECSession;
                /**
                 * 创建TCC对象
                 *
                 * @param scenesCode 业务场景编码
                 *
                 * @return TCC Session对象 {@link kd.bos.kdtx.sdk.session.tcc.TCCSession}
                 */
                createTCC(scenesCode:string):kd.bos.kdtx.sdk.session.tcc.TCCSession;
                /**
                 * 创建最终一致Simple对象
                 *
                 * @param scenesCode 业务场景编码
                 *
                 * @return 创建最终一致Simple对象 {@link kd.bos.kdtx.sdk.session.simpleec.SimpleECSession}
                 */
                createSimpleEc(scenesCode:string,serializer:string):kd.bos.kdtx.sdk.session.simpleec.SimpleECSession;
            }
            interface DtxFactory_C extends DtxFactory_S {
                new():DtxFactory;
            }
            interface DtxFactory$ {
            }
            type DtxFactory_T = DtxFactory$;
            interface DtxFactory extends DtxFactory_T {
            }
            interface DTX_S {
                /**
                 * 开启新的分布式事务
                 * @param scenesCode 场景号
                 * @return DTXHandle {@link kd.bos.kdtx.sdk.session.DTXHandle}
                 */
                requiresNew(scenesCode:string):DTXHandle;
                /**
                 * 开启新的分布式事务
                 * @param scenesCode 场景号
                 * @param dbRoute 路由
                 * @return DTXHandle {@link kd.bos.kdtx.sdk.session.DTXHandle}
                 */
                requiresNew(scenesCode:string,dbRoute:$.kd.bos.db.DBRoute):DTXHandle;
                /**
                 * 开启新的分布式事务
                 * @param scenesCode 场景号
                 * @param dbRoute 数据库路由
                 * @param waitAllDone 是否 等待全部分支事务执行完成
                 * @return DTXHandle {@link kd.bos.kdtx.sdk.session.DTXHandle}
                 */
                requiresNew(scenesCode:string,dbRoute:$.kd.bos.db.DBRoute,waitAllDone:boolean):DTXHandle;
                /**
                 * 开启新的分布式事务
                 * @param scenesCode 场景号
                 * @param waitAllDone 是否 等待全部分支事务执行完成
                 * @return DTXHandle {@link kd.bos.kdtx.sdk.session.DTXHandle}
                 */
                requiresNew(scenesCode:string,waitAllDone:boolean):DTXHandle;
                /**
                 * 开启新的分布式事务
                 * @param scenesCode 场景号
                 * @param tag 本地事务标签
                 * @param waitAllDone 是否 等待全部分支事务执行完成
                 * @param oneByOne 是否 逐个顺序执行
                 * @return DTXHandle {@link kd.bos.kdtx.sdk.session.DTXHandle}
                 */
                requiresNew(scenesCode:string,tag:string,dbRoute:$.kd.bos.db.DBRoute,waitAllDone:boolean,oneByOne:boolean):DTXHandle;
            }
            interface DTX_C extends DTX_S {
                new():DTX;
            }
            interface DTX$ {
            }
            type DTX_T = DTX$;
            interface DTX extends DTX_T {
            }
            interface DTXHandle_S {
            }
            type DTXHandle_ST = $.java.lang.AutoCloseable & DTXHandle_S;
            interface DTXHandle_C extends DTXHandle_ST {
                new():DTXHandle;
            }
            interface DTXHandle$ {
                /**
                 * 注册分支事务
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 */
                register(cloudId:string,appId:string,serviceName:string):void;
                /**
                 * 注册分支事务
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param):void;
                /**
                 * 注册分支事务
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数
                 * @param branchScenesCode 分支场景编码(可选)
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string):void;
                /**
                 * 设置回调函数
                 * @param appId 应用ID
                 * @param dtxCallback 回调函数
                 */
                setCallback(appId:string,dtxCallback:kd.bos.kdtx.sdk.api.DTXCallback):void;
                /**
                 * 注册分支事务
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数
                 * @param branchScenesCode 分支场景编码(可选)
                 * @param bizId 业务id
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizId:string):void;
                /**
                 * 标记事务回滚
                 */
                markRollback():void;
                /**
                 * 获取本地事务
                 * @return 本地事务
                 */
                getTxHandle():$.kd.bos.db.tx.TXHandle;
                /**
                 * 注册分支事务
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数
                 * @param branchScenesCode 分支场景编码(可选)
                 * @param bizIds 业务id
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizIds:$.java.util.List):void;
                /**
                 * 设置业务id
                 * @param businessIds 业务ID
                 * @throws KdtxException 异常
                 */
                setBusinessInfo(businessIds:$.java.util.List):void;
            }
            type DTXHandle_T = $.java.lang.AutoCloseable & DTXHandle$;
            interface DTXHandle extends DTXHandle_T {
            }
            interface AbstractSession_S {
            }
            type AbstractSession_ST = AbstractSession_S & ListenSession_S & Session_S;
            interface AbstractSession_C extends AbstractSession_ST {
                new():AbstractSession;
            }
            interface AbstractSession$ {
                /**
                 * 回滚事务
                 * @param asyncRollback 是否异步回滚
                 */
                rollback(asyncRollback:boolean):void;
                /**
                 * 获取DB路由
                 *
                 * @return DB路由对象
                 */
                getDbRoute():$.kd.bos.db.DBRoute;
                /**
                 * 提交事务
                 * @param asyncCommit 是否异步提交
                 */
                commit(asyncCommit:boolean):void;
                /**
                 * 获取场景号
                 * @return 场景号
                 */
                getScenesCode():string;
                /**
                 * 设置DB路由
                 *
                 * @param dbRoute DB路由
                 */
                setDbRoute(dbRoute:$.kd.bos.db.DBRoute):void;
            }
            type AbstractSession_T = AbstractSession$ & ListenSession & Session;
            interface AbstractSession extends AbstractSession_T {
            }
            interface ListenSession_S {
                getCurrentSession():ListenSession;
            }
            type ListenSession_ST = ListenSession_S & ParentSession_S;
            interface ListenSession_C extends ListenSession_ST {
                new():ListenSession;
            }
            interface ListenSession$ {
            }
            type ListenSession_T = ListenSession$ & ParentSession;
            interface ListenSession extends ListenSession_T {
            }
            interface Session_S {
            }
            interface Session_C extends Session_S {
            }
            interface Session$ {
                /**
                 * 事务提交
                 */
                commit():void;
                /**
                 * 事务开始
                 */
                begin():void;
                /**
                 * 事务回滚
                 */
                rollback():void;
            }
            type Session_T = Session$;
            interface Session extends Session_T {
            }
        }
        namespace kd.bos.kdtx.sdk.session.ec{
            interface ECGlobalSession_S {
                /**
                 * 手动事务提交
                 */
                txCommit():void;
                /**
                 * 事务开始
                 *
                 * @param scenesCode  场景编码
                 * @param dbRoute     DB路由
                 */
                begin(scenesCode:string,dbRoute:$.kd.bos.db.DBRoute,isReentrant:boolean):void;
                /**
                 * 设置业务ID列表，执行完成之前会锁定业务ID
                 *
                 * @param businessIds 业务ID列表
                 */
                setBusinessInfo(businessIds:$.java.util.List):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param):void;
                /**
                 * 设置业务类型
                 *
                 * @param businessType 业务类型
                 */
                setBusinessType(businessType:string):void;
                /**
                 * 开始分布式事务
                 * @param scenesCode 场景编码，区分业务场景。
                 * @param dbRoute DB路由
                 * @throws KDException 异常
                 */
                begin(scenesCode:string,dbRoute:$.kd.bos.db.DBRoute):void;
                /**
                 * 分支事务注册
                 *
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @param bizIds            业务ID（可选），当前的业务相关ID，方便业务定位问题
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizIds:$.java.util.List):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string):void;
                /**
                 * 设置异步提交/回滚
                 *
                 * @param async 是否异步
                 */
                setAsync(async_arg:boolean):void;
                /**
                 * 当前是否存在分布式事务
                 */
                isExistDtx():boolean;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @param bizId 务ID（可选），当前的业务相关ID，方便业务定位问题
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizId:string):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数
                 * @param branchScenesCode 分支场景
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string):void;
                /**
                 * 设置处理方式
                 *
                 * @param waitAllDone 是否等待全部分支事务执行完成
                 * @param oneByOne 是否逐个顺序执行
                 */
                setProcessMode(waitAllDone:boolean,oneByOne:boolean):void;
                /**
                 * 开始分布式事务
                 * @param scenesCode 场景编码，区分业务场景。
                 * @throws KDException 异常
                 */
                begin(scenesCode:string):void;
                /**
                 * 设置回调函数
                 * @param appId 应用ID
                 * @param dtxCallback 回调函数
                 */
                setCallback(appId:string,dtxCallback:kd.bos.kdtx.sdk.api.DTXCallback):void;
            }
            interface ECGlobalSession_C extends ECGlobalSession_S {
                new():ECGlobalSession;
            }
            interface ECGlobalSession$ {
            }
            type ECGlobalSession_T = ECGlobalSession$;
            interface ECGlobalSession extends ECGlobalSession_T {
            }
            interface ECSession_S {
            }
            type ECSession_ST = AbstractSession_S & ECSession_S;
            interface ECSession_C extends ECSession_ST {
                /**
                 * 构造函数:创建一个最终一致session
                 * <p>
                 * <strong>注意：</strong>
                 * <li>推荐使用DtxFactory.createEC创建ECSession</li>
                 * </p>
                 */
                new():ECSession;
            }
            interface ECSession$ {
                /**
                 * 设置业务ID列表,会锁定业务ID直到事务成功.
                 *
                 * @param businessIds 业务ID列表
                 */
                setBusinessInfo(businessIds:$.java.util.List):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名,需在SericeFactory里注册
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string):void;
                /**
                 * 分支事务注册
                 *
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param 参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @param bizIds 业务ID（可选），当前的业务相关ID，方便业务定位问题
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizIds:$.java.util.List):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名,需在SericeFactory里注册
                 * @param param 参数
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @param bizId 业务ID（可选），当前的业务相关ID，方便业务定位问题
                 * @throws DtxSdkException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizId:string):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名,需在SericeFactory里注册
                 * @param param 参数
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param):void;
                /**
                 * 分支事务注册
                 * @param cloudId 云ID
                 * @param appId 应用ID
                 * @param serviceName 服务名,需在SericeFactory里注册
                 * @param param 参数
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @throws KDException 异常
                 */
                register(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string):void;
            }
            type ECSession_T = AbstractSession & ECSession$;
            interface ECSession extends ECSession_T {
            }
        }
        namespace kd.bos.kdtx.sdk.session.simpleec{
            interface SimpleECSession_S {
                dBTxIdXidCache:$.java.util.Map;
            }
            interface SimpleECSession_C extends SimpleECSession_S {
                new(scenesCode:string):SimpleECSession;
                new(scenesCode:string,serializer:string):SimpleECSession;
            }
            interface SimpleECSession$ {
                /**
                 * 分支事务注册
                 *
                 * @param cloudId     云ID
                 * @param appId       应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param       参数对象（可选）
                 */
                register(cloudId:string,appId:string,serviceName:string,param:any,bizIds:$.java.util.List):void;
                getXid():string;
                getDbRoute():$.kd.bos.db.DBRoute;
                setScenesCode(scenesCode:string):void;
                getSerializer():string;
                setDbRoute(dbRoute:$.kd.bos.db.DBRoute):void;
            }
            type SimpleECSession_T = SimpleECSession$;
            interface SimpleECSession extends SimpleECSession_T {
            }
        }
        namespace kd.bos.kdtx.sdk.session.tcc{
            interface TCCGlobalSession_S {
                readonly DIFFERENT_LOCAL_TXID_FOUND:string;
                readonly TCC_GLOBAL_MUST_IN_LOCAL_TX:string;
                readonly DIFFERENT_DTX_TYPE_FOUND:string;
                readonly LOCAL_TX_IS_NOT_SUPPORTED:string;
                readonly ROUTEKEY_IS_EMPTY:string;
                readonly TCC_SESSION_TRY_ERROR:string;
                /**
                 * TCC锁定资源
                 *
                 * @param scenesCode       场景编码
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @param dbRoute          DB路由
                 * @param bizIds           业务ID关联事务
                 */
                Try(scenesCode:string,cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,dbRoute:$.kd.bos.db.DBRoute,bizIds:$.java.util.List):void;
                /**
                 * 设置回调函数，事务完成后，通过此函数来通知调用方。
                 * @param appId 回调类所处应用
                 * @param dtxCallback 回调类
                 */
                setCallback(appId:string,dtxCallback:kd.bos.kdtx.sdk.api.DTXCallback):void;
                /**
                 * TCC锁定资源
                 *
                 * @param scenesCode       场景编码
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 */
                Try(scenesCode:string,cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string):void;
                /**
                 * 设置异步提交/回滚
                 *
                 * @param async 是否异步
                 */
                setAsync(async_arg:boolean):void;
                /**
                 * TCC锁定资源
                 *
                 * @param scenesCode       场景编码
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 * @param dbRoute          DB路由
                 */
                Try(scenesCode:string,cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,dbRoute:$.kd.bos.db.DBRoute):void;
                /**
                 * TCC锁定资源
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 */
                Try(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string):void;
                /**
                 *  开始TCC分布式事务
                 * @param scenesCode  场景编码
                 * @param dbRoute     DB路由
                 * @param isReentrant 可重入会话，不可重入则新建
                 */
                begin(scenesCode:string,dbRoute:$.kd.bos.db.DBRoute,isReentrant:boolean):void;
                /**
                 * TCC锁定资源
                 *
                 * @param scenesCode       场景编码
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 */
                Try(scenesCode:string,cloudId:string,appId:string,serviceName:string):void;
                /**
                 * 锁定源单
                 *
                 * @param businessIds 源单业务ID列表
                 */
                lock(businessIds:$.java.util.List):void;
                /**
                 * TCC锁定资源
                 *
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 */
                Try(cloudId:string,appId:string,serviceName:string):void;
            }
            interface TCCGlobalSession_C extends TCCGlobalSession_S {
                new():TCCGlobalSession;
            }
            interface TCCGlobalSession$ {
            }
            type TCCGlobalSession_T = TCCGlobalSession$;
            interface TCCGlobalSession extends TCCGlobalSession_T {
            }
            interface TCCSession_S {
            }
            type TCCSession_ST = AbstractSession_S & TCCSession_S;
            interface TCCSession_C extends TCCSession_ST {
                /**
                 * 构造函数
                 * <p>
                 * <strong>注意：</strong>
                 * <li>推荐使用DtxFactory.createTCC创建TCCSession</li>
                 * </p>
                 */
                new():TCCSession;
            }
            interface TCCSession$ {
                /**
                 * TCC模式try阶段:锁定资源
                 *
                 * @param cloudId     云ID
                 * @param appId       应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 */
                Try(cloudId:string,appId:string,serviceName:string):void;
                /**
                 * 锁定源单
                 *
                 * @param businessIds 源单业务ID列表
                 */
                lock(businessIds:$.java.util.List):void;
                /**
                 * TCC模式try阶段:锁定资源
                 *
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 */
                Try(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string):void;
                /**
                 * TCC模式try阶段:锁定资源
                 *
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param param            参数对象（可选）
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 *  @param bizIds          业务ID关联事务，一直跟随事务
                 */
                Try(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param,branchScenesCode:string,bizIds:$.java.util.List):void;
                /**
                 * TCC模式try阶段:锁定资源
                 *
                 * @param cloudId          云ID
                 * @param appId            应用ID
                 * @param serviceName      服务名，需在SericeFactory里注册
                 * @param branchScenesCode 分支场景编码（可选），但如果传入则会检验是否存在
                 */
                Try(cloudId:string,appId:string,serviceName:string,branchScenesCode:string):void;
                /**
                 * TCC模式try阶段:锁定资源
                 *
                 * @param cloudId     云ID
                 * @param appId       应用ID
                 * @param serviceName 服务名，需在SericeFactory里注册
                 * @param param       参数对象（可选）
                 */
                Try(cloudId:string,appId:string,serviceName:string,param:$.kd.bos.kdtx.common.Param):void;
            }
            type TCCSession_T = AbstractSession & TCCSession$;
            interface TCCSession extends TCCSession_T {
            }
        }
        namespace kd.bos.kingscript.vscode{
            interface IvsCodeListener_S {
            }
            interface IvsCodeListener_C extends IvsCodeListener_S {
            }
            interface IvsCodeListener$ {
                doAction?(pushContent:PushContent):void;
                doActionWithPage?(pushContent:PushContent):$.kd.bos.openapi.common.result.CustomApiResult;
            }
            type IvsCodeListener_T = IvsCodeListener$;
            interface IvsCodeListener extends IvsCodeListener_T {
            }
            interface PushContent_S {
            }
            interface PushContent_C extends PushContent_S {
                new():PushContent;
            }
            interface PushContent$ {
                getPropValue():$.java.util.Map;
                setPropVaule(propValue:$.java.util.Map):void;
                getAction():string;
                setAction(action:string):void;
                getPageId():string;
                pushMessage(formView:$.kd.bos.form.IFormView):void;
                setPushClass(pushClass:string):void;
                getPushClass():string;
                setPageId(pageId:string):void;
            }
            type PushContent_T = PushContent$;
            interface PushContent extends PushContent_T {
            }
        }
        namespace kd.bos.kscript{
            interface IObjectLoaderProvider_S {
            }
            interface IObjectLoaderProvider_C extends IObjectLoaderProvider_S {
            }
            interface IObjectLoaderProvider$ {
                isBOSContext(arg0:any):boolean;
                getObjectCollectionSize(arg0:any):number;
                isObjectPK(arg0:any):boolean;
                setObjectValuePropValue(arg0:any,arg1:string,arg2:any):void;
                getObjectValuePKField(arg0:any):string;
                getContext():any;
                lazyLoadGetProperty(arg0:any,arg1:string,arg2:kd.bos.kscript.dom.expr.PropertyExpr):any;
                getObjectCollectionChildByIndex(arg0:any,arg1:number):any;
                isObjectCollection(arg0:any):boolean;
                setContext(arg0:any):void;
                getObjectValuePropValueByName(arg0:any,arg1:string):any;
                isObjectValue(arg0:any):boolean;
                getObjectCollectionIterator(arg0:any):$.java.util.Iterator;
                isObjectValueContainPropName(arg0:any,arg1:string):boolean;
                lazyLoadFillValue(arg0:any):boolean;
            }
            type IObjectLoaderProvider_T = IObjectLoaderProvider$;
            interface IObjectLoaderProvider extends IObjectLoaderProvider_T {
            }
            interface IFunctionProvider_S {
            }
            interface IFunctionProvider_C extends IFunctionProvider_S {
            }
            interface IFunctionProvider$ {
                existFunction(arg0:string):boolean;
                evalFunction(arg0:string,arg1:$.java.util.List):any;
            }
            type IFunctionProvider_T = IFunctionProvider$;
            interface IFunctionProvider extends IFunctionProvider_T {
            }
        }
        namespace kd.bos.kscript.debug{
            interface IDebugRuntime_S {
            }
            interface IDebugRuntime_C extends IDebugRuntime_S {
            }
            interface IDebugRuntime$ {
                setTag(arg0:any,arg1:any):void;
                contansDebugSource(arg0:any):boolean;
                getBreakPoints(arg0:any):AbstractBreakPoints;
                getTag(arg0:any):any;
                getLocalIdentifier():any;
                setSourcesAndBreakPoints(arg0:$.java.util.HashMap):void;
                getRunningContextCount():number;
                getSourcesAndBreakPoints():$.java.util.HashMap;
                registerDebugSource(arg0:any):void;
                getRunningContext(arg0:any):IDebugContext;
                isTerminated():boolean;
                setBreakPoints(arg0:any,arg1:AbstractBreakPoints):void;
                unregisterDebugSource(arg0:any):void;
                terminate():void;
                getRunningContexts():IDebugContext[];
                runDebug(arg0:string,arg1:$.java.util.Map):void;
            }
            type IDebugRuntime_T = IDebugRuntime$;
            interface IDebugRuntime extends IDebugRuntime_T {
            }
            interface IDebugContext_S {
                readonly NOTIFY_START:number;
                readonly STATE_RUNNING:number;
                readonly STOP:number;
                readonly STATE_ERROR:number;
                readonly STEP_OVER:number;
                readonly PAUSE:number;
                readonly STATE_PAUSED:number;
                readonly NOTIFY_CONSOLE:number;
                readonly NOTIFY_FINISH:number;
                readonly NOTIFY_MANUALSTOP:number;
                readonly EMPTY:IDebugContext[];
                readonly STEP_INTO:number;
                readonly STEP_OUT:number;
                readonly STATE_STOPED:number;
            }
            interface IDebugContext_C extends IDebugContext_S {
            }
            interface IDebugContext$ {
                getState():number;
                stepInto():void;
                evalNoDebug(arg0:string):IValue;
                getCurrentSource():kd.bos.kscript.parser.Source;
                getCurrentPosition():kd.bos.kscript.parser.Position;
                getStepTickCount():number;
                resume():void;
                getTag(arg0:any):any;
                getMainSource():kd.bos.kscript.parser.Source;
                stopDebug():void;
                getStack():IStackElement[];
                getReturnValue():IValue;
                stepOut():void;
                setTag(arg0:any,arg1:any):void;
                pause():void;
                isDebugEnabled():boolean;
                getEnv():IDebugRuntime;
                getContext():IValue;
                getRunningThread():IValue;
                getLocalIdentifier():any;
                stop():void;
                isDebugWaiting():boolean;
                getKey():any;
                stepOver():void;
            }
            type IDebugContext_T = IDebugContext$;
            interface IDebugContext extends IDebugContext_T {
            }
            interface IValue_S {
            }
            interface IValue_C extends IValue_S {
            }
            interface IValue$ {
                getGeneralType():$.java.lang.Class;
                getTypeName():string;
                isError():boolean;
                getStackTrace():string;
                getChildValue(arg0:number):this;
                getChildName(arg0:number):string;
                toString():string;
                getChildCount():number;
            }
            type IValue_T = IValue$;
            interface IValue extends IValue_T {
            }
            interface AbstractBreakPoints_S {
            }
            type AbstractBreakPoints_ST = $.java.io.Serializable & AbstractBreakPoints_S;
            interface AbstractBreakPoints_C extends AbstractBreakPoints_ST {
                new():AbstractBreakPoints;
            }
            interface AbstractBreakPoints$ {
                needBreak(arg0:IDebugContext,arg1:boolean,arg2:kd.bos.kscript.dom.CodeObject,arg3:$.java.util.Map,arg4:boolean):boolean;
            }
            type AbstractBreakPoints_T = $.java.io.Serializable & AbstractBreakPoints$;
            interface AbstractBreakPoints extends AbstractBreakPoints_T {
            }
            interface IDebugEnv_S {
            }
            type IDebugEnv_ST = IDebugEnv_S & IDebugRuntime_S;
            interface IDebugEnv_C extends IDebugEnv_ST {
            }
            interface IDebugEnv$ {
                notifyStateChanged(arg0:IDebugContext):void;
                evalStart(arg0:IDebugContext,arg1:kd.bos.kscript.parser.Source,arg2:$.java.util.Map):void;
                evalFinish(arg0:IDebugContext,arg1:kd.bos.kscript.parser.Source,arg2:$.java.util.Map,arg3:any):void;
                debugOutput(arg0:IDebugContext,arg1:string):void;
            }
            type IDebugEnv_T = IDebugEnv$ & IDebugRuntime;
            interface IDebugEnv extends IDebugEnv_T {
            }
            interface IStackElement_S {
            }
            interface IStackElement_C extends IStackElement_S {
            }
            interface IStackElement$ {
                getPosition():kd.bos.kscript.parser.Position;
            }
            type IStackElement_T = IStackElement$;
            interface IStackElement extends IStackElement_T {
            }
            interface IDebugTracer_S {
            }
            interface IDebugTracer_C extends IDebugTracer_S {
            }
            interface IDebugTracer$ {
                print(arg0:any):void;
                evalError(arg0:kd.bos.kscript.runtime.Interpreter,arg1:kd.bos.kscript.dom.CodeObject,arg2:$.java.util.Map,arg3:$.java.lang.Throwable):void;
                evalCode(arg0:kd.bos.kscript.runtime.Interpreter,arg1:kd.bos.kscript.dom.CodeObject,arg2:$.java.util.Map):void;
                evalEnter(arg0:kd.bos.kscript.runtime.Interpreter,arg1:kd.bos.kscript.parser.Source,arg2:$.java.util.Map):void;
                evalFuncEnter(arg0:kd.bos.kscript.runtime.Interpreter,arg1:kd.bos.kscript.dom.Function,arg2:kd.bos.kscript.dom.expr.MethodInvokeExpr,arg3:$.java.util.Map):void;
                println():void;
                evalFuncLeave(arg0:kd.bos.kscript.runtime.Interpreter,arg1:kd.bos.kscript.dom.Function,arg2:kd.bos.kscript.dom.expr.MethodInvokeExpr,arg3:$.java.util.Map,arg4:any):any;
                evalLeave(arg0:kd.bos.kscript.runtime.Interpreter,arg1:kd.bos.kscript.parser.Source,arg2:$.java.util.Map,arg3:any):any;
                println(arg0:any):void;
            }
            type IDebugTracer_T = IDebugTracer$;
            interface IDebugTracer extends IDebugTracer_T {
            }
        }
        namespace kd.bos.kscript.dom{
            interface Function_S {
            }
            type Function_ST = CodeObject_S & Function_S;
            interface Function_C extends Function_ST {
                new():Function;
                new(arg0:kd.bos.kscript.parser.Position):Function;
            }
            interface Function$ {
                name:string;
                stmtList:$.java.util.List;
                paramList:$.java.util.List;
            }
            type Function_T = CodeObject & Function$;
            interface Function extends Function_T {
            }
            interface CodeObject_S {
            }
            interface CodeObject_C extends CodeObject_S {
            }
            interface CodeObject$ {
                position:kd.bos.kscript.parser.Position;
                output(arg0:$.java.lang.StringBuffer,arg1:string):void;
                extendedAttributes():$.java.util.Map;
                addExtAttr(arg0:any,arg1:any):void;
            }
            type CodeObject_T = CodeObject$;
            interface CodeObject extends CodeObject_T {
            }
        }
        namespace kd.bos.kscript.dom.expr{
            interface CodeExpr_S {
                toExpr(arg0:Date):CodeExpr;
                toNCharExpr(arg0:string):CodeExpr;
                toExpr(arg0:number[]):CodeExpr;
                toCharExpr(arg0:string):CodeExpr;
                toExpr(arg0:number):CodeExpr;
                toExpr(arg0:number):CodeExpr;
                toExpr(arg0:long):CodeExpr;
                toExpr(arg0:$.java.math.BigDecimal):CodeExpr;
            }
            type CodeExpr_ST = CodeExpr_S & CodeObject_S;
            interface CodeExpr_C extends CodeExpr_ST {
            }
            interface CodeExpr$ {
                exprType:number;
                typename():string;
                getExprClass():$.java.lang.Class;
                output(arg0:$.java.lang.StringBuffer):void;
                setExprClass(arg0:$.java.lang.Class):void;
            }
            type CodeExpr_T = CodeExpr$ & CodeObject;
            interface CodeExpr extends CodeExpr_T {
            }
            interface PropertyExpr_S {
            }
            type PropertyExpr_ST = CodeExpr_S & PropertyExpr_S;
            interface PropertyExpr_C extends PropertyExpr_ST {
                new():PropertyExpr;
                new(arg0:kd.bos.kscript.parser.Position):PropertyExpr;
                new(arg0:CodeExpr,arg1:string):PropertyExpr;
                new(arg0:kd.bos.kscript.parser.Position,arg1:CodeExpr,arg2:string):PropertyExpr;
            }
            interface PropertyExpr$ {
                propName:string;
                owner:CodeExpr;
            }
            type PropertyExpr_T = CodeExpr & PropertyExpr$;
            interface PropertyExpr extends PropertyExpr_T {
            }
            interface MethodInvokeExpr_S {
            }
            type MethodInvokeExpr_ST = CodeExpr_S & MethodInvokeExpr_S;
            interface MethodInvokeExpr_C extends MethodInvokeExpr_ST {
                new():MethodInvokeExpr;
                new(arg0:kd.bos.kscript.parser.Position):MethodInvokeExpr;
                new(arg0:string):MethodInvokeExpr;
                new(arg0:kd.bos.kscript.parser.Position,arg1:string):MethodInvokeExpr;
                new(arg0:CodeExpr,arg1:string):MethodInvokeExpr;
                new(arg0:kd.bos.kscript.parser.Position,arg1:CodeExpr,arg2:string):MethodInvokeExpr;
            }
            interface MethodInvokeExpr$ {
                paramList:$.java.util.List;
                owner:CodeExpr;
                methodName:string;
            }
            type MethodInvokeExpr_T = CodeExpr & MethodInvokeExpr$;
            interface MethodInvokeExpr extends MethodInvokeExpr_T {
            }
        }
        namespace kd.bos.kscript.parser{
            interface Lexer_S {
            }
            interface Lexer_C extends Lexer_S {
                new(arg0:string):Lexer;
                new(arg0:Source):Lexer;
                new(arg0:StringReader):Lexer;
                new(arg0:KeyWord,arg1:StringReader):Lexer;
                new(arg0:string,arg1:boolean):Lexer;
            }
            interface Lexer$ {
                source:Source;
                next():Token;
            }
            type Lexer_T = Lexer$;
            interface Lexer extends Lexer_T {
            }
            interface Position_S {
                readonly NULL:Position;
                getPosition(arg0:Position,arg1:Position):Position;
            }
            type Position_ST = $.java.io.Serializable & Position_S;
            interface Position_C extends Position_ST {
                new():Position;
                new(arg0:Source,arg1:number,arg2:number,arg3:number,arg4:number):Position;
            }
            interface Position$ {
                length:number;
                beginColumn:number;
                beginLine:number;
                endColumn:number;
                source:Source;
                endLine:number;
                position:number;
                isValidPosition():boolean;
                nullStart():this;
                getSourceText():string;
            }
            type Position_T = $.java.io.Serializable & Position$;
            interface Position extends Position_T {
            }
            interface KeyWord_S {
                instance():KeyWord;
            }
            interface KeyWord_C extends KeyWord_S {
                new():KeyWord;
            }
            interface KeyWord$ {
                isKeyWord(arg0:string):boolean;
            }
            type KeyWord_T = KeyWord$;
            interface KeyWord extends KeyWord_T {
            }
            interface StringReader_S {
            }
            interface StringReader_C extends StringReader_S {
                new(arg0:string):StringReader;
            }
            interface StringReader$ {
                eos():boolean;
                lookup(arg0:number):string;
                skip():void;
                ptr():number;
                next():string;
                unget():void;
                peek():string;
            }
            type StringReader_T = StringReader$;
            interface StringReader extends StringReader_T {
            }
            interface Token_S {
                readonly DoubleToken:Token;
                readonly LessThanToken:Token;
                readonly BitwiseComplementToken:Token;
                readonly FunctionToken:Token;
                readonly ContinueToken:Token;
                readonly BitwiseOrEqualToken:Token;
                readonly ModEqualToken:Token;
                readonly ReturnToken:Token;
                readonly LambdaToken:Token;
                readonly SwitchToken:Token;
                readonly DivEqualToken:Token;
                readonly VarToken:Token;
                readonly InstanceofToken:Token;
                readonly BitwiseXorToken:Token;
                readonly UnsignRightShiftEqualToken:Token;
                readonly FalseToken:Token;
                readonly BitwiseXorEqualToken:Token;
                readonly GreaterThanOrEqualToken:Token;
                readonly OpenSquareBraceToken:Token;
                readonly EOFToken:Token;
                readonly RightShiftEqualToken:Token;
                readonly LikeToken:Token;
                readonly DoToken:Token;
                readonly ForToken:Token;
                readonly SemicolonToken:Token;
                readonly QuestionToken:Token;
                readonly MulEqualToken:Token;
                readonly GotoToken:Token;
                readonly NullToken:Token;
                readonly New:Token;
                readonly DivToken:Token;
                readonly BitwiseAndToken:Token;
                readonly CloseCurlyBraceToken:Token;
                readonly BreakToken:Token;
                readonly UnsignRightShiftToken:Token;
                readonly CommaToken:Token;
                readonly IncrementToken:Token;
                readonly LeftShiftToken:Token;
                readonly ModToken:Token;
                readonly OpenBraceToken:Token;
                readonly BooleanAndToken:Token;
                readonly DecrementToken:Token;
                readonly AddEqualToken:Token;
                readonly CloseSquareBraceToken:Token;
                readonly EqualToken:Token;
                readonly ElseToken:Token;
                readonly BooleanOrToken:Token;
                readonly PeriodToken:Token;
                readonly CloseBraceToken:Token;
                readonly MulToken:Token;
                readonly ColonToken:Token;
                readonly GreaterThanToken:Token;
                readonly PlusToken:Token;
                readonly NotToken:Token;
                readonly LessThanOrEqualToken:Token;
                readonly IfToken:Token;
                readonly BitwiseOrToken:Token;
                readonly OpenCurlyBraceToken:Token;
                readonly SubEqualToken:Token;
                readonly NotLikeToken:Token;
                readonly RightShiftToken:Token;
                readonly TrueToken:Token;
                readonly LeftShiftEqualToken:Token;
                readonly AssignToken:Token;
                readonly MinusToken:Token;
                readonly BitwiseAndEqualToken:Token;
                readonly DefaultToken:Token;
                readonly WhileToken:Token;
                readonly CaseToken:Token;
                readonly NotEqualToken:Token;
            }
            type Token_ST = Position_S & Token_S;
            interface Token_C extends Token_ST {
                new():Token;
                new(arg0:number,arg1:string):Token;
                new(arg0:string,arg1:number,arg2:number,arg3:number):Token;
                new(arg0:string,arg1:number,arg2:number,arg3:number,arg4:number):Token;
                new(arg0:string,arg1:number,arg2:number,arg3:number,arg4:number,arg5:string):Token;
            }
            interface Token$ {
                type:number;
                space:string;
                value:string;
                typename():string;
                equals(arg0:Token):boolean;
            }
            type Token_T = Position & Token$;
            interface Token extends Token_T {
            }
            interface TokenList_S {
            }
            interface TokenList_C extends TokenList_S {
                new(arg0:Lexer):TokenList;
            }
            interface TokenList$ {
                lastToken:Token;
                match(arg0:Token):void;
                insert(arg0:number,arg1:Token):void;
                remove(arg0:number):void;
                match(arg0:number):void;
                next():Token;
                match():void;
                lookup(arg0:number):Token;
            }
            type TokenList_T = TokenList$;
            interface TokenList extends TokenList_T {
            }
            interface Source_S {
            }
            type Source_ST = $.java.io.Serializable & Source_S;
            interface Source_C extends Source_ST {
                new(arg0:string):Source;
                new(arg0:$.java.io.File):Source;
                new(arg0:string,arg1:string):Source;
            }
            interface Source$ {
                readonly name:string;
                text:string;
                getLineNumberByPosition(arg0:number):number;
                getLineCount():number;
                getKey():any;
                getText():string;
                getColumnByPosition(arg0:number):number;
                getName():string;
                getPosition(arg0:number,arg1:number):number;
                getLine(arg0:number):string;
                getLineStartPosition(arg0:number):number;
            }
            type Source_T = $.java.io.Serializable & Source$;
            interface Source extends Source_T {
            }
        }
        namespace kd.bos.kscript.runtime{
            interface Triple_S {
            }
            interface Triple_C extends Triple_S {
                new():Triple;
                new(arg0:any,arg1:any,arg2:any):Triple;
            }
            interface Triple$ {
                second:any;
                third:any;
                first:any;
            }
            type Triple_T = Triple$;
            interface Triple extends Triple_T {
            }
            interface Interpreter_S {
                readonly BOS_CONTEXT_KEY:string;
                readonly KS_COLLECT_SIZE:string;
                readonly KS_COLLECT_OWNER:string;
                readonly publicFuncProviderList:$.java.util.List;
                readonly KS_COLLECT_VALUE:string;
                convertType(arg0:any,arg1:any):Triple;
            }
            interface Interpreter_C extends Interpreter_S {
                new():Interpreter;
                new(arg0:kd.bos.kscript.util.Context):Interpreter;
                new(arg0:any):Interpreter;
                new(arg0:kd.bos.kscript.util.Context,arg1:boolean):Interpreter;
                new(arg0:any,arg1:boolean):Interpreter;
            }
            interface Interpreter$ {
                funcProviderList:$.java.util.List;
                namespaces:$.java.util.List;
                setSupportDebug(arg0:boolean):void;
                getBizObjectProvider():IObjectLoaderProvider;
                setDebugEnv(arg0:kd.bos.kscript.debug.IDebugEnv):void;
                setTracer(arg0:kd.bos.kscript.debug.IDebugTracer):void;
                ClassForName(arg0:string):$.java.lang.Class;
                evalExpr(arg0:string,arg1:$.java.util.Map):any;
                eval(arg0:string,arg1:$.java.util.Map,arg2:boolean):any;
                evalForMultiPass(arg0:string,arg1:$.java.util.Map):any;
                evalTokenList(arg0:kd.bos.kscript.parser.TokenList,arg1:$.java.util.Map):any;
                isProperyExprOwnerNullIgore():boolean;
                getDefaultObject():any;
                isSynchronizedCallMethod():boolean;
                addFunctionProvider(arg0:IFunctionProvider):void;
                isSupportDebug():boolean;
                setSynchronizedCallMethod(arg0:boolean):void;
                setDefaultObject(arg0:any):void;
                getDebugEnv():kd.bos.kscript.debug.IDebugEnv;
                setBOSContext(arg0:kd.bos.kscript.util.Context):void;
                setForBot(arg0:boolean):void;
                getTracer():kd.bos.kscript.debug.IDebugTracer;
                getSource():kd.bos.kscript.parser.Source;
                isForBot():boolean;
                split(arg0:kd.bos.kscript.dom.expr.CodeExpr,arg1:$.java.util.List):void;
                setBizObjectProvider(arg0:IObjectLoaderProvider):void;
                setProperyExprOwnerNullIgore(arg0:boolean):void;
                setBOSContext(arg0:any):void;
                evalExpr(arg0:kd.bos.kscript.dom.expr.CodeExpr,arg1:$.java.util.Map):any;
                eval(arg0:string,arg1:$.java.util.Map):any;
                getBOSContext():any;
            }
            type Interpreter_T = Interpreter$;
            interface Interpreter extends Interpreter_T {
            }
        }
        namespace kd.bos.kscript.util{
            interface Context_S {
            }
            interface Context_C extends Context_S {
                new():Context;
            }
            interface Context$ {
            }
            type Context_T = Context$;
            interface Context extends Context_T {
            }
        }
        namespace kd.bos.lang{
            interface LangHolder_S {
            }
            interface LangHolder_C extends LangHolder_S {
            }
            interface LangHolder$ {
                get():Lang;
            }
            type LangHolder_T = LangHolder$;
            interface LangHolder extends LangHolder_T {
            }
            enum Lang {
                zh_CN,
                zh_TW,
                en_US,
                AF,
                AR,
                BG,
                CA,
                HR,
                CS,
                DA,
                NL,
                ET,
                FI,
                FR,
                DE,
                EL,
                HU,
                IS,
                ID,
                IT,
                JA,
                KO,
                LT,
                LV,
                MS,
                NO,
                PL,
                RU,
                SR,
                SK,
                SL,
                SV,
                TH,
                TR,
                UK,
                VI,
                PT,
                ES,
                MN,
                BN,
                de_DE,
                fr_FR,
                id_ID,
                ja_JP,
                ms_MY,
                th_TH,
                vi_VN,
                pt_PT,
                LO
            }
            interface HZPinyin_S {
                getFirstSpell(arg0:string):string;
                getFirstSpell(arg0:string,arg1:$.java.util.Map):string;
                getFullSpell(arg0:string):string;
                getFullSpell(arg0:string,arg1:$.java.util.Map):string;
                getFullSpell(arg0:string,arg1:string):string;
                getFullSpell(arg0:string,arg1:$.java.util.Map,arg2:string):string;
            }
            interface HZPinyin_C extends HZPinyin_S {
                new():HZPinyin;
            }
            interface HZPinyin$ {
            }
            type HZPinyin_T = HZPinyin_S & HZPinyin$;
            interface HZPinyin extends HZPinyin_T {
            }
        }
        namespace kd.bos.license.api{
            interface LicenseCheckResult_S {
                /**
                 *  获取许可过期提示语
                 * @return String
                 */
                getLicenseOvertime():string;
            }
            interface LicenseCheckResult_C extends LicenseCheckResult_S {
                /**
                 * 空构造器
                 */
                new():LicenseCheckResult;
                /**
                 * 许可校验结果
                 * @param hasLicense 是否有许可
                 * @param msg 提示信息
                 */
                new(hasLicense:boolean,msg:string):LicenseCheckResult;
            }
            interface LicenseCheckResult$ {
                /**
                 * 设置许可校验失败提示语
                 */
                setMsg(msg:string):void;
                /**
                 * 获取许可校验失败提示语
                 * @return String 校验失败提示语
                 */
                getMsg():string;
                /**
                 * 设置许可校验结果
                 * @param hasLicense
                 */
                setHasLicense(hasLicense:boolean):void;
                /**
                 * 设置许可分组ID集合
                 * @param groupIDs 许可分组ID集合
                 */
                setGroupIDs(groupIDs:$.java.util.Set):void;
                /**
                 * 获取许可分组ID集合
                 * @return Set<Long> 许可分组ID集合
                 */
                getGroupIDs():$.java.util.Set;
                /**
                 * 获取许可校验弹窗cancelFormShowParameter
                 * @return
                 */
                getCancelFormShowParameter():string;
                /**
                 * 设置许可校验弹窗cancelFormShowParameter
                 */
                setCancelFormShowParameter(cancelFormShowParameter:string):void;
                /**
                 * 获取许可校验结果
                 * @return
                 */
                getHasLicense():boolean;
            }
            type LicenseCheckResult_T = LicenseCheckResult$;
            interface LicenseCheckResult extends LicenseCheckResult_T {
            }
            interface LicenseConfigParseResult_S {
                fail(msg:string):LicenseConfigParseResult;
                success():LicenseConfigParseResult;
            }
            type LicenseConfigParseResult_ST = $.java.io.Serializable & LicenseConfigParseResult_S;
            interface LicenseConfigParseResult_C extends LicenseConfigParseResult_ST {
                new(success:boolean):LicenseConfigParseResult;
                new(success:boolean,msg:string):LicenseConfigParseResult;
            }
            interface LicenseConfigParseResult$ {
                getMsg():string;
                getSuccess():boolean;
                setMsg(msg:string):void;
                setSuccess(success:boolean):void;
            }
            type LicenseConfigParseResult_T = $.java.io.Serializable & LicenseConfigParseResult$;
            interface LicenseConfigParseResult extends LicenseConfigParseResult_T {
            }
        }
        namespace kd.bos.license.api.bean{
            class LicenseError$LicenseErrorType {
                static readonly REPEATASSIGN:kd.bos.license.api.bean.LicenseError$LicenseErrorType;
                static readonly USER:kd.bos.license.api.bean.LicenseError$LicenseErrorType;
                static readonly GROUP:kd.bos.license.api.bean.LicenseError$LicenseErrorType;
                static readonly LEGALPERSON:kd.bos.license.api.bean.LicenseError$LicenseErrorType;
                static valueOf(arg0:string):kd.bos.license.api.bean.LicenseError$LicenseErrorType;
                static values():kd.bos.license.api.bean.LicenseError$LicenseErrorType[];
            }
            interface LicenseGroupInfo_S {
            }
            interface LicenseGroupInfo_C extends LicenseGroupInfo_S {
                new():LicenseGroupInfo;
            }
            interface LicenseGroupInfo$ {
                setType(type_arg:string):void;
                getUsedCount():long;
                setUsedCountStr(usedCountStr:string):void;
                setTotalCountStr(totalCountStr:string):void;
                setRemainCount(remainCount:long):void;
                setRemainCountStr(remainCountStr:string):void;
                setUsedCount(usedCount:long):void;
                getUsedCountStr():string;
                setName(name:string):void;
                getRemainCountStr():string;
                getId():long;
                setId(id:long):void;
                setUDD(UDD:boolean):void;
                getRemainCount():long;
                getTotalCount():long;
                getUDD():boolean;
                getType():string;
                getTotalCountStr():string;
                setTotalCount(totalCount:long):void;
                getName():string;
            }
            type LicenseGroupInfo_T = LicenseGroupInfo$;
            interface LicenseGroupInfo extends LicenseGroupInfo_T {
            }
            interface LicenseError_S {
            }
            type LicenseError_ST = $.java.io.Serializable & LicenseError_S;
            interface LicenseError_C extends LicenseError_ST {
                /**
                 * 空构造器
                 */
                new():LicenseError;
                /**
                 * 构造器
                 * @param errorType 错误类型枚举类（USER（用户状态异常）, GROUP（许可分组类异常）
                 * @param id 根据异常类型赋值，用户Id 、许可分组Id
                 * @param name 根据异常类型赋值，用户名 、许可分组名
                 * @param number 根据异常类型赋值，工号 、许可分组简码
                 * @param errorReason 异常原因
                 */
                new(errorType:LicenseError$LicenseErrorType,id:long,name:string,number_arg:string,errorReason:string):LicenseError;
            }
            interface LicenseError$ {
                /**
                 * 根据异常类型errorType赋值 用户名 ||许可分组名
                 */
                setName(name:string):void;
                /**
                 * 根据异常类型errorType 获取 用户Id || 许可分组Id
                 * @return 用户Id || 许可分组Id
                 */
                getId():long;
                /**
                 * 根据异常类型errorType 获取用户名 ||许可分组名
                 * @return 用户名 ||许可分组名
                 */
                getName():string;
                /**
                 * 获取异常类型
                 * @return
                 */
                getErrorType():LicenseError$LicenseErrorType;
                /**
                 * 根据异常类型errorType 获取工号 、许可分组简码
                 * @return 工号 、许可分组简码
                 */
                getNumber():string;
                /**
                 * 设置异常类型
                 * @param errorType 错误类型枚举类（USER（用户状态异常）, GROUP（许可分组类异常）
                 */
                setErrorType(errorType:LicenseError$LicenseErrorType):void;
                /**
                 * 根据异常类型errorType赋值，用户Id 、许可分组Id
                 */
                setId(id:long):void;
                /**
                 * 根据异常类型errorType 设置工号 、许可分组简码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置异常信息
                 */
                setErrorReason(errorReason:string):void;
                /**
                 * 获取异常信息
                 */
                getErrorReason():string;
            }
            type LicenseError_T = $.java.io.Serializable & LicenseError$;
            interface LicenseError extends LicenseError_T {
            }
        }
        namespace kd.bos.list{
            interface ITreeListView_S {
            }
            interface ITreeListView_C extends ITreeListView_S {
            }
            interface ITreeListView$ {
                /**
                 * 选中根节点
                 */
                focusRootNode():void;
                /**
                 * 初始化方法
                 *
                 * @param view 列表视图
                 * @param tv 树控件
                 */
                initialize(view:IListView,tv:kd.bos.form.control.TreeView):void;
                /**
                 * 获取缓存数据类
                 *
                 * @return 缓存数据类
                 */
                getTreeModel():$.kd.bos.entity.datamodel.ITreeModel;
                /**
                 * 获取树控件
                 *
                 * @return 树控件
                 */
                getTreeView():kd.bos.form.control.TreeView;
                /**
                 * 刷新树控件
                 */
                refreshTreeView():void;
                /**
                 * 刷新树节点
                 *
                 * @param nodeId
                 *            树节点Id
                 */
                refreshTreeNode(nodeId:string):void;
                /**
                 * 刷新方法
                 */
                refresh():void;
                /**
                 * 刷新树节点以及是否刷新单据列表数据
                 *
                 * @param nodeId
                 *            树节点Id
                 * @param isRefreshBillList
                 *            是否刷新单据列表控件
                 */
                refreshTreeNode(nodeId:string,isRefreshBillList:boolean):void;
                /**
                 * 添加树节点点击监听事件
                 *
                 * @param treeNodeClickListener 树节点点击监听事件
                 */
                addTreeNodeClickListener?(treeNodeClickListener:kd.bos.form.control.events.TreeNodeClickListener):void;
            }
            type ITreeListView_T = ITreeListView$;
            interface ITreeListView extends ITreeListView_T {
            }
            class PageMode {
                static readonly Default:kd.bos.list.PageMode;
                static readonly Simplest:kd.bos.list.PageMode;
                static valueOf(arg0:string):kd.bos.list.PageMode;
                static values():kd.bos.list.PageMode[];
                /**
                 * 非法参数则返回默认值
                 *
                 * @param pageMode
                 * @return
                 */
                static valueOf(pageMode:number):kd.bos.list.PageMode;
                /**
                 * 获取分页模式
                 *
                 * @return
                 */
                getPageMode():number;
            }
            interface CtsyListShowParameter_S {
                readonly CTSY_NONCE:string;
                readonly WEBAPI_URL:string;
                readonly CTSYLIST_TYPE:string;
                readonly FORMVIEW_TYPE_BILL:string;
                readonly OPENAPI_URL:string;
                readonly FORMVIEW_TYPE_FORM:string;
                readonly CTSY_CACHE_TYPE:string;
                readonly FORMVIEW_TYPE_LIST:string;
                /**
                 * 获取ctsy随机数，缓存租户编码和数据中心id
                 */
                getCtsynonce(tenantCode:string,accountId:string,callWebApi:boolean):string;
                /**
                 * 是否是租户自身
                 * @param showParameter
                 * @return
                 */
                isSelfTenant(showParameter:kd.bos.form.ICtsyShowParameter):boolean;
                /**
                 * 缓存当前租户的pageId和远程租户pageId
                 * @param pageId 当前租户的pageId
                 * @param remotePageId 和远程租户pageId
                 */
                saveCacheCtsyPageId(pageId:string,remotePageId:string):void;
                /**
                 * 获取随机数在Redis缓存中的值
                 * @param ctsynonce
                 * @return
                 */
                getCtsynonceVal(ctsynonce:string):string;
                /**
                 * 获取远端表单元数据config
                 * @param showParameter
                 * @param type
                 * @return
                 */
                getRemoteConfig(showParameter:kd.bos.form.FormShowParameter,type_arg:string):$.java.util.Map;
                /**
                 * 获取远程租户的pageId
                 * @param pageId 当前租户的pageId
                 * @return
                 */
                getCtsyRemotePageId(pageId:string):string;
            }
            type CtsyListShowParameter_ST = CtsyListShowParameter_S & ListShowParameter_S & kd.bos.form.ICtsyShowParameter_S;
            interface CtsyListShowParameter_C extends CtsyListShowParameter_ST {
                /**
                 * 空构造，用于序列化
                 */
                new():CtsyListShowParameter;
                /**
                 * 构造函数
                 *
                 * @param tenantCode 远程租户编码
                 * @param accountId  远程租户数据中心id
                 * @param billFormId 远程业务单编码
                 */
                new(tenantCode:string,accountId:string,billFormId:string):CtsyListShowParameter;
            }
            interface CtsyListShowParameter$ {
                /**
                 * 设置远程租户数据中心id
                 * @param accountId
                 */
                setAccountId(accountId:string):void;
                /**
                 * 获取关闭回调actionId的固定后缀缀，后面业务可在前面加自定义的actionId，已用"$"分隔
                 * @return
                 */
                getCloseCallBackActionIdSuffix():string;
                /**
                 * 设置远程租户编码
                 * @param tenantCode
                 */
                setTenantCode(tenantCode:string):void;
            }
            type CtsyListShowParameter_T = CtsyListShowParameter$ & ListShowParameter & kd.bos.form.ICtsyShowParameter;
            interface CtsyListShowParameter extends CtsyListShowParameter_T {
            }
            interface IListColumnConfig_S {
                readonly CONSTANT_CAPTION:string;
                readonly TEXT_ALIGN:string;
                readonly ENTITY_CAPTION:string;
                readonly CONSTANT_VISIBLE:string;
                readonly IS_HEADER_FIELD:string;
                readonly CLASS:string;
                readonly LIST_FIELD_KEY:string;
                readonly FIXED:string;
            }
            interface IListColumnConfig_C extends IListColumnConfig_S {
            }
            interface IListColumnConfig$ {
                getSortSetting?(entityType:$.kd.bos.entity.MainEntityType):$.java.util.List;
                /**
                 * 获取列表选项控制数据
                 *
                 * @return 列表选项控制数据
                 */
                getUserConfigColumnSettings():$.java.util.Map;
                /**
                 * 获取列表字段映射到单据上的标识
                 *
                 * @return 列表字段映射到单据上的标识
                 */
                getListFieldKey():string;
                /**
                 * 获取用户设置的最终冻结
                 *
                 * @return
                 */
                getUserFixed?():boolean;
                /**
                 * 设置字段可见性，可以使用<link>ListVisible</link>， 使用方式，比如要设置所有地方可见，可以这么写:
                 * ListVisible.DEFAULT|ListVisible.LOOKUP|ListVisible. INIT
                 *
                 * @param visible 字段可见性
                 */
                setVisible(visible:number):void;
                /**
                 * 返回是否为冻结列
                 *
                 * @return 是否为冻结列
                 */
                isFixed():boolean;
                /**
                 * 获取用户设置的最终可见性
                 *
                 * @return
                 */
                getUserVisible?():number;
                /**
                 * 获取字段控件可见性
                 *
                 * @return 字段控件可见性
                 */
                getVisible():number;
                /**
                 * 设置是否为冻结列
                 *
                 * @param isFixed 是否为冻结列
                 */
                setFixed(isFixed:boolean):void;
                /**
                 * 获取列表字段标题
                 *
                 * @return 列表字段标题
                 */
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取内容排序方式，左，中，右
                 *
                 * @return 内容排序方式
                 */
                getTextAlign():string;
                /**
                 * 获取列表用户选项的字段配置信息，控制字段可见性使用
                 *
                 * @param entityType 单据类型
                 * @return 列表用户选项的字段配置信息
                 */
                getListColumnConfigMap?(entityType:$.kd.bos.entity.MainEntityType):$.java.util.Map;
                /**
                 * 对齐方式
                 *
                 * @return
                 */
                getUserTextAlign?():string;
                /**
                 * 获取设计器出厂设置数据
                 *
                 * @return 设计器出厂设置数据
                 */
                getFactoryConfigColumnSetting?():$.java.util.Map;
            }
            type IListColumnConfig_T = IListColumnConfig$;
            interface IListColumnConfig extends IListColumnConfig_T {
            }
            interface AbstractListColumn_S {
            }
            type AbstractListColumn_ST = AbstractListColumn_S & IListColumn_S & kd.bos.form.control.Control_S;
            interface AbstractListColumn_C extends AbstractListColumn_ST {
                new():AbstractListColumn;
            }
            interface AbstractListColumn$ {
                /**
                 * 获取表格每列字段表头单独设置背景色
                 *
                 * @return
                 */
                getTableHeaderCellBackColor():string;
                /**
                 * 设置表格每列字段表头单独设置背景色
                 *
                 * @param tableHeaderCellBackColor
                 */
                setTableHeaderCellBackColor(tableHeaderCellBackColor:string):void;
            }
            type AbstractListColumn_T = AbstractListColumn$ & IListColumn & kd.bos.form.control.Control;
            interface AbstractListColumn extends AbstractListColumn_T {
            }
            interface IListColumn_S {
            }
            type IListColumn_ST = IListColumnConfig_S & IListColumn_S;
            interface IListColumn_C extends IListColumn_ST {
            }
            interface IListColumn$ {
                /**
                 * 获取列表列可见性
                 * @param isList 是列表
                 * @param isLookUp 查找
                 * @param visibleValue 可见
                 * @return 获取列表列可见性
                 */
                getListColumnVisible?(isList:boolean,isLookUp:boolean,visibleValue:number):boolean;
                /**
                 * 设置实体字段标识,解析展开后的，ORM 格式
                 *
                 * @param fieldName 实体字段标识
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取列表字段上下文
                 *
                 * @return 列表字段上下文
                 */
                getContext?():ListColumnContext;
                /**
                 * 设置是否开启表头排序
                 *
                 * @param columnOrder 是否开启表头排序
                 */
                setColumnOrder(columnOrder:boolean):void;
                /**
                 * 获取字段所属的父控件key
                 *
                 * @return 字段所属的父控件key
                 */
                getParentViewKey():string;
                /**
                 * 设置列表字段宽度
                 *
                 * @param width 列表字段宽度
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取排序类型，ASC升序，DESC降序
                 *
                 * @return 排序类型
                 */
                getSortType():$.kd.bos.entity.filter.SortType;
                /**
                 * 获取字段大小
                 *
                 * @return 字段大小
                 */
                getFontSize():number;
                /**
                 * 是否有字段权限控制
                 *
                 * @param fieldControlRule 字段权限控制规则
                 * @return 是否有字段权限控制
                 */
                isCanNotRead(fieldControlRule:$.kd.bos.permission.api.FieldControlRule):boolean;
                /**
                 * 获取列表字段宽度
                 *
                 * @return 列表字段宽度
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否同时开启表头过滤排序
                 *
                 * @return 是否同时开启表头过滤排序
                 */
                isColumnOrderAndFilter():boolean;
                toString():string;
                /**
                 * 设置列表选项设置实例化存储类
                 *
                 * @param className 列表选项设置实例化存储类
                 */
                setClassName(className:string):void;
                /**
                 * 返回是否开启表头排序
                 *
                 * @return 是否开启表头排序
                 */
                isColumnOrder():boolean;
                /**
                 * 返回是否开启表头过滤
                 *
                 * @return 是否开启表头过滤
                 */
                isColumnFilter():boolean;
                /**
                 * 列表字段对应的数据库字段为空时是否允许排序过滤
                 * @return boolean 空
                 */
                isBlankFieldCanOrderAndFilter?():boolean;
                /**
                 * 设置是否开启表头过滤
                 *
                 * @param columnFilter 是否开启表头过滤
                 */
                setColumnFilter(columnFilter:boolean):void;
                /**
                 * 列表字段对应的数据库字段为空时是否允许排序过滤
                 * @param isBlankFieldCanOrderAndFilter
                 */
                setBlankFieldCanOrderAndFilter?(isBlankFieldCanOrderAndFilter:boolean):void;
                /**
                 * 获取字段的父控件
                 *
                 * @return 字段的父控件
                 */
                getParent():kd.bos.form.container.Container;
                /**
                 * 获取字段前景色
                 *
                 * @return 字段前景色
                 */
                getForeColor():string;
                /**
                 * 获取列表设置背景色
                 *
                 * @return 列表设置背景色
                 */
                getBackColor():string;
                /**
                 * 设置类别字段标题
                 *
                 * @param caption 列表字段标题
                 */
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取字段内容是否超链接
                 *
                 * @return 字段内容是否超链接
                 */
                isHyperlink():boolean;
                /**
                 * 设置列表字段内容是否为超链接
                 *
                 * @param isHyperlink 列表字段内容是否为超链接
                 */
                setHyperlink(isHyperlink:boolean):void;
                /**
                 * 设置字段所属的父控件key
                 * @param parentViewKey 父视图key
                 */
                setParentViewKey(parentViewKey:string):void;
                /**
                 * 获取黑名单字段列表
                 *
                 * @return 黑名单字段列表
                 */
                getBlackFields?():$.java.util.List;
                /**
                 * 获取字段顺序
                 *
                 * @return 字段顺序
                 */
                getSeq():number;
                /**
                 * 设置列表字段映射到单据上的标识
                 *
                 * @param strRealKey 列表字段映射到单据上的标识
                 */
                setListFieldKey(strRealKey:string):void;
                /**
                 * 设置同时是否开启表头过滤排序
                 *
                 * @param columnOrderAndFilter 同时是否开启表头过滤排序
                 */
                setColumnOrderAndFilter(columnOrderAndFilter:boolean):void;
                /**
                 * 获取实体字段标识,解析展开后的，ORM 格式
                 *
                 * @return 实体字段标识
                 */
                getFieldName():string;
                /**
                 * 获取字段的SEQ类型，NotSeq为不是seq,EntitySeq为单据序号，EntryEntitySeq为分录序号
                 *
                 * @return 字段的SEQ类型
                 */
                getSeqColType():SeqColumnType;
                /**
                 * 设置列表字段顺序
                 *
                 * @param seq 字段顺序
                 */
                setSeq(seq:number):void;
                /**
                 * 获取列元数据服务上下文
                 *
                 * @return
                 */
                getColumnServiceContext?():$.java.util.Map;
            }
            type IListColumn_T = IListColumn$ & IListColumnConfig;
            interface IListColumn extends IListColumn_T {
            }
            interface ListColumnCompareType_S {
            }
            type ListColumnCompareType_ST = $.java.io.Serializable & ListColumnCompareType_S;
            interface ListColumnCompareType_C extends ListColumnCompareType_ST {
                /**
                 * 构造函数
                 *
                 * @param id
                 *            PK
                 * @param name
                 *            名字
                 * @param value
                 *            值
                 * @param inputCtlType
                 *            录入类型
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,value:string,inputCtlType:number):ListColumnCompareType;
                /**
                 * 构造函数
                 *
                 * @param id           PK
                 * @param name         名字
                 * @param value        值
                 * @param inputCtlType 录入类型
                 * @param isEqual      是否是等于比较符
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,value:string,inputCtlType:number,isEqual:boolean):ListColumnCompareType;
            }
            interface ListColumnCompareType$ {
                /**
                 * 获取比较符值
                 *
                 * @return 比较符值
                 */
                getValue():string;
                /**
                 * 获取比较符id，PK序列化使用
                 *
                 * @return 比较符id
                 */
                getId():string;
                /**
                 * 是否是等于
                 *
                 * @return
                 */
                isEqual():boolean;
                /**
                 * 获取比较值录入控件类型，枚举值：-1 = 无需录入, 0 = 手工书写；其他类型已经废弃( 1 = 下拉选择, 2 = ?)
                 *
                 * @return 比较值录入控件类型
                 */
                getInputCtlType():number;
                isAmongAt():boolean;
                /**
                 * 获取比较符名字
                 *
                 * @return 比较符名字
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                setMarkedWord(markedWord:string):void;
                getMarkedWord():string;
                setAmongAt(amongAt:boolean):void;
            }
            type ListColumnCompareType_T = $.java.io.Serializable & ListColumnCompareType$;
            interface ListColumnCompareType extends ListColumnCompareType_T {
            }
            interface LinkQueryPkIdCollection_S {
                /**
                 * 将反序列化的字符串转为列表联查列集合
                 *
                 * @param base64String
                 *            序列化的字符串
                 * @return 列表联查列集合
                 */
                deSerialize(base64String:string):LinkQueryPkIdCollection;
            }
            type LinkQueryPkIdCollection_ST = $.java.util.ArrayList & LinkQueryPkIdCollection_S;
            interface LinkQueryPkIdCollection_C extends LinkQueryPkIdCollection_ST {
                new():LinkQueryPkIdCollection;
            }
            interface LinkQueryPkIdCollection$ {
                /**
                 * @return 将集合进行序列化便于缓存
                 */
                serialize():string;
                /**
                 * 添加联查PK范围
                 *
                 * @param startLongPkId
                 *            起始PK
                 * @param endLongPkId
                 *            结束PK
                 */
                addLinkQueryLongPkRange(startLongPkId:long,endLongPkId:long):void;
                /**
                 * 添加联查ID
                 *
                 * @param pkId
                 */
                addLinkQueryPkId(pkId:any):void;
            }
            type LinkQueryPkIdCollection_T = $.java.util.ArrayList & LinkQueryPkIdCollection$;
            interface LinkQueryPkIdCollection extends LinkQueryPkIdCollection_T {
            }
            interface MobileListShowParameter_S {
                readonly MobileListTemplateId:string;
            }
            type MobileListShowParameter_ST = ListShowParameter_S & MobileListShowParameter_S;
            interface MobileListShowParameter_C extends MobileListShowParameter_ST {
                /**
                 * 构造函数
                 */
                new():MobileListShowParameter;
            }
            interface MobileListShowParameter$ {
                /**
                 * 设置移动表单显示位置
                 *
                 * @param value 移动表单显示位置
                 */
                setPosition(value:kd.bos.bill.MobileFormPosition):void;
                /**
                 * 设置高度
                 *
                 * @param value 高度
                 */
                setHeight(value:string):void;
                /**
                 * 设置已选显示字段
                 * @param selectedDisplayField
                 */
                setSelectedDisplayField(selectedDisplayField:$.kd.bos.entity.SelectedDisplayField):void;
                /**
                 * 获取高度
                 *
                 * @return 高度
                 */
                getHeight():string;
                /**
                 * 获取已选显示字段
                 * @return
                 */
                getSelectedDisplayField():$.kd.bos.entity.SelectedDisplayField;
                /**
                 * 获取移动表单显示位置
                 *
                 * @return 移动表单显示位置
                 */
                getPosition():kd.bos.bill.MobileFormPosition;
            }
            type MobileListShowParameter_T = ListShowParameter & MobileListShowParameter$;
            interface MobileListShowParameter extends MobileListShowParameter_T {
            }
            interface ListColumnContext_S {
            }
            interface ListColumnContext_C extends ListColumnContext_S {
                new(canNotReadFields:$.java.util.Set,blackFields:$.java.util.List,isSingleOrgMode:boolean):ListColumnContext;
            }
            interface ListColumnContext$ {
                getBlackFields():$.java.util.List;
                setCanNotReadFields(canNotReadFields:$.java.util.Set):void;
                isSingleOrgMode():boolean;
                getCanNotReadFields():$.java.util.Set;
            }
            type ListColumnContext_T = ListColumnContext$;
            interface ListColumnContext extends ListColumnContext_T {
            }
            class ListColumnType {
                static readonly ListColumnGroup:kd.bos.list.ListColumnType;
                static readonly DynamicTextList:kd.bos.list.ListColumnType;
                static readonly DecimalColumn:kd.bos.list.ListColumnType;
                static readonly MergeColumn:kd.bos.list.ListColumnType;
                static readonly EntryEntitySeq:kd.bos.list.ListColumnType;
                static readonly NotSeq:kd.bos.list.ListColumnType;
                static readonly EntitySeq:kd.bos.list.ListColumnType;
                static readonly VoucherNo:kd.bos.list.ListColumnType;
                static values():kd.bos.list.ListColumnType[];
                static valueOf(arg0:string):kd.bos.list.ListColumnType;
                /**
                 * 获取枚举值
                 *
                 * @return
                 */
                getValue():number;
            }
            interface ListShowParameter_S {
                readonly BILLLISTID:string;
                readonly TOOLBARID:string;
                readonly F7SELECTEDLISTID:string;
                readonly FILTERCONTAINERID:string;
            }
            type ListShowParameter_ST = ListShowParameter_S & kd.bos.form.FormShowParameter_S;
            interface ListShowParameter_C extends ListShowParameter_ST {
                /**
                 * 构造函数
                 */
                new():ListShowParameter;
            }
            interface ListShowParameter$ {
                /**
                 * 设置是否显示过滤界面
                 *
                 * @param showFilter
                 */
                setShowFilter(showFilter:boolean):void;
                /**
                 * 获取单据类型
                 *
                 * @return 单据类型
                 */
                getBillTypeId():long;
                /**
                 * 设置联查PK
                 *
                 * @param pkId 联查PK
                 */
                addLinkQueryPkId(pkId:any):void;
                /**
                 * 列表是否为多选模式
                 *
                 * @return the multiSelect 是否多选
                 */
                isMultiSelect():boolean;
                /**
                 * 设置归档数据
                 *
                 * @param archiveKey
                 */
                setArchiveKey(archiveKey:string):void;
                /**
                 * 获取使用组织内码
                 *
                 * @return
                 */
                getUseOrgId():long;
                /**
                 * 设置列表是否为多选模式
                 *
                 * @param multiSelect 是否多选
                 */
                setMultiSelect(multiSelect:boolean):void;
                /**
                 * 返回是否必录
                 *
                 * @return 是否必录
                 */
                isMustInput():boolean;
                /**
                 * 控制主业务组织“不限”过滤条件，true:所有组织，false:有权限组织范围
                 *
                 * @param isolationOrg 主业务组织“不限”过滤条件
                 */
                setIsolationOrg(isolationOrg:boolean):void;
                /**
                 * 获取联查描述
                 *
                 * @return 联查描述
                 */
                getLinkQueryDescription():string;
                /**
                 * 获取列表的过滤条件
                 *
                 * @return 列表的过滤条件
                 */
                getListFilterParameter():ListFilterParameter;
                /**
                 * 获取列表缺省过滤方案ID
                 *
                 * @return 列表缺省过滤方案ID
                 */
                getFilterSchemeId():string;
                /**
                 * 获取使用组织集合
                 *
                 * @return 使用组织集合
                 */
                getUseOrgIds():$.java.util.List;
                /**
                 * 设置列表是否初始就加载数据，默认为true
                 *
                 * @param isLoadData 列表是否初始就加载数据
                 */
                setLoadData(isLoadData:boolean):void;
                /**
                 * 设置是否F7
                 *
                 * @param lookUp 是否F7
                 */
                setLookUp(lookUp:boolean):void;
                /**
                 * 获取树形模板上树形数据的过滤条件
                 *
                 * @return 树形模板上树形数据的过滤条件
                 */
                getTreeFilterParameter():kd.bos.tree.TreeFilterParameter;
                /**
                 * 是否F7
                 *
                 * @return 是否F7
                 */
                isLookUp():boolean;
                /**
                 * 获取隔离组织字段，序时簿需要据此组织字段，隔离数据；(默认为主组织(使用组织)字段，如果以主组织字段隔离这里不需要赋值)
                 *
                 * @return
                 */
                getIsolationOrgFieldKey():string;
                /**
                 * 设置联查PK集合
                 *
                 * @param linkQueryPkIdCollection 联查PK集合
                 */
                setLinkQueryPkIdCollection(linkQueryPkIdCollection:LinkQueryPkIdCollection):void;
                /**
                 * 设置是否必录
                 *
                 * @param mustInput 是否必录
                 */
                setMustInput(mustInput:boolean):void;
                /**
                 * 获取列表的表单或者布局标识
                 *
                 * @return 列表的表单或者布局标识
                 */
                getBillFormId():string;
                /**
                 * 归档数据
                 *
                 * @return
                 */
                getArchiveKey():string;
                /**
                 * 设置列表选中行PK
                 *
                 * @param pkId 选中含PKs
                 */
                setSelectedRow(pkId:any):void;
                /**
                 * 设置是否显示快速过滤条件
                 *
                 * @param showQuickFilter
                 */
                setShowQuickFilter(showQuickFilter:boolean):void;
                /**
                 * 获取分页模式 1：索引分页（默认） 2：简单分页
                 *
                 * @return 分页模式
                 */
                getPageMode():number;
                /**
                 * 设置使用组织集合
                 *
                 * @param useOrgIds 使用组织集合
                 */
                setUseOrgIds(useOrgIds:$.java.util.List):void;
                /**
                 * 设置是否只显示启用数据
                 *
                 * @param showUsed 是否只显示启用数据
                 */
                setShowUsed(showUsed:boolean):void;
                /**
                 * 返回列表是否为sqlquery查询，默认为idquery
                 *
                 * @return 列表是否为sqlquery查询
                 */
                isSqlQuery():boolean;
                /**
                 * 设置列表缺省过滤条件方案ID
                 *
                 * @param filterSchemeId 列表缺省过滤方案ID
                 */
                setFilterSchemeId(filterSchemeId:string):void;
                /**
                 * 获取搜索关键字
                 *
                 * @return
                 */
                getSearchKeyword():string;
                /**
                 * 设置列表的过滤条件
                 *
                 * @param listFilterParameter 列表的过滤条件
                 */
                setListFilterParameter(listFilterParameter:ListFilterParameter):void;
                /**
                 * 获取是否只显示审核数据
                 *
                 * @return 是否只显示审核数据
                 */
                isShowApproved():boolean;
                /**
                 * 是否显示快速过滤条件
                 *
                 * @return
                 */
                isShowQuickFilter():boolean;
                /**
                 * 设置联查描述
                 *
                 * @param linkQueryDescription 联查描述
                 */
                setLinkQueryDescription(linkQueryDescription:string):void;
                /**
                 * 列表是否初始就加载数据，默认为true
                 *
                 * @return
                 */
                isLoadData():boolean;
                /**
                 * 是否显示过滤界面
                 *
                 * @return
                 */
                isShowFilter():boolean;
                /**
                 * 获取是否只显示审核数据
                 *
                 * @param showApproved 是否只显示审核数据
                 */
                setShowApproved(showApproved:boolean):void;
                /**
                 * 设置单据类型
                 *
                 * @param billTypeId 单据类型
                 */
                setBillTypeId(billTypeId:long):void;
                /**
                 * 设置分页模式
                 *
                 * @param pageMode 分页模式
                 */
                setPageMode(pageMode:number):void;
                /**
                 * 设置隔离组织字段，序时簿需要据此组织字段，隔离数据；(默认为主组织(使用组织)字段，如果以主组织字段隔离这里不需要赋值)
                 *
                 * @param isolationOrgFieldKey
                 */
                setIsolationOrgFieldKey(isolationOrgFieldKey:string):void;
                /**
                 * 是否只显示启用数据
                 *
                 * @return 是否只显示启用数据
                 */
                isShowUsed():boolean;
                /**
                 * 设置使用组织内码
                 *
                 * @param useOrgId
                 */
                setUseOrgId(useOrgId:long):void;
                /**
                 * 设置列表选项参数
                 *
                 * @param listUserOption 列表选项参数
                 */
                setListUserOption(listUserOption:$.kd.bos.entity.list.option.ListUserOption):void;
                /**
                 * 获取联查PK集合
                 *
                 * @return 联查PK集合
                 */
                getLinkQueryPkIdCollection():LinkQueryPkIdCollection;
                /**
                 * 设置搜索关键字
                 *
                 * @param searchKeyword
                 */
                setSearchKeyword(searchKeyword:string):void;
                /**
                 * 设置树形模板上树形数据的过滤条件
                 *
                 * @param treeFilterParameter 树形数据的过滤条件
                 */
                setTreeFilterParameter(treeFilterParameter:kd.bos.tree.TreeFilterParameter):void;
                /**
                 * 设置列表是否为sqlquery查询
                 *
                 * @param isSqlQuery 列表是否为sqlquery查询
                 */
                setSqlQuery(isSqlQuery:boolean):void;
                /**
                 * 获取“查询范围”选中的末级分录
                 *
                 * @return “查询范围”选中的末级分录
                 */
                getSelectedEntity():string;
                /**
                 * 设置“查询范围”选中的末级分录
                 *
                 * @param selectEntity “查询范围”选中的末级分录
                 */
                setSelectedEntity(selectEntity:string):void;
                /**
                 * 是否主业务组织“不限”过滤条件
                 *
                 * @return
                 */
                isIsolationOrg():boolean;
                /**
                 * 获取列表选项参数
                 *
                 * @return 列表选项参数
                 */
                getListUserOption():$.kd.bos.entity.list.option.ListUserOption;
                /**
                 * 设置列表选中行PK集合
                 *
                 * @param pkIds 列表选中行PK集合
                 */
                setSelectedRows(pkIds:any[]):void;
                /**
                 * 设置列表的表单或者布局标识
                 *
                 * @param billEntityId 列表的表单或者布局标识
                 */
                setBillFormId(billEntityId:string):void;
            }
            type ListShowParameter_T = ListShowParameter$ & kd.bos.form.FormShowParameter;
            interface ListShowParameter extends ListShowParameter_T {
            }
            class SeqColumnType {
                static readonly EntryEntitySeq:kd.bos.list.SeqColumnType;
                static readonly NotSeq:kd.bos.list.SeqColumnType;
                static readonly EntitySeq:kd.bos.list.SeqColumnType;
                static values():kd.bos.list.SeqColumnType[];
                static valueOf(arg0:string):kd.bos.list.SeqColumnType;
                /**
                 * 枚举值
                 *
                 * @return
                 */
                getValue():number;
            }
            interface ListFilterParameter_S {
            }
            type ListFilterParameter_ST = $.kd.bos.entity.filter.FilterParameter & ListFilterParameter_S;
            interface ListFilterParameter_C extends ListFilterParameter_ST {
                /**
                 * 构造函数
                 */
                new():ListFilterParameter;
                /**
                 * 列表过滤参数构造函数
                 *
                 * @param qFilters
                 *            过滤条件
                 * @param orderBy
                 *            排序
                 */
                new(qFilters:$.java.util.List,orderBy:string):ListFilterParameter;
                /**
                 * 列表过滤参数构造函数
                 *
                 * @param selectFields
                 *            查询字段
                 * @param qFilters
                 *            过滤条件
                 * @param orderBy
                 *            构造函数
                 */
                new(selectFields:$.java.util.List,qFilters:$.java.util.List,orderBy:string):ListFilterParameter;
            }
            interface ListFilterParameter$ {
            }
            type ListFilterParameter_T = $.kd.bos.entity.filter.FilterParameter & ListFilterParameter$;
            interface ListFilterParameter extends ListFilterParameter_T {
            }
            interface IListView_S {
            }
            type IListView_ST = IListView_S & kd.bos.form.IFormView_S;
            interface IListView_C extends IListView_ST {
            }
            interface IListView$ {
                /**
                 * 获取当前页数据
                 *
                 * @return 当前页数据
                 */
                getCurrentListAllRowCollection():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 定位树形控件到根节点
                 */
                focusRootNode():void;
                /**
                 * 根据表单标识对列表数据进行切换
                 *
                 * @param billFormId
                 *            表单标识
                 */
                changeListView(billFormId:string):void;
                /**
                 * 刷新并保持当前页的数据选中
                 */
                refreshWithSelected():void;
                /**
                 * 打印预览
                 *
                 * @param info 打印预览数据
                 * @return
                 */
                preview(info:kd.bos.entity.print.PaperSetting):string;
                /**
                 * 获取选中的主业务组织
                 *
                 * @return 选中的主业务组织
                 */
                getSelectedMainOrgIds():$.java.util.List;
                /**
                 * 清理选中行数据
                 */
                clearSelection():void;
                /**
                 * 获取焦点行号
                 *
                 * @return 焦点行号
                 */
                getFocusRow():number;
                /**
                 * 设置选中的主业务组织
                 * @param selectedMainOrgIds
                 *            选中的主业务组织
                 */
                setSelectedMainOrgIds(selectedMainOrgIds:$.java.util.List):void;
                /**
                 * 只取数的方法
                 */
                refresh():void;
                /**
                 * 获取列表取数模型
                 *
                 * @return 列表取数模型
                 */
                getListModel():$.kd.bos.entity.datamodel.IListModel;
                /**
                 * 获取树形列表控件
                 *
                 * @return 树形列表控件
                 */
                getTreeListView():ITreeListView;
                /**
                 * 获取列表表单标识布局
                 *
                 * @return 列表表单标识布局
                 */
                getBillFormId():string;
                /**
                 * 打印
                 *
                 * @param info 需要打印的数据
                 * @return
                 */
                print(info:kd.bos.entity.print.PaperSetting):string;
                /**
                 * 获取当前焦点选中行数据
                 *
                 * @return 当前焦点选中行数据
                 */
                getCurrentSelectedRowInfo():$.kd.bos.entity.datamodel.ListSelectedRow;
                /**
                 * 获取列表过滤控件原始值
                 *
                 * @return 列表过滤控件原始值
                 */
                getControlFilters():$.kd.bos.entity.filter.ControlFilters;
                /**
                 * 获取选中行的数据
                 *
                 * @return 选中行的数据
                 */
                getSelectedRows():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 返回列表选中数据给父窗体
                 */
                returnLookupData():void;
                /**
                 * 向前端发送获取列表设置的指令 前端接到请求后会调用FormController中的savesetting方法，将设置回传到服务端
                 */
                requestGridInfo():void;
                /**
                 * 获取焦点行PK
                 *
                 * @return 焦点行PK
                 */
                getFocusRowPkId():any;
                /**
                 * 设置列表表单标识，布局
                 *
                 * @param billFormId
                 */
                setBillFormId(billFormId:string):void;
            }
            type IListView_T = IListView$ & kd.bos.form.IFormView;
            interface IListView extends IListView_T {
            }
            interface IMobileListView_S {
            }
            type IMobileListView_ST = IListView_S & IMobileListView_S & kd.bos.form.IMobileView_S;
            interface IMobileListView_C extends IMobileListView_ST {
            }
            interface IMobileListView$ {
            }
            type IMobileListView_T = IListView & IMobileListView$ & kd.bos.form.IMobileView;
            interface IMobileListView extends IMobileListView_T {
            }
            interface ListFieldMeta_S {
            }
            interface ListFieldMeta_C extends ListFieldMeta_S {
                /**
                 * 构造函数
                 */
                new():ListFieldMeta;
                /**
                 * 构造函数
                 *
                 * @param key 字段标识
                 */
                new(key:string):ListFieldMeta;
            }
            interface ListFieldMeta$ {
                /**
                 * 设置字段标识
                 *
                 * @param key 字段标识
                 */
                setKey(key:string):void;
                /**
                 * 获取字段标识
                 *
                 * @return 字段标识
                 */
                getKey():string;
            }
            type ListFieldMeta_T = ListFieldMeta$;
            interface ListFieldMeta extends ListFieldMeta_T {
            }
            interface TemplateTextListColumn_S {
            }
            type TemplateTextListColumn_ST = ListColumn_S & TemplateTextListColumn_S;
            interface TemplateTextListColumn_C extends TemplateTextListColumn_ST {
                new():TemplateTextListColumn;
            }
            interface TemplateTextListColumn$ {
                /**
                 * 设置模式文本操作项
                 *
                 * @param templateTextItem 模式文本操作项
                 */
                setTemplateTextItem(templateTextItem:kd.bos.list.column.TemplateTextItem):void;
                /**
                 * 获取模式文本操作项
                 *
                 * @return 模式文本操作项
                 */
                getTemplateTextItem():kd.bos.list.column.TemplateTextItem;
                getBizType():string;
            }
            type TemplateTextListColumn_T = ListColumn & TemplateTextListColumn$;
            interface TemplateTextListColumn extends TemplateTextListColumn_T {
            }
            interface FilterControlContext_S {
            }
            interface FilterControlContext_C extends FilterControlContext_S {
                new():FilterControlContext;
            }
            interface FilterControlContext$ {
                setContainBillStatus(isContainBillStatus:boolean):void;
                setInitDefaultValues(isInitDefaultValues:boolean):void;
                /**
                 * 是否需要初始化常用视图过滤字段的默认值，如果是联查过来，不需要初始化常用视图的过滤字段默认值
                 *
                 * @return
                 */
                isInitDefaultValues():boolean;
                /**
                 * 方案弹性域过滤字段查询时使用的注册监听器，用于添加弹性域类别等过滤条件，处理不为空，不等于等特殊过滤条件
                 *
                 * @return
                 */
                getRegisterPropertyListeners():$.java.util.List;
                /**
                 * @return 是否包括主业务组织过滤
                 */
                isContainMainOrg():boolean;
                setSelectedMainOrgIds(selectedMainOrgIds:$.java.util.List):void;
                /**
                 * 设置归档路由
                 *
                 * @param routeKey
                 */
                setRouteKey(routeKey:string):void;
                /**
                 * 过滤控件的过滤条件原始值
                 *
                 * @return
                 */
                getControlFilters():$.kd.bos.entity.filter.ControlFilters;
                setRegisterPropertyListeners(registerPropertyListeners:$.java.util.List):void;
                /**
                 * 过滤控件key值，PC端过滤容器控件，移动端过滤排序控件
                 *
                 * @return
                 */
                getFilterControlKey():string;
                /**
                 * 外部添加过滤字段初始化监听，目前只有报表使用
                 *
                 * @param consumer
                 */
                addFilterColumnInitListener(consumer:(t:any)=>void):void;
                setContainMainOrg(isContainMainOrg:boolean):void;
                /**
                 * 归档数据
                 *
                 * @return
                 */
                getArchiveKey():string;
                /**
                 * 归档路由
                 *
                 * @return
                 */
                getRouteKey():string;
                /**
                 * @return
                 */
                getFilterColumnInitListeners():$.java.util.List;
                getFieldCompareTypeMap():$.java.util.Map;
                /**
                 * 选中的主业务组织Id
                 *
                 * @return
                 */
                getSelectedMainOrgIds():$.java.util.List;
                /**
                 * 获取“查询范围”最后一级的单据体数据信息
                 *
                 * @return
                 */
                getEntryEntity():string;
                setFieldCompareTypeMap(fieldCompareTypeMap:$.java.util.Map):void;
                setMainOrgNoLimit(isMainOrgNoLimit:boolean):void;
                /**
                 * 是否包括使用状态
                 *
                 * @param isContainUsedStatus
                 */
                setContainUsedStatus(isContainUsedStatus:boolean):void;
                /**
                 * 常用视图或者方案视图过滤数据
                 *
                 * @return
                 */
                getClientQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 过滤字段与过滤控件原始值映射，用于常用过滤视图的基础资料字段级联
                 *
                 * @return
                 */
                getControlFiltersMap():$.java.util.Map;
                /**
                 * 移动过滤排序控件的过滤条件，移动列表使用
                 *
                 * @return
                 */
                getSchemeQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                setFilterControlKey(filterControlKey:string):void;
                setFastQueryFilterParameter(fastQueryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * 方案弹性域过滤字段查询时使用的注册监听器，用于添加弹性域类别等过滤条件，处理不为空，不等于等特殊过滤条件
                 *
                 * @param registerPropertyListener
                 */
                registerPropertyListener(registerPropertyListener:kd.bos.entity.datamodel.IRegisterPropertyListener):void;
                setControlFilters(controlFilters:$.kd.bos.entity.filter.ControlFilters):void;
                setEntryEntity(entryEntity:string):void;
                setFilterColumnInitListeners(filterColumnInitListeners:$.java.util.List):void;
                /**
                 * @return 是否包括单据状态
                 */
                isContainBillStatus():boolean;
                /**
                 * @return 是否包括使用状态
                 */
                isContainUsedStatus():boolean;
                /**
                 * @return 主业务组织过滤是否为不限
                 */
                isMainOrgNoLimit():boolean;
                setClientQueryFilterParameter(clientQueryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                setSchemeQueryFilterParameter(schemeQueryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                setTriggerSearch(triggerSearch:boolean):void;
                /**
                 * 快速过滤过滤条件
                 *
                 * @return
                 */
                getFastQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                isTriggerSearch():boolean;
                /**
                 * 设置归档数据
                 *
                 * @param archiveKey
                 */
                setArchiveKey(archiveKey:string):void;
            }
            type FilterControlContext_T = FilterControlContext$;
            interface FilterControlContext extends FilterControlContext_T {
            }
            interface IListColumnGroupConfig_S {
            }
            type IListColumnGroupConfig_ST = IListColumnConfig_S & IListColumnGroupConfig_S;
            interface IListColumnGroupConfig_C extends IListColumnGroupConfig_ST {
            }
            interface IListColumnGroupConfig$ {
                getListColumnConfigList():$.java.util.List;
            }
            type IListColumnGroupConfig_T = IListColumnConfig & IListColumnGroupConfig$;
            interface IListColumnGroupConfig extends IListColumnGroupConfig_T {
            }
            interface MergeListColumn_S {
            }
            type MergeListColumn_ST = AbstractListContainerColumn_S & MergeListColumn_S;
            interface MergeListColumn_C extends MergeListColumn_ST {
                new():MergeListColumn;
            }
            interface MergeListColumn$ {
                /**
                 * 设置列表表头过滤比较符设置事件接口列表
                 * @param listColumnCompareTypesSetListeners
                 */
                setListColumnCompareTypesSetListeners(listColumnCompareTypesSetListeners:$.java.util.List):void;
                /**
                 * 返回是否显示尾零
                 *
                 * @return 是否显示尾零
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 获取列表表头过滤比较符设置事件接口列表
                 * @return
                 */
                getListColumnCompareTypesSetListeners():$.java.util.List;
                /**
                 * 设置是否显示尾零
                 *
                 * @param noDisplayScaleZero 是否显示尾零
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
            }
            type MergeListColumn_T = AbstractListContainerColumn & MergeListColumn$;
            interface MergeListColumn extends MergeListColumn_T {
            }
            interface AbstractListContainerColumn_S {
            }
            type AbstractListContainerColumn_ST = $.kd.bos.form.container.Container & $.kd.bos.list.IListColumn & AbstractListContainerColumn_S;
            interface AbstractListContainerColumn_C extends AbstractListContainerColumn_ST {
                new():AbstractListContainerColumn;
            }
            interface AbstractListContainerColumn$ {
                /**
                 * 获取表格每列字段表头单独设置背景色
                 *
                 * @return
                 */
                getTableHeaderCellBackColor():string;
                /**
                 * 设置表格每列字段表头单独设置背景色
                 *
                 * @param tableHeaderCellBackColor
                 */
                setTableHeaderCellBackColor(tableHeaderCellBackColor:string):void;
                /**
                 * ListGridView所有格式化的数字字段信息，在这里组装发给前端
                 *
                 * @return ListGridView所有格式化的数字字段信息
                 */
                getDecimalFieldMap():$.java.util.Map;
                /**
                 * 设置所有格式化的数字字段信息
                 * @param decimalFieldMap
                 */
                setDecimalFieldMap(decimalFieldMap:$.java.util.Map):void;
            }
            type AbstractListContainerColumn_T = $.kd.bos.form.container.Container & $.kd.bos.list.IListColumn & AbstractListContainerColumn$;
            interface AbstractListContainerColumn extends AbstractListContainerColumn_T {
            }
            interface DateListColumn_S {
            }
            type DateListColumn_ST = DateListColumn_S & ListColumn_S;
            interface DateListColumn_C extends DateListColumn_ST {
                new():DateListColumn;
            }
            interface DateListColumn$ {
                /**
                 * 获取格式化字符串
                 *
                 * @return 格式化字符串
                 */
                getDisplayFormatString():string;
                /**
                 * 设置掩码
                 *
                 * @param mask 掩码
                 */
                setMask(mask:string):void;
                /**
                 * 获取掩码
                 *
                 * @return 掩码
                 */
                getMask():string;
                /**
                 * 设置格式化字符串
                 *
                 * @param displayFormatString 格式化字符串
                 */
                setDisplayFormatString(displayFormatString:string):void;
            }
            type DateListColumn_T = DateListColumn$ & ListColumn;
            interface DateListColumn extends DateListColumn_T {
            }
            interface IListChild_S {
            }
            interface IListChild_C extends IListChild_S {
            }
            interface IListChild$ {
                setParent(parent:BillList):void;
            }
            type IListChild_T = IListChild$;
            interface IListChild extends IListChild_T {
            }
            interface ITemplateControl_S {
            }
            interface ITemplateControl_C extends ITemplateControl_S {
            }
            interface ITemplateControl$ {
                refresh():void;
                setBillFormId(arg0:string):void;
                setEntityId(arg0:string):void;
                getEntityId():string;
            }
            type ITemplateControl_T = ITemplateControl$;
            interface ITemplateControl extends ITemplateControl_T {
            }
            interface ListColumn_S {
            }
            type ListColumn_ST = $.kd.bos.list.AbstractListColumn & ListColumn_S;
            interface ListColumn_C extends ListColumn_ST {
                new():ListColumn;
            }
            interface ListColumn$ {
                getFieldKey():string;
                /**
                 * 设置是否自动换行
                 * @param autoTextWrap
                 */
                setAutoTextWrap(autoTextWrap:boolean):void;
                /**
                 * 获取源实体类型
                 * @return
                 */
                getSrcFieldProp():$.kd.bos.dataentity.metadata.IDataEntityProperty;
                /**
                 * 设置列表表头过滤比较符设置事件接口列表
                 * @param listColumnCompareTypesSetListeners
                 */
                setListColumnCompareTypesSetListeners(listColumnCompareTypesSetListeners:$.java.util.List):void;
                /**
                 * 获取帮助文本tips
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 获取列表表头过滤比较符设置事件接口列表
                 * @return
                 */
                getListColumnCompareTypesSetListeners():$.java.util.List;
                /**
                 * 是否自动换行
                 * @return
                 */
                isAutoTextWrap():boolean;
                /**
                 * 设置帮助文本tips
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
            }
            type ListColumn_T = $.kd.bos.list.AbstractListColumn & ListColumn$;
            interface ListColumn extends ListColumn_T {
            }
            interface MulCurrencyFields_S {
            }
            type MulCurrencyFields_ST = $.java.io.Serializable & MulCurrencyFields_S;
            interface MulCurrencyFields_C extends MulCurrencyFields_ST {
                new():MulCurrencyFields;
                new(mulCurrencyFields:$.java.util.List):MulCurrencyFields;
            }
            interface MulCurrencyFields$ {
                setMulCurrencyFields(mulCurrencyFields:$.java.util.List):void;
                /**
                 * 获取多币别合计字段
                 *
                 * @return
                 */
                getMulCurrencyFields():$.java.util.List;
            }
            type MulCurrencyFields_T = $.java.io.Serializable & MulCurrencyFields$;
            interface MulCurrencyFields extends MulCurrencyFields_T {
            }
            interface ExtendedFlexDimensions_S {
            }
            interface ExtendedFlexDimensions_C extends ExtendedFlexDimensions_S {
                new(fieldName:string):ExtendedFlexDimensions;
            }
            interface ExtendedFlexDimensions$ {
                getFieldName():string;
                getFilterFields():$.java.util.Map;
                setFlexPropList(flexPropList:$.java.util.List):void;
                setFilterFields(filterFields:$.java.util.Map):void;
                setRegisterPropertyListeners(registerPropertyListeners:$.java.util.List):void;
                getFlexPropList():$.java.util.List;
                /**
                 * 方案弹性域过滤字段查询时使用的注册监听器，用于添加弹性域类别等过滤条件，处理不为空，不等于等特殊过滤条件
                 *
                 * @return
                 */
                getRegisterPropertyListeners():$.java.util.List;
            }
            type ExtendedFlexDimensions_T = ExtendedFlexDimensions$;
            interface ExtendedFlexDimensions extends ExtendedFlexDimensions_T {
            }
            interface ControlContext_S {
            }
            interface ControlContext_C extends ControlContext_S {
                /**
                 * 构造函数
                 */
                new():ControlContext;
                new(filterControlContext:FilterControlContext):ControlContext;
                /**
                 * 构造函数
                 *
                 * @param billListId      单据列表实体标识
                 * @param entryEntityDtos 查询范围的单据体数据集合
                 */
                new(billListId:string,entryEntityDtos:$.java.util.List):ControlContext;
            }
            interface ControlContext$ {
                /**
                 * 单据列表控件标识
                 *
                 * @return
                 */
                getBillListId():string;
                setBillFormId(billFormId:string):void;
                setContainMainOrg(isContainMainOrg:boolean):void;
                setEntryEntity(entryEntity:string):void;
                /**
                 * “查询范围”的单据体数据信息
                 *
                 * @return
                 */
                getEntryEntityDtos():$.java.util.List;
                setIsolationOrg(isolationOrg:boolean):void;
                /**
                 * 是否需要初始化常用视图过滤字段的默认值，如果是联查过来，不需要初始化常用视图的过滤字段默认值
                 *
                 * @return
                 */
                isInitDefaultValues():boolean;
                /**
                 * 设置归档路由
                 *
                 * @param routeKey
                 */
                setRouteKey(routeKey:string):void;
                /**
                 * @return 是否包括使用状态
                 */
                isContainUsedStatus():boolean;
                /**
                 * 选中的主业务组织Id
                 *
                 * @return
                 */
                getSelectedMainOrgIds():$.java.util.List;
                /**
                 * 是否隔离组织
                 *
                 * @return
                 */
                isIsolationOrg():boolean;
                setSchemeQueryFilterParameter(schemeQueryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * F7已选列表控件标识
                 *
                 * @return
                 */
                getF7SeletedControlId():string;
                setMobileSearchId(mobileSearchId:string):void;
                setEntryEntityDtos(entryEntityDtos:$.java.util.List):void;
                /**
                 * 过滤字段与过滤控件原始值映射，用于常用过滤视图的基础资料字段级联
                 *
                 * @return
                 */
                getControlFiltersMap():$.java.util.Map;
                setFilterControlKey(filterControlKey:string):void;
                setClearSelection(isClearSelection:boolean):void;
                /**
                 * @return
                 */
                getFilterColumnInitListeners():$.java.util.List;
                setInitDefaultValues(isInitDefaultValues:boolean):void;
                /**
                 * 移动搜索控件标识
                 *
                 * @return
                 */
                getMobileSearchId():string;
                setExtendedFlexDimensionsList(extendedFlexDimensionsList:$.java.util.Map):void;
                /**
                 * @return 是否包括主业务组织过滤
                 */
                isContainMainOrg():boolean;
                getFieldCompareTypeMap():$.java.util.Map;
                /**
                 * 过滤控件的过滤条件原始值
                 *
                 * @return
                 */
                getControlFilters():$.kd.bos.entity.filter.ControlFilters;
                setSelectFieldsCaptionMap(selectFieldsCaptionMap:$.java.util.Map):void;
                /**
                 * 归档路由
                 *
                 * @return
                 */
                getRouteKey():string;
                /**
                 * 是否黑名单字段，标准版使用
                 *
                 * @return
                 */
                getBlackFields():$.java.util.List;
                /**
                 * 是否包括使用状态
                 *
                 * @param isContainUsedStatus
                 */
                setContainUsedStatus(isContainUsedStatus:boolean):void;
                /**
                 * 是否是取消所有选中数据
                 *
                 * @return
                 */
                isClearSelection():boolean;
                /**
                 * 归档数据
                 *
                 * @return
                 */
                getArchiveKey():string;
                /**
                 * 设置单据列表绑定的实体
                 *
                 * @param billListEntityId
                 */
                setBillListEntityId(billListEntityId:string):void;
                setContainBillStatus(isContainBillStatus:boolean):void;
                /**
                 * @return 单据列表绑定的实体
                 */
                getBillListEntityId():string;
                setSelectedMainOrgIds(selectedMainOrgIds:$.java.util.List):void;
                setCanNotReadFields(canNotReadFields:$.java.util.Set):void;
                setF7SeletedControlId(f7SeletedControlId:string):void;
                setLookup(isLookup:boolean):void;
                /**
                 * @return 主业务组织过滤是否为不限
                 */
                isMainOrgNoLimit():boolean;
                getExtendedFlexDimensionsList():$.java.util.Map;
                /**
                 * 获取“查询范围”最后一级的单据体数据信息
                 *
                 * @return
                 */
                getEntryEntity():string;
                setFastQueryFilterParameter(fastQueryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                setMainOrgNoLimit(isMainOrgNoLimit:boolean):void;
                /**
                 * 过滤控件key值，PC端过滤容器控件，移动端过滤排序控件
                 *
                 * @return
                 */
                getFilterControlKey():string;
                /**
                 * 是否单组织模式，标准版使用
                 *
                 * @return
                 */
                isSingleOrgMode():boolean;
                getFilterControlContext():FilterControlContext;
                putExtendedFlexDimensions(extendedFlexDimensions:ExtendedFlexDimensions):void;
                /**
                 * 表单布局标识
                 *
                 * @return
                 */
                getBillFormId():string;
                /**
                 * 是否F7
                 *
                 * @return
                 */
                isLookup():boolean;
                /**
                 * 移动过滤排序控件的过滤条件，移动列表使用
                 *
                 * @return
                 */
                getSchemeQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                setBillListId(billListId:string):void;
                /**
                 * 方案弹性域过滤字段查询时使用的注册监听器，用于添加弹性域类别等过滤条件，处理不为空，不等于等特殊过滤条件
                 *
                 * @param registerPropertyListener
                 */
                registerPropertyListener(registerPropertyListener:kd.bos.entity.datamodel.IRegisterPropertyListener):void;
                /**
                 * 快速过滤过滤条件
                 *
                 * @return
                 */
                getFastQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 常用视图或者方案视图过滤数据
                 *
                 * @return
                 */
                getClientQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                setFieldCompareTypeMap(fieldCompareTypeMap:$.java.util.Map):void;
                /**
                 * 移动搜索控件旁边的“退出”按钮标识
                 *
                 * @return
                 */
                getExitButtonId():string;
                setExitButtonId(exitButtonId:string):void;
                /**
                 * 外部添加过滤字段初始化监听，目前只有报表使用
                 *
                 * @param consumer
                 */
                addFilterColumnInitListener(consumer:(t:any)=>void):void;
                getSelectFieldsCaptionMap():$.java.util.Map;
                setClientQueryFilterParameter(clientQueryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                getCanNotReadFields():$.java.util.Set;
                setControlFilters(controlFilters:$.kd.bos.entity.filter.ControlFilters):void;
                setFilterColumnInitListeners(filterColumnInitListeners:$.java.util.List):void;
                /**
                 * 设置归档数据
                 *
                 * @param archiveKey
                 */
                setArchiveKey(archiveKey:string):void;
                /**
                 * @return 是否包括单据状态
                 */
                isContainBillStatus():boolean;
            }
            type ControlContext_T = ControlContext$;
            interface ControlContext extends ControlContext_T {
            }
            interface CityList_S {
            }
            type CityList_ST = AbstractList_S & CityList_S;
            interface CityList_C extends CityList_ST {
                new():CityList;
            }
            interface CityList$ {
                /**
                 * 移动端 城市控件数据处理
                 *
                 * isDomestic  是否国内
                 * isFirst     是否首次
                 * dataPerPage 分页长度
                 * gr          分组
                 * lastCityId  上次城市id
                 *
                 * @return 城市数据集合
                 */
                getCityData(args:$.java.util.Map):void;
                /**
                 * 选项选中监听
                 */
                itemSelect():void;
                /**
                 * 移动端 城市控件数据查询
                 *
                 * keyword 搜索关键词
                 * timestamp 时间戳，前端维护时间与搜索结果对应关系
                 *
                 * @return 城市数据集合
                 */
                onSearch(keyword:string,timestamp:string):void;
                /**
                 * 移动端 城市控件常用城市
                 *
                 * isDomestic 是否国内
                 *
                 * @return 城市数据集合
                 */
                getFreqCities(args:$.java.util.Map):void;
                /**
                 * 移动端 城市控件热门城市
                 *
                 * isDomestic 是否国内
                 *
                 * @return 城市数据集合
                 */
                getHotCities(args:$.java.util.Map):void;
                /**
                 * 获取国家选项选中监听
                 *
                 * @param countryId 选项id集合
                 */
                countrySelected(countryId:$.java.util.ArrayList):void;
            }
            type CityList_T = AbstractList & CityList$;
            interface CityList extends CityList_T {
            }
            interface IListColumnAp_S {
            }
            interface IListColumnAp_C extends IListColumnAp_S {
            }
            interface IListColumnAp$ {
                getKey?():string;
                getListFieldId?():string;
            }
            type IListColumnAp_T = IListColumnAp$;
            interface IListColumnAp extends IListColumnAp_T {
            }
            interface DynamicTextListColumn_S {
            }
            type DynamicTextListColumn_ST = $.kd.bos.list.AbstractListColumn & DynamicTextListColumn_S;
            interface DynamicTextListColumn_C extends DynamicTextListColumn_ST {
                /**
                 * 构造函数
                 */
                new():DynamicTextListColumn;
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段
                 * @param caption
                 *            标题
                 * @param listFieldMetas
                 *            格式化设置元数据
                 * @param formatExpression
                 *            格式化设置表达式
                 */
                new(key:string,caption:$.kd.bos.dataentity.entity.LocaleString,listFieldMetas:$.java.util.List,formatExpression:string):DynamicTextListColumn;
            }
            interface DynamicTextListColumn$ {
                /**
                 * 设置字段元数据
                 * @param listFieldMetas
                 *            字段元数据
                 */
                setListFieldMetas(listFieldMetas:$.java.util.List):void;
                /**
                 * 获取字段格式化表达式
                 * @return 字段格式化表达式
                 */
                getFormatExpression():string;
                /**
                 * 设置字段格式化表达式
                 * @param formatExpression
                 *            字段格式化表达式
                 */
                setFormatExpression(formatExpression:string):void;
                /**
                 * 获取字段元数据
                 * @return 字段元数据
                 */
                getListFieldMetas():$.java.util.List;
            }
            type DynamicTextListColumn_T = $.kd.bos.list.AbstractListColumn & DynamicTextListColumn$;
            interface DynamicTextListColumn extends DynamicTextListColumn_T {
            }
            interface SummaryFieldIds_S {
            }
            type SummaryFieldIds_ST = $.java.io.Serializable & SummaryFieldIds_S;
            interface SummaryFieldIds_C extends SummaryFieldIds_ST {
                new():SummaryFieldIds;
                new(summaryFieldIds:$.java.util.List):SummaryFieldIds;
            }
            interface SummaryFieldIds$ {
                getSummaryFieldIds():$.java.util.List;
                setSummaryFieldIds(summaryFieldIds:$.java.util.List):void;
            }
            type SummaryFieldIds_T = $.java.io.Serializable & SummaryFieldIds$;
            interface SummaryFieldIds extends SummaryFieldIds_T {
            }
            interface ListCardView_S {
            }
            type ListCardView_ST = $.kd.bos.form.container.Container & IListChild_S & ListCardView_S;
            interface ListCardView_C extends ListCardView_ST {
                new():ListCardView;
            }
            interface ListCardView$ {
                /**
                 * 是否显示无数据提示
                 *
                 * @return
                 */
                isShowNoDataTip():boolean;
                /**
                 * 设置可见性
                 *
                 * @param visible
                 */
                setVisible(visible:number):void;
                /**
                 * 列表元数据
                 *
                 * @return
                 */
                getClientMeta():$.java.util.Map;
                /**
                 * 可见性
                 *
                 * @return
                 */
                getVisible():number;
                /**
                 * 设置分页类型
                 *
                 * @param type
                 */
                setPageType(type_arg:string):void;
                /**
                 * 获取工具栏位置
                 *
                 * @return
                 */
                getToolbarLocation():string;
                /**
                 * 设置卡片字段属性
                 *
                 * @param fieldKey     字段标识
                 * @param propertyName 字段属性
                 * @param value        字段值
                 */
                setColumnProperty(fieldKey:string,propertyName:string,value:any):void;
                /**
                 * 设置工具栏位置
                 *
                 * @param toolbarLocation
                 */
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 列表设置元数据
                 *
                 * @param clientMeta
                 */
                setClientMeta(clientMeta:$.java.util.Map):void;
                /**
                 * 设置是否分页隐藏
                 *
                 * @param paginationHide
                 */
                setPaginationHide(paginationHide:boolean):void;
                /**
                 * 设置是否显示无数据提示
                 *
                 * @param showNoDataTip
                 */
                setShowNoDataTip(showNoDataTip:boolean):void;
                /**
                 * 是否分页隐藏
                 *
                 * @return
                 */
                isPaginationHide():boolean;
                /**
                 * 获取分页类型
                 *
                 * @return
                 */
                getPageType():string;
            }
            type ListCardView_T = $.kd.bos.form.container.Container & IListChild & ListCardView$;
            interface ListCardView extends ListCardView_T {
            }
            interface UserList_S {
            }
            type UserList_ST = AbstractList_S & UserList_S;
            interface UserList_C extends UserList_ST {
                new():UserList;
            }
            interface UserList$ {
                /**
                 * 搜索用户
                 * @param queryKey
                 */
                getLookUpList(queryKey:string):void;
            }
            type UserList_T = AbstractList & UserList$;
            interface UserList extends UserList_T {
            }
            interface MobF7SelectedList_S {
            }
            type MobF7SelectedList_ST = AbstractList_S & MobF7SelectedList_S;
            interface MobF7SelectedList_C extends MobF7SelectedList_ST {
                new():MobF7SelectedList;
            }
            interface MobF7SelectedList$ {
                /**
                 * 添加已选列表移除监听事件
                 *
                 * @param listener 已选列表移除监听事件
                 */
                addF7SelectedListRemoveListener(listener:kd.bos.list.events.F7SelectedListRemoveListener):void;
                /**
                 * 添加一项
                 *
                 * @param items 添加选中项的内容
                 */
                addItems(items:$.java.util.List):void;
                /**
                 * 移除选中的 一项
                 *
                 * @param param 项的key值
                 */
                removeItem(param:any):void;
            }
            type MobF7SelectedList_T = AbstractList & MobF7SelectedList$;
            interface MobF7SelectedList extends MobF7SelectedList_T {
            }
            interface AbstractList_S {
            }
            type AbstractList_ST = $.kd.bos.form.control.Control & AbstractList_S;
            interface AbstractList_C extends AbstractList_ST {
                new():AbstractList;
            }
            interface AbstractList$ {
                /**
                 * 添加列表选中数据监听
                 *
                 * @param listener  移动列表选择事件
                 */
                addListSelectedListener(listener:kd.bos.list.events.ListSelectedListener):void;
                /**
                 * 获取控件状态
                 *
                 * @return 控件状态
                 */
                getEntryState():AbstractList$ListState;
                /**
                 * 添加点击事件监听
                 *
                 * @param listener 监听器
                 */
                addClickListener(listener:$.kd.bos.form.control.events.ClickListener):void;
            }
            type AbstractList_T = $.kd.bos.form.control.Control & AbstractList$;
            interface AbstractList extends AbstractList_T {
            }
            interface ListColumnGroup_S {
            }
            type ListColumnGroup_ST = $.kd.bos.form.container.Container & ListColumnGroup_S & kd.bos.list.IListColumnGroupConfig_S;
            interface ListColumnGroup_C extends ListColumnGroup_ST {
                new():ListColumnGroup;
            }
            interface ListColumnGroup$ {
                /**
                 * 设置是否默认折叠
                 *
                 * @param groupDefaultCollapse
                 */
                setGroupDefaultCollapse(groupDefaultCollapse:boolean):void;
                /**
                 * 获取比较符设置监听
                 *
                 * @return 列表表头过滤比较符设置事件
                 */
                getListColumnCompareTypesSetListeners():$.java.util.List;
                /**
                 * 设置标题
                 *
                 * @param name
                 *            标题
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取是否默认折叠
                 *
                 * @return
                 */
                isGroupDefaultCollapse():boolean;
                /**
                 * 设置分组内的数字字段实现显示尾零
                 *
                 * @param noDisplayScaleZero
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 注册比较符设置监听集合
                 *
                 * @param listColumnCompareTypesSetListeners
                 */
                setListColumnCompareTypesSetListeners(listColumnCompareTypesSetListeners:$.java.util.List):void;
                /**
                 * 设置控件父视图表头
                 * @param parentViewKey 控件父视图表头
                 */
                setParentViewKey(parentViewKey:string):void;
                /**
                 * 设置表格每列字段表头单独设置背景色
                 *
                 * @param tableHeaderCellBackColor
                 */
                setTableHeaderCellBackColor(tableHeaderCellBackColor:string):void;
                /**
                 * 设置可折叠属性
                 *
                 * @param groupCollapsible
                 */
                setGroupCollapsible(groupCollapsible:boolean):void;
                /**
                 * 获取控件父视图表头
                 *
                 * @return 控件父视图表头
                 */
                getParentViewKey():string;
                /**
                 * 获取分组内的数字字段实现显示尾零
                 *
                 * @return 分组内的数字字段实现显示尾零
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 获取帮忙文本
                 *
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 获取可折叠属性
                 *
                 * @return
                 */
                isGroupCollapsible():boolean;
                /**
                 * 获取表格每列字段表头单独设置背景色
                 *
                 * @return
                 */
                getTableHeaderCellBackColor():string;
                /**
                 * 设置帮助文本
                 *
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 获取标题
                 *
                 * @return 标题
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type ListColumnGroup_T = $.kd.bos.form.container.Container & ListColumnGroup$ & kd.bos.list.IListColumnGroupConfig;
            interface ListColumnGroup extends ListColumnGroup_T {
            }
            interface MobileList_S {
            }
            type MobileList_ST = AbstractList_S & MobileList_S;
            interface MobileList_C extends MobileList_ST {
                new():MobileList;
            }
            interface MobileList$ {
                setShowModal(showModal:boolean):void;
                /**
                 * 是否显示搜索栏
                 *
                 * @return
                 */
                isShowSearch():boolean;
                isMulti():boolean;
                setPrimaryField(primaryField:string):void;
                setListShowParameter(listShowParameter:$.kd.bos.list.ListShowParameter):void;
                onChange(searchText:string):void;
                isShowModal():boolean;
                setMulti(isMulti:boolean):void;
                cancel():void;
                /**
                 * 主标题
                 *
                 * @return
                 */
                getPrimaryField():string;
                /**
                 * 副标题
                 *
                 * @return
                 */
                getSecondField():string;
                getPageRow():number;
                /**
                 * 图标
                 *
                 * @return
                 */
                getIconField():string;
                setShowFrequent(isShowFrequent:boolean):void;
                getListShowParameter():$.kd.bos.list.ListShowParameter;
                isShowFrequent():boolean;
                setIconField(iconField:string):void;
                getFeqData():void;
                getFeqData(myFrequent:$.java.util.List):void;
                /**
                 * 设置每页的行数
                 *
                 * @param pageRow
                 *            行数目
                 */
                setPageRow(pageRow:number):void;
                setSecondField(secondField:string):void;
                /**
                 * 设置是否显示搜索栏
                 *
                 * @param showSearch
                 */
                setShowSearch(showSearch:boolean):void;
                getSearchNextPageData(pageIndex:number):void;
                getBillFormId():string;
                /**
                 * 获取实体元数据类型
                 *
                 * @return
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
                setBillFormId(billFormId:string):void;
                getListUserOption():$.kd.bos.entity.list.option.ListUserOption;
            }
            type MobileList_T = AbstractList & MobileList$;
            interface MobileList extends MobileList_T {
            }
            interface ViewCommonUtil_S {
                /**
                 * 获取第一个分录
                 *
                 * @param entityType
                 *            实体类型
                 * @param entryEntityDtos
                 *            分录列表
                 * @return 第一个分录
                 */
                getFirstEntryEntity(entityType:$.kd.bos.entity.EntityType,entryEntityDtos:$.java.util.List):string;
                /**
                 * 获取有效分录(有些单据分录在列表设置器没有配置列表字段，所以要去掉)
                 *
                 * @param entityType
                 *            实体类型
                 * @param controlItems
                 *            列表字段配置
                 * @return 有效分录
                 */
                getValidEntryListByListColumn(entityType:$.kd.bos.entity.EntityType,controlItems:$.java.util.List):$.java.util.List;
                /**
                 * 获取列的可见性
                 *
                 * @param isList       是否列表
                 * @param isLookUp     是否F7
                 * @param visibleValue 可见性值
                 * @return
                 */
                getListColumnVisible(isList:boolean,isLookUp:boolean,visibleValue:number):boolean;
                /**
                 * @param billFormId
                 *            单据编号
                 * @param searchContent
                 *            分析内容
                 * @description * 分析用户输入内容
                 */
                analysisSearch2Sql(billFormId:string,searchContent:string):string;
                /**
                 * 构造发送到前端的下拉列表数据
                 *
                 * @param col       列信息
                 * @param comboProp 列绑定的下拉列表属性
                 * @param editor    前端数据集合Map
                 */
                setComboListColumnEditor(col:$.kd.bos.list.IListColumn,comboProp:$.kd.bos.entity.property.ComboProp,editor:$.java.util.Map):void;
                /**
                 * 根据实体和过滤列信息获取分录信息
                 *
                 * @param entityType    实体
                 * @param filterColumns 过滤列信息
                 * @return
                 */
                getValidEntryListByFilterColumn(entityType:$.kd.bos.entity.EntityType,filterColumns:$.java.util.List):$.java.util.List;
                /**
                 * 集合中可能没有父单据体，添加
                 *
                 * @param entryEntityDtos
                 * @return
                 */
                getFullEntryEntityDtos(entryEntityDtos:$.java.util.List,mainEntityType:$.kd.bos.entity.MainEntityType):$.java.util.List;
                /**
                 * 获取列表当前指定分录要显示的字段列表
                 *
                 * @param entityType
                 *            实体类型
                 * @param controlItems
                 *            列表配置的所有字段
                 * @param entryEntity
                 *            指定分录（默认为第一个分录）
                 * @param entryEntityDtos
                 *            分录列表
                 * @return 要显示的字段列表
                 */
                getEntityFields(entityType:$.kd.bos.entity.EntityType,controlItems:$.java.util.List,entryEntity:string,entryEntityDtos:$.java.util.List):$.java.util.List;
                /**
                 * 检测是否为智能搜索, 智能搜索的需要通过schema解析filter
                 *
                 * @param fastFilterList
                 * @return
                 */
                checkCompare(fastFilterList:$.java.util.List):boolean;
                /**
                 * 根据显示方式返回发送到前端的信息
                 *
                 * @param showStyle 显示方式
                 * @param items     下拉列表选项
                 * @return
                 */
                getStore(showStyle:number,items:$.java.util.List):$.java.util.List;
                /**
                 * 检测页面是否打开智能搜索功能
                 *
                 * @param entityNumber
                 * @return
                 */
                checkOpenNlp(entityNumber:string):string;
                /**
                 * 根据列的seq进行排序
                 *
                 * @param newListColumns
                 * @return
                 */
                orderBySeq(newListColumns:$.java.util.List):$.java.util.List;
                /**
                 * 下拉列表显示方式
                 *
                 * @param col 下拉列表列信息
                 * @return
                 */
                getShowStyle(col:$.kd.bos.list.IListColumn):number;
                /**
                 * 展开列信息，将合并列表字段和动态文本字段的子元素展开到集合中
                 *
                 * @param controlItems    传入的列信息
                 * @param newControlItems 展开的列信息
                 */
                expandListColumns(controlItems:$.java.util.List,newControlItems:$.java.util.List):void;
                /**
                 * 获取列表当前指定分录要显示的字段列表
                 *
                 * @param entityType
                 *            实体类型
                 * @param controlItems
                 *            列表配置的所有字段
                 * @param entryEntityDtos
                 *            分录列表
                 * @return 要显示的字段列表
                 */
                getEntityFields(entityType:$.kd.bos.entity.EntityType,controlItems:$.java.util.List,entryEntityDtos:$.java.util.List):$.java.util.List;
                /**
                 * @param billFormId
                 *            单据编号
                 * @return
                 * @description 根据单据编号查询所有的比较符，包括预置的和自定义的
                 */
                getCompareOpByNo(billFormId:string):$.java.util.List;
                /**
                 * 创建列之前事件
                 *
                 * @param billList
                 * @return
                 */
                createBeforeCreateListColumnArgs(billList:BillList):kd.bos.form.events.BeforeCreateListColumnsArgs;
                /**
                 * 递归遍历单据列表控件将遍历结果返回
                 *
                 * @param container 单据列表控件
                 * @param context   控件上下文
                 * @return 遍历结果
                 */
                createContainerListColumns(container:$.kd.bos.form.container.Container,context:ControlContext):kd.bos.form.events.BeforeCreateListColumnsArgs;
                /**
                 * 获取第一个分录
                 *
                 * @param entityTypeName
                 *            实体名称
                 * @param entryEntityDtos
                 *            分录列表
                 * @return 第一个分录
                 */
                getFirstEntryEntity(entityTypeName:string,entryEntityDtos:$.java.util.List):string;
                /**
                 * 根据显示方式构造发送到前端的下拉列表数据
                 *
                 * @param showStyle 显示方式
                 * @param comboProp 列绑定的下拉列表属性
                 * @param editor    前端数据集合Map
                 */
                setComboListColumnEditor(showStyle:number,comboProp:$.kd.bos.entity.property.ComboProp,editor:$.java.util.Map):void;
            }
            interface ViewCommonUtil_C extends ViewCommonUtil_S {
                new():ViewCommonUtil;
            }
            interface ViewCommonUtil$ {
            }
            type ViewCommonUtil_T = ViewCommonUtil$;
            interface ViewCommonUtil extends ViewCommonUtil_T {
            }
            interface MobControlContext_S {
            }
            type MobControlContext_ST = ControlContext_S & MobControlContext_S;
            interface MobControlContext_C extends MobControlContext_ST {
                new():MobControlContext;
            }
            interface MobControlContext$ {
                /**
                 * 获取移动排序控件查询实体集合
                 *
                 * @return 移动排序控件查询实体集合
                 */
                getMobFilterSortEntryEntityDtos():$.java.util.List;
                /**
                 * 设置移动过滤排序控件标识
                 *
                 * @param mobFilterSortId 移动排序过滤控件标识
                 */
                setMobFilterSortId(mobFilterSortId:string):void;
                /**
                 * 获取移动排序过滤控件标识
                 *
                 * @return 移动排序过滤控件标识
                 */
                getMobFilterSortId():string;
            }
            type MobControlContext_T = ControlContext & MobControlContext$;
            interface MobControlContext extends MobControlContext_T {
            }
            interface OrgList_S {
            }
            type OrgList_ST = AbstractList_S & OrgList_S;
            interface OrgList_C extends OrgList_ST {
                new():OrgList;
            }
            interface OrgList$ {
                /**
                 * 搜索组织
                 *
                 * @param queryKey
                 */
                getLookUpList(queryKey:string):void;
                /**
                 * 选中组织
                 *
                 * @param params
                 */
                select(params:any):void;
                /**
                 * 获取下级组织信息
                 *
                 * @param params
                 */
                itemSelect(params:any):void;
                /**
                 * 上一步
                 *
                 * @param params
                 */
                backPressed(params:any):void;
            }
            type OrgList_T = AbstractList & OrgList$;
            interface OrgList extends OrgList_T {
            }
            interface ComboListColumn_S {
            }
            type ComboListColumn_ST = ComboListColumn_S & ListColumn_S;
            interface ComboListColumn_C extends ComboListColumn_ST {
                new():ComboListColumn;
            }
            interface ComboListColumn$ {
                /**
                 * 获取显示风格，0：文字，1：图片 2:文字+图片
                 *
                 * @return 显示风格
                 */
                getShowStyle():number;
                /**
                 * 设置显示风格，0：文字，1：图片 2:文字+图片
                 * @param showStyle
                 */
                setShowStyle(showStyle:number):void;
            }
            type ComboListColumn_T = ComboListColumn$ & ListColumn;
            interface ComboListColumn extends ComboListColumn_T {
            }
            interface F7SelectedList_S {
            }
            type F7SelectedList_ST = AbstractList_S & F7SelectedList_S;
            interface F7SelectedList_C extends F7SelectedList_ST {
                new():F7SelectedList;
            }
            interface F7SelectedList$ {
                /**
                 * 添加选项排序事件监听
                 *
                 * @param listener 选项排序事件监听
                 */
                addF7SelectedListSortListener(listener:kd.bos.list.events.F7SelectedListSortListener):void;
                /**
                 * 移除选中的 一项
                 *
                 * @param param
                 *            项的key值
                 */
                removeItem(param:any):void;
                /**
                 * 注册全部移除监听事件
                 *
                 * @param listener 全部移除监听事件
                 */
                addF7SelectedListRemoveAllListener(listener:kd.bos.list.events.F7SelectedListRemoveListener):void;
                /**
                 * 添加一项
                 *
                 * @param valueTextItems
                 *            添加选中项的内容
                 */
                addItems(valueTextItems:$.java.util.List):void;
                /**
                 * 前端移除所有选中项，不触发后端事件
                 */
                removeAllItemsByClient():void;
                /**
                 * 前端移除所有选中项，并触发后端事件
                 */
                removeAllItems():void;
                /**
                 * 注册移除项监听事件
                 *
                 * @param listener 移除项监听事件
                 */
                addF7SelectedListRemoveListener(listener:kd.bos.list.events.F7SelectedListRemoveListener):void;
            }
            type F7SelectedList_T = AbstractList & F7SelectedList$;
            interface F7SelectedList extends F7SelectedList_T {
            }
            interface DecimalListColumn_S {
            }
            type DecimalListColumn_ST = DecimalListColumn_S & ListColumn_S;
            interface DecimalListColumn_C extends DecimalListColumn_ST {
                new():DecimalListColumn;
            }
            interface DecimalListColumn$ {
                /**
                 * 是否显示进度条百分比
                 * @return
                 */
                isShowPercent():boolean;
                /**
                 * 是否显示进度条百分比
                 * @return
                 */
                setShowPercent(showPercent:boolean):void;
                /**
                 * 进度条颜色
                 * @return
                 */
                setProgressBarColor(progressBarColor:$.java.util.List):void;
                /**
                 * 设置掩码
                 * @param mask
                 */
                setMask(mask:string):void;
                /**
                 * 获取数字显示类型
                 * @return
                 */
                getDecimalShowType():number;
                /**
                 * 返回是否为零显示
                 *
                 * @return 是否为零显示
                 */
                isZeroShow():boolean;
                /**
                 * 获取掩码
                 *
                 * @return 掩码
                 */
                getMask():string;
                /**
                 * 设置汇总类型
                 *
                 * @param summary 汇总类型
                 */
                setSummary(summary:number):void;
                /**
                 * 返回是否显示尾零
                 *
                 * @return 是否显示尾零
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 设置数字显示类型
                 * @param decimalShowType
                 */
                setDecimalShowType(decimalShowType:number):void;
                /**
                 * 获取格式化字符串
                 *
                 * @return 格式化字符串
                 */
                getDisplayFormatString():string;
                /**
                 * 设置格式化字符串
                 *
                 * @param displayFormatString 格式化字符串
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 设置移动列表-数值字段是否显示尾零
                 * @param mobNoDisplayScaleZero
                 */
                setMobNoDisplayScaleZero(mobNoDisplayScaleZero:boolean):void;
                /**
                 * 获取汇总类型: 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 *
                 * @return 汇总类型
                 */
                getSummary():number;
                /**
                 * 百分比小数位数
                 * @return
                 */
                getProgressBarDecimalPlaces():number;
                /**
                 * 移动列表-数值字段是否显示尾零
                 * @return
                 */
                isMobNoDisplayScaleZero():boolean;
                /**
                 * 设置是否显示尾零
                 * @param noDisplayScaleZero
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 百分比小数位数
                 * @return
                 */
                setProgressBarDecimalPlaces(progressBarDecimalPlaces:number):void;
                /**
                 * 设置是否为零显示
                 *
                 * @param zeroShow 是否为零显示
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 进度条颜色
                 * @return
                 */
                getProgressBarColor():$.java.util.List;
            }
            type DecimalListColumn_T = DecimalListColumn$ & ListColumn;
            interface DecimalListColumn extends DecimalListColumn_T {
            }
            interface ListOperationColumn_S {
            }
            type ListOperationColumn_ST = AbstractListContainerColumn_S & ListOperationColumn_S;
            interface ListOperationColumn_C extends ListOperationColumn_ST {
                new():ListOperationColumn;
            }
            interface ListOperationColumn$ {
                /**
                 * 获取列表操作列选项
                 *
                 * @return 列表操作列选项
                 */
                getOperationColItems():$.java.util.List;
                /**
                 * 获取显示风格：1(下拉列表)
                 *
                 * @return 显示风格
                 */
                getOperationColumnShowStyle():number;
                /**
                 * 设置标题
                 *
                 * @param name 标题
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置列表操作列选项
                 *
                 * @param operationColItems 列表操作列选项
                 */
                setOperationColItems(operationColItems:$.java.util.List):void;
                /**
                 * 设置显示风格：1(下拉列表)
                 * @param showStyle
                 */
                setOperationColumnShowStyle(showStyle:number):void;
                /**
                 * 设置是否拆分显示
                 * @param isSplit
                 */
                setSplit(isSplit:boolean):void;
                /**
                 * 返回是否拆分显示
                 *
                 * @return 是否拆分显示
                 */
                isSplit():boolean;
                /**
                 * 获取标题
                 *
                 * @return 标题
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type ListOperationColumn_T = AbstractListContainerColumn & ListOperationColumn$;
            interface ListOperationColumn extends ListOperationColumn_T {
            }
            interface VoucherNoListColumn_S {
            }
            type VoucherNoListColumn_ST = $.kd.bos.list.AbstractListColumn & VoucherNoListColumn_S;
            interface VoucherNoListColumn_C extends VoucherNoListColumn_ST {
                new():VoucherNoListColumn;
            }
            interface VoucherNoListColumn$ {
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 凭证id字段
                 *
                 * @return
                 */
                getVoucherFieldId():string;
                /**
                 * 设置凭证id字段
                 *
                 * @param voucherFieldId
                 */
                setVoucherFieldId(voucherFieldId:string):void;
                /**
                 * 对应的操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
            }
            type VoucherNoListColumn_T = $.kd.bos.list.AbstractListColumn & VoucherNoListColumn$;
            interface VoucherNoListColumn extends VoucherNoListColumn_T {
            }
            interface MobileSearch_S {
            }
            type MobileSearch_ST = $.kd.bos.form.container.Container & MobileSearch_S & kd.bos.list.ITemplateControl_S;
            interface MobileSearch_C extends MobileSearch_ST {
                new():MobileSearch;
            }
            interface MobileSearch$ {
                /**
                 * 注册移动搜索取消监听
                 *
                 * @param listener 移动搜索取消监听
                 */
                addMobileSearchCancelListener(listener:$.kd.bos.form.control.events.MobileSearchCancelListener):void;
                /**
                 * 添加绑定数据之前事件
                 *
                 * @param listener 绑定数据之前事件
                 */
                addBeforeBindDataListener(listener:$.kd.bos.form.events.BeforeBindDataListener):void;
                /**
                 * 设置为空提示
                 *
                 * @param emptyText
                 *            为空提示的字符串
                 */
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取为空提示的内容
                 *
                 * @return 为空提示的内容
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置是否多关键字搜索
                 * @param isMultiKeySearch
                 *            是否多关键字搜索
                 */
                setMultiKeySearch(isMultiKeySearch:boolean):void;
                /**
                 * 前端交互接口，输入取消
                 */
                onCancel():void;
                /**
                 * 添加初始化监听列表
                 *
                 * @param listener
                 *            监听器
                 */
                addMobileSearchInitListener(listener:kd.bos.form.control.events.MobileSearchInitListener):void;
                /**
                 * 获取搜索控件模式，跳页:0，实时:1
                 *
                 * @return 搜索控件模式
                 */
                getMobileShowModel():number;
                /**
                 * 设置过滤容器的可见性
                 *
                 * @param visible
                 *            可见性
                 */
                setVisible(visible:number):void;
                /**
                 * 查看过滤容器的可见性
                 *
                 * @return 可见性
                 */
                getVisible():number;
                /**
                 * 返回是否多关键字搜索
                 * @return 是否多关键字搜索
                 */
                isMultiKeySearch():boolean;
                /**
                 * 添加绑定数据之后事件
                 *
                 * @param listener 绑定数据之后事件参数
                 */
                addAfterBindDataListener(listener:$.kd.bos.form.events.AfterBindDataListener):void;
                /**
                 * 设置搜索控件模式
                 *
                 * @param mobileShowModel
                 *            控件模式，跳页:0，实时:1
                 */
                setMobileShowModel(mobileShowModel:number):void;
                /**
                 * 获取控件上下文
                 *
                 * @return 控件上下文
                 */
                getContext():ControlContext;
                /**
                 * 获取移动搜索控件缓存值
                 *
                 * @return 移动搜索控件缓存值
                 */
                getMobileSearchFilterValues():kd.bos.entity.filter.MobileSearchFilterValues;
                /**
                 * 前端交互接口，文本变化
                 *
                 * @param text
                 *            输入的文本
                 */
                onChange(text:string):void;
                /**
                 * 获取表单布局模式
                 *
                 * @return 表单布局模式
                 */
                getBillFormId():string;
                /**
                 * 重置搜索控件
                 */
                cancelSearch():void;
                /**
                 * 注册移动搜索焦点监听
                 *
                 * @param listener 移动搜索焦点监听
                 */
                addMobileSearchFocusListener(listener:$.kd.bos.form.control.events.MobileSearchFocusListener):void;
                /**
                 * 获取实体类型
                 *
                 * @return 实体类型
                 */
                getEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 获取输入文本
                 *
                 * @return 输入文本
                 */
                getText():string;
                /**
                 * 设置输入文本，与前端交互接口
                 *
                 * @param text 输入文本
                 */
                setText(text:string):void;
                /**
                 * 注册移动搜索输入监听
                 *
                 * @param listener 移动搜索输入监听
                 */
                addMobileSearchTextChangeListener(listener:$.kd.bos.form.control.events.MobileSearchTextChangeListener):void;
            }
            type MobileSearch_T = $.kd.bos.form.container.Container & MobileSearch$ & kd.bos.list.ITemplateControl;
            interface MobileSearch extends MobileSearch_T {
            }
            interface AbstractList$ListState_S {
            }
            interface AbstractList$ListState_C extends AbstractList$ListState_S {
                new(arg0:string,arg1:$.java.util.Map):AbstractList$ListState;
            }
            interface AbstractList$ListState$ {
                getKey():string;
                putSearchText(arg0:string):void;
                getSearchText():string;
            }
            type AbstractList$ListState_T = AbstractList$ListState$;
            interface AbstractList$ListState extends AbstractList$ListState_T {
            }
            class ListEvent {
                static readonly getGridDataByFilter:kd.bos.list.ListEvent;
                static valueOf(arg0:string):kd.bos.list.ListEvent;
                static values():kd.bos.list.ListEvent[];
            }
            interface ListGridView_S {
            }
            type ListGridView_ST = $.kd.bos.form.container.Container & IListChild_S & ListGridView_S;
            interface ListGridView_C extends ListGridView_ST {
                new():ListGridView;
            }
            interface ListGridView$ {
                /**
                 * 设置工具栏位置
                 *
                 * @param toolbarLocation
                 */
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 获取标题字号
                 *
                 * @return
                 */
                getTitleFontSize():number;
                /**
                 * 是否分页隐藏
                 *
                 * @return
                 */
                isPaginationHide():boolean;
                /**
                 * 是否显示前端的过滤和排序 0:filter true,order true;1:filter false,order false
                 *
                 * @return
                 */
                getOrderAndFilter():number;
                /**
                 * 设置是否显示前端的过滤和排序
                 *
                 * @param orderAndFilter
                 */
                setOrderAndFilter(orderAndFilter:number):void;
                /**
                 * 折叠显示高
                 *
                 * @return
                 */
                getFormDetailHeight():string;
                /**
                 * 获取父单据列表
                 *
                 * @return
                 */
                getParent():BillList;
                /**
                 * 设置是否分页隐藏
                 *
                 * @param paginationHide
                 */
                setPaginationHide(paginationHide:boolean):void;
                /**
                 * 设置分页类型
                 *
                 * @param type
                 */
                setPageType(type_arg:string):void;
                /**
                 * 设置单据体的最大行高
                 *
                 * @param maxRowHeight 单据体的最大行高
                 */
                setMaxRowHeight(maxRowHeight:string):void;
                /**
                 * 设置标题自动换行
                 *
                 * @param titleAutoWrap
                 */
                setTitleAutoWrap(titleAutoWrap:boolean):void;
                /**
                 * 获取冻结列列表
                 * @return
                 */
                getFreezeList():$.java.util.List;
                /**
                 * 是否显示选中信息
                 *
                 * @return
                 */
                isShowSelectInfo():boolean;
                /**
                 * 设置折叠显示高
                 *
                 * @param formDetailHeight
                 */
                setFormDetailHeight(formDetailHeight:string):void;
                /**
                 * 是否显示选择列
                 *
                 * @return
                 */
                isShowSelCheckbox():boolean;
                /**
                 * 设置冻结列列表
                 *
                 * @param freezeList
                 */
                setFreezeList(freezeList:$.java.util.List):void;
                /**
                 * 创建分录列
                 *
                 * @return
                 */
                createColumns(isHeader:boolean):$.java.util.List;
                /**
                 * 分页类型
                 *
                 * @return
                 */
                getPageType():string;
                /**
                 * 获取标题自动换行
                 *
                 * @return
                 */
                isTitleAutoWrap():boolean;
                /**
                 * 折叠高度自适应
                 *
                 * @return
                 */
                isFormDetailAutoHeight():boolean;
                /**
                 * 获取可见性
                 *
                 * @return
                 */
                getVisible():number;
                /**
                 * 返回折叠单据体的行高
                 *
                 * @return 折叠单据体设置的行高
                 */
                getRowHeight():string;
                /**
                 * 表头高度
                 *
                 * @return
                 */
                getHeadHeight():string;
                /**
                 * 返回单据体的最大行高
                 *
                 * @return 单据体设置的最大行高
                 */
                getMaxRowHeight():string;
                /**
                 * 设置工具栏位置
                 *
                 * @return
                 */
                getToolbarLocation():string;
                /**
                 * 设置折叠表单
                 *
                 * @param formDetailId
                 */
                setFormDetailId(formDetailId:string):void;
                /**
                 * 单头显示
                 *
                 * @return
                 */
                isDetailEntry():boolean;
                /**
                 * 设置显示选中信息
                 *
                 * @param showSelectInfo 是否显示选中信息
                 */
                setShowSelectInfo(showSelectInfo:boolean):void;
                /**
                 * 获取列宽显示模式
                 *
                 * @param columnWidthStyle
                 */
                setColumnWidthStyle(columnWidthStyle:string):void;
                /**
                 * 设置可见性
                 *
                 * @param visible
                 */
                setVisible(visible:number):void;
                /**
                 * 行高自适应
                 *
                 * @return 行高自适应
                 */
                isAutoRowHeight():boolean;
                /**
                 * 设置表头高度
                 *
                 * @param headHeight
                 */
                setHeadHeight(headHeight:string):void;
                /**
                 * 设置客户端界面规则
                 *
                 * @param clientRules
                 */
                setClientRules(clientRules:$.java.util.List):void;
                /**
                 * 获取客户端界面规则
                 *
                 * @return
                 */
                getClientRules():$.java.util.List;
                /**
                 * 是否单头显示
                 *
                 * @param isDetailEntry
                 */
                setDetailEntry(isDetailEntry:boolean):void;
                /**
                 * 折叠表单
                 *
                 * @return
                 */
                getFormDetailId():string;
                /**
                 * 设置标题字号
                 *
                 * @param titleFontSize
                 */
                setTitleFontSize(titleFontSize:number):void;
                /**
                 * 设置列宽显示模式
                 *
                 * @return
                 */
                getColumnWidthStyle():string;
                /**
                 * 设置折叠高度自适应
                 *
                 * @param formDetailAutoHeight
                 */
                setFormDetailAutoHeight(formDetailAutoHeight:boolean):void;
                /**
                 * 设置是否显示选择列
                 *
                 * @param showSelCheckbox
                 */
                setShowSelCheckbox(showSelCheckbox:boolean):void;
                /**
                 * 设置折叠单据体的行高
                 *
                 * @param rowHeight
                 */
                setRowHeight(rowHeight:string):void;
                /**
                 * 设置行高自适应
                 *
                 * @param autoRowHeight
                 */
                setAutoRowHeight(autoRowHeight:boolean):void;
            }
            type ListGridView_T = $.kd.bos.form.container.Container & IListChild & ListGridView$;
            interface ListGridView extends ListGridView_T {
            }
            interface BillList_S {
                readonly LIMIT:number;
            }
            type BillList_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.IConfirmCallBack & $.kd.bos.form.control.AbstractGrid & BillList_S & kd.bos.list.ITemplateControl_S;
            interface BillList_C extends BillList_ST {
                new():BillList;
            }
            interface BillList$ {
                /**
                 * 添加查询条数是否超过最大条数事件监听器列表
                 *
                 * @param listener
                 *            查询条数是否超过最大条数事件
                 */
                addQueryExceedMaxCountListener(listener:kd.bos.list.events.QueryExceedMaxCountListener):void;
                /**
                 * 设置常用方案过滤条件参数
                 *
                 * @param queryFilterParameter
                 *            常用方案过滤条件参数
                 */
                setClientQueryFilterParameter(queryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * 前端的接口，查询列表的数据是否超过最大条数，默认10W
                 *
                 * @param timestamp 时间戳，用于前端区分请求处理
                 */
                queryExceedMaxCount(timestamp:string):void;
                /**
                 * 获取焦点行
                 *
                 * @return 焦点行
                 */
                getCurrentSelectedRowInfo():$.kd.bos.entity.datamodel.ListSelectedRow;
                /**
                 * 添加列表下拉刷新监听事件
                 *
                 * @param listener
                 *            列表下拉刷新监听事件
                 */
                addMobileListPushDownRefreshistener(listener:$.kd.bos.form.events.AfterMobileListPushDownRefreshListener):void;
                /**
                 * 移动端长按操作，对接前端方法
                 *
                 * @param id
                 *            操作项标识
                 * @param operationKey
                 *            操作代码key
                 */
                cardOperations(id:string,operationKey:string):void;
                /**
                 * 添加列表字段排序监听
                 *
                 * @param listRowSortListener
                 *            列表字段排序监听
                 */
                addListRowSortListeners(consumer:(t:any)=>void):void;
                /**
                 * 设置是否取消所有选中数据
                 * @param isClearSelection
                 */
                setClearSelection(isClearSelection:boolean):void;
                /**
                 * 获取页面计数
                 */
                getRealCount():void;
                /**
                 * 设置字段权限缓存实体集合
                 * @param fieldControlRules
                 */
                setFieldControlRules(fieldControlRules:$.kd.bos.permission.api.FieldControlRules):void;
                /**
                 * 获取表头字段比较符设置监听集合
                 *
                 * @return 表头字段比较符设置监听集合
                 */
                getListColumnCompareTypesSetListeners():$.java.util.List;
                /**
                 * 与前端交互新接口，区分行点击和勾选框点击
                 *
                 * @param row      点击行
                 * @param fieldKey 行所在的key
                 */
                entryRowClick(row:number,fieldKey:string):void;
                /**
                 * 获取字段权限缓存实体集合
                 * @return
                 */
                getFieldControlRules():$.kd.bos.permission.api.FieldControlRules;
                /**
                 * 是否是取消所有选中数据
                 * @return
                 */
                isClearSelection():boolean;
                /**
                 * 获取列表中选择的行记录（数据）
                 *
                 * @return 列表选择行记录
                 */
                getSelectedRows():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 添加当前页全选事件监听器到监听列表
                 *
                 * @param listener 当前页全选监听事件
                 */
                addSelectPageAllRowsListener(listener:kd.bos.list.events.SelectPageAllRowsListener):void;
                /**
                 * 设置创建列监听器到列表
                 * @param createListColumnsListenerListeners
                 */
                setCreateListColumnsListenerListeners(createListColumnsListenerListeners:$.java.util.List):void;
                /**
                 * 添加拼接过滤条件事件
                 *
                 * @param listener 拼接过滤条件事件
                 */
                addSetFilterListener(listener:kd.bos.form.events.SetFilterListener):void;
                /**
                 * 返回表格超过1W条是否可以以滚动模式加载
                 *
                 * @return 是否可以以滚动模式加载
                 */
                isScrollLoad():boolean;
                /**
                 * 清除选中行
                 */
                clearSelection():void;
                /**
                 * @param rowKeys
                 * @param rowDatas
                 * @param fieldKey 区分行点击还是勾选框点击
                 */
                clearRowSelection(rowKeys:$.java.util.List,rowDatas:$.java.util.List,fieldKey:string):void;
                /**
                 * 添加创建列表数据提供者到监听器列表
                 *
                 * @param listener
                 *            列表数据提供者监听器列表
                 */
                addCreateListDataProviderListener(listener:kd.bos.list.events.CreateListDataProviderListener):void;
                /**
                 * 注册控件绑定的实体类型干预事件
                 *
                 * @param billListGetEntityTypeListener
                 */
                addBillListGetEntityTypeListener(billListGetEntityTypeListener:kd.bos.list.events.BillListGetEntityTypeListener):void;
                /**
                 * 仅支持移动端卡片分录和单据列表，BillList 和 CardEntry
                 */
                setCardScrollBarToTop():void;
                /**
                 * 通知前端页面清除所有数据
                 */
                clearData():void;
                /**
                 * 添加取消选中行事件监听
                 *
                 * @param clearSelectionListener
                 *            取消选中行事件监听
                 */
                addClearSelectionListener(consumer:(t:any)=>void):void;
                /**
                 * 绑定列表数据
                 *
                 * @param bctx              绑定数据上下文
                 * @param clearPageRowCache 是否清除取数缓存
                 */
                bindData(bctx:$.kd.bos.form.BindingContext,clearPageRowCache:boolean):void;
                /**
                 * 添加列表1W条滚动模式事件监听事件
                 *
                 * @param listener 列表1W条滚动模式事件监听事件
                 */
                addScrollListListener(listener:kd.bos.form.events.ScrollListListener):void;
                /**
                 * 添加查询单据条数事件监听器到监听列表
                 *
                 * @param listener
                 *            查询单据条数监听事件
                 */
                addQueryBillDataCountListener(listener:kd.bos.list.events.QueryBillDataCountListener):void;
                /**
                 * 设置表格超过1W条是否可以以滚动模式加载
                 *
                 * @param isScrollLoad
                 *            是否可以以滚动模式加载
                 */
                setScrollLoad(isScrollLoad:boolean):void;
                /**
                 * 设置列表过滤条件参数
                 *
                 * @param filterParameter
                 *            过滤条件参数
                 */
                setFilterParameter(filterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * 废弃，请使用kd.bos.list.plugin.IListPlugin.setFilter(SetFilterEvent)，设置列表过滤条件
                 *
                 * @param qFilter
                 *            过滤条件
                 */
                setFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 注册展开的折叠面板中的分录行的点击超链接事件
                 *
                 * @param entryHyperLinkClickListener
                 */
                addEntryHyperLinkClickListener(entryHyperLinkClickListener:$.kd.bos.form.events.EntryHyperLinkClickListener):void;
                /**
                 * 添加列表“单头”展开事件
                 * @param listRowDetailShowListener
                 */
                addListRowDetailShowListeners(consumer:(t:any)=>void):void;
                /**
                 * 使用选中行数据来查询列表数据
                 *
                 * @param selectedRows
                 *            选中行数据
                 * @return 列表数据
                 */
                queryDataBySelectedRows(selectedRows:$.kd.bos.entity.datamodel.ListSelectedRowCollection):$.kd.bos.entity.list.QueryResult;
                /**
                 * 获取选中的主业务组织Id集合
                 *
                 * @return 选中的主业务组织Id集合
                 */
                getSelectedMainOrgIds():$.java.util.List;
                /**
                 * 设置单据实体标识
                 *
                 * @param entryEntity
                 *            单据实体标识
                 */
                setEntryEntity(entryEntity:string):void;
                /**
                 * 添加是否取消云之家聊天监听
                 *
                 * @param chatListener
                 *            是否取消云之家聊天监听
                 */
                addChatListener(consumer:(t:any)=>void):void;
                /**
                 * 获取取消选中行事件监听
                 *
                 * @return 取消选中行事件监听
                 */
                getClearSelectionListeners():$.java.util.List;
                /**
                 * 添加切换视图事件
                 * @param listener
                 */
                addActiveViewListener(listener:$.kd.bos.form.control.events.ActiveViewListener):void;
                /**
                 * 添加数据包装事件,用于修改发送给前端之前的数据，用于单元格填值
                 *
                 * @param packageDataListener
                 *            数据包装事件
                 */
                addPackageDataListener(consumer:(t:any)=>void):void;
                /**
                 * 获取页面显示的字段列表
                 *
                 * @return 页面显示的字段列表
                 */
                getShowListColumns():$.java.util.List;
                /**
                 * @return 表单标识
                 */
                getBillFormId():string;
                /**
                 * 设置取消选中行事件监听
                 *
                 * @param clearSelectionListeners
                 *            取消选中行事件监听
                 */
                setClearSelectionListeners(clearSelectionListeners:$.java.util.List):void;
                /**
                 * 获取焦点行主键
                 *
                 * @return 焦点行主键
                 */
                getFocusRowPkId():any;
                /**
                 * 添加行点击事件监听器到监听列表
                 *
                 * @param listener
                 *            行点击监听事件
                 */
                addListRowClickListener(listener:kd.bos.list.events.ListRowClickListener):void;
                /**
                 * 获取多币别合计字段
                 *
                 * @return
                 */
                getMulCurrencyFields():MulCurrencyFields;
                /**
                 * 获取创建列监听器到列表
                 * @return
                 */
                getCreateListColumnsListenerListeners():$.java.util.List;
                /**
                 * 获取是否取消云之家聊天监听
                 *
                 * @return 是否取消云之家聊天监听
                 */
                getChatListeners():$.java.util.List;
                /**
                 * 设置是否取消云之家聊天监听
                 *
                 * @param chatListeners
                 *            是否取消云之家聊天监听
                 */
                setChatListeners(chatListeners:$.java.util.List):void;
                /**
                 * 获取单据张数
                 */
                queryBillDataCount():number;
                /**
                 * 添加绑定数据之前事件
                 *
                 * @param listener
                 *            绑定数据之前事件
                 */
                addBeforeBindDataListener(listener:$.kd.bos.form.events.BeforeBindDataListener):void;
                /**
                 * 返回是否默认排序，基础资料默认为编码，没有编码按ID排序，单据按ID倒序
                 *
                 * @return 是否默认排
                 */
                isDefaultOrder():boolean;
                /**
                 * 此方法主要用于单元测试 设置最大分页条数
                 *
                 * @param maxPageSize
                 *            最大分页条数
                 */
                setMaxPageSize(maxPageSize:number):void;
                /**
                 * 获取轻分析的列表数据
                 *
                 * @param startRow
                 *            开始行
                 * @param limit
                 *            行数
                 * @return 列表数据
                 */
                getQingData(startRow:number,limit:number):$.java.util.Map;
                /**
                 * 与前端交互接口，列表单头展开
                 *
                 * @param pkId
                 *            单据PK
                 * @param rowIndex
                 *            行号
                 */
                expandClick(pkId:any,rowIndex:number):void;
                /**
                 * 添加创建列监听器到列表
                 *
                 * @param listener
                 *            创建列监听器到列表
                 */
                addCreateListColumnsListener(listener:kd.bos.list.events.CreateListColumnsListener):void;
                /**
                 * 获取列表模型对象
                 *
                 * @return
                 */
                getListModel():$.kd.bos.entity.datamodel.IListModel;
                /**
                 * 前端调用的方法，触发展开的折叠面板中的分录行的点击超链接事件
                 *
                 * @param pkStr
                 * @param entryPkStr
                 * @param fieldName
                 */
                entryHyperLinkClick(pkStr:string,entryPkStr:string,fieldName:string):void;
                /**
                 * 添加表头字段比较符设置监听
                 *
                 * @param listColumnCompareTypesSetListener 表头字段比较符设置监听
                 */
                addListColumnCompareTypesSetListener(listColumnCompareTypesSetListener:$.kd.bos.form.events.ListColumnCompareTypesSetListener):void;
                /**
                 * 获取快速过滤/左数过滤参数
                 *
                 * @return 快速过滤/左数过滤参数
                 */
                getQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 添加查询单据合计数据事件监听器到监听列表
                 *
                 * @param listener
                 *            查询单据合计数据监听事件
                 */
                addQuerySumDataListener(listener:kd.bos.list.events.QuerySumDataListener):void;
                /**
                 * 添加绑定数据之后事件
                 *
                 * @param listener
                 *            绑定数据之后事件
                 */
                addAfterBindDataListener(listener:$.kd.bos.form.events.AfterBindDataListener):void;
                /**
                 * 返回是否"选择全部"开关
                 *
                 * @return 是否"选择全部"开关
                 */
                isSelectedAll():boolean;
                /**
                 * 获取当前页的数据
                 *
                 * @return 当前页的数据
                 */
                getCurrentListAllRowCollection():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 双击行
                 * @param rowKeys
                 * @param rowDatas
                 */
                doubleClickRow(rowKeys:$.java.util.List,rowDatas:$.java.util.List):void;
                /**
                 * 获取单据实体标识
                 *
                 * @return 单据实体标识
                 */
                getEntryEntity():string;
                /**
                 * 设置通用过滤条件参数
                 *
                 * @return 过滤条件参数
                 */
                generalFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 获取列表设计器上的多字段排序设置
                 *
                 * @return 列表设计器上的多字段排序设置
                 */
                getSortSetting():$.java.util.List;
                /**
                 * 打开参数设置的选中
                 *
                 * @param listSelectedRowCollection
                 *            选中的数据
                 */
                putSelectedRows(listSelectedRowCollection:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
                /**
                 * 添加行双击事件监听器到监听列表
                 *
                 * @param listener
                 *            行双击事件监听器
                 */
                addListRowDoubleClickListener(listener:kd.bos.list.events.ListRowClickListener):void;
                /**
                 * 获取列表字段
                 *
                 * @return
                 */
                getListFields():$.java.util.List;
                /**
                 * 获取合计字段
                 * @return
                 */
                getSummaryFieldIds():SummaryFieldIds;
                /**
                 * 清除选中行
                 */
                clearSelection(noSelectedRows:boolean):void;
                /**
                 * 添加列表选项控制干预事件
                 * @param listFieldsControlListener
                 */
                addListFieldsControlListeners(consumer:(t:any)=>void):void;
                /**
                 * 动态设置长按操作项的可见性
                 *
                 * @param index
                 *            卡片行索引
                 * @param key
                 *            操作标识
                 * @param visible
                 *            可见性
                 */
                setLongPressItemVisible(index:number,key:string,visible:boolean):void;
                /**
                 * 选择当前页所以行
                 */
                selectPageAllRows():void;
                /**
                 * 设置排序依据
                 *
                 * @param orderBy：排序依据
                 */
                setOrderBy(orderBy:string):void;
                /**
                 * 添加查询真实条数事件监听器到监听列表
                 *
                 * @param listener
                 *            查询真实条数监听事件
                 */
                addQueryRealCountListener(listener:kd.bos.list.events.QueryRealCountListener):void;
                /**
                 * 设置多币别合计字段
                 */
                setMulCurrencyFields(mulCurrencyFields:MulCurrencyFields):void;
                /**
                 * 获取过滤条件参数
                 *
                 * @return 过滤条件参数
                 */
                getFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 设置表头字段比较符设置监听集合
                 *
                 * @param listColumnCompareTypesSetListeners 表头字段比较符设置监听集合
                 */
                setListColumnCompareTypesSetListeners(listColumnCompareTypesSetListeners:$.java.util.List):void;
                /**
                 * 添加列表展开事件监听器
                 *
                 * @param listener
                 *            列表展开事件监听器
                 */
                addListExpandListener(listener:$.kd.bos.form.field.events.ListExpandListener):void;
                /**
                 * 返回是否索引分页模式
                 *
                 * @return 是否索引分页模式
                 */
                isIndexMode():boolean;
                /**
                 * 清除当页选中行
                 */
                clearPageSelection():void;
                /**
                 * 设置是否显示已选合计
                 *
                 * @param enableCustomSum
                 */
                setEnableCustomSum(enableCustomSum:boolean):void;
                /**
                 * 切换表单(用于在非绑定数据流程中触发的场景，比如：控件值更新事件，页签切换等)
                 *
                 * @param billFormId
                 *            表单标识
                 */
                changeBillFormId(billFormId:string):void;
                /**
                 * 清除选中行
                 *
                 * @param rowKeys
                 * @param rowDatas
                 */
                clearRowSelection(rowKeys:$.java.util.List,rowDatas:$.java.util.List):void;
                /**
                 * 添加列表列超链接点击监听
                 *
                 * @param listener
                 *            列表列超链接点击监听
                 */
                addListHyperLinkClickListener(listener:kd.bos.list.events.ListHyperLinkClickListener):void;
                /**
                 * 添加选中行
                 *
                 * @param rowKeys
                 * @param rowDatas
                 * @param fieldKey 区分行点击还是勾选框点击
                 */
                addRowSelection(rowKeys:$.java.util.List,rowDatas:$.java.util.List,fieldKey:string):void;
                /**
                 * 添加列表选中全部事件
                 * @param listRowSelectAllListener
                 */
                addListRowSelectAllListeners(consumer:(t:any)=>void):void;
                /**
                 * 添加修改列表单元格数据方法
                 * @param setCellsDataListener 设置单元格值事件
                 */
                addSetCellsDataListener(setCellsDataListener:kd.bos.list.events.SetCellsDataListener):void;
                /**
                 * 获取列表列字段缓存
                 * @return
                 */
                getCachedListFields():$.java.util.List;
                /**
                 * 保存用户列表字段宽度设置
                 * @param setting
                 */
                saveGridViewWidth(setting:$.java.util.Map):void;
                /**
                 * 动态设置长按操作项的锁定性
                 *
                 * @param index
                 *            卡片行索引
                 * @param key
                 *            操作标识
                 * @param lock
                 *            锁定性
                 */
                setLongPressItemLock(index:number,key:string,lock:boolean):void;
                /**
                 * 设置合计字段
                 *
                 * @param summaryFieldIds
                 */
                setSummaryFieldIds(summaryFieldIds:SummaryFieldIds):void;
                /**
                 * 获取排序依据
                 *
                 * @return orderBy：排序依据
                 */
                getOrderBy():string;
                /**
                 * 在插件中，动态设置长按操作项的可见性与锁定性
                 *
                 * @param index
                 *            卡片行索引
                 * @param key
                 *            操作项标识
                 * @param visible
                 *            可见性
                 * @param lock
                 *            锁定性
                 */
                setLongPressItemProp(index:number,key:string,visible:boolean,lock:boolean):void;
                /**
                 * 获取单据张数并发送指令给前端
                 */
                getBillDataCount():void;
                /**
                 * 设置是否索引分页模式
                 *
                 * @param isIndexMode
                 *            是否索引分页模式
                 */
                setIndexMode(isIndexMode:boolean):void;
                /**
                 * 添加修改列表单元格数据方法
                 *
                 * @param setCellFieldValueListener
                 *            表格控件设置单元格事件
                 */
                addSetCellFieldValueListener(setCellFieldValueListener:kd.bos.list.events.SetCellFieldValueListener):void;
                /**
                 * 前端调用方法
                 * 显示列表选项排序页签
                 *
                 * @param schemeId 方法标识
                 */
                showListSort(schemeId:string):void;
                /**
                 * 选择列表行
                 *
                 * @param selectedRows
                 *            选择的行，数组存储
                 */
                selectRows(selectedRows:number[]):void;
                /**
                 * 获取是否显示已选合计
                 *
                 * @return
                 */
                isEnableCustomSum():boolean;
                /**
                 * 添加选中行
                 *
                 * @param rowKeys
                 * @param rowDatas
                 */
                addRowSelection(rowKeys:$.java.util.List,rowDatas:$.java.util.List):void;
                /**
                 * 获取实体元数据类型
                 *
                 * @return 实体元数据类型
                 */
                getEntityType():$.kd.bos.entity.EntityType;
                /**
                 * 添加数据再包装事件,用于修改发送给前端之前的数据，数据包为整体数据包
                 *
                 * @param beforePackageDataListener
                 *            数据再包装事件
                 */
                addBeforePackageDataListener(beforePackageDataListener:$.kd.bos.entity.list.events.BeforePackageDataListener):void;
                /**
                 * 添加列表字段过滤监听列表
                 * @param listRowFilterListener
                 */
                addListRowFilterListeners(consumer:(t:any)=>void):void;
                /**
                 * 获取列表常用、方案过滤条件参数
                 *
                 * @return 常用、方案过滤条件参数
                 */
                getClientQueryFilterParameter():$.kd.bos.entity.filter.FilterParameter;
                /**
                 * 获取列表用户选项参数
                 *
                 * @return 列表用户选项参数
                 */
                getListUserOption():$.kd.bos.entity.list.option.ListUserOption;
                /**
                 * 添加表头字段拼接过滤条件事件
                 *
                 * @param listener 拼接过滤条件事件
                 */
                addListColumnSetFilterListener(listener:kd.bos.list.events.ListColumnSetListener):void;
                /**
                 * 设置快速过滤/左数过滤参数
                 *
                 * @param queryFilterParameter
                 *            过滤参数
                 */
                setQueryFilterParameter(queryFilterParameter:$.kd.bos.entity.filter.FilterParameter):void;
                /**
                 * 自动展开折叠行
                 *
                 * @param expandArray
                 *            需要展开的行号
                 * @param foldArray
                 *            需要折叠的行号
                 * @param isOtherFold
                 *            其他是否需要折叠
                 */
                autoExpandOrCloseRowDetail(expandArray:number[],foldArray:number[],isOtherFold:boolean):void;
                /**
                 * 获取查询模式 0：IdQuery 1: SqlQuery
                 *
                 * @return 查询模式
                 */
                getQueryType():string;
            }
            type BillList_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.IConfirmCallBack & $.kd.bos.form.control.AbstractGrid & BillList$ & kd.bos.list.ITemplateControl;
            interface BillList extends BillList_T {
            }
            interface AbstractTreeListView_S {
            }
            type AbstractTreeListView_ST = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.list.ITreeListView & AbstractTreeListView_S;
            interface AbstractTreeListView_C extends AbstractTreeListView_ST {
                new():AbstractTreeListView;
            }
            interface AbstractTreeListView$ {
                /**
                 * 设置根结点
                 *
                 * @param root
                 */
                setRoot(root:$.kd.bos.entity.tree.TreeNode):void;
                /**
                 * 获取根节点
                 *
                 * @return
                 */
                getRoot():$.kd.bos.entity.tree.TreeNode;
            }
            type AbstractTreeListView_T = $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.list.ITreeListView & AbstractTreeListView$;
            interface AbstractTreeListView extends AbstractTreeListView_T {
            }
            interface CardListColumn_S {
            }
            type CardListColumn_ST = CardListColumn_S & ListColumn_S;
            interface CardListColumn_C extends CardListColumn_ST {
                new():CardListColumn;
            }
            interface CardListColumn$ {
            }
            type CardListColumn_T = CardListColumn$ & ListColumn;
            interface CardListColumn extends CardListColumn_T {
            }
            interface MobileTreeList_S {
            }
            type MobileTreeList_ST = MobileList_S & MobileTreeList_S;
            interface MobileTreeList_C extends MobileTreeList_ST {
                new():MobileTreeList;
            }
            interface MobileTreeList$ {
                /**
                 * 是否只能选中叶子节点
                 *
                 * @return
                 */
                isOnlySelectLeaf():boolean;
                /**
                 * 获取第一页的标识，用于缓存页面的总行数
                 *
                 * @return
                 */
                getFirstPageKey():string;
                /**
                 * 下级信息
                 *
                 * @param params 下级信息
                 */
                itemSelect(params:any):void;
                /**
                 * 选中
                 *
                 * @param params 选中数据
                 */
                select(params:any):void;
                /**
                 * 设置是否只能选中叶子节点
                 *
                 * @param isOnlySelectLeaf 是否只能选中叶子节点
                 */
                setOnlySelectLeaf(isOnlySelectLeaf:boolean):void;
                /**
                 * 上一步
                 *
                 * @param params 上一步信息
                 */
                backPressed(params:any):void;
                /**
                 * 获取移动端树形控制总行数限制
                 *
                 * @return
                 */
                getBaseTotal():number;
                /**
                 * 获取下一页数据
                 *
                 * @param currentid 当前节点id
                 * @param pageIndex 页数
                 */
                getNextPageData(currentid:string,pageIndex:number):void;
            }
            type MobileTreeList_T = MobileList & MobileTreeList$;
            interface MobileTreeList extends MobileTreeList_T {
            }
            interface CheckBoxListColumn_S {
            }
            type CheckBoxListColumn_ST = CheckBoxListColumn_S & ListColumn_S;
            interface CheckBoxListColumn_C extends CheckBoxListColumn_ST {
                new():CheckBoxListColumn;
            }
            interface CheckBoxListColumn$ {
                /**
                 * 获取下拉选项显示风格
                 *
                 * @return 下拉选项显示风格
                 */
                getCheckBoxItemShowStyle():number;
                /**
                 * 获取“否”描述
                 *
                 * @return “否”描述
                 */
                getXTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置“否”描述
                 *
                 * @param xTitle “否”描述
                 */
                setXTitle(xTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置“是”描述
                 *
                 * @param oTitle “是”描述
                 */
                setOTitle(oTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置下拉选项显示风格
                 *
                 * @param checkBoxItemShowStyle 下拉选项显示风格
                 */
                setCheckBoxItemShowStyle(checkBoxItemShowStyle:number):void;
                /**
                 * 获取“是”描述
                 *
                 * @return “是”描述
                 */
                getOTitle():$.kd.bos.dataentity.entity.LocaleString;
            }
            type CheckBoxListColumn_T = CheckBoxListColumn$ & ListColumn;
            interface CheckBoxListColumn extends CheckBoxListColumn_T {
            }
            interface ListColumnConfig_S {
            }
            interface ListColumnConfig_C extends ListColumnConfig_S {
                new():ListColumnConfig;
            }
            interface ListColumnConfig$ {
                getListFieldMetas():$.java.util.List;
                getFormatExpression():string;
                setFormatExpression(arg0:string):void;
                setListFieldMetas(arg0:$.java.util.List):void;
            }
            type ListColumnConfig_T = ListColumnConfig$;
            interface ListColumnConfig extends ListColumnConfig_T {
            }
            interface TimeListColumn_S {
            }
            type TimeListColumn_ST = ListColumn_S & TimeListColumn_S;
            interface TimeListColumn_C extends TimeListColumn_ST {
                new():TimeListColumn;
            }
            interface TimeListColumn$ {
                /**
                 * 获取格式化字符串
                 *
                 * @return 格式化字符串
                 */
                getDisplayFormatString():string;
                /**
                 * 设置格式化字符串
                 *
                 * @param displayFormatString 格式化字符串
                 */
                setDisplayFormatString(displayFormatString:string):void;
            }
            type TimeListColumn_T = ListColumn & TimeListColumn$;
            interface TimeListColumn extends TimeListColumn_T {
            }
        }
        namespace kd.bos.list.column{
            interface ListColumnComboItem_S {
            }
            type ListColumnComboItem_ST = $.java.io.Serializable & ListColumnComboItem_S;
            interface ListColumnComboItem_C extends ListColumnComboItem_ST {
                /**
                 * 构造函数
                 *
                 * @param id   比较符ID
                 * @param name 比较符名称
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString):ListColumnComboItem;
            }
            interface ListColumnComboItem$ {
                /**
                 * 设置比较符值
                 *
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 获取比较符id，PK序列化使用
                 *
                 * @return 比较符id
                 */
                getId():string;
                /**
                 * 获取比较符值
                 *
                 * @return 比较符值
                 */
                getValue():string;
                /**
                 * 获取比较符名字
                 *
                 * @return 比较符名字
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type ListColumnComboItem_T = $.java.io.Serializable & ListColumnComboItem$;
            interface ListColumnComboItem extends ListColumnComboItem_T {
            }
            interface CompareSearchValue_S {
            }
            type CompareSearchValue_ST = ComboSearchValue_S & CompareSearchValue_S;
            interface CompareSearchValue_C extends CompareSearchValue_ST {
                /**
                 * 构造函数
                 *
                 * @param listColumnMeta 列表字段类型
                 * @param entityId       实体标识
                 * @param compareId      比较符标识
                 * @param values         值
                 */
                new(listColumnMeta:ListColumnMeta,entityId:string,compareId:string,values:$.java.util.List):CompareSearchValue;
            }
            interface CompareSearchValue$ {
                /**
                 * 获取比较符id
                 *
                 * @return
                 */
                getCompareId():string;
            }
            type CompareSearchValue_T = ComboSearchValue & CompareSearchValue$;
            interface CompareSearchValue extends CompareSearchValue_T {
            }
            interface ListColumnCompare_S {
            }
            type ListColumnCompare_ST = ListColumnComboItem_S & ListColumnCompare_S;
            interface ListColumnCompare_C extends ListColumnCompare_ST {
                /**
                 * 构造函数
                 *
                 * @param id   PK
                 * @param name 名字
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString):ListColumnCompare;
                /**
                 * 构造函数
                 *
                 * @param id           比较符id
                 * @param name         比较符名称
                 * @param inputCtlType 输入类型
                 * @param className    解析类
                 */
                new(id:string,name:$.kd.bos.dataentity.entity.LocaleString,inputCtlType:number,className:string):ListColumnCompare;
            }
            interface ListColumnCompare$ {
                /**
                 * 比较符解析类
                 *
                 * @return
                 */
                getClassName():string;
                /**
                 * 获取比较值录入控件类型，枚举值：-1 = 无需录入, 0 = 手工书写；其他类型已经废弃( 1 = 下拉选择, 2 = ?)
                 *
                 * @return 比较值录入控件类型
                 */
                getInputCtlType():number;
                /**
                 * 是否多选
                 *
                 * @return
                 */
                isMulti():boolean;
                /**
                 * 设置比较值录入控件类型
                 *
                 * @param inputCtlType
                 */
                setInputCtlType(inputCtlType:number):void;
                /**
                 * 设置是否多选
                 *
                 * @param multi
                 */
                setMulti(multi:boolean):void;
            }
            type ListColumnCompare_T = ListColumnComboItem & ListColumnCompare$;
            interface ListColumnCompare extends ListColumnCompare_T {
            }
            interface ListOperationColumnDesc_S {
            }
            type ListOperationColumnDesc_ST = $.kd.bos.entity.list.column.ColumnDesc & ListOperationColumnDesc_S;
            interface ListOperationColumnDesc_C extends ListOperationColumnDesc_ST {
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段标识
                 * @param srcFieldProp
                 *            第一级字段
                 * @param fieldProp
                 *            末级字段
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty):ListOperationColumnDesc;
                /**
                 * 构造函数
                 *
                 * @param key
                 *            字段标识
                 * @param srcFieldProp
                 *            第一级字段
                 * @param fieldProp
                 *            末级字段
                 * @param items
                 *            操作项集合
                 */
                new(key:string,srcFieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,fieldProp:$.kd.bos.dataentity.metadata.IDataEntityProperty,items:$.java.util.List):ListOperationColumnDesc;
            }
            interface ListOperationColumnDesc$ {
                /**
                 * 获取操作项集合
                 *
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 获取发送给前端的操作项集合
                 *
                 * @param operationColItems
                 * @return
                 */
                getBindingOperationColItems(operationColItems:$.java.util.List):any;
                /**
                 * 设置操作项集合
                 *
                 * @param items
                 */
                setItems(items:$.java.util.List):void;
            }
            type ListOperationColumnDesc_T = $.kd.bos.entity.list.column.ColumnDesc & ListOperationColumnDesc$;
            interface ListOperationColumnDesc extends ListOperationColumnDesc_T {
            }
            interface ComboSearchValue_S {
            }
            type ComboSearchValue_ST = $.java.io.Serializable & ComboSearchValue_S;
            interface ComboSearchValue_C extends ComboSearchValue_ST {
                /**
                 * 构造函数
                 *
                 * @param listColumnMeta 列表字段类型
                 * @param entityId       实体标识
                 * @param values         搜索值
                 */
                new(listColumnMeta:ListColumnMeta,entityId:string,values:$.java.util.List):ComboSearchValue;
            }
            interface ComboSearchValue$ {
                /**
                 * 获取实体标识
                 *
                 * @return
                 */
                getEntityId():string;
                /**
                 * 获取列表字段类型
                 *
                 * @return
                 */
                getListColumnMeta():ListColumnMeta;
                /**
                 * 设置参数值
                 *
                 * @param paraMap 需要传递的参数值
                 */
                setParaMap(paraMap:$.java.util.Map):void;
                /**
                 * 获取值
                 *
                 * @return
                 */
                getValues():$.java.util.List;
                /**
                 * 参数值
                 *
                 * @return
                 */
                getParaMap():$.java.util.Map;
            }
            type ComboSearchValue_T = $.java.io.Serializable & ComboSearchValue$;
            interface ComboSearchValue extends ComboSearchValue_T {
            }
            interface TemplateTextItem_S {
            }
            type TemplateTextItem_ST = $.java.io.Serializable & TemplateTextItem_S;
            interface TemplateTextItem_C extends TemplateTextItem_ST {
                new():TemplateTextItem;
            }
            interface TemplateTextItem$ {
                /**
                 * 获取数据
                 *
                 * @return 数据
                 */
                getData():$.java.util.List;
                /**
                 * 设置数据
                 *
                 * @param data 数据
                 */
                setData(data:$.java.util.List):void;
                /**
                 * 获取模式文本
                 *
                 * @return 模式文本
                 */
                getTem():string;
                /**
                 * 设置模式文本
                 *
                 * @param tem 模式文本
                 */
                setTem(tem:string):void;
            }
            type TemplateTextItem_T = $.java.io.Serializable & TemplateTextItem$;
            interface TemplateTextItem extends TemplateTextItem_T {
            }
            interface ListColumnCompares_S {
            }
            type ListColumnCompares_ST = $.java.io.Serializable & ListColumnCompares_S;
            interface ListColumnCompares_C extends ListColumnCompares_ST {
                /**
                 * 构造函数
                 *
                 * @param columnComboItems 列表表头过滤比较符集合
                 */
                new(columnComboItems:$.java.util.List):ListColumnCompares;
            }
            interface ListColumnCompares$ {
                /**
                 * 获取列表表头过滤比较符集合
                 *
                 * @return
                 */
                getColumnComboItems():$.java.util.List;
            }
            type ListColumnCompares_T = $.java.io.Serializable & ListColumnCompares$;
            interface ListColumnCompares extends ListColumnCompares_T {
            }
            class ListColumnMeta {
                static readonly ApproverListColumn:kd.bos.list.column.ListColumnMeta;
                static readonly VoucherNoListColumn:kd.bos.list.column.ListColumnMeta;
                static valueOf(arg0:string):kd.bos.list.column.ListColumnMeta;
                /**
                 * 根据传入的名称构造列表字段类型
                 *
                 * @param name
                 * @return
                 */
                static create(name:string):kd.bos.list.column.ListColumnMeta;
                static values():kd.bos.list.column.ListColumnMeta[];
            }
            interface ListColumnCompareService_S {
            }
            interface ListColumnCompareService_C extends ListColumnCompareService_S {
            }
            interface ListColumnCompareService$ {
                /**
                 * 比较符筛选过滤解析
                 *
                 * @param searchValue 筛选值
                 * @return
                 */
                search(searchValue:ComboSearchValue):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取比较符类型
                 *
                 * @param listColumnMeta 列表字段类型
                 * @return
                 */
                getListColumnCompares(listColumnMeta:ListColumnMeta):ListColumnCompares;
                /**
                 * 获取方案比较符类型
                 *
                 * @param listColumnMeta 列表字段类型
                 * @return
                 */
                getSchemeFilterColumnCompares?(listColumnMeta:ListColumnMeta):ListColumnCompares;
                /**
                 * 服务提供的包装数据方法
                 *
                 * @param packageDataServiceIn 参数上下文
                 * @return 包装数据结果
                 */
                packageData?(packageDataServiceIn:kd.bos.list.service.PackageDataServiceIn):kd.bos.list.service.PackageDataServiceResults;
                /**
                 * 字段打开超链接时需要的打开参数
                 *
                 * @param listFormShowParameterIn 参数上下文
                 * @return 打开参数
                 */
                getFormShowParameter?(listFormShowParameterIn:kd.bos.list.service.ListFormShowParameterIn):$.kd.bos.form.FormShowParameter;
            }
            type ListColumnCompareService_T = ListColumnCompareService$;
            interface ListColumnCompareService extends ListColumnCompareService_T {
            }
        }
        namespace kd.bos.list.events{
            interface DataSelectEvent_S {
            }
            type DataSelectEvent_ST = $.java.util.EventObject & DataSelectEvent_S;
            interface DataSelectEvent_C extends DataSelectEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):DataSelectEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param isMultiple
                 *            是否多选
                 * @param selectedValues
                 *            选择值
                 */
                new(source:any,isMultiple:boolean,selectedValues:$.java.util.List):DataSelectEvent;
            }
            interface DataSelectEvent$ {
                /**
                 * 返回是否多选
                 *
                 * @return 是否多选
                 */
                isMultiple():boolean;
                /**
                 * 设置选中值
                 *
                 * @param selectedValues 选中值
                 */
                setSelectedValues(selectedValues:$.java.util.List):void;
                /**
                 * 获取回调
                 *
                 * @return 回调内容
                 */
                getCloseCallBack():kd.bos.form.CloseCallBack;
                /**
                 * 设置回调方法
                 *
                 * @param closeCallBack 回调方法
                 */
                setCloseCallBack(closeCallBack:kd.bos.form.CloseCallBack):void;
                /**
                 * 设置是否有多选
                 *
                 * @param isMultiple 是否有多选
                 */
                setMultiple(isMultiple:boolean):void;
                /**
                 * 获取选中值
                 *
                 * @return 选中值
                 */
                getSelectedValues():$.java.util.List;
            }
            type DataSelectEvent_T = $.java.util.EventObject & DataSelectEvent$;
            interface DataSelectEvent extends DataSelectEvent_T {
            }
            interface EndSelectEvent_S {
            }
            type EndSelectEvent_ST = $.java.util.EventObject & EndSelectEvent_S;
            interface EndSelectEvent_C extends EndSelectEvent_ST {
                /**
                 * 构造方法：初始化事件源
                 *  @param source 事件源
                 */
                new(source:any):EndSelectEvent;
            }
            interface EndSelectEvent$ {
                /**
                 * 返回是否取消
                 *
                 * @return 是否取消
                 */
                isCancel():boolean;
                /**
                 * 获取选择的数据
                 *  @return 选择的数据
                 */
                getData():any;
                /**
                 * 设置选择的数据
                 *  @param value 选择的数据
                 */
                setData(value:any):void;
                /**
                 * 设置是否取消
                 *
                 * @param cancel 是否取消
                 */
                setCancel(cancel:boolean):void;
            }
            type EndSelectEvent_T = $.java.util.EventObject & EndSelectEvent$;
            interface EndSelectEvent extends EndSelectEvent_T {
            }
            interface BackPressedEvent_S {
            }
            type BackPressedEvent_ST = $.java.util.EventObject & BackPressedEvent_S;
            interface BackPressedEvent_C extends BackPressedEvent_ST {
                /**
                 * 构造方法：回退点击事件
                 * @param source  事件源
                 */
                new(source:any):BackPressedEvent;
            }
            interface BackPressedEvent$ {
                /**
                 * 获取data
                 * @return the data
                 */
                getData():any;
                /**
                 * 设置data
                 * @param value the value to set
                 */
                setData(value:any):void;
            }
            type BackPressedEvent_T = $.java.util.EventObject & BackPressedEvent$;
            interface BackPressedEvent extends BackPressedEvent_T {
            }
            interface ListBeforeBindDataEvent_S {
            }
            type ListBeforeBindDataEvent_ST = $.kd.bos.form.events.BeforeBindDataEvent & ListBeforeBindDataEvent_S;
            interface ListBeforeBindDataEvent_C extends ListBeforeBindDataEvent_ST {
                /**
                 * 构造方法：初始化绑定数据前事件参数
                 *
                 * @param source 事件源
                 */
                new(source:any):ListBeforeBindDataEvent;
            }
            interface ListBeforeBindDataEvent$ {
                /**
                 * 设置是否取消数据绑定
                 *
                 * @param cancel
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取列表触发事件源，用于区分是哪个事件触发的。
                 * @return
                 */
                getListEvent():ListEvent;
                /**
                 * 设置列表触发事件源，用于区分是哪个事件触发的。
                 * @param listEvent
                 */
                setListEvent(listEvent:ListEvent):void;
                /**
                 * 是否取消数据绑定
                 *
                 * @return
                 */
                isCancel():boolean;
            }
            type ListBeforeBindDataEvent_T = $.kd.bos.form.events.BeforeBindDataEvent & ListBeforeBindDataEvent$;
            interface ListBeforeBindDataEvent extends ListBeforeBindDataEvent_T {
            }
            interface F7SelectedListRemoveListener_S {
            }
            interface F7SelectedListRemoveListener_C extends F7SelectedListRemoveListener_S {
            }
            interface F7SelectedListRemoveListener$ {
                /**
                 * 移除点击的处理
                 *  @param evt F7选择列表移除事件
                 */
                RemoveClick(evt:F7SelectedListRemoveEvent):void;
            }
            type F7SelectedListRemoveListener_T = F7SelectedListRemoveListener$;
            interface F7SelectedListRemoveListener extends F7SelectedListRemoveListener_T {
            }
            interface ListRowClickListener_S {
            }
            interface ListRowClickListener_C extends ListRowClickListener_S {
            }
            interface ListRowClickListener$ {
                /**
                 * 列表行点击事件的处理
                 *  @param evt 列表行点击事件
                 */
                listRowClick(evt:ListRowClickEvent):void;
                /**
                 * 列表行双击的处理
                 *  @param evt 列表行双击事件
                 */
                listRowDoubleClick(evt:ListRowClickEvent):void;
            }
            type ListRowClickListener_T = ListRowClickListener$;
            interface ListRowClickListener extends ListRowClickListener_T {
            }
            interface QuerySumDataListener_S {
            }
            interface QuerySumDataListener_C extends QuerySumDataListener_S {
            }
            interface QuerySumDataListener$ {
                /**
                 * 列表查询合计行事件监听事件
                 *
                 * @param querySumDataEvent 查询合计行事件监听事件
                 */
                querySumData(querySumDataEvent:QuerySumDataEvent):void;
            }
            type QuerySumDataListener_T = QuerySumDataListener$;
            interface QuerySumDataListener extends QuerySumDataListener_T {
            }
            interface QueryBillDataCountEvent_S {
            }
            type QueryBillDataCountEvent_ST = $.java.util.EventObject & QueryBillDataCountEvent_S;
            interface QueryBillDataCountEvent_C extends QueryBillDataCountEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):QueryBillDataCountEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param model
                 *            取数model
                 */
                new(source:any,model:$.kd.bos.entity.datamodel.IListModel):QueryBillDataCountEvent;
            }
            interface QueryBillDataCountEvent$ {
                /**
                 * 获取取数model
                 *
                 * @return 取数model
                 */
                getModel():$.kd.bos.entity.datamodel.IListModel;
                /**
                 * 设置单据数量
                 *
                 * @param billDataCount 单据数量
                 */
                setBillDataCount(billDataCount:number):void;
                /**
                 * 设置是否取消
                 *
                 * @param cancel
                 *            true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取单据数量
                 *
                 * @return 单据数量
                 */
                getBillDataCount():number;
                /**
                 * 查看是否取消
                 *
                 * @return true（取消）or false（未取消）
                 */
                isCancel():boolean;
            }
            type QueryBillDataCountEvent_T = $.java.util.EventObject & QueryBillDataCountEvent$;
            interface QueryBillDataCountEvent extends QueryBillDataCountEvent_T {
            }
            interface SetCellFieldValueListener_S {
            }
            interface SetCellFieldValueListener_C extends SetCellFieldValueListener_S {
            }
            interface SetCellFieldValueListener$ {
                /**
                 * 设置表格控件设置单元格
                 *
                 * @param args 表格控件设置单元格
                 */
                setCellFieldValue(args:SetCellFieldValueArgs):void;
            }
            type SetCellFieldValueListener_T = SetCellFieldValueListener$;
            interface SetCellFieldValueListener extends SetCellFieldValueListener_T {
            }
            interface ListColumnSetListener_S {
            }
            interface ListColumnSetListener_C extends ListColumnSetListener_S {
            }
            interface ListColumnSetListener$ {
                setFilter(listColumnSetFilterEvent:ListColumnSetFilterEvent):void;
            }
            type ListColumnSetListener_T = ListColumnSetListener$;
            interface ListColumnSetListener extends ListColumnSetListener_T {
            }
            interface SelectEvent_S {
            }
            type SelectEvent_ST = $.java.util.EventObject & SelectEvent_S;
            interface SelectEvent_C extends SelectEvent_ST {
                /**
                 * 构造方法：初始化事件源
                 *  @param source 事件源
                 */
                new(source:any):SelectEvent;
            }
            interface SelectEvent$ {
                /**
                 * 设置选择的数据
                 *  @param value 数据
                 */
                setData(value:any):void;
                /**
                 * 选择的数据
                 *  @return 数据
                 */
                getData():any;
            }
            type SelectEvent_T = $.java.util.EventObject & SelectEvent$;
            interface SelectEvent extends SelectEvent_T {
            }
            interface CreateListDataProviderListener_S {
            }
            interface CreateListDataProviderListener_C extends CreateListDataProviderListener_S {
            }
            interface CreateListDataProviderListener$ {
                /**
                 * 创建列表数据访问类
                 * @param args 创建列表数据访问类前置事件
                 */
                createListDataProvider(args:$.kd.bos.form.events.BeforeCreateListDataProviderArgs):void;
            }
            type CreateListDataProviderListener_T = CreateListDataProviderListener$;
            interface CreateListDataProviderListener extends CreateListDataProviderListener_T {
            }
            interface F7SelectedListSortListener_S {
            }
            interface F7SelectedListSortListener_C extends F7SelectedListSortListener_S {
            }
            interface F7SelectedListSortListener$ {
                /**
                 * F7已选控件排序监听方法
                 *
                 * @param evt F7已选排序事件
                 */
                sort(evt:F7SelectedListSortEvent):void;
            }
            type F7SelectedListSortListener_T = F7SelectedListSortListener$;
            interface F7SelectedListSortListener extends F7SelectedListSortListener_T {
            }
            interface ListHyperLinkClickListener_S {
            }
            interface ListHyperLinkClickListener_C extends ListHyperLinkClickListener_S {
            }
            interface ListHyperLinkClickListener$ {
                /**
                 * 监听列超链接点击事件
                 * @param evt 列超链接点击事件
                 */
                hyperLinkClick(evt:ListHyperLinkClickEvent):void;
            }
            type ListHyperLinkClickListener_T = ListHyperLinkClickListener$;
            interface ListHyperLinkClickListener extends ListHyperLinkClickListener_T {
            }
            interface SelectPageAllRowsListener_S {
            }
            interface SelectPageAllRowsListener_C extends SelectPageAllRowsListener_S {
            }
            interface SelectPageAllRowsListener$ {
                selectPageAllRows(evt:SelectPageAllRowsEvent):void;
            }
            type SelectPageAllRowsListener_T = SelectPageAllRowsListener$;
            interface SelectPageAllRowsListener extends SelectPageAllRowsListener_T {
            }
            interface ListColumnSetFilterEvent_S {
            }
            type ListColumnSetFilterEvent_ST = $.java.util.EventObject & ListColumnSetFilterEvent_S;
            interface ListColumnSetFilterEvent_C extends ListColumnSetFilterEvent_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any,fieldName:string):ListColumnSetFilterEvent;
            }
            interface ListColumnSetFilterEvent$ {
                getQFilter():$.kd.bos.orm.query.QFilter;
                getFieldName():string;
                setQFilter(qFilter:$.kd.bos.orm.query.QFilter):void;
            }
            type ListColumnSetFilterEvent_T = $.java.util.EventObject & ListColumnSetFilterEvent$;
            interface ListColumnSetFilterEvent extends ListColumnSetFilterEvent_T {
            }
            interface ListColumnFilterCollection_S {
            }
            interface ListColumnFilterCollection_C extends ListColumnFilterCollection_S {
                /**
                 * 构造函数
                 */
                new():ListColumnFilterCollection;
                /**
                 * 构造函数
                 *
                 * @param listColumnFilters
                 *            表头过滤比较符集合
                 */
                new(listColumnFilters:$.java.util.List):ListColumnFilterCollection;
            }
            interface ListColumnFilterCollection$ {
                /**
                 * 获取表头过滤比较符集合
                 *
                 * @return 表头过滤比较符集合
                 */
                getlistColumnFilters():$.java.util.List;
                /**
                 * 设置表头过滤比较符集合
                 *
                 * @param listColumnFilters ListColumnFilter
                 */
                setlistColumnFilters(listColumnFilters:$.java.util.List):void;
            }
            type ListColumnFilterCollection_T = ListColumnFilterCollection$;
            interface ListColumnFilterCollection extends ListColumnFilterCollection_T {
            }
            interface QueryRealCountListener_S {
            }
            interface QueryRealCountListener_C extends QueryRealCountListener_S {
            }
            interface QueryRealCountListener$ {
                /**
                 * 监听事件方法
                 *
                 * @param queryRealCountEvent
                 *            监听参数
                 */
                queryRealCount(queryRealCountEvent:QueryRealCountEvent):void;
            }
            type QueryRealCountListener_T = QueryRealCountListener$;
            interface QueryRealCountListener extends QueryRealCountListener_T {
            }
            class ListRowClickType {
                static readonly CELL:kd.bos.list.events.ListRowClickType;
                static readonly CHECKBOX:kd.bos.list.events.ListRowClickType;
                static valueOf(arg0:string):kd.bos.list.events.ListRowClickType;
                static values():kd.bos.list.events.ListRowClickType[];
            }
            interface QueryListEvent_S {
            }
            type QueryListEvent_ST = $.java.util.EventObject & QueryListEvent_S;
            interface QueryListEvent_C extends QueryListEvent_ST {
                /**
                 * 构造方法：初始化事件源
                 *  @param source 事件源
                 */
                new(source:any):QueryListEvent;
            }
            interface QueryListEvent$ {
                /**
                 * 获取选择的行数据
                 *  @return 数据
                 */
                getData():any;
                /**
                 * 获取选择的行数据
                 *  @param value the value to set
                 */
                setData(value:any):void;
            }
            type QueryListEvent_T = $.java.util.EventObject & QueryListEvent$;
            interface QueryListEvent extends QueryListEvent_T {
            }
            interface ChatEvent_S {
            }
            type ChatEvent_ST = $.java.util.EventObject & ChatEvent_S;
            interface ChatEvent_C extends ChatEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):ChatEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param currentListSelectedRow
                 *            当前选中值
                 * @param fieldKey
                 *            当前列字段标识
                 */
                new(source:any,currentListSelectedRow:$.kd.bos.entity.datamodel.ListSelectedRow,fieldKey:string):ChatEvent;
            }
            interface ChatEvent$ {
                /**
                 * 获取当前字段key
                 *
                 * @return 当前字段key
                 */
                getFieldKey():string;
                /**
                 * 设置是否取消云之家聊天
                 *
                 * @param cancel 是否取消云之家聊天
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取当前记录行
                 *
                 * @return 当前记录行
                 */
                getCurrentListSelectedRow():$.kd.bos.entity.datamodel.ListSelectedRow;
                /**
                 * 返回是否取消云之家聊天
                 *
                 * @return 是否取消云之家聊天
                 */
                isCancel():boolean;
            }
            type ChatEvent_T = $.java.util.EventObject & ChatEvent$;
            interface ChatEvent extends ChatEvent_T {
            }
            interface CreateListColumnsListener_S {
            }
            interface CreateListColumnsListener_C extends CreateListColumnsListener_S {
            }
            interface CreateListColumnsListener$ {
                /**
                 * 创建列表列
                 *  @param args 创建列表列参数前置事件
                 */
                createListColumns(args:kd.bos.form.events.BeforeCreateListColumnsArgs):void;
            }
            type CreateListColumnsListener_T = CreateListColumnsListener$;
            interface CreateListColumnsListener extends CreateListColumnsListener_T {
            }
            interface QueryExceedMaxCountEvent_S {
            }
            type QueryExceedMaxCountEvent_ST = $.java.util.EventObject & QueryExceedMaxCountEvent_S;
            interface QueryExceedMaxCountEvent_C extends QueryExceedMaxCountEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):QueryExceedMaxCountEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param model
                 *            取数odel
                 */
                new(source:any,model:$.kd.bos.entity.datamodel.IListModel):QueryExceedMaxCountEvent;
            }
            interface QueryExceedMaxCountEvent$ {
                /**
                 * 查看是否取消
                 *
                 * @return true（取消）or false（未取消）
                 */
                isCancel():boolean;
                /**
                 * 设置是否超过最大条数
                 *
                 * @param exceedMaxCount 是否超过最大条数
                 */
                setExceedMaxCount(exceedMaxCount:boolean):void;
                /**
                 * 设置是否取消
                 *
                 * @param cancel
                 *            true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取查询条数
                 *
                 * @return 查询条数
                 */
                getDataCount():number;
                /**
                 * 获取是否超过最大条数
                 *
                 * @return 是否超过最大条数
                 */
                isExceedMaxCount():boolean;
                /**
                 * 设置列表取数模型
                 *
                 * @param model 列表取数模型
                 */
                setModel(model:$.kd.bos.entity.datamodel.IListModel):void;
                /**
                 * 设置查询条数
                 *
                 * @param dataCount
                 *            查询条数
                 */
                setDataCount(dataCount:number):void;
                /**
                 * 获取列表取数模型
                 *
                 * @return 列表取数模型
                 */
                getModel():$.kd.bos.entity.datamodel.IListModel;
            }
            type QueryExceedMaxCountEvent_T = $.java.util.EventObject & QueryExceedMaxCountEvent$;
            interface QueryExceedMaxCountEvent extends QueryExceedMaxCountEvent_T {
            }
            interface BillListGetEntityTypeListener_S {
            }
            interface BillListGetEntityTypeListener_C extends BillListGetEntityTypeListener_S {
            }
            interface BillListGetEntityTypeListener$ {
                /**
                 * 单据列表获取主实体对象时触发此事件
                 * <p>
                 * 插件可在此事件，向主实体动态注册新属性，以实现给表单动态添加字段的效果
                 * 特别注意：主实体对象是共享的，不允许直接修改主实体对象本身。必须先复制，然后在拷贝的主实体对象上动态注册新属性
                 *
                 * @param e 事件参数，含默认的主实体对象
                 */
                getEntityType(e:$.kd.bos.entity.datamodel.events.GetEntityTypeEventArgs):void;
            }
            type BillListGetEntityTypeListener_T = BillListGetEntityTypeListener$;
            interface BillListGetEntityTypeListener extends BillListGetEntityTypeListener_T {
            }
            interface BuildTreeListFilterEvent_S {
            }
            type BuildTreeListFilterEvent_ST = $.java.util.EventObject & BuildTreeListFilterEvent_S;
            interface BuildTreeListFilterEvent_C extends BuildTreeListFilterEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param nodeId
                 *            节点ID
                 */
                new(source:any,nodeId:any):BuildTreeListFilterEvent;
            }
            interface BuildTreeListFilterEvent$ {
                /**
                 * 获取插件构建的分组过滤条件
                 * @return 插件构建的分组过滤条件
                 */
                getFilters():$.java.util.List;
                /**
                 * 返回是否取消
                 *
                 * @return 是否取消
                 */
                isCancel():boolean;
                /**
                 * 获取当前点击的节点Id
                 * @return 点击的节点Id
                 */
                getNodeId():any;
                /**
                 * 添加分组过滤条件
                 * @param filter 分组过滤条件
                 */
                addQFilter(filter:$.kd.bos.orm.query.QFilter):void;
                /**
                 * 设置是否略过系统内置的分组过滤条件
                 * @param cancel 是否略过系统内置的分组过滤条件
                 */
                setCancel(cancel:boolean):void;
            }
            type BuildTreeListFilterEvent_T = $.java.util.EventObject & BuildTreeListFilterEvent$;
            interface BuildTreeListFilterEvent extends BuildTreeListFilterEvent_T {
            }
            interface ListHyperLinkClickEvent_S {
            }
            type ListHyperLinkClickEvent_ST = $.java.util.EventObject & ListHyperLinkClickEvent_S;
            interface ListHyperLinkClickEvent_C extends ListHyperLinkClickEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param colId
                 *            列Id
                 * @param index
                 *            行索引
                 * @param key
                 *            字段标识
                 */
                new(source:any,colId:string,index:number,key:string):ListHyperLinkClickEvent;
            }
            interface ListHyperLinkClickEvent$ {
                /**
                 * 获取列Id
                 *
                 * @return 列Id
                 */
                getColId():string;
                /**
                 * 设置列Id
                 *
                 * @param colId 列Id
                 */
                setColId(colId:string):void;
                /**
                 * 获取行索引
                 *
                 * @return 行索引
                 */
                getIndex():number;
                /**
                 * 设置字段标识
                 *
                 * @param key
                 *            字段标识
                 */
                setKey(key:string):void;
                /**
                 * 获取字段标识
                 *
                 * @return 字段标识
                 */
                getKey():string;
                /**
                 * 设置行索引
                 *
                 * @param index 行索引
                 */
                setIndex(index:number):void;
            }
            type ListHyperLinkClickEvent_T = $.java.util.EventObject & ListHyperLinkClickEvent$;
            interface ListHyperLinkClickEvent extends ListHyperLinkClickEvent_T {
            }
            interface QueryBillDataCountListener_S {
            }
            interface QueryBillDataCountListener_C extends QueryBillDataCountListener_S {
            }
            interface QueryBillDataCountListener$ {
                /**
                 * 列表取单据数量监听方法
                 *
                 * @param queryBillDataCountEvent
                 *            事件参数
                 */
                queryBillDataCount(queryBillDataCountEvent:QueryBillDataCountEvent):void;
            }
            type QueryBillDataCountListener_T = QueryBillDataCountListener$;
            interface QueryBillDataCountListener extends QueryBillDataCountListener_T {
            }
            interface SetCellFieldValueEvent_S {
            }
            type SetCellFieldValueEvent_ST = $.java.util.EventObject & SetCellFieldValueEvent_S;
            interface SetCellFieldValueEvent_C extends SetCellFieldValueEvent_ST {
                /**
                 * 构造函数
                 * @param source 事件源
                 */
                new(source:any):SetCellFieldValueEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param key
                 *            字段标识
                 * @param rowIndex
                 *            行索引
                 * @param value
                 *            值
                 */
                new(source:any,key:string,rowIndex:number,value:any):SetCellFieldValueEvent;
            }
            interface SetCellFieldValueEvent$ {
                /**
                 * 设置行号
                 *
                 * @param rowIndex 行号
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 获取行号
                 *
                 * @return 行号
                 */
                getRowIndex():number;
                /**
                 * 获取字段标识
                 *
                 * @return 字段标识
                 */
                getKey():string;
                /**
                 * 获取值
                 *
                 * @return 值
                 */
                getValue():any;
                /**
                 * 设置值
                 *
                 * @param value 值
                 */
                setValue(value:any):void;
                /**
                 * 设置字段标识
                 *
                 * @param key 字段标识
                 */
                setKey(key:string):void;
            }
            type SetCellFieldValueEvent_T = $.java.util.EventObject & SetCellFieldValueEvent$;
            interface SetCellFieldValueEvent extends SetCellFieldValueEvent_T {
            }
            interface F7SelectedListRemoveEvent_S {
            }
            type F7SelectedListRemoveEvent_ST = $.java.util.EventObject & F7SelectedListRemoveEvent_S;
            interface F7SelectedListRemoveEvent_C extends F7SelectedListRemoveEvent_ST {
                /**
                 * 构造方法
                 *  @param source 事件源
                 */
                new(source:any):F7SelectedListRemoveEvent;
                /**
                 * 构造方法
                 *  @param source 事件源
                 *  @param param 参数（用来做什么尚不清楚）
                 */
                new(source:any,param:any):F7SelectedListRemoveEvent;
            }
            interface F7SelectedListRemoveEvent$ {
                /**
                 * 获取参数
                 *  @return 参数
                 */
                getParam():any;
                /**
                 * 设置参数
                 *  @param param 参数
                 */
                setParam(param:any):void;
            }
            type F7SelectedListRemoveEvent_T = $.java.util.EventObject & F7SelectedListRemoveEvent$;
            interface F7SelectedListRemoveEvent extends F7SelectedListRemoveEvent_T {
            }
            interface ListSelectedListener_S {
            }
            interface ListSelectedListener_C extends ListSelectedListener_S {
            }
            interface ListSelectedListener$ {
                /**
                 * 选择
                 *  @param evt 选择事件
                 */
                select?(evt:SelectEvent):void;
                /**
                 * 选择行
                 *  @param evt 行选择事件
                 */
                itemSelect?(evt:ItemSelectEvent):void;
                /**
                 * 下拉列表选择
                 *  @param evt 下拉列表选择事件
                 */
                endSelect(evt:$.kd.bos.list.events.EndSelectEvent):void;
                /**
                 * 搜索
                 * @param evt 搜索列表事件
                 */
                query?(evt:QueryListEvent):void;
                /**
                 * 后退
                 *  @param evt 回退点击事件
                 */
                backPressed?(evt:BackPressedEvent):void;
            }
            type ListSelectedListener_T = ListSelectedListener$;
            interface ListSelectedListener extends ListSelectedListener_T {
            }
            interface BillClosedCallBackEvent_S {
            }
            type BillClosedCallBackEvent_ST = $.java.util.EventObject & BillClosedCallBackEvent_S;
            interface BillClosedCallBackEvent_C extends BillClosedCallBackEvent_ST {
                /**
                 * 构造方法： 单据关闭回调事件
                 * @param obj 事件源
                 * @param closeCallBack 关闭回调对象
                 * @param pkId 单据主键ID
                 */
                new(obj:any,closeCallBack:$.kd.bos.form.CloseCallBack,pkId:any):BillClosedCallBackEvent;
            }
            interface BillClosedCallBackEvent$ {
                /**
                 * 获取关闭回调对象
                 *  @return closeCallBack 关闭回调对象
                 */
                getCloseCallBack():$.kd.bos.form.CloseCallBack;
                /**
                 * 获取单据主键ID
                 *  @return 主键ID
                 */
                getPkId():any;
            }
            type BillClosedCallBackEvent_T = $.java.util.EventObject & BillClosedCallBackEvent$;
            interface BillClosedCallBackEvent extends BillClosedCallBackEvent_T {
            }
            interface QueryExceedMaxCountListener_S {
            }
            interface QueryExceedMaxCountListener_C extends QueryExceedMaxCountListener_S {
            }
            interface QueryExceedMaxCountListener$ {
                /**
                 * 是否超过最大条数监听事件方法
                 *
                 * @param queryExceedMaxCountEvent
                 *            是否超过最大条数监听事件参数
                 */
                queryExceedMaxCount(queryExceedMaxCountEvent:QueryExceedMaxCountEvent):void;
            }
            type QueryExceedMaxCountListener_T = QueryExceedMaxCountListener$;
            interface QueryExceedMaxCountListener extends QueryExceedMaxCountListener_T {
            }
            interface SetCellsDataListener_S {
            }
            interface SetCellsDataListener_C extends SetCellsDataListener_S {
            }
            interface SetCellsDataListener$ {
                /**
                 * 列表行编辑设置单元格值事件
                 * @param event 设置单元格值事件
                 */
                setCellsData(event:SetCellsDataEvent):void;
            }
            type SetCellsDataListener_T = SetCellsDataListener$;
            interface SetCellsDataListener extends SetCellsDataListener_T {
            }
            interface SetCellFieldValueArgs_S {
            }
            interface SetCellFieldValueArgs_C extends SetCellFieldValueArgs_S {
                new():SetCellFieldValueArgs;
            }
            interface SetCellFieldValueArgs$ {
                /**
                 * 设置单元格的值
                 *
                 * @param key
                 *            字段标识
                 * @param value
                 *            值
                 */
                addCellFieldValueEvent(key:string,value:any):void;
                /**
                 * 获取设置单元格事件监听集合
                 *
                 * @return 设置单元格事件监听集合
                 */
                getSetCellFieldValueEvents():$.java.util.List;
                /**
                 * 设置设置单元格事件监听集合
                 *
                 * @param setCellFieldValueEvents 设置单元格事件监听集合
                 */
                setSetCellFieldValueEvents(setCellFieldValueEvents:$.java.util.List):void;
                /**
                 * 获取行索引
                 *
                 * @return 行索引
                 */
                getRowIndex():number;
                /**
                 * 设置行索引
                 *
                 * @param rowIndex 行索引
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 设置单元格的值
                 *
                 * @param key
                 *            字段key
                 * @param rowIndex
                 *            行索引
                 * @param value
                 *            值
                 */
                addCellFieldValueEvent(key:string,rowIndex:number,value:any):void;
            }
            type SetCellFieldValueArgs_T = SetCellFieldValueArgs$;
            interface SetCellFieldValueArgs extends SetCellFieldValueArgs_T {
            }
            interface QuerySumDataEvent_S {
            }
            type QuerySumDataEvent_ST = $.java.util.EventObject & QuerySumDataEvent_S;
            interface QuerySumDataEvent_C extends QuerySumDataEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):QuerySumDataEvent;
            }
            interface QuerySumDataEvent$ {
            }
            type QuerySumDataEvent_T = $.java.util.EventObject & QuerySumDataEvent$;
            interface QuerySumDataEvent extends QuerySumDataEvent_T {
            }
            interface SelectPageAllRowsEvent_S {
            }
            type SelectPageAllRowsEvent_ST = $.java.util.EventObject & SelectPageAllRowsEvent_S;
            interface SelectPageAllRowsEvent_C extends SelectPageAllRowsEvent_ST {
                /**
                 * Constructs a prototypical Event.
                 *
                 * @param source The object on which the Event initially occurred.
                 * @throws IllegalArgumentException if source is null.
                 */
                new(source:any):SelectPageAllRowsEvent;
            }
            interface SelectPageAllRowsEvent$ {
            }
            type SelectPageAllRowsEvent_T = $.java.util.EventObject & SelectPageAllRowsEvent$;
            interface SelectPageAllRowsEvent extends SelectPageAllRowsEvent_T {
            }
            interface ListRowDetailShowEvent_S {
            }
            type ListRowDetailShowEvent_ST = $.java.util.EventObject & ListRowDetailShowEvent_S;
            interface ListRowDetailShowEvent_C extends ListRowDetailShowEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):ListRowDetailShowEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param pkId
                 *            主键
                 */
                new(source:any,pkId:any):ListRowDetailShowEvent;
            }
            interface ListRowDetailShowEvent$ {
                /**
                 * 设置主键
                 *
                 * @param pkId 主键
                 */
                setPkId(pkId:any):void;
                /**
                 * 获取主键id
                 *
                 * @return 主键id
                 */
                getPkId():any;
            }
            type ListRowDetailShowEvent_T = $.java.util.EventObject & ListRowDetailShowEvent$;
            interface ListRowDetailShowEvent extends ListRowDetailShowEvent_T {
            }
            interface MultiFieldsSortEvent_S {
            }
            type MultiFieldsSortEvent_ST = $.java.util.EventObject & MultiFieldsSortEvent_S;
            interface MultiFieldsSortEvent_C extends MultiFieldsSortEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件来源
                 */
                new(source:any):MultiFieldsSortEvent;
            }
            interface MultiFieldsSortEvent$ {
                /**
                 * 获取多字段排序字段标识集合
                 *
                 * @return 多字段排序字段标识集合
                 */
                getMultiSortFields():$.java.util.Collection;
                /**
                 * 设置自定义排序标识集合
                 *
                 * @param multiSortFields 自定义排序标识集合
                 */
                setMultiSortFields(multiSortFields:$.java.util.Collection):void;
                /**
                 * 添加自定义排序字段
                 *
                 * @param multiSortField 自定义排序字段
                 */
                addMultiSortField(multiSortField:string):void;
            }
            type MultiFieldsSortEvent_T = $.java.util.EventObject & MultiFieldsSortEvent$;
            interface MultiFieldsSortEvent extends MultiFieldsSortEvent_T {
            }
            interface ListRowFilterEvent_S {
            }
            type ListRowFilterEvent_ST = $.java.util.EventObject & ListRowFilterEvent_S;
            interface ListRowFilterEvent_C extends ListRowFilterEvent_ST {
            }
            interface ListRowFilterEvent$ {
                /**
                 * 添加表头过滤值
                 *
                 * @param leftBracket
                 *            做括号
                 * @param fieldName
                 *            字段名
                 * @param compareTypeEnum
                 *            比较符
                 * @param value
                 *            值
                 * @param rightBracket
                 *            右括号
                 * @param logicOperate
                 *            逻辑比较符
                 */
                addListColumnFilter(leftBracket:string,fieldName:string,compareTypeEnum:$.kd.bos.entity.filter.CompareTypeEnum,value:string,rightBracket:string,logicOperate:$.kd.bos.entity.filter.LogicOperate):void;
                /**
                 * 添加表头过滤条件
                 *
                 * @param fieldName
                 *            字段名
                 * @param value
                 *            值
                 */
                addListColumnFilter(fieldName:string,value:string):void;
                /**
                 * 获取表头过滤条件集合
                 *
                 * @return 表头过滤条件集合
                 */
                getListColumnFilterCollection():ListColumnFilterCollection;
                /**
                 * 添加表头过滤条件
                 *
                 * @param fieldName
                 *            字段名
                 * @param value
                 *            值
                 * @param logicOperate
                 *            逻辑比较符
                 */
                addListColumnFilter(fieldName:string,value:string,logicOperate:$.kd.bos.entity.filter.LogicOperate):void;
                /**
                 * 获取当前正在过滤的比较符条件
                 *
                 * @return 当前正在过滤的比较符条件
                 */
                getCurrentListColumnFilter():ListColumnFilter;
            }
            type ListRowFilterEvent_T = $.java.util.EventObject & ListRowFilterEvent$;
            interface ListRowFilterEvent extends ListRowFilterEvent_T {
            }
            interface QueryRealCountEvent_S {
            }
            type QueryRealCountEvent_ST = $.java.util.EventObject & QueryRealCountEvent_S;
            interface QueryRealCountEvent_C extends QueryRealCountEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 */
                new(source:any):QueryRealCountEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param model
                 *            列表取数模型
                 */
                new(source:any,model:$.kd.bos.entity.datamodel.IListModel):QueryRealCountEvent;
            }
            interface QueryRealCountEvent$ {
                /**
                 * 设置是否取消
                 *
                 * @param cancel
                 *            true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取列表取数模型
                 *
                 * @return 列表取数模型
                 */
                getModel():$.kd.bos.entity.datamodel.IListModel;
                /**
                 * 获取真实条数
                 *
                 * @return 真实条数
                 */
                getRealcount():number;
                /**
                 * 查看是否取消
                 *
                 * @return true（取消）or false（未取消）
                 */
                isCancel():boolean;
                /**
                 * 设置真实条数
                 *
                 * @param realcount 真实条数
                 */
                setRealcount(realcount:number):void;
            }
            type QueryRealCountEvent_T = $.java.util.EventObject & QueryRealCountEvent$;
            interface QueryRealCountEvent extends QueryRealCountEvent_T {
            }
            interface SetCellsDataEvent_S {
            }
            interface SetCellsDataEvent_C extends SetCellsDataEvent_S {
                new(fieldKey:string,value:any,rowIndex:number,pks:$.java.util.List):SetCellsDataEvent;
            }
            interface SetCellsDataEvent$ {
                getPks():$.java.util.List;
                getRowIndex():number;
                /**
                 * 设置是否取消该事件布尔值
                 * @param cancel 是否取消事件：false-不取消，true-取消
                 */
                setCancel(cancel:boolean):void;
                getValue():any;
                /**
                 * 是否取消该事件
                 * @return 是否取消事件值：false-不取消，true-取消
                 */
                isCancel():boolean;
                getFieldKey():string;
            }
            type SetCellsDataEvent_T = SetCellsDataEvent$;
            interface SetCellsDataEvent extends SetCellsDataEvent_T {
            }
            interface F7SelectedListSortEvent_S {
            }
            type F7SelectedListSortEvent_ST = $.java.util.EventObject & F7SelectedListSortEvent_S;
            interface F7SelectedListSortEvent_C extends F7SelectedListSortEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 */
                new(source:any):F7SelectedListSortEvent;
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param sortItems
                 *            排序值集合
                 */
                new(source:any,sortItems:$.java.util.List):F7SelectedListSortEvent;
            }
            interface F7SelectedListSortEvent$ {
                /**
                 * 获取排序值
                 *
                 * @return 排序值
                 */
                getSortItems():$.java.util.List;
                /**
                 * 设置排序值
                 *
                 * @param sortItems
                 *            排序值内容
                 */
                setSortItems(sortItems:$.java.util.List):void;
            }
            type F7SelectedListSortEvent_T = $.java.util.EventObject & F7SelectedListSortEvent$;
            interface F7SelectedListSortEvent extends F7SelectedListSortEvent_T {
            }
            interface EnableCustomSumEvent_S {
            }
            type EnableCustomSumEvent_ST = $.java.util.EventObject & EnableCustomSumEvent_S;
            interface EnableCustomSumEvent_C extends EnableCustomSumEvent_ST {
                new(source:any):EnableCustomSumEvent;
            }
            interface EnableCustomSumEvent$ {
                isEnableCustomSum():boolean;
                setEnableCustomSum(enableCustomSum:boolean):void;
            }
            type EnableCustomSumEvent_T = $.java.util.EventObject & EnableCustomSumEvent$;
            interface EnableCustomSumEvent extends EnableCustomSumEvent_T {
            }
            interface ItemSelectEvent_S {
            }
            type ItemSelectEvent_ST = $.java.util.EventObject & ItemSelectEvent_S;
            interface ItemSelectEvent_C extends ItemSelectEvent_ST {
                /**
                 * 构造方法：初始化事件源
                 *  @param source 事件源
                 */
                new(source:any):ItemSelectEvent;
            }
            interface ItemSelectEvent$ {
                /**
                 * 获取选择的行数据
                 *  @return 数据
                 */
                getData():any;
                /**
                 * 获取选择的行数据
                 *  @param value the value to set
                 */
                setData(value:any):void;
            }
            type ItemSelectEvent_T = $.java.util.EventObject & ItemSelectEvent$;
            interface ItemSelectEvent extends ItemSelectEvent_T {
            }
            interface BeforeShowBillFormEvent_S {
            }
            type BeforeShowBillFormEvent_ST = $.java.util.EventObject & BeforeShowBillFormEvent_S;
            interface BeforeShowBillFormEvent_C extends BeforeShowBillFormEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件源
                 * @param parameter
                 *            获取单据打开参数
                 */
                new(source:any,parameter:$.kd.bos.bill.BillShowParameter):BeforeShowBillFormEvent;
            }
            interface BeforeShowBillFormEvent$ {
                /**
                 * 返回是否取消
                 *
                 * @return 是否取消
                 */
                isCancel():boolean;
                /**
                 * 设置是否取消
                 *
                 * @param cancel 是否取消
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 获取单据打开参数
                 *
                 * @return 单据打开参数
                 */
                getParameter():$.kd.bos.bill.BillShowParameter;
            }
            type BeforeShowBillFormEvent_T = $.java.util.EventObject & BeforeShowBillFormEvent$;
            interface BeforeShowBillFormEvent extends BeforeShowBillFormEvent_T {
            }
            interface ListRowClickEvent_S {
            }
            type ListRowClickEvent_ST = $.kd.bos.form.control.events.RowClickEvent & ListRowClickEvent_S;
            interface ListRowClickEvent_C extends ListRowClickEvent_ST {
                /**
                 * 构造方法
                 *  @param source 事件源
                 *  @param row 行
                 *  @param pageIndex 页面编号
                 *  @param listSelectedRowCollection 列表选择行数据集
                 *  @param currentListSelectedRow 选择的行数据
                 */
                new(source:any,row:number,pageIndex:number,listSelectedRowCollection:$.kd.bos.entity.datamodel.ListSelectedRowCollection,currentListSelectedRow:$.kd.bos.entity.datamodel.ListSelectedRow):ListRowClickEvent;
            }
            interface ListRowClickEvent$ {
                /**
                 * 获取列表选择的行数据
                 *
                 * @return
                 */
                getCurrentListSelectedRow():$.kd.bos.entity.datamodel.ListSelectedRow;
                /**
                 * 获取列表行点击事件类型
                 * @return
                 */
                getListRowClickType():ListRowClickType;
                /**
                 * 设置是否取消
                 *  @param cancel true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置页面编号
                 *  @param pageIndex 页面的编号（页码）
                 */
                setPageIndex(pageIndex:number):void;
                /**
                 * 查看是否取消
                 *  @return true（取消）or false（未取消）
                 */
                isCancel():boolean;
                /**
                 * 设置列表选择行数据集
                 *  @param listSelectedRowCollection 列表选择行数据集
                 */
                setListSelectedRowCollection(listSelectedRowCollection:$.kd.bos.entity.datamodel.ListSelectedRowCollection):void;
                /**
                 * 设置列表行点击事件类型
                 * @param listRowClickType
                 */
                setListRowClickType(listRowClickType:ListRowClickType):void;
                /**
                 * 获取页面编号
                 *  @return 页面的编号（页码）
                 */
                getPageIndex():number;
                /**
                 * 获取列表选择行数据集
                 *  @return 列表选择行数据集
                 */
                getListSelectedRowCollection():$.kd.bos.entity.datamodel.ListSelectedRowCollection;
            }
            type ListRowClickEvent_T = $.kd.bos.form.control.events.RowClickEvent & ListRowClickEvent$;
            interface ListRowClickEvent extends ListRowClickEvent_T {
            }
            interface CreateTreeListViewEvent_S {
            }
            type CreateTreeListViewEvent_ST = $.java.util.EventObject & CreateTreeListViewEvent_S;
            interface CreateTreeListViewEvent_C extends CreateTreeListViewEvent_ST {
                /**
                 * 构造方法
                 *  @param source 事件源
                 */
                new(source:any):CreateTreeListViewEvent;
            }
            interface CreateTreeListViewEvent$ {
                /**
                 * 设置树形列表视图
                 *  @param view 树形列表视图
                 */
                setView(view:AbstractTreeListView):void;
                /**
                 * 获取树形列表视图
                 *  @return 属性列表视图
                 */
                getView():AbstractTreeListView;
            }
            type CreateTreeListViewEvent_T = $.java.util.EventObject & CreateTreeListViewEvent$;
            interface CreateTreeListViewEvent extends CreateTreeListViewEvent_T {
            }
            interface IndexModeSetEvent_S {
            }
            type IndexModeSetEvent_ST = $.java.util.EventObject & IndexModeSetEvent_S;
            interface IndexModeSetEvent_C extends IndexModeSetEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source
                 *            事件来源
                 */
                new(source:any):IndexModeSetEvent;
            }
            interface IndexModeSetEvent$ {
                /**
                 * 获取是否打开F7索引分页模式
                 *
                 * @param isIndexMode
                 */
                setIndexMode(isIndexMode:boolean):void;
                /**
                 * 是否打开F7索引分页模式
                 *
                 * @return
                 */
                isIndexMode():boolean;
            }
            type IndexModeSetEvent_T = $.java.util.EventObject & IndexModeSetEvent$;
            interface IndexModeSetEvent extends IndexModeSetEvent_T {
            }
            interface ListColumnFilter_S {
            }
            interface ListColumnFilter_C extends ListColumnFilter_S {
                /**
                 * 构造函数
                 */
                new():ListColumnFilter;
                /**
                 * 构造函数
                 *
                 * @param fieldName
                 *            过滤字段名
                 * @param compareTypeEnum
                 *            比较符
                 * @param value
                 *            值
                 */
                new(fieldName:string,compareTypeEnum:$.kd.bos.entity.filter.CompareTypeEnum,value:string):ListColumnFilter;
                /**
                 * 构造函数
                 *
                 * @param fieldName       过滤字段名
                 * @param compareTypeEnum 比较符
                 * @param value           值
                 * @param logicOperate    逻辑比较符
                 */
                new(fieldName:string,compareTypeEnum:$.kd.bos.entity.filter.CompareTypeEnum,value:string,logicOperate:$.kd.bos.entity.filter.LogicOperate):ListColumnFilter;
                /**
                 * 构造函数
                 * @param fieldName
                 * @param compareTypeEnum
                 * @param value
                 * @param values 用于比较的值
                 * @param ids 用于比较的id
                 */
                new(fieldName:string,compareTypeEnum:$.kd.bos.entity.filter.CompareTypeEnum,value:string,values:$.java.util.List,ids:$.java.util.List):ListColumnFilter;
                /**
                 * 构造函数
                 *
                 * @param leftBracket
                 *            左括号
                 * @param fieldName
                 *            过滤字段名
                 * @param compareTypeEnum
                 *            比较符
                 * @param value
                 *            值
                 * @param rightBracket
                 *            左括号
                 * @param logicOperate
                 *            逻辑比较符
                 */
                new(leftBracket:string,fieldName:string,compareTypeEnum:$.kd.bos.entity.filter.CompareTypeEnum,value:string,rightBracket:string,logicOperate:$.kd.bos.entity.filter.LogicOperate):ListColumnFilter;
            }
            interface ListColumnFilter$ {
                /**
                 * 用于比较的id
                 * @return
                 */
                getIds():$.java.util.List;
                /**
                 * 获取过滤值
                 *
                 * @return 过滤值
                 */
                getValue():string;
                /**
                 * 获取左括号
                 *
                 * @return 左括号
                 */
                getLeftBracket():string;
                /**
                 * 用于比较的值
                 * @return
                 */
                getValues():$.java.util.List;
                /**
                 * 获取过滤比较符
                 *
                 * @return 过滤比较符
                 */
                getCompareTypeEnum():$.kd.bos.entity.filter.CompareTypeEnum;
                /**
                 * 获取逻辑比较符
                 *
                 * @return 逻辑比较符
                 */
                getLogicOperate():$.kd.bos.entity.filter.LogicOperate;
                /**
                 * 获取过滤字段名
                 *
                 * @return 过滤字段名
                 */
                getFieldName():string;
                /**
                 * 获取右括号
                 *
                 * @return 右括号
                 */
                getRightBracket():string;
            }
            type ListColumnFilter_T = ListColumnFilter$;
            interface ListColumnFilter extends ListColumnFilter_T {
            }
        }
        namespace kd.bos.list.plugin{
            interface ListViewPluginProxy_S {
            }
            type ListViewPluginProxy_ST = AbstractListViewPluginProxy_S & ListViewPluginProxy_S;
            interface ListViewPluginProxy_C extends ListViewPluginProxy_ST {
                new():ListViewPluginProxy;
            }
            interface ListViewPluginProxy$ {
            }
            type ListViewPluginProxy_T = AbstractListViewPluginProxy & ListViewPluginProxy$;
            interface ListViewPluginProxy extends ListViewPluginProxy_T {
            }
            interface StandardTreeListPlugin_S {
            }
            type StandardTreeListPlugin_ST = $.kd.bos.form.control.events.ActiveViewListener & AbstractTreeListPlugin_S & StandardTreeListPlugin_S;
            interface StandardTreeListPlugin_C extends StandardTreeListPlugin_ST {
                new():StandardTreeListPlugin;
            }
            interface StandardTreeListPlugin$ {
                /**
                 * 删除分组
                 *
                 * @param event 提示框关闭事件参数
                 */
                delete(event:$.kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 禁用分组
                 *
                 * @param event 提示框关闭事件参数
                 */
                disable(event:$.kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 获取下级节点数据集合
                 *
                 * @param args 操作之前事件参数
                 * @param entityType
                 * @return 下级节点数据集合
                 */
                getChildrenDynamicObject(args:$.kd.bos.form.events.BeforeDoOperationEventArgs,entityType:$.kd.bos.entity.BasedataEntityType):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 启用分组
                 *
                 * @param event 提示框关闭事件参数
                 */
                enable(event:$.kd.bos.form.events.MessageBoxClosedEvent):void;
                /**
                 * 启用操作
                 *
                 * @param args 操作之前事件参数
                 * @return 选中数据
                 */
                enableOperation(args:$.kd.bos.form.events.BeforeDoOperationEventArgs):$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 获取操作选中数据
                 *
                 * @param args 操作之前事件参数
                 * @param entityType
                 * @return 操作选中数据
                 */
                getOperationData(args:$.kd.bos.form.events.BeforeDoOperationEventArgs,entityType:$.kd.bos.entity.BasedataEntityType):$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 禁用分组数据
                 *
                 * @param args 操作之前事件参数
                 * @return
                 */
                disableOperation(args:$.kd.bos.form.events.BeforeDoOperationEventArgs):$.kd.bos.entity.datamodel.ListSelectedRowCollection;
                /**
                 * 删除分组数据
                 *
                 * @param args 操作之前事件参数
                 * @return
                 */
                deleteOperation(args:$.kd.bos.form.events.BeforeDoOperationEventArgs):$.kd.bos.entity.datamodel.ListSelectedRowCollection;
            }
            type StandardTreeListPlugin_T = $.kd.bos.form.control.events.ActiveViewListener & AbstractTreeListPlugin & StandardTreeListPlugin$;
            interface StandardTreeListPlugin extends StandardTreeListPlugin_T {
            }
            interface AbstractListViewPluginProxy_S {
            }
            type AbstractListViewPluginProxy_ST = $.kd.bos.form.plugin.FormViewPluginProxy & AbstractListViewPluginProxy_S;
            interface AbstractListViewPluginProxy_C extends AbstractListViewPluginProxy_ST {
                new():AbstractListViewPluginProxy;
            }
            interface AbstractListViewPluginProxy$ {
            }
            type AbstractListViewPluginProxy_T = $.kd.bos.form.plugin.FormViewPluginProxy & AbstractListViewPluginProxy$;
            interface AbstractListViewPluginProxy extends AbstractListViewPluginProxy_T {
            }
            interface AbstractListPlugin_S {
                readonly TOOLBARID:string;
                readonly FILTERCONTAINERID:string;
                readonly BILLLISTID:string;
            }
            type AbstractListPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractListPlugin_S & IPCListPlugin_S & kd.bos.list.events.ListRowClickListener_S;
            interface AbstractListPlugin_C extends AbstractListPlugin_ST {
                new():AbstractListPlugin;
            }
            interface AbstractListPlugin$ {
            }
            type AbstractListPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractListPlugin$ & IPCListPlugin & kd.bos.list.events.ListRowClickListener;
            interface AbstractListPlugin extends AbstractListPlugin_T {
            }
            interface IListPlugin_S {
            }
            type IListPlugin_ST = $.kd.bos.form.plugin.IFormPlugin & IListPlugin_S;
            interface IListPlugin_C extends IListPlugin_ST {
            }
            interface IListPlugin$ {
                /**
                 * 查询引出数据后事件
                 * @param e 事件参数
                 */
                afterQueryOfExport(e:$.kd.bos.form.events.AfterQueryOfExportEvent):void;
                /**
                 * 单据列表超链接点击的处理方法
                 * @param args 超链接点击参数
                 */
                billListHyperLinkClick(args:$.kd.bos.form.events.HyperLinkClickArgs):void;
                /**
                 * 表单关闭回调
                 * @param e 表单关闭回调事件
                 */
                billClosedCallBack(e:kd.bos.list.events.BillClosedCallBackEvent):void;
                /**
                 *  取消云之家聊天
                 *  示例：chat(取消云之家聊天)
                 *
                 *  <pre>
                 * 	  {@code
                 *     	  @Override
                 *     	  public void chat(ChatEvent e) {
                 * 	            super.chat(e);
                 * 	      }
                 * 	  }
                 * 	 </pre>
                 *  @param e
                 *             取消云之家聊天时间参数 {@link ChatEvent}
                 */
                chat(e:kd.bos.list.events.ChatEvent):void;
                /**
                 * 列表行数据展开事件
                 *
                 * @param e
                 */
                expandClick(e:$.kd.bos.form.field.events.ListExpandEvent):void;
                /**
                 * 创建列表列前触发
                 *
                 * 示例：beforeCreateListColumns
                 *
                 * <pre>
                 *
                 * {@code
                 *        @Override
                 *        public void beforeCreateListColumns(BeforeCreateListColumnsArgs
                 *          beforecreatelistcolumnsargs) { // 新增一个字段名为 combofield的常用过滤字段
                 *          ComboListColumn comboListColumn = new ComboListColumn();
                 *          comboListColumn.setListFieldKey("combofield"); // 新增一个合并列表字段
                 *          MergeListColumn mergeListColumn = new MergeListColumn();
                 *          mergeListColumn.setKey("mergelistcolumn"); //将刚才新增的常用过滤字段添加到合并列表字段
                 *          mergeListColumn.getItems().add(comboListColumn);
                 *          beforecreatelistcolumnsargs.addListColumn(mergeListColumn); //
                 *          //获取字段名为textfield的列表字段
                 *          IListColumn listColumn = beforecreatelistcolumnsargs.getListColumn("textfield");
                 *          super.beforeCreateListColumns(beforecreatelistcolumnsargs); }
                 *        }
                 *     </pre>
                 *
                 * @param args
                 *            创建列表前事件参数 {@link BeforeCreateListColumnsArgs}
                 */
                beforeCreateListColumns(args:kd.bos.form.events.BeforeCreateListColumnsArgs):void;
                /**
                 * 引出后事件
                 *
                 * @param e 事件参数
                 */
                afterExportFile(e:$.kd.bos.form.events.ExportFileEvent):void;
                /**
                 * 列表超链接点击事件
                 *
                 * @param e
                 */
                hyperLinkClick(e:kd.bos.list.events.ListHyperLinkClickEvent):void;
                /**
                 * 引出前之前
                 *
                 * @param e 事件参数
                 */
                beforeExportFile(e:$.kd.bos.form.events.BeforeExportFileEvent):void;
                /**
                 * 设置过滤条件
                 *
                 * 示例：setFilter(如果是树型列表的过滤条件添加建议重载buildTreeListFilter)
                 *
                 * <pre>
                 *     {@code
                 *    	@Override
                 *    	public void setFilter(SetFilterEvent e) {
                 *    		e.setCustomQFilter(new QFilter("combofield", "=", "1"));
                 *    	}
                 *     }
                 * </pre>
                 *
                 * @param e
                 *            设置过滤条件事件 {@link SetFilterEvent}
                 */
                setFilter(e:kd.bos.form.events.SetFilterEvent):void;
                /**
                 * 查询引出数据前事件
                 * @param e 事件参数
                 */
                beforeQueryOfExport(e:$.kd.bos.form.events.BeforeQueryOfExportEvent):void;
                /**
                 * 显示表单前触发
                 * @param e 显示表单前置事件
                 */
                beforeShowBill(e:kd.bos.list.events.BeforeShowBillFormEvent):void;
                /**
                 * 创建列表数据提供者前触发
                 *
                 * 示例：beforeCreateListDataProvider(自定义取数)
                 *
                 * <pre>
                 *  {@code
                 *    	@Override
                 *    	public void beforeCreateListDataProvider(BeforeCreateListDataProviderArgs args) {
                 *    		System.err.println("beforeCreateListDataProvider");
                 *    		args.setListDataProvider(new ListDataProvider(){
                 *
                 *    			&#64;Override
                 *    			public DynamicObjectCollection getData(int start, int end) {
                 *    				int dataCount=selfQueryDataCount();
                 *    				int billDataCount=selfQueryBillDataCount();
                 *    				List<SummaryResult> summaryResults=selfQuerySummaryResult();
                 *
                 *    				// 自己的取数逻辑得到DynamicObjectCollection
                 *    				DynamicObjectCollection dynamicObjectCollection = selfQueryData();
                 *    				getQueryResult().setCollection(dynamicObjectCollection);
                 *    				getQueryResult().setDataCount(dataCount);
                 *    				getQueryResult().setBillDataCount(billDataCount);
                 *    				getQueryResult().setSummaryResults(summaryResults);
                 *
                 *    				return dynamicObjectCollection;
                 *    			}
                 *
                 *    		});
                 *    		super.beforeCreateListDataProvider(args);
                 *    	}
                 *     }
                 * </pre>
                 *
                 * @param args
                 *            创建列表数据提供者参数 {@link BeforeCreateListDataProviderArgs}
                 */
                beforeCreateListDataProvider(args:$.kd.bos.form.events.BeforeCreateListDataProviderArgs):void;
                /**
                 * 设置单元格值指令
                 *
                 * @param args
                 */
                setCellFieldValue(args:kd.bos.list.events.SetCellFieldValueArgs):void;
                /**
                 * 数据包装前事件,数据包为整体数据包
                 *
                 * 示例：beforePackageData(注意不要修改基础资料的引用属性，因为会打乱缓存数据，此方法只适合非基础资料字段修改)
                 *
                 * <pre>
                 *        {@code
                 *        	@Override
                 *        	public void beforePackageData(BeforePackageDataEvent e) {
                 *        		super.beforePackageData(e);
                 *        		for (DynamicObject object : e.getPageData()) {
                 *        			object.set("test", "test");
                 *        		}
                 *        	}
                 *    	}
                 * </pre>
                 *
                 * @param e
                 *            数据再包装事件参数 {@link BeforePackageDataEvent}
                 */
                beforePackageData(e:$.kd.bos.entity.datamodel.events.BeforePackageDataEvent):void;
                /**
                 * 数据包装事件,用于修改发送给前端之前的数据，用于单元格填值
                 *
                 * 示例：packageData(此方法为单元格填值，操作列设置字体颜色和根据条件修改文本字段内容)
                 *
                 * <pre>
                 * {@code
                 *    	@Override
                 *    	public void packageData(PackageDataEvent e) {
                 *    		System.err.println("packageData");
                 *    		if (e.getSource() instanceof ListOperationColumnDesc) {
                 *    			List<OperationColItem> operationColItems = (List<OperationColItem>) e.getFormatValue();
                 *    			for (OperationColItem operationColItem : operationColItems) {
                 *    				operationColItem.setForeColor("green");
                 *    			}
                 *    		}
                 *    		else if (e.getSource() instanceof ColumnDesc) {
                 *    			ColumnDesc columnDesc = (ColumnDesc) e.getSource();
                 *    			if ("textfield".equals(columnDesc.getKey()) && "1".equals(e.getFormatValue()))
                 *    				e.setFormatValue("test");
                 *    		}
                 *    		super.packageData(e);
                 *    	}
                 *     }
                 * </pre>
                 *
                 * @param e
                 *            数据包装事件参数 {@link PackageDataEvent}
                 */
                packageData(e:$.kd.bos.entity.datamodel.events.PackageDataEvent):void;
                /**
                 *  用于给列表表头字段追加过滤条件
                 *
                 *  示例:
                 *  <pre>
                 * 	   {@code
                 * 		 @Override
                 * 		public void listRowFilter(ListRowFilterEvent args) {
                 * 			// 判断如果当前过滤字段的字段名为textfield就追加一个多语言字段mulilangtextfield的过滤条件
                 * 			if (args.getCurrentListColumnFilter().getFieldName().equals("textfield")) {
                 * 				args.addListColumnFilter("mulilangtextfield", args.getCurrentListColumnFilter().getValue());
                 * 			}
                 * 			// 判断如果当前过滤字段的字段名为datefield就追加一个多语言字段userfield.modifytime的过滤条件
                 * 			else if (args.getCurrentListColumnFilter().getFieldName().equals("datefield")) {
                 * 				args.addListColumnFilter("userfield.modifytime", args.getCurrentListColumnFilter().getValue());
                 * 			}
                 *
                 * 			super.listRowFilter(args);
                 * 		}
                 * 	 }
                 * 	 </pre>
                 *
                 *  @param args
                 *             给列表表头字段追加过滤条件事件参数 {@link ListRowFilterEvent}
                 */
                listRowFilter(args:kd.bos.list.events.ListRowFilterEvent):void;
                /**
                 * 获取主实体事件
                 * @param args
                 */
                billListGetEntityType(args:$.kd.bos.entity.datamodel.events.GetEntityTypeEventArgs):void;
                /**
                 * 列表行编辑
                 * @param event
                 */
                setCellsData(event:kd.bos.list.events.SetCellsDataEvent):void;
                /**
                 * 字段脱敏处理前触发。 可添加需要脱敏字段.配置脱敏处理规则
                 * @param args 事件参数
                 */
                beforeDesensitive(args:$.kd.bos.entity.plugin.args.SensitiveArgs):void;
            }
            type IListPlugin_T = $.kd.bos.form.plugin.IFormPlugin & IListPlugin$;
            interface IListPlugin extends IListPlugin_T {
            }
            interface IMobListPlugin_S {
            }
            type IMobListPlugin_ST = $.kd.bos.form.events.AfterMobileListPushDownRefreshListener & IListPlugin_S & IMobListPlugin_S;
            interface IMobListPlugin_C extends IMobListPlugin_ST {
            }
            interface IMobListPlugin$ {
                /**
                 * 移动过滤排序控件搜索方法
                 *
                 * @param args 移动过滤排序控件搜索事件参数
                 */
                mobFilterSortSearchClick(args:$.kd.bos.form.events.MobFilterSortSearchClickArgs):void;
                /**
                 * 移动搜索控件焦点聚焦
                 */
                mobileSearchFocus():void;
                /**
                 * 移动搜索控件基础资料弹窗前事件
                 *
                 * @param args 过滤容器F7弹出之前事件参数
                 */
                mobFilterSortBeforeF7Select(args:$.kd.bos.form.field.events.BeforeFilterF7SelectEvent):void;
                /**
                 * 移动搜索控件初始化方法
                 */
                mobileSearchInit(args:kd.bos.form.control.events.MobileSearchInitEvent):void;
                /**
                 * 移动搜索控件文本输入
                 *
                 * @param args 移动端搜索控件文本输入事件参数
                 */
                mobileSearchTextChange(args:$.kd.bos.form.control.events.MobileSearchTextChangeEvent):void;
                /**
                 * 移动搜索控件搜索后方法
                 *
                 * @param args 移动过滤排序控件搜索事件参数
                 */
                mobFilterSortAfterSearchClick(args:$.kd.bos.form.events.MobFilterSortSearchClickArgs):void;
                /**
                 * 移动过滤排序控件初始化
                 *
                 * @param args 过滤容器初始化事件参数
                 */
                mobFilterSortInit(args:kd.bos.form.events.MobFilterSortInitArgs):void;
            }
            type IMobListPlugin_T = $.kd.bos.form.events.AfterMobileListPushDownRefreshListener & IListPlugin & IMobListPlugin$;
            interface IMobListPlugin extends IMobListPlugin_T {
            }
            interface AbstractTreeListPlugin_S {
            }
            type AbstractTreeListPlugin_ST = $.kd.bos.form.control.events.SearchEnterListener & AbstractListPlugin_S & AbstractTreeListPlugin_S & ITreeListPlugin_S;
            interface AbstractTreeListPlugin_C extends AbstractTreeListPlugin_ST {
                new():AbstractTreeListPlugin;
            }
            interface AbstractTreeListPlugin$ {
                /**
                 * 获取树行列表视图
                 *
                 * @return 树形列表视图接口
                 */
                getTreeListView():$.kd.bos.list.ITreeListView;
                /**
                 * 设置自定义参数
                 */
                setCustomerParam():void;
            }
            type AbstractTreeListPlugin_T = $.kd.bos.form.control.events.SearchEnterListener & AbstractListPlugin & AbstractTreeListPlugin$ & ITreeListPlugin;
            interface AbstractTreeListPlugin extends AbstractTreeListPlugin_T {
            }
            interface AbstractMobListPlugin_S {
            }
            type AbstractMobListPlugin_ST = $.kd.bos.form.plugin.AbstractMobFormPlugin & AbstractMobListPlugin_S & IMobListPlugin_S & kd.bos.list.events.ListRowClickListener_S;
            interface AbstractMobListPlugin_C extends AbstractMobListPlugin_ST {
                new():AbstractMobListPlugin;
            }
            interface AbstractMobListPlugin$ {
            }
            type AbstractMobListPlugin_T = $.kd.bos.form.plugin.AbstractMobFormPlugin & AbstractMobListPlugin$ & IMobListPlugin & kd.bos.list.events.ListRowClickListener;
            interface AbstractMobListPlugin extends AbstractMobListPlugin_T {
            }
            interface IPCListPlugin_S {
            }
            type IPCListPlugin_ST = IListPlugin_S & IPCListPlugin_S;
            interface IPCListPlugin_C extends IPCListPlugin_ST {
            }
            interface IPCListPlugin$ {
                /**
                 * 过滤容器搜索点击后的处理方法,此事件发生在过滤条件解析后，主要用于点击过滤条件时联动修改其他过滤字段控件,
                 * 修改前已先在filterContainerInit事件将要修改的字段用全局变量进行缓存
                 *
                 * @param args 过滤容器搜索点击参数 {@link FilterContainerSearchClickArgs}
                 */
                filterContainerAfterSearchClick(args:$.kd.bos.form.events.FilterContainerSearchClickArgs):void;
                /**
                 * 过滤字段上的基础资料字段过滤条件调整事件
                 * <p>
                 * 示例：filterColumnSetFilter<pre> <code>
                 * &#64;Override
                 * public void filterColumnSetFilter(SetFilterEvent args) {
                 * System.err.println("filterColumnSetFilter");
                 * if ("basedatafield2.name".equals(args.getFieldName()))
                 * args.addCustomQFilter(new QFilter("name", QFilter.equals, "test123"));
                 *
                 * // 基础资料依赖于上面的选择字段orgfield1,将orgfield1的已选中值添加到basedatafield2
                 * if ("basedatafield2.name".equals(args.getFieldName())) {
                 * FilterColumnSetFilterEvent args2 = (FilterColumnSetFilterEvent) args;
                 * args.addCustomQFilter(new QFilter("name", QFilter.equals, args2.getCommonFilterValue("orgfield1.number")));
                 * }
                 *
                 * super.filterColumnSetFilter(args);
                 * }
                 * </code></pre>
                 *
                 * @param args 通过参数设置主业务组织，特殊数据权限，数据权限，自定义过滤条件 {@link SetFilterEvent}
                 */
                filterColumnSetFilter(args:kd.bos.form.events.SetFilterEvent):void;
                /**
                 * 用于列表插件关闭列表OR查询
                 *
                 * @param args
                 */
                closeQueryByOr(args:kd.bos.filter.events.CloseQueryByOrEvent):void;
                /**
                 * 过滤容器内F7弹出前的处理方法
                 * 示例：<pre>  <code>
                 * &#64;Override
                 * public void filterContainerBeforeF7Select(BeforeFilterF7SelectEvent args) {
                 * System.err.println("filterContainerBeforeF7Select");
                 * if("basedatafield2.name".equals(args.getFieldName()))
                 * args.addCustomQFilter(new QFilter("name", QFilter.equals,"test123"));
                 *
                 * super.filterContainerBeforeF7Select(args);
                 * }
                 * 	</code></pre>
                 *
                 * @param args 过滤容器内F7弹出前触发参数 {@link BeforeFilterF7SelectEvent}
                 */
                filterContainerBeforeF7Select(args:$.kd.bos.form.field.events.BeforeFilterF7SelectEvent):void;
                /**
                 * 创建树形列表视图
                 *
                 * @param e 创建树形列表视图事件 {@link CreateTreeListViewEvent}
                 */
                createTreeListView(e:kd.bos.list.events.CreateTreeListViewEvent):void;
                /**
                 * 列表方案校验
                 * @param args
                 * @return
                 */
                filterContainerSchemeValidate(args:$.kd.bos.form.control.events.filter.FilterSchemeDto):boolean;
                /**
                 * 用户在列表添加自定义视图
                 * 示例：脚本插件
                 * <pre><code>
                 * var plugin = new ListPlugin({
                 * addCustomViews:function(e) {
                 * CustomView customView=new CustomView();
                 * customView.setCustomView("customView");
                 * // 接下来可以在CustomView添加自定义控件实现业务逻辑
                 * // 最后将视图添加进列表
                 * e.setCustomView(customView);
                 * }
                 * </code></pre>
                 *
                 * @param addCustomViewEvent {@link AddCustomViewEvent}
                 */
                addCustomViews(addCustomViewEvent:$.kd.bos.form.events.AddCustomViewEvent):void;
                /**
                 * 过滤容器初始化的处理方法,页面加载和点击搜索时触发
                 * 示例：<pre><code>
                 * &#64;Override
                 * public void filterContainerInit(FilterContainerInitArgs args) {
                 * // 获取 datefield字段
                 * FilterColumn filterColumn = args.getFilterColumn("datefield");
                 * // 给字段设置默认值
                 * filterColumn.setDefaultValues("2019-1-30", "2019-1-31");
                 * // 创建一个textfield字段
                 * FilterColumn filterColumn2 = new FilterColumn("textfield");
                 * // 添加到字段元数据集合
                 * args.addFilterColumn(filterColumn2);
                 * // 创建一个combofield 通用过滤字段
                 * CommonFilterColumn commonFilterColumn = new CommonFilterColumn("combofield");
                 * // 添加到字段元数据集合
                 * args.addFilterColumn(commonFilterColumn);
                 * // 创建一个combofield 方案过滤字段
                 * SchemeFilterColumn schemeFilterColumn = new SchemeFilterColumn("combofield");
                 * // 添加到字段元数据集合
                 * args.addFilterColumn(schemeFilterColumn);
                 * super.filterContainerInit(args);
                 * }
                 * </code></pre>
                 *
                 * @param args {@link FilterContainerInitArgs}
                 */
                filterContainerInit(args:kd.bos.form.events.FilterContainerInitArgs):void;
                /**
                 * 列表“计算合计”需要用户点击后触发，
                 * 如果数据量不是太大，没有性能问题，需要优化用户体验时，可以重写此方法，
                 * 用于页面加载时同时“计算合计”
                 * 示例：<pre>  <code>
                 * &#64;Override
                 * public void sumDataLoadOnFirstSet(SumDataLoadOnFirstSetEvent args) {
                 * args.setSumDataLoadOnFirst(true);
                 * super.sumDataLoadOnFirstSet(args);
                 * }
                 * </code></pre>
                 *
                 * @param args 插件参数 {@link SumDataLoadOnFirstSetEvent}
                 */
                sumDataLoadOnFirstSet(args:$.kd.bos.form.events.SumDataLoadOnFirstSetEvent):void;
                /**
                 * 背景 业务员想要自定义列表的多个字段排序，这样就可以按照自己关注的数据维度进行列表数据查看。
                 * <p>
                 * 2、支持排序的字段范围 可开放的字段为列表设计器上的单头字段（除图片、附件、基础资料、多选基础资料、多类别基础资料外），需要在插件中指定字段范围。
                 * <p>
                 * 2.1 监听操作项点击事件 示例：
                 * multifieldsort即新建操作项标识
                 * <p>
                 * <p>
                 * /** 当标识为multifieldsort的按钮点击时触发多字段排序请求
                 *
                 * <pre> <code>
                 * &#64;Override
                 * public void itemClick(ItemClickEvent evt) {
                 * if ("multifieldsort".equals(evt.getItemKey())) {
                 * this.getView().invokeOperation("multifieldsort");
                 * }
                 * super.itemClick(evt);
                 * }
                 * </code></pre>
                 * <p>
                 * 2.2 指定能够用于多字段排序的表格列表字段
                 * <pre> <code>
                 * &#64;Override
                 * public void setMultiSortFields(MultiFieldsSortEvent multiFieldsSortEvent) {
                 *       multiFieldsSortEvent.addMultiSortField("textfield");
                 *       multiFieldsSortEvent.addMultiSortField("datefield");
                 *       super.setMultiSortFields(multiFieldsSortEvent);
                 * }
                 * </code></pre>
                 *
                 * @param args 插件参数 {@link MultiFieldsSortEvent}
                 */
                setMultiSortFields(args:kd.bos.list.events.MultiFieldsSortEvent):void;
                /**
                 * 基础资料F7界面默认开启简单分页模式，有些场景需要开启跳页模式，使用此方法开启
                 * <p>
                 * 示例：脚本插件
                 * <pre>  <code>
                 * var plugin = new ListPlugin({
                 * 	setIndexMode:function(e) {
                 * 	e.setIndexMode(true);
                 * }
                 * </code></pre>
                 *
                 * @param args {@link IndexModeSetEvent}
                 */
                setIndexMode(args:kd.bos.list.events.IndexModeSetEvent):void;
                /**
                 * 通过插件方式关闭已选合计
                 * <p>
                 * 示例：脚本插件
                 * <pre>  <code>
                 * var plugin = new ListPlugin({
                 * 	setEnableCustomSum:function(e) {
                 * 	e.setEnableCustomSum(true);
                 * }
                 * </code></pre>
                 *
                 * @param args {@link EnableCustomSumEvent}
                 */
                setEnableCustomSum(args:kd.bos.list.events.EnableCustomSumEvent):void;
                /**
                 * 过滤容器搜索点击的处理方法,此事件之前先触发filterContainerInit
                 * 示例：<pre>  <code>
                 * &#64;Override
                 * public void filterContainerSearchClick(FilterContainerSearchClickArgs args) {
                 * // 添加常用过滤条件（日期常量“今天”）
                 * args.addConstFilter("datefield", CompareTypeEnum.TODAY);
                 * // 添加快速过滤条件
                 * args.addFastFilter("textfield", "test");
                 * // 添加方案过滤条件
                 * args.addFilter("textfield", CompareTypeEnum.EQUAL, "123");
                 * super.filterContainerSearchClick(args);
                 * }
                 * </code></pre>
                 *
                 * @param args 过滤容器搜索点击参数 {@link FilterContainerSearchClickArgs}
                 */
                filterContainerSearchClick(args:$.kd.bos.form.events.FilterContainerSearchClickArgs):void;
                /**
                 * 过滤面板展开事件
                 *
                 * @param args
                 */
                filterContainerExpand(args:kd.bos.filter.events.ExpandEvent):void;
                /**
                 * 设置常用过滤的基础资料依赖字段，
                 * 用于基础资料字段的之间的级联
                 * <p>
                 * 比如，常用过滤有两个基础资料，一个币别，一个组织，币别字段依赖于组织，最后一个参数是基础资料之间的外键关系字段
                 * 示例:<pre> <code>
                 * &#64;Override
                 * public void baseDataColumnDependFieldSet(BaseDataColumnDependFieldSetEvent args) {
                 * args.addDependField("currencyfield.name", "orgfield1.name", "id");
                 * super.baseDataColumnDependFieldSet(args);
                 * }
                 * </code></pre>
                 *
                 * @param args {@link BaseDataColumnDependFieldSetEvent}
                 */
                baseDataColumnDependFieldSet(args:kd.bos.form.control.events.BaseDataColumnDependFieldSetEvent):void;
                /**
                 * 折叠分录行超链接点击事件
                 *
                 * @param entryHyperLinkClickEvent
                 */
                entryHyperLinkClick(entryHyperLinkClickEvent:$.kd.bos.form.events.EntryHyperLinkClickEvent):void;
                /**
                 * 新版过滤模式下提供了基础资料模糊查询功能，如果不需要此功能可以通过重写此方法来关闭
                 * <p>
                 * 示例：通过脚本插件关闭字段名为basedatafield的基础资料字段的模糊查询功能
                 * <pre> <code>
                 * var plugin = new ListPlugin({
                 * 	filterContainerSetBaseDataSearchClosed:function(e) {
                 * 	e.addFieldName("basedatafield");
                 * }
                 * </code></pre>
                 *
                 * @param args
                 */
                filterContainerSetBaseDataSearchClosed(args:$.kd.bos.filter.events.SetFilterContainerBaseDataSearchClosedEvent):void;
                /**
                 * 应用范围列表表头字段过滤比较符排序列表表头下拉列表移除部分字段功能说明
                 * 示例场景：
                 * 1. 列表上需要将文本字段（textfield）的第一个比较符移除掉
                 * 2. 列表上需要将下拉列表字段（combofield）的第一项内容移除掉 <br >
                 * 示例：<pre>  <code>
                 * &#64;Override
                 * public void listColumnCompareTypesSet(ListColumnCompareTypesSetEvent args) {
                 * ListColumnCompareType[] array;
                 * if ("textfield".equals(args.getListFieldKey())) {
                 * args.getListColumnCompareTypes().remove(0);
                 * array = args.getListColumnCompareTypes().toArray(new ListColumnCompareType[0]);
                 * Arrays.sort(array, (o1, o2) -> {
                 * return Integer.valueOf(o1.getId()).compareTo(Integer.valueOf(o2.getId()));
                 * });
                 *
                 * args.setListColumnCompareTypes(Arrays.asList(array));
                 * } else if ("combofield".equals(args.getListFieldKey())) {
                 * args.getComboItems().remove(0);
                 * }
                 *
                 * super.listColumnCompareTypesSet(args);
                 * }
                 * </code></pre>
                 *
                 * @param args 插件参数 {@link ListColumnCompareTypesSetEvent}
                 */
                listColumnCompareTypesSet(args:$.kd.bos.form.events.ListColumnCompareTypesSetEvent):void;
            }
            type IPCListPlugin_T = IListPlugin & IPCListPlugin$;
            interface IPCListPlugin extends IPCListPlugin_T {
            }
            interface ITreeListPlugin_S {
            }
            interface ITreeListPlugin_C extends ITreeListPlugin_S {
            }
            interface ITreeListPlugin$ {
                /**
                 * 展开树节点控件
                 *
                 * @param e 树节点展开事件参数
                 */
                expendTreeNode(e:$.kd.bos.form.control.events.TreeNodeEvent):void;
                /**
                 * 初始化树形列表
                 * @param e 事件
                 */
                initializeTree(e:$.java.util.EventObject):void;
                /**
                 * 设置表单视图
                 * @param formView 表单视图接口
                 */
                setView?(formView:$.kd.bos.form.IFormView):void;
                /**
                 * 树节点点击前置处理
                 * @param e 树节点点击事件
                 */
                beforeTreeNodeClick(e:$.kd.bos.form.events.BeforeTreeNodeClickEvent):void;
                /**
                 * 刷新节点
                 *
                 * @param e
                 *            刷新节点事件
                 */
                refreshNode(e:$.kd.bos.form.control.events.RefreshNodeEvent):void;
                /**
                 * 初始化树列表工具栏
                 * @param e 事件
                 */
                initTreeToolbar(e:$.java.util.EventObject):void;
                /**
                 * 树中节点的点击处理方法
                 *
                 * @param e
                 *            树节点事件
                 */
                treeNodeClick(e:$.kd.bos.form.control.events.TreeNodeEvent):void;
                /**
                 * 树列表工具栏点击的处理方法
                 * @param e 事件
                 */
                treeToolbarClick(e:$.java.util.EventObject):void;
                /**
                 * 设置树形列表视图
                 * @param treeListView 树形列表接口
                 */
                setTreeListView?(treeListView:$.kd.bos.list.ITreeListView):void;
                /**
                 * 树形单据列表，点击分组树节点，构建单据列表分组过滤条件
                 * @param e
                 */
                buildTreeListFilter(e:kd.bos.list.events.BuildTreeListFilterEvent):void;
                /**
                 * 构建树节点前置处理
                 * @param e 构建树节点前置处理事件
                 */
                beforeBuildTreeNode(e:$.kd.bos.form.events.BeforeBuildTreeNodeEvent):void;
            }
            type ITreeListPlugin_T = ITreeListPlugin$;
            interface ITreeListPlugin extends ITreeListPlugin_T {
            }
        }
        namespace kd.bos.list.service{
            interface PackageDataServiceIn_S {
            }
            type PackageDataServiceIn_ST = $.java.io.Serializable & PackageDataServiceIn_S;
            interface PackageDataServiceIn_C extends PackageDataServiceIn_ST {
                new(entityId:string,pks:$.java.util.List,abstractColumnDesc:$.kd.bos.entity.list.column.AbstractColumnDesc):PackageDataServiceIn;
            }
            interface PackageDataServiceIn$ {
                getPks():$.java.util.List;
                getEntityId():string;
                getAbstractColumnDesc():$.kd.bos.entity.list.column.AbstractColumnDesc;
            }
            type PackageDataServiceIn_T = $.java.io.Serializable & PackageDataServiceIn$;
            interface PackageDataServiceIn extends PackageDataServiceIn_T {
            }
            interface PackageDataServiceResults_S {
            }
            type PackageDataServiceResults_ST = $.java.io.Serializable & PackageDataServiceResults_S;
            interface PackageDataServiceResults_C extends PackageDataServiceResults_ST {
                new(packageDataServiceResultMap:$.java.util.Map):PackageDataServiceResults;
            }
            interface PackageDataServiceResults$ {
                getPackageDataServiceResultMap():$.java.util.Map;
                putPackageDataServiceResult(pkStr:string,packageDataServiceResult:string):void;
            }
            type PackageDataServiceResults_T = $.java.io.Serializable & PackageDataServiceResults$;
            interface PackageDataServiceResults extends PackageDataServiceResults_T {
            }
            interface ListFormShowParameterIn_S {
            }
            type ListFormShowParameterIn_ST = $.java.io.Serializable & ListFormShowParameterIn_S;
            interface ListFormShowParameterIn_C extends ListFormShowParameterIn_ST {
                new(columnServiceName:string,billId:string,entityId:string):ListFormShowParameterIn;
            }
            interface ListFormShowParameterIn$ {
                getFormShowParameterIn():$.java.util.Map;
                getBillId():string;
                getEntityId():string;
                setPageId(pageId:string):void;
                setFormShowParameterIn(formShowParameterIn:$.java.util.Map):void;
                getColumnServiceName():string;
                getPageId():string;
            }
            type ListFormShowParameterIn_T = $.java.io.Serializable & ListFormShowParameterIn$;
            interface ListFormShowParameterIn extends ListFormShowParameterIn_T {
            }
        }
        namespace kd.bos.log.api{
            interface OpLogAppInfo_S {
            }
            type OpLogAppInfo_ST = AppLogInfo_S & OpLogAppInfo_S;
            interface OpLogAppInfo_C extends OpLogAppInfo_ST {
                new():OpLogAppInfo;
            }
            interface OpLogAppInfo$ {
                getOpDescProjId():string;
                getOpDescResId():string;
                setOpName(arg0:string,arg1:string):void;
                setOpDesc(arg0:kd.bos.dataentity.resource.promptenum.MultiLangEnumBridge,...arg1:string[]):void;
                setKeyWord(arg0:string):void;
                getOpResId():string;
                getOpProjId():string;
                getOpKey():string;
                setOpName(arg0:string,arg1:kd.bos.dataentity.resource.promptenum.MultiLangEnumBridge):void;
                getOpDescArgs():string;
                getKeyWord():string;
            }
            type OpLogAppInfo_T = AppLogInfo & OpLogAppInfo$;
            interface OpLogAppInfo extends OpLogAppInfo_T {
            }
            interface FieldModifyInfo_S {
                readonly key_newValue:string;
                readonly key_caption:string;
                readonly key_oldValue:string;
            }
            type FieldModifyInfo_ST = $.java.io.Serializable & FieldModifyInfo_S;
            interface FieldModifyInfo_C extends FieldModifyInfo_ST {
                new():FieldModifyInfo;
                new(arg0:any,arg1:any,arg2:string):FieldModifyInfo;
            }
            interface FieldModifyInfo$ {
                getEntity():EntityModifyInfo;
                setCaption(arg0:string):void;
                setFieldName(arg0:string):void;
                setNewValue(arg0:any):void;
                setOldValue(arg0:any):void;
                getOldValue():any;
                getNewValue():any;
                setEntity(arg0:EntityModifyInfo):void;
                getFieldName():string;
                getCaption():string;
            }
            type FieldModifyInfo_T = $.java.io.Serializable & FieldModifyInfo$;
            interface FieldModifyInfo extends FieldModifyInfo_T {
            }
            interface EntityModifyInfo_S {
                readonly key_caption:string;
                readonly key_flag:string;
                readonly key_keyID:string;
            }
            type EntityModifyInfo_ST = $.java.io.Serializable & $.java.util.LinkedHashMap & EntityModifyInfo_S;
            interface EntityModifyInfo_C extends EntityModifyInfo_ST {
                new():EntityModifyInfo;
                new(arg0:string,arg1:string):EntityModifyInfo;
            }
            interface EntityModifyInfo$ {
                findEntityModifyInfo(arg0:string,arg1:string):this;
                setParent(arg0:EntityModifyInfo):void;
                getFieldName():string;
                getKeyID():string;
                getModifyFields():$.java.util.List;
                addChild(arg0:string,arg1:EntityModifyInfo):void;
                addField(arg0:string,arg1:FieldModifyInfo):void;
                getFlag():string;
                getFields():$.java.util.List;
                getParent():this;
                setFlag(arg0:string):void;
                setCaption(arg0:string):void;
                setKeyID(arg0:string):void;
                setFieldName(arg0:string):void;
                getPropertyPath():string;
                getCaption():string;
            }
            type EntityModifyInfo_T = $.java.io.Serializable & $.java.util.LinkedHashMap & EntityModifyInfo$;
            interface EntityModifyInfo extends EntityModifyInfo_T {
            }
            interface AppLogInfo_S {
            }
            type AppLogInfo_ST = $.java.io.Serializable & AppLogInfo_S;
            interface AppLogInfo_C extends AppLogInfo_ST {
                new():AppLogInfo;
            }
            interface AppLogInfo$ {
                bizAppID:string;
                modifyBillID:string;
                modifyContentTag:string;
                opTime:Date;
                userID:long;
                opName:string;
                clientName:string;
                modifyFields:string;
                clientIP:string;
                bizObjID:string;
                orgID:long;
                modifyBillNo:string;
                modifyContent:string;
                opDescription:string;
                clientType:string;
                setBizAppID(arg0:string):void;
                getModifyContentTag():string;
                getOpName():string;
                getClientType():string;
                getModifyBillID():string;
                getBizAppID():string;
                getBizObjID():string;
                getOrgID():long;
                getTenantId():string;
                setModifyFields(arg0:string):void;
                setClientType(arg0:string):void;
                setClientName(arg0:string):void;
                setOpTime(arg0:Date):void;
                setStatus(arg0:string):void;
                getClientName():string;
                getLanguage():string;
                getAccountId():string;
                setClientIP(arg0:string):void;
                getOpDescription():string;
                setOrgID(arg0:long):void;
                setBizObjID(arg0:string):void;
                setModifyContentTag(arg0:string):void;
                getLogType():number;
                getOpTime():Date;
                getClientIP():string;
                setOpDescription(arg0:string):void;
                setModifyBillNo(arg0:string):void;
                getModifyBillNo():string;
                getModifyContent():string;
                setAccountId(arg0:string):void;
                getUserID():long;
                getModifyFields():string;
                setOpName(arg0:string):void;
                setUserID(arg0:long):void;
                setModifyContent(arg0:string):void;
                setLanguage(arg0:string):void;
                setLogType(arg0:number):void;
                setModifyBillID(arg0:string):void;
                getStatus():string;
                setTenantId(arg0:string):void;
            }
            type AppLogInfo_T = $.java.io.Serializable & AppLogInfo$;
            interface AppLogInfo extends AppLogInfo_T {
            }
        }
        namespace kd.bos.logging{
            interface LogFactory_S {
                /**
                 * 获取当前clazz对应Log对象
                 * @param clazz
                 * @return
                 */
                getLog(clazz:$.java.lang.Class):Log;
                /**
                 * 获取当前name对应类的Log对象
                 * @param name
                 * @return
                 */
                getLog(name:string):Log;
            }
            interface LogFactory_C extends LogFactory_S {
                new():LogFactory;
            }
            interface LogFactory$ {
            }
            type LogFactory_T = LogFactory$;
            interface LogFactory extends LogFactory_T {
            }
            interface Log_S {
            }
            interface Log_C extends Log_S {
            }
            interface Log$ {
                /**
                 * log.error("Hi {}.", "there") will return the string “Hi there.”.
                 */
                error(msg:string,arg:any):void;
                /**
                 * 输出错误信息
                 */
                error(msg:string):void;
                /**
                 * 输出错误信息
                 * @param e
                 */
                error(e:$.java.lang.Throwable):void;
                /**
                 * log.info("Found {} matching '{}'", records, filter); will return the string
                 * "Found records matching filter"
                 */
                info(msg:string,arg1:any,arg2:any):void;
                /**
                 * error级别日志是否开启
                 */
                isErrorEnabled():boolean;
                /**
                 * debug级别日志是否开启
                 */
                isDebugEnabled():boolean;
                /**
                 * 输出警告信息
                 */
                warn(msg:string):void;
                /**
                 * log.info("Hi {}.", "there") will return the string “Hi there.”.
                 */
                info(msg:string,arg:any):void;
                /**
                 * log.warn("Found {} matching '{}'", records, filter); will return the string
                 * "Found records matching records"
                 */
                warn(msg:string,arg1:any,arg2:any):void;
                /**
                 * info级别日志是否开启
                 */
                isInfoEnabled():boolean;
                /**
                 * 输出告警异常信息
                 */
                warn(e:$.java.lang.Throwable):void;
                /**
                 * 输出告警异常信息
                 */
                warn(msg:string,e:$.java.lang.Throwable):void;
                /**
                 * 通过多个占位{}符输出调试信息
                 * log.debug("Found {} matching '{}'", records, filter); will return the string "Found records matching v"
                 */
                debug(msg:string,arg1:any,arg2:any):void;
                /**
                 * 输出应用信息
                 */
                info(msg:string):void;
                /**
                 * log.error("Found {} matching '{}'", records, filter); will return the string
                 * "Found records matching records"
                 */
                error(msg:string,arg1:any,arg2:any):void;
                /**
                 * 输出错误信息
                 * @param msg
                 * @param e
                 */
                error(msg:string,e:$.java.lang.Throwable):void;
                /**
                 * 多个占位符输出
                 */
                error(msg:string,...arguments:any[]):void;
                /**
                 * log.warn("Hi {}.", "there") will return the string “Hi there.”.
                 */
                warn(msg:string,arg:any):void;
                /**
                 * 多个占位符输出
                 */
                warn(msg:string,...arguments:any[]):void;
                /**
                 * 多个占位符输出
                 */
                info(msg:string,...arguments:any[]):void;
                /**
                 * 多个占位符输出
                 */
                debug(msg:string,...arguments:any[]):void;
                /**
                 * 输出调试信息
                 */
                debug(msg:string):void;
                /**
                 * warn级别日志是否开启
                 */
                isWarnEnabled():boolean;
                /**
                 * 通过占位{}符输出调试信息
                 * 例如log.debug("Hi {}.", "there")输出“Hi there.”
                 */
                debug(msg:string,arg:any):void;
            }
            type Log_T = Log$;
            interface Log extends Log_T {
            }
            interface LogModule_S {
            }
            type LogModule_ST = $.kd.sdk.module.Module & LogModule_S;
            interface LogModule_C extends LogModule_ST {
                new():LogModule;
            }
            interface LogModule$ {
            }
            type LogModule_T = $.kd.sdk.module.Module & LogModule$;
            interface LogModule extends LogModule_T {
            }
        }
        namespace kd.bos.message.api{
            interface ShortMessageInfo_S {
            }
            type ShortMessageInfo_ST = $.java.io.Serializable & ShortMessageInfo_S;
            interface ShortMessageInfo_C extends ShortMessageInfo_ST {
                new():ShortMessageInfo;
            }
            interface ShortMessageInfo$ {
                /**
                 * 设置短信签名
                 * @param signature
                 */
                setSignature(signature:string):void;
                /**
                 * 获取国家代码，例如：中国 86,常量类CountryCode
                 * @return
                 */
                getCountryCode():string;
                /**
                 * 获取短信接收者联系电话，不加国家码（不超过200个）
                 * @return
                 */
                getPhone():$.java.util.List;
                /**
                 * 设置国家代码，例如：中国 86,常量类CountryCode
                 * @param countryCode
                 */
                setCountryCode(countryCode:string):void;
                /**
                 * 设置业务单据id
                 * @param bizDataId
                 */
                setBizDataId(bizDataId:string):void;
                /**
                 * 获取消息id or taskid
                 * @return
                 */
                getMessageId():long;
                /**
                 * 设置消息id or taskid
                 * @param messageId
                 */
                setMessageId(messageId:long):void;
                /**
                 * 设置实体对象编码
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取短信签名
                 * @return
                 */
                getSignature():string;
                /**
                 * 获取业务单据id
                 * @return
                 */
                getBizDataId():string;
                /**
                 * 获取消息类型
                 * @return
                 */
                getType():string;
                /**
                 * 获取短信接收人和手机号的Map
                 * @return
                 */
                getUseridAndPhone():$.java.util.Map;
                /**
                 * 设置消息类型
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * 设置自定义标签
                 * @param tag
                 */
                setTag(tag:string):void;
                /**
                 * 设置短信内容
                 * @param message
                 */
                setMessage(message:string):void;
                /**
                 * 设置短信接收者联系电话，不加国家码（不超过200个）
                 * @param phone
                 */
                setPhone(phone:$.java.util.List):void;
                /**
                 * 获取自定义标签
                 * @return
                 */
                getTag():string;
                /**
                 * 获取短信内容
                 * @return
                 */
                getMessage():string;
                /**
                 * 设置短信接收人和手机号的Map
                 * @param useridAndPhone
                 */
                setUseridAndPhone(useridAndPhone:$.java.util.Map):void;
                /**
                 * 获取实体对象编码
                 * @return
                 */
                getEntityNumber():string;
            }
            type ShortMessageInfo_T = $.java.io.Serializable & ShortMessageInfo$;
            interface ShortMessageInfo extends ShortMessageInfo_T {
            }
            interface IMsgEventListener_S {
            }
            interface IMsgEventListener_C extends IMsgEventListener_S {
            }
            interface IMsgEventListener$ {
                /**
                 * 消息推送干预操作接口，业务可以实现该接口，干预本业务下消息发送逻辑
                 * @param param 包含四种类型信息  entityNumber |businessKey |msgId |channelMsgId
                 * @return boolean 业务通过计算之后，判断该消息是仍需要发送，continueSend=[true|false]
                 */
                calculateInterveneMessage?(param:$.java.util.Map):boolean;
                /**
                 * 业务计算消息模板插件
                 * @param param 包含 entityNumber |businessKey
                 * @return 	返回值需要确保是Map对象 Map<key, value>
                 * 			key="messageTitle"  	value=(ILocalString messageTitle = new LocalString())
                 * 			key="messageContent"  	value=(ILocalString messageContent = new LocalString())
                 */
                calculateMessageContent?(param:$.java.util.Map):$.java.util.Map;
                /**
                 * 获取首页卡片数量统计和消息中心菜单
                 * @param param dateType {tohandle/handled} , userIds 用户id
                 * @return  获取首页按业务单据类型和用户分组统计的单据数量
                 */
                getMessageQuantitySummaryByPlugin?(param:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 订阅渠道失败消息 对应事件subscribeFailMsg
                 * @param msgId 消息id(t_wf_message主键)
                 * @param data 失败消息信息：
                 * <pre><code> channelMsgId ：xxxxx,    - 渠道消息ID(t_wf_msgfail主键)
                 * state : "success | fail",   - 消息状态
                 * errorinfo : "xxxx",   - 失败消息原因
                 * retries : 0,   - 失败消息重试次数
                 * </code></pre>
                 */
                subscribeFailMsgResult?(msgId:long,data:$.java.util.Map):void;
                /**
                 * 更新无代码的头像角标
                 * @param param userIds 用户id , entityNumber 实体编码
                 */
                updateNoCodeFlowUserAvatarBadge?(param:$.java.util.Map):void;
                /**
                 * 订阅渠道成功消息 对应事件subscribeSuccessMsg
                 * @param msgId 消息id(t_wf_message主键)
                 * @param data 成功消息信息：
                 * <pre><code> channelMsgId ：xxxxx,    - 渠道消息ID(t_wf_msgfail主键)
                 * state : "success | fail",   - 消息状态
                 * errorinfo : "xxxx",   - 失败消息原因
                 * retries : 0,   - 失败消息重试次数
                 * </code></pre>
                 */
                subscribeSuccessMsgResult?(msgId:long,data:$.java.util.Map):void;
            }
            type IMsgEventListener_T = IMsgEventListener$;
            interface IMsgEventListener extends IMsgEventListener_T {
            }
            interface DingdingTodoInfo_S {
            }
            interface DingdingTodoInfo_C extends DingdingTodoInfo_S {
                new():DingdingTodoInfo;
            }
            interface DingdingTodoInfo$ {
                /**
                 * 设置待办的标题
                 * @param title
                 */
                setTitle(title:string):void;
                /**
                 * 设置待办的消息内容
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 设置模板标签
                 * @param tplLabel
                 */
                setTplLabel(tplLabel:string):void;
                /**
                 * 获取流程实例ID
                 * @return
                 */
                getProcessInstanceId():string;
                /**
                 * 设置待办结果
                 * @param todoResult
                 */
                setTodoResult(todoResult:string):void;
                /**
                 * 获取待办链接地址
                 * @return
                 */
                getTodoUrl():string;
                /**
                 * 设置标记操作任务的类型  create :创建 ；deal：处理； delete：删除
                 * @param todoType
                 */
                setTodoType(todoType:string):void;
                /**
                 * 获取模板标签
                 * @return
                 */
                getTplLabel():string;
                /**
                 * 设置流程实例ID
                 * @param processInstanceId
                 */
                setProcessInstanceId(processInstanceId:string):void;
                /**
                 * 设置待办状态
                 * @param todoStatus
                 */
                setTodoStatus(todoStatus:string):void;
                /**
                 * 设置流程处理结果
                 * @param insatnceResult
                 */
                setInsatnceResult(insatnceResult:string):void;
                /**
                 * 设置模板名称
                 * @param tplName
                 */
                setTplName(tplName:string):void;
                /**
                 * 设置待办链接地址
                 * @param todoUrl
                 */
                setTodoUrl(todoUrl:string):void;
                /**
                 * 设置待办接收人ID
                 * @param userId
                 */
                setUserId(userId:string):void;
                /**
                 * 设置任务ID
                 * @param taskId
                 */
                setTaskId(taskId:long):void;
                /**
                 * 获取标记操作任务的类型  create :创建 ；deal：处理； delete：删除
                 * @return
                 */
                getTodoType():string;
                /**
                 * 获取模板名称
                 * @return
                 */
                getTplName():string;
                /**
                 * 设置模板描述
                 * @param tplDescription
                 */
                setTplDescription(tplDescription:string):void;
                /**
                 * 获取任务ID
                 * @return
                 */
                getTaskId():long;
                /**
                 * 获取审批实例url 可以打开流程相关的在办 已办申请
                 * @return
                 */
                getInstanceUrl():string;
                /**
                 * 设置审批实例url 可以打开流程相关的在办 已办申请
                 * @param instanceUrl
                 */
                setInstanceUrl(instanceUrl:string):void;
                /**
                 * 获取流程发起人ID
                 * @return
                 */
                getOriginatorUserId():string;
                /**
                 * 获取流程处理结果
                 * @return
                 */
                getInsatnceResult():string;
                /**
                 * 设置是否存在钉钉模板 控制是否调用常见模板接口
                 * @param isHasDingTpl
                 */
                setHasDingTpl(isHasDingTpl:boolean):void;
                /**
                 * 获取当前节点ID
                 * @return
                 */
                getActivityId():string;
                /**
                 * 获取模板描述
                 * @return
                 */
                getTplDescription():string;
                /**
                 * 获取待办的标题
                 * @return
                 */
                getTitle():string;
                /**
                 * 设置流程发起人ID
                 * @param originatorUserId
                 */
                setOriginatorUserId(originatorUserId:string):void;
                /**
                 * 获取流程状态
                 * @return
                 */
                getInstanceStatus():string;
                /**
                 * 是否存在钉钉模板 控制是否调用常见模板接口
                 * @return
                 */
                isHasDingTpl():boolean;
                /**
                 * 设置模板唯一码  数据库中获取
                 * @param tplProcessCode
                 */
                setTplProcessCode(tplProcessCode:string):void;
                /**
                 * 获取模板唯一码  数据库中获取
                 * @return
                 */
                getTplProcessCode():string;
                /**
                 * 获取待办的消息内容
                 * @return
                 */
                getContent():string;
                /**
                 * 获取待办接收人ID
                 * @return
                 */
                getUserId():string;
                /**
                 * 获取待办状态
                 * @return
                 */
                getTodoStatus():string;
                /**
                 * 获取待办结果
                 * @return
                 */
                getTodoResult():string;
                /**
                 * 设置流程状态
                 * @param instanceStatus
                 */
                setInstanceStatus(instanceStatus:string):void;
            }
            type DingdingTodoInfo_T = DingdingTodoInfo$;
            interface DingdingTodoInfo extends DingdingTodoInfo_T {
            }
            interface AbstractMessageInfo_S {
            }
            interface AbstractMessageInfo_C extends AbstractMessageInfo_S {
                new():AbstractMessageInfo;
            }
            interface AbstractMessageInfo$ {
                title:string;
                isToAlluser:boolean;
                msgId:long;
                deptIds:string;
                isLinkMsg:boolean;
                userIds:string;
                content:string;
                msgUrl:string;
                /**
                 * 是否全员推送 一般不用
                 * @return
                 */
                isToAlluser__():boolean;
                /**
                 * 获取消息内容
                 * @return
                 */
                getContent():string;
                /**
                 * 设置企业通知ID
                 * @param msgId
                 */
                setMsgId(msgId:long):void;
                /**
                 * 获取消息链接地址
                 * @return
                 */
                getMsgUrl():string;
                /**
                 * 获取组织ID
                 * @return
                 */
                getDeptIds():string;
                /**
                 * 设置消息链接地址
                 * @param msgUrl
                 */
                setMsgUrl(msgUrl:string):void;
                /**
                 * 获取消息标题
                 * @return
                 */
                getTitle():string;
                /**
                 * 获取接收人ID 若是多人以,隔开
                 * @return
                 */
                getUserIds():string;
                /**
                 * 设置是否是链接消息
                 * @param isLinkMsg
                 */
                setLinkMsg(isLinkMsg:boolean):void;
                /**
                 * 是否是链接消息
                 * @return
                 */
                isLinkMsg__():boolean;
                /**
                 * 设置组织ID
                 * @param deptIds
                 */
                setDeptIds(deptIds:string):void;
                /**
                 * 设置是否全员推送 一般不用
                 * @param isToAlluser
                 */
                setToAlluser(isToAlluser:boolean):void;
                /**
                 * 设置消息内容
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 获取企业通知ID
                 * @return
                 */
                getMsgId():long;
                /**
                 * 设置接收人ID 若是多人以,隔开
                 * @param userIds
                 */
                setUserIds(userIds:string):void;
                /**
                 * 设置消息标题
                 * @param title
                 */
                setTitle(title:string):void;
            }
            type AbstractMessageInfo_T = AbstractMessageInfo$;
            interface AbstractMessageInfo extends AbstractMessageInfo_T {
            }
            interface IMessageService_S {
            }
            interface IMessageService_C extends IMessageService_S {
            }
            interface IMessageService$ {
                /**
                 * 推送企业微信消息
                 * @param messageInfo 企业微信消息对象{@link WeixinqyMessageInfo}
                 * @return 结果 {result: true 代表成功，false 代表失败，code：0 代表成功 400 代表失败 ，description ：处理结果描述}
                 */
                sendWeixinqyMessage?(messageInfo:WeixinqyMessageInfo):$.java.util.Map;
                /**
                 * 钉钉待办处理方法（创建待办，处理待办，删除待办,根据todoInfo中的todoType来确定执行什么操作 : create :创建 ；deal：处理； delete：删除）
                 * @param todoInfo 待办信息对象 {@link DingdingTodoInfo}
                 * @return 待办处理的结果 {result: true 代表成功 false 代表失败，code：0 代表成功 400 代表失败 ，description ：处理结果描述}
                 */
                dingdingTodo?(todoInfo:DingdingTodoInfo):$.java.util.Map;
                /**
                 * 消息中心业务插件调用方法
                 * @param clazz 插件类
                 * @param method 插件类的方法
                 * @param args 方法的入参
                 * @return 执行插件方法的返回结果
                 * @throws NoSuchMethodException 找不到匹配的方法
                 * @throws IllegalAccessException 没有访问权限
                 * @throws InvocationTargetException 方法执行抛异常
                 * @return 插件类返回结果。具体类型根据插件方法的返回值而定
                 */
                invokeMsgBizPlugin?(clazz:string,method:string,...args:any[]):any;
                /**
                 * 根据消息类型，获取该消息类型的渠道设置
                 * @param msgTypeNum 消息类型编码
                 * @return 该消息类型的渠道 {sysnotice | weixinqy | dingding | welink | yunzhijiaup | yunzhijiaeco | kingdee_sky | OATest | sms | email | yunzhijia}
                 */
                getChannelsByMsgTypeNum?(msgTypeNum:string):string;
                /**
                 * 描述：此方法已废弃,禁止使用
                 * @param shortMessageInfo 短信信息对象
                 * @param isCheckLicense 是否验证短信服务许可
                 */
                sendShortMessage(shortMessageInfo:ShortMessageInfo,isCheckLicense:boolean):void;
                /**
                 * 更新钉钉实例状态
                 * @param state 更新的状态，{terminate（终止）| 其他值（完成）}
                 * @param dingProcessInstId 钉钉流程实例
                 * @return 结果 {result: true 代表成功 false 代表失败，code：0 代表成功 400 代表失败 ，description ：处理结果描述}
                 */
                dingdingUpdateProcessInstanceState?(state:string,dingProcessInstId:string):$.java.util.Map;
                /**
                 * 描述：发送邮件
                 * @param emailInfo 邮件信息对象 {@link EmailInfo}
                 */
                sendEmail(emailInfo:EmailInfo):void;
                /**
                 * 工作流获取消息渠道版本更新hashtag
                 * @param accountId 请求的账户ID
                 * @return 消息渠道版本更新hashtag（hashtag 是由消息渠道的修改时间的hash值生成的）
                 */
                getHashTag?(accountId:string):string;
                /**
                 * 描述：群发送短信
                 * @param shortMessageInfo 短信信息对象 {@link ShortMessageInfo}
                 */
                sendShortMessage(shortMessageInfo:ShortMessageInfo):void;
                /**
                 * 钉钉消息处理方法（根据messageInfo中的messageType来确定执行什么操作：create:推送  recall:撤回  check:查看推送结果
                 * 					create：推送钉钉消息
                 * 					check ：查看消息推送结果，备注：此操作在dingdingMessage内部没做任何逻辑处理，返回 null
                 * 					recall：撤回，备注：此操作在dingdingMessage内部没做任何逻辑处理，返回 null ）
                 * @param messageInfo 钉钉消息对象 {@link DingdingMessageInfo}
                 * @return 消息处理的结果 {result: true 代表成功 false 代表失败，code：0 代表成功 400 代表失败 ，description ：处理结果描述}
                 */
                dingdingMessage?(messageInfo:DingdingMessageInfo):$.java.util.Map;
                /**
                 * 查询钉钉任务待办
                 * @param userId 用户id
                 * @param offSet 查询起始（第几条开始查）
                 * @param count 查询数量
                 * @param status 查询的任务状态 (0：待处理 | -1：已经移除)
                 * @return 结果 {errcode：错误返回码 ，errmsg：错误信息 ，result：返回查询的数据}
                 */
                queryDDTask?(userId:string,offSet:long,count:long,status:long):$.java.util.Map;
                /**
                 * 描述：发送云之家公共号消息
                 * @param yzjMessageInfo 云之家公共号消息信息对象 {@link YzjMessageInfo}
                 */
                sendYzjMessage(yzjMessageInfo:YzjMessageInfo):void;
            }
            type IMessageService_T = IMessageService$;
            interface IMessageService extends IMessageService_T {
            }
            interface WeixinqyMessageInfo_S {
            }
            type WeixinqyMessageInfo_ST = AbstractMessageInfo_S & WeixinqyMessageInfo_S;
            interface WeixinqyMessageInfo_C extends WeixinqyMessageInfo_ST {
                new():WeixinqyMessageInfo;
            }
            interface WeixinqyMessageInfo$ {
                /**
                 * 设置消息类型 （普通消息(文本&链接)common   待办消息todo）
                 * @param msgType
                 */
                setMsgType(msgType:string):void;
                /**
                 * 设置消息参数
                 * @param params
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 获取消息类型 （普通消息(文本&链接)common   待办消息todo）
                 * @return
                 */
                getMsgType():string;
                /**
                 * 获取消息参数
                 * @return
                 */
                getParams():$.java.util.Map;
            }
            type WeixinqyMessageInfo_T = AbstractMessageInfo & WeixinqyMessageInfo$;
            interface WeixinqyMessageInfo extends WeixinqyMessageInfo_T {
            }
            interface YzjMessageInfo_S {
            }
            type YzjMessageInfo_ST = $.java.io.Serializable & YzjMessageInfo_S;
            interface YzjMessageInfo_C extends YzjMessageInfo_ST {
                new():YzjMessageInfo;
            }
            interface YzjMessageInfo$ {
                /**
                 * 是否全员推送（默认为false）
                 * @return
                 */
                getToAllUser():boolean;
                /**
                 * 获取公共号ID
                 * @return
                 */
                getPubAcctCode():string;
                /**
                 * 获取公共号Key
                 * @return
                 */
                getPubAccKey():string;
                /**
                 * 设置是否全员推送
                 * @param toAllUser
                 */
                setToAllUser(toAllUser:boolean):void;
                /**
                 * 获取接收人列表
                 * @return
                 */
                getReceiverList():$.java.util.List;
                /**
                 * 设置接收人列表
                 * @param receiverList
                 */
                setReceiverList(receiverList:$.java.util.List):void;
                /**
                 * 获取消息正文
                 * @return
                 */
                getContent():string;
                /**
                 * 设置消息正文
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 设置公共号ID
                 * @param pubAcctCode
                 */
                setPubAcctCode(pubAcctCode:string):void;
                /**
                 * 设置公共号Key
                 * @param pubAccKey
                 */
                setPubAccKey(pubAccKey:string):void;
            }
            type YzjMessageInfo_T = $.java.io.Serializable & YzjMessageInfo$;
            interface YzjMessageInfo extends YzjMessageInfo_T {
            }
            interface DingdingMessageInfo_S {
            }
            type DingdingMessageInfo_ST = AbstractMessageInfo_S & DingdingMessageInfo_S;
            interface DingdingMessageInfo_C extends DingdingMessageInfo_ST {
                new():DingdingMessageInfo;
            }
            interface DingdingMessageInfo$ {
                /**
                 * 链接是否在钉钉内部打开（默认为true）
                 * @return
                 */
                isOpenInDing():boolean;
                /**
                 * 获取图片地址
                 * @return
                 */
                getPicUrl():string;
                /**
                 * 设置链接是否在钉钉内部打开
                 * @param openInDing
                 */
                setOpenInDing(openInDing:boolean):void;
                /**
                 * 设置标记操作钉钉消息的类型  create:推送  recall:撤回  check:查看推送结果
                 * @param messageType
                 */
                setMessageType(messageType:string):void;
                /**
                 * 获取标记操作钉钉消息的类型  create:推送  recall:撤回  check:查看推送结果
                 * @return
                 */
                getMessageType():string;
            }
            type DingdingMessageInfo_T = AbstractMessageInfo & DingdingMessageInfo$;
            interface DingdingMessageInfo extends DingdingMessageInfo_T {
            }
            interface EmailInfo_S {
            }
            type EmailInfo_ST = $.java.io.Serializable & EmailInfo_S;
            interface EmailInfo_C extends EmailInfo_ST {
                new():EmailInfo;
            }
            interface EmailInfo$ {
                /**
                 * 设置邮件附件字节数据
                 * @param attachments
                 */
                setAttachments(attachments:$.java.util.List):void;
                /**
                 * 获取params
                 * @return
                 */
                getParams():$.java.util.Map;
                /**
                 * 邮件开启多接收人依次单独发送,可以确保接收人信息相互不可见（默认为false）
                 * @return
                 */
                isSignleEmail():boolean;
                /**
                 * 获取附件名称
                 * @return
                 */
                getAttachmentNames():$.java.util.List;
                /**
                 * 获取邮件附件字节数据
                 * @return
                 */
                getAttachments():$.java.util.List;
                /**
                 * 获取标题
                 * @return
                 */
                getTitle():string;
                /**
                 * 设置抄送人
                 * @param copyReceiver
                 */
                setCopyReceiver(copyReceiver:$.java.util.List):void;
                /**
                 * 获取收件人
                 * @return
                 */
                getReceiver():$.java.util.List;
                /**
                 * 设置收件人
                 * @param receiver
                 */
                setReceiver(receiver:$.java.util.List):void;
                /**
                 * 设置params
                 * @param params
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 设置邮件开启多接收人依次单独发送,可以确保接收人信息相互不可见
                 * @param signleEmail
                 */
                setSignleEmail(signleEmail:boolean):void;
                /**
                 * 设置暗送人
                 * @param secretReceiver
                 */
                setSecretReceiver(secretReceiver:$.java.util.List):void;
                /**
                 * 获取正文
                 * @return
                 */
                getContent():string;
                /**
                 * 设置内容的媒体格式html text，常量类MimeType
                 * @param contentMimeType
                 */
                setContentMimeType(contentMimeType:string):void;
                /**
                 * 获取暗送人
                 * @return
                 */
                getSecretReceiver():$.java.util.List;
                /**
                 * 设置正文
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 获取内容的媒体格式html text，常量类MimeType
                 * @return
                 */
                getContentMimeType():string;
                /**
                 * 设置附件名称
                 * @param attachmentNames
                 */
                setAttachmentNames(attachmentNames:$.java.util.List):void;
                /**
                 * 设置标题
                 * @param title
                 */
                setTitle(title:string):void;
                /**
                 * 获取抄送人
                 * @return
                 */
                getCopyReceiver():$.java.util.List;
            }
            type EmailInfo_T = $.java.io.Serializable & EmailInfo$;
            interface EmailInfo extends EmailInfo_T {
            }
        }
        namespace kd.bos.metadata{
            interface CreateUIElementArgs_S {
            }
            interface CreateUIElementArgs_C extends CreateUIElementArgs_S {
                /**
                 * 构造函数：传入父容器
                 *
                 * @param container
                 */
                new(container:AbstractElement):CreateUIElementArgs;
            }
            interface CreateUIElementArgs$ {
                /**
                 * 添加创建好的表单UI元素
                 *
                 * @param uiElement 表单UI元素：ControlAp
                 */
                addUIElement(uiElement:AbstractElement):void;
                /**
                 * 获取创建的实体元素列表
                 *
                 * @return 返回实体元素列表
                 */
                getEntityElements():$.java.util.List;
                /**
                 * 获取父容器
                 *
                 * @return 返回父容器
                 */
                getContainer():AbstractElement;
                /**
                 * 添加创建好的实体元素
                 * @param entityElement 实体元素：字段、实体
                 */
                addEntityElement(entityElement:AbstractElement):void;
                /**
                 * 获取创建的表单UI元素列表
                 *
                 * @return 返回表单UI元素列表
                 */
                getUiElemens():$.java.util.List;
            }
            type CreateUIElementArgs_T = CreateUIElementArgs$;
            interface CreateUIElementArgs extends CreateUIElementArgs_T {
            }
            interface AbstractElement_S {
            }
            type AbstractElement_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & AbstractElement_S & IInheritFlag_S;
            interface AbstractElement_C extends AbstractElement_ST {
                new():AbstractElement;
            }
            interface AbstractElement$ {
                /**
                 * 获取元素对应的Key
                 *
                 * @return 元素对应的Key
                 */
                getKey():string;
                isExt():boolean;
                setExt(isExt:boolean):void;
                /**
                 * 自定义属性
                 * 增加注释：保证sit更新
                 * @param customProperties
                 */
                setCustomProperties(customProperties:$.java.util.Map):void;
                /**
                 * 获取元素对应的ID
                 *
                 * @return 元素对应的ID
                 */
                getId():string;
                /**
                 * 重置元素的父级id
                 *
                 * @param idMap 元素的id字典
                 */
                resetItemId(idMap:$.java.util.Map):void;
                /**
                 * 设置元素的ID
                 *
                 * @param id 待设置ID
                 */
                setId(id:string):void;
                /**
                 * 获取元素对应的父元素的ID
                 *
                 * @return 元素对应的父元素的ID
                 */
                getParentId():string;
                /**
                 * 获取元素的名字
                 *
                 * @return 名字
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置元素的名字
                 *
                 * @param name 元素的名字
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置元素对应的父元素的ID
                 *
                 * @param parentId 父id
                 */
                setParentId(parentId:string):void;
                /**
                 * 自定义属性
                 * @return Map
                 */
                getCustomProperties():$.java.util.Map;
                /**
                 * 设置元素的key
                 *
                 * @param key 待设置元素的key
                 */
                setKey(key:string):void;
            }
            type AbstractElement_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & $.kd.bos.entity.IIsvFlag & AbstractElement$ & IInheritFlag;
            interface AbstractElement extends AbstractElement_T {
            }
            interface IInheritFlag_S {
            }
            interface IInheritFlag_C extends IInheritFlag_S {
            }
            interface IInheritFlag$ {
            }
            type IInheritFlag_T = IInheritFlag$;
            interface IInheritFlag extends IInheritFlag_T {
            }
            interface TabLayout_S {
            }
            type TabLayout_ST = $.java.io.Serializable & TabLayout_S;
            interface TabLayout_C extends TabLayout_ST {
                new():TabLayout;
            }
            interface TabLayout$ {
                getSplitPos():string;
                setTabLayoutItems(tabLayoutItems:$.java.util.List):void;
                setSplitPos(splitPos:string):void;
                /**
                 * 启用
                 */
                isEnabled():boolean;
                /**
                 * 页签布局元素
                 */
                getTabLayoutItems():$.java.util.List;
                setEnabled(enabled:boolean):void;
            }
            type TabLayout_T = $.java.io.Serializable & TabLayout$;
            interface TabLayout extends TabLayout_T {
            }
            interface IEntityBinder_S {
            }
            interface IEntityBinder_C extends IEntityBinder_S {
            }
            interface IEntityBinder$ {
                getEntityId():string;
            }
            type IEntityBinder_T = IEntityBinder$;
            interface IEntityBinder extends IEntityBinder_T {
            }
            interface RuntimeMeta_S {
            }
            interface RuntimeMeta_C extends RuntimeMeta_S {
                new():RuntimeMeta;
            }
            interface RuntimeMeta$ {
                /**
                 * 元数据的内容
                 *
                 * @return 元数据包含的信息
                 */
                getData():string;
                setType(type_arg:number):void;
                /**
                 * 设置元数据的内容
                 *
                 * @param data
                 *            元数据的内容
                 */
                setData(data:string):void;
                /**
                 * 运行时元数据对应的类型
                 *
                 * @return 表明这个元数据的类型
                 */
                getType():number;
                /**
                 * 获取对应元素的key，这里有可能是控件，也有可能是表单
                 *
                 * @return 元数据对应的KEY
                 */
                getKey():string;
                /**
                 * 设置ID
                 *
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 获取编码
                 *
                 * @return 编码
                 */
                getNumber():string;
                setKey(key:string):void;
                /**
                 * 设置元数据的编码
                 *
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * Id在数据库里面不是真正的主键，这里标注为主键为了通过 id删除对应的所有运行期元数据
                 *
                 * @return ID
                 */
                getId():string;
            }
            type RuntimeMeta_T = RuntimeMeta$;
            interface RuntimeMeta extends RuntimeMeta_T {
            }
            interface AbstractDesignMeta_S {
            }
            type AbstractDesignMeta_ST = $.java.io.Serializable & AbstractDesignMeta_S;
            interface AbstractDesignMeta_C extends AbstractDesignMeta_ST {
                new():AbstractDesignMeta;
            }
            interface AbstractDesignMeta$ {
            }
            type AbstractDesignMeta_T = $.java.io.Serializable & AbstractDesignMeta$;
            interface AbstractDesignMeta extends AbstractDesignMeta_T {
            }
            interface ICreateUIElement_S {
            }
            interface ICreateUIElement_C extends ICreateUIElement_S {
            }
            interface ICreateUIElement$ {
                /**
                 * 设计器创建元素
                 *
                 * <p></p>
                 * 用户点击设计器工具栏上的元素图标，在表单上创建元素。
                 * 默认由设计器前端自动实例化元素，放在表单容器上。
                 * 部分特殊元素需要自主控制创建元素实例的过程，可设置元素定义CreateType=1，在设计时元素上实现此接口方法，创建并输出表单UI元素、实体元素
                 *
                 * @param args 创建元素参数
                 */
                createUIElements(args:CreateUIElementArgs):void;
            }
            type ICreateUIElement_T = ICreateUIElement$;
            interface ICreateUIElement extends ICreateUIElement_T {
            }
            interface AbstractMetadata_S {
            }
            type AbstractMetadata_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & AbstractMetadata_S;
            interface AbstractMetadata_C extends AbstractMetadata_ST {
                new():AbstractMetadata;
            }
            interface AbstractMetadata$ {
            }
            type AbstractMetadata_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & AbstractMetadata$;
            interface AbstractMetadata extends AbstractMetadata_T {
            }
            interface MetaBuildContext_S {
            }
            interface MetaBuildContext_C extends MetaBuildContext_S {
                new():MetaBuildContext;
            }
            interface MetaBuildContext$ {
            }
            type MetaBuildContext_T = MetaBuildContext$;
            interface MetaBuildContext extends MetaBuildContext_T {
            }
            interface DesignMeta_S {
            }
            type DesignMeta_ST = AbstractDesignMeta_S & DesignMeta_S;
            interface DesignMeta_C extends DesignMeta_ST {
                new():DesignMeta;
            }
            interface DesignMeta$ {
            }
            type DesignMeta_T = AbstractDesignMeta & DesignMeta$;
            interface DesignMeta extends DesignMeta_T {
            }
            interface DesignMetaL_S {
            }
            type DesignMetaL_ST = AbstractDesignMeta_S & DesignMetaL_S;
            interface DesignMetaL_C extends DesignMetaL_ST {
                new():DesignMetaL;
            }
            interface DesignMetaL$ {
                /**
                 * 获取多语言的标识，表明是哪种语言
                 *
                 * @return 多语言的标识
                 */
                getLocaleId():string;
                /**
                 * 获取该多语言的主键
                 *
                 * @return 多语言在数据库中存储的主键
                 */
                getPkId():string;
                setLocaleId(localeId:string):void;
                setName(name:string):void;
                setPkId(pkId:string):void;
                /**
                 * 获取多语言的信息，一般为元素名称
                 *
                 * @return 名称
                 */
                getName():string;
            }
            type DesignMetaL_T = AbstractDesignMeta & DesignMetaL$;
            interface DesignMetaL extends DesignMetaL_T {
            }
        }
        namespace kd.bos.metadata.balance{
            interface IBalanceField_S {
            }
            interface IBalanceField_C extends IBalanceField_S {
            }
            interface IBalanceField$ {
                /**
                 * 设置余额表字段的业务数据类型
                 *
                 * @param bizDataType 余额表字段业务数据类型
                 */
                setBizDataType(bizDataType:string):void;
                /**
                 * 余额表字段的业务数据类型：主业务组织、普通维度、发生数据、期间内码、期间年、期初余额、期末结存等类型
                 */
                getBizDataType():string;
            }
            type IBalanceField_T = IBalanceField$;
            interface IBalanceField extends IBalanceField_T {
            }
        }
        namespace kd.bos.metadata.botp{
            interface ConvertRuleMetadata_S {
            }
            type ConvertRuleMetadata_ST = AbstractMetadata_S & ConvertRuleMetadata_S;
            interface ConvertRuleMetadata_C extends ConvertRuleMetadata_ST {
                new():ConvertRuleMetadata;
            }
            interface ConvertRuleMetadata$ {
                getRuleElement():$.kd.bos.entity.botp.ConvertRuleElement;
                getLocaleItems():$.java.util.List;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                setName(arg0:$.kd.bos.dataentity.entity.LocaleString):void;
                setCreateDate(arg0:Date):void;
                getCreateDate():Date;
                setRuleElement(arg0:$.kd.bos.entity.botp.ConvertRuleElement):void;
            }
            type ConvertRuleMetadata_T = AbstractMetadata & ConvertRuleMetadata$;
            interface ConvertRuleMetadata extends ConvertRuleMetadata_T {
            }
            interface WriteBackRuleMetadata_S {
            }
            type WriteBackRuleMetadata_ST = $.kd.bos.metadata.AbstractMetadata & WriteBackRuleMetadata_S;
            interface WriteBackRuleMetadata_C extends WriteBackRuleMetadata_ST {
                new():WriteBackRuleMetadata;
            }
            interface WriteBackRuleMetadata$ {
                getCreateDate():Date;
                getRuleElement():$.kd.bos.entity.botp.WriteBackRuleElement;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                getLocaleItems():$.java.util.List;
                setRuleElement(ruleElement:$.kd.bos.entity.botp.WriteBackRuleElement):void;
                setCreateDate(createDate:Date):void;
            }
            type WriteBackRuleMetadata_T = $.kd.bos.metadata.AbstractMetadata & WriteBackRuleMetadata$;
            interface WriteBackRuleMetadata extends WriteBackRuleMetadata_T {
            }
            interface WriteBackRuleReader_S {
            }
            interface WriteBackRuleReader_C extends WriteBackRuleReader_S {
                new():WriteBackRuleReader;
            }
            interface WriteBackRuleReader$ {
                /**
                 * 判断指定的规则，是不是已经有扩展
                 *
                 * @param ruleId
                 * @return
                 */
                hadExtRules(ruleId:string):boolean;
                /**
                 * 读取指定的反写规则元数据对象
                 *
                 * @param id
                 *            反写规则标识
                 * @param runtime
                 *            是否运行时刻？运行时刻，可以加载全部扩展；设计时刻，则需要有选择性的加载扩展
                 * @param isBaseMeta
                 *            是否在读取差量化基准对象？读取基准对象时，需要加载其他兄弟扩展；否则，不能加载
                 * @return
                 */
                loadMeta(id:string,runtime:boolean,isBaseMeta:boolean):WriteBackRuleMetadata;
                /**
                 * 该方法直接从WriteBackRuleReader可以获取到反写规则xml，是为了解耦WriteBackRuleMetadata和WriteBackRuleTemplate的引用
                 * @param ruleId
                 * @param runtime
                 * @param onlyLocaleValue
                 * @return
                 */
                buildXml(ruleId:string,runtime:boolean,onlyLocaleValue:boolean):string;
                /**
                 * 批量读取指定的反写规则元数据对象
                 *
                 * @param ids
                 *            反写规则标识
                 * @param runtime
                 *            是否运行时刻？运行时刻，可以加载全部扩展；设计时刻，则需要有选择性的加载扩展
                 * @param isBaseMeta
                 *            是否在读取差量化基准对象？读取基准对象时，需要加载其他兄弟扩展；否则，不能加载
                 * @return
                 */
                loadMetas(ids:$.java.util.List,runtime:boolean,isBaseMeta:boolean):$.java.util.List;
                /**
                 * 加载指定单据全部的运行时转换规则：用于反写操作；扩展规则，会附加在原生规则上，不单独输出
                 *
                 * @param targetEntityNumber
                 *            目标单据：反写时发生在目标单据保存时，因此，需要以目标单为基准，找反写规则
                 * @return
                 */
                loadRules(targetEntityNumber:string):$.java.util.List;
                /**
                 * 加载指定版本的转换规则运行时元数据：用于冲销反写
                 *
                 * @param verId
                 * @return
                 */
                loadRuleVer(verId:long):$.kd.bos.entity.botp.WriteBackRuleElement;
                /**
                 * 读取指定单据全部转换规则标识，区分是运行时还是设计时，决定是否读取扩展对象
                 *
                 * @param targetEntityNumber
                 * @param runtime
                 * @return
                 */
                loadRuleIds(targetEntityNumber:string,runtime:boolean):$.java.util.List;
                /**
                 * 读取指定的反写规则元数据对象
                 * @param id
                 * @param runtime
                 * @return
                 */
                loadMeta(id:string,runtime:boolean):WriteBackRuleMetadata;
            }
            type WriteBackRuleReader_T = WriteBackRuleReader$;
            interface WriteBackRuleReader extends WriteBackRuleReader_T {
            }
        }
        namespace kd.bos.metadata.ctbotp{
            interface CtConvertRuleMetadata_S {
            }
            type CtConvertRuleMetadata_ST = AbstractMetadata_S & CtConvertRuleMetadata_S;
            interface CtConvertRuleMetadata_C extends CtConvertRuleMetadata_ST {
                new():CtConvertRuleMetadata;
            }
            interface CtConvertRuleMetadata$ {
                getRuleElement():$.kd.bos.entity.ctbotp.CtConvertRuleElement;
                setRuleElement(arg0:$.kd.bos.entity.ctbotp.CtConvertRuleElement):void;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                isSyncRuleSave():boolean;
                setCreateDate(arg0:Date):void;
                setName(arg0:$.kd.bos.dataentity.entity.LocaleString):void;
                setSyncRuleSave(arg0:boolean):void;
                getCreateDate():Date;
                getLocaleItems():$.java.util.List;
            }
            type CtConvertRuleMetadata_T = AbstractMetadata & CtConvertRuleMetadata$;
            interface CtConvertRuleMetadata extends CtConvertRuleMetadata_T {
            }
        }
        namespace kd.bos.metadata.dao{
            interface AbstractMetadataSerializer_S {
            }
            interface AbstractMetadataSerializer_C extends AbstractMetadataSerializer_S {
                new():AbstractMetadataSerializer;
            }
            interface AbstractMetadataSerializer$ {
                getBinder():$.kd.bos.dataentity.serialization.DcBinder;
                /**
                 * 把map对象还原成对应的元数据对象
                 *
                 * @param metaMap
                 *            存了元数据描述信息的map
                 * @param baseObject
                 * @return 元数据对象
                 */
                deserializeFromMap(metaMap:$.java.util.Map,baseObject:any):any;
                /**
                 * 用于缓存包含多语言的元数据
                 * @param xml
                 * @param baseMetadata
                 * @param isLocaleValueFull
                 * @return
                 */
                deserializeFromXml(xml:string,baseMetadata:any,isLocaleValueFull:boolean):any;
                buildDiffXml(metadata:any,baseMetadata:any,onlyLocaleValue:boolean):string;
                /**
                 * 用于缓存包含多语言的元数据
                 * @param metadata
                 * @param baseMetadata
                 * @param onlyLocaleValue
                 * @param isLocaleValueFull
                 * @return
                 */
                buildDiffXml(metadata:any,baseMetadata:any,onlyLocaleValue:boolean,isLocaleValueFull:boolean):string;
                /**
                 * xml输出内容时，是否忽略 去重空格处理
                 * 去重空格效果(OutputFormat.trimtext)
                 * @return
                 */
                isIgnoreTrimText():boolean;
                /**
                 * 把xml还原成对应的元数据对象
                 *
                 * @param xml
                 *            描述元数据的XML
                 * @param baseMetadata
                 * @return 元数据对象
                 */
                deserializeFromXml(xml:string,baseMetadata:any):any;
                buildDiffXml(metadata:any,baseMetadata:any):string;
                /**
                 * 设置xml输出时，是否忽略去重空格
                 * true: 强制忽略
                 * false: 按原有效果输出（ json忽略，xml进行去重）
                 * @param ignoreTrimText
                 */
                setIgnoreTrimText(ignoreTrimText:boolean):void;
            }
            type AbstractMetadataSerializer_T = AbstractMetadataSerializer$;
            interface AbstractMetadataSerializer extends AbstractMetadataSerializer_T {
            }
            interface EntityMetadataUtil_S {
            }
            interface EntityMetadataUtil_C extends EntityMetadataUtil_S {
                /**
                 * 构造方法
                 */
                new():EntityMetadataUtil;
                /**
                 * 构造方法
                 *
                 * @param model 数据模型
                 * @param formContext 元数据
                 * @param entryKey 分录标识
                 * @param parentKey 父级标识
                 * @param fieldIdKey 字段标识
                 * @param fieldNameKey 字段名称
                 * @param checkBoxKey 复选框字段标识
                 */
                new(model:$.kd.bos.entity.datamodel.IDataModel,formContext:$.java.util.List,entryKey:string,parentKey:string,fieldIdKey:string,fieldNameKey:string,checkBoxKey:string):EntityMetadataUtil;
            }
            interface EntityMetadataUtil$ {
            }
            type EntityMetadataUtil_T = EntityMetadataUtil$;
            interface EntityMetadataUtil extends EntityMetadataUtil_T {
            }
            interface IMetadataDaoPlugIn_S {
            }
            interface IMetadataDaoPlugIn_C extends IMetadataDaoPlugIn_S {
            }
            interface IMetadataDaoPlugIn$ {
            }
            type IMetadataDaoPlugIn_T = IMetadataDaoPlugIn$;
            interface IMetadataDaoPlugIn extends IMetadataDaoPlugIn_T {
            }
            interface MetadataReader_S {
            }
            type MetadataReader_ST = AbstractMetadataReader_S & MetadataReader_S;
            interface MetadataReader_C extends MetadataReader_ST {
                /**
                 * 构造方法
                 */
                new():MetadataReader;
                /**
                 * 构造方法
                 *
                 * @param isExtend 是否是扩展，该参数实际未用到
                 */
                new(isExtend:boolean):MetadataReader;
                /**
                 * 构造方法
                 *
                 * @param isExtend 是否是扩展，该参数实际未用到
                 * @param localeId 语种
                 */
                new(isExtend:boolean,localeId:string):MetadataReader;
            }
            interface MetadataReader$ {
            }
            type MetadataReader_T = AbstractMetadataReader & MetadataReader$;
            interface MetadataReader extends MetadataReader_T {
            }
            interface GetFilterColumnsParameter_S {
            }
            interface GetFilterColumnsParameter_C extends GetFilterColumnsParameter_S {
                new():GetFilterColumnsParameter;
            }
            interface GetFilterColumnsParameter$ {
                setNeedBasedataIdField(needBasedataIdField:boolean):void;
                isNeedBasedataIdField():boolean;
            }
            type GetFilterColumnsParameter_T = GetFilterColumnsParameter$;
            interface GetFilterColumnsParameter extends GetFilterColumnsParameter_T {
            }
            interface AbstractMetadataWriter_S {
            }
            interface AbstractMetadataWriter_C extends AbstractMetadataWriter_S {
                /**
                 * 构造方法
                 */
                new():AbstractMetadataWriter;
                /**
                 * 构造方法
                 *
                 * @param modelTypeId 模型类别
                 */
                new(modelTypeId:string):AbstractMetadataWriter;
            }
            interface AbstractMetadataWriter$ {
            }
            type AbstractMetadataWriter_T = AbstractMetadataWriter$;
            interface AbstractMetadataWriter extends AbstractMetadataWriter_T {
            }
            class MetaLogType {
                static readonly BizObjExtSave:kd.bos.metadata.dao.MetaLogType;
                static readonly PageDelete:kd.bos.metadata.dao.MetaLogType;
                static readonly DataModel:kd.bos.metadata.dao.MetaLogType;
                static readonly AppMenuSave:kd.bos.metadata.dao.MetaLogType;
                static readonly AppFunctionSave:kd.bos.metadata.dao.MetaLogType;
                static readonly AppImport:kd.bos.metadata.dao.MetaLogType;
                static readonly AppMenuDelete:kd.bos.metadata.dao.MetaLogType;
                static readonly BotpSave:kd.bos.metadata.dao.MetaLogType;
                static readonly PageImport:kd.bos.metadata.dao.MetaLogType;
                static readonly AppSave:kd.bos.metadata.dao.MetaLogType;
                static readonly BizObjExtDeploy:kd.bos.metadata.dao.MetaLogType;
                static readonly BizObjExtUnPublish:kd.bos.metadata.dao.MetaLogType;
                static readonly PageEnable:kd.bos.metadata.dao.MetaLogType;
                static readonly BotpImport:kd.bos.metadata.dao.MetaLogType;
                static readonly FormDesign:kd.bos.metadata.dao.MetaLogType;
                static readonly BotpDelete:kd.bos.metadata.dao.MetaLogType;
                static readonly Deploy:kd.bos.metadata.dao.MetaLogType;
                static readonly BotpInit:kd.bos.metadata.dao.MetaLogType;
                static readonly AppDelete:kd.bos.metadata.dao.MetaLogType;
                static readonly AppEnable:kd.bos.metadata.dao.MetaLogType;
                /**
                 * 把传入值转为元数据类型
                 *
                 * @param value 传入值
                 * @return 元数据类型
                 */
                static valueOf(value:number):kd.bos.metadata.dao.MetaLogType;
                static valueOf(arg0:string):kd.bos.metadata.dao.MetaLogType;
                static values():kd.bos.metadata.dao.MetaLogType[];
                /**
                 * 把传入值转为元数据类型
                 *
                 * @param value 传入值
                 * @return 元数据类型
                 */
                static valueOf(value:number):kd.bos.metadata.dao.MetaLogType;
                /**
                 * @return 元数据操作类型值
                 */
                getValue():number;
            }
            class MetaCategory {
                static readonly Form:kd.bos.metadata.dao.MetaCategory;
                static readonly Entity:kd.bos.metadata.dao.MetaCategory;
                static values():kd.bos.metadata.dao.MetaCategory[];
                static valueOf(arg0:string):kd.bos.metadata.dao.MetaCategory;
            }
            interface AbstractMetadataReader_S {
            }
            interface AbstractMetadataReader_C extends AbstractMetadataReader_S {
                new():AbstractMetadataReader;
            }
            interface AbstractMetadataReader$ {
            }
            type AbstractMetadataReader_T = AbstractMetadataReader$;
            interface AbstractMetadataReader extends AbstractMetadataReader_T {
            }
            interface MetaCacheUtils_S {
            }
            interface MetaCacheUtils_C extends MetaCacheUtils_S {
                new():MetaCacheUtils;
            }
            interface MetaCacheUtils$ {
            }
            type MetaCacheUtils_T = MetaCacheUtils$;
            interface MetaCacheUtils extends MetaCacheUtils_T {
            }
            interface MetadataExtends_S {
            }
            interface MetadataExtends_C extends MetadataExtends_S {
                new():MetadataExtends;
            }
            interface MetadataExtends$ {
            }
            type MetadataExtends_T = MetadataExtends$;
            interface MetadataExtends extends MetadataExtends_T {
            }
            interface MetadataSerializer_S {
            }
            type MetadataSerializer_ST = AbstractMetadataSerializer_S & MetadataSerializer_S;
            interface MetadataSerializer_C extends MetadataSerializer_ST {
                /**
                 * 不同的领域模型有不同的元数据序列化工具
                 *
                 * @param modelType 领域模型类型
                 */
                new(modelType:string):MetadataSerializer;
                new(modelType:string,includeProperties:boolean):MetadataSerializer;
            }
            interface MetadataSerializer$ {
                /**
                 * 将元数据对象变成一个map
                 *
                 * @param el 元素
                 * @return 对应的数据字典
                 */
                serializeToMap(el:any):$.java.util.Map;
            }
            type MetadataSerializer_T = AbstractMetadataSerializer & MetadataSerializer$;
            interface MetadataSerializer extends MetadataSerializer_T {
            }
            interface MetadataWriter_S {
            }
            type MetadataWriter_ST = AbstractMetadataWriter_S & MetadataWriter_S;
            interface MetadataWriter_C extends MetadataWriter_ST {
                /**
                 * 构造方法
                 */
                new():MetadataWriter;
                /**
                 * 构造方法
                 *
                 * @param modelTypeId 元数据类型，如动态表单、报表等
                 */
                new(modelTypeId:string):MetadataWriter;
            }
            interface MetadataWriter$ {
            }
            type MetadataWriter_T = AbstractMetadataWriter & MetadataWriter$;
            interface MetadataWriter extends MetadataWriter_T {
            }
            class MetaType {
                static readonly App:kd.bos.metadata.dao.MetaType;
                static readonly DataModel:kd.bos.metadata.dao.MetaType;
                static readonly Form:kd.bos.metadata.dao.MetaType;
                static readonly Muilti:kd.bos.metadata.dao.MetaType;
                /**
                 * 把传入值转为元数据类型
                 *
                 * @param value
                 *            传入值
                 * @return 元数据类型
                 */
                static valueOf(value:number):kd.bos.metadata.dao.MetaType;
                static valueOf(arg0:string):kd.bos.metadata.dao.MetaType;
                static values():kd.bos.metadata.dao.MetaType[];
                /**
                 * 把传入值转为元数据类型
                 *
                 * @param value 传入值
                 * @return 元数据类型
                 */
                static valueOf(value:number):kd.bos.metadata.dao.MetaType;
                /**
                 * @return 元数据操作类型值
                 */
                getValue():number;
            }
            interface MetadataDao_S {
            }
            interface MetadataDao_C extends MetadataDao_S {
                new():MetadataDao;
            }
            interface MetadataDao$ {
            }
            type MetadataDao_T = MetadataDao$;
            interface MetadataDao extends MetadataDao_T {
            }
        }
        namespace kd.bos.metadata.deploy{
            interface DeployMetadata_S {
            }
            interface DeployMetadata_C extends DeployMetadata_S {
                new():DeployMetadata;
            }
            interface DeployMetadata$ {
            }
            type DeployMetadata_T = DeployMetadata$;
            interface DeployMetadata extends DeployMetadata_T {
            }
            interface DeployAppMetadata_S {
            }
            type DeployAppMetadata_ST = DeployAppMetadata_S & DeployMetadata_S;
            interface DeployAppMetadata_C extends DeployAppMetadata_ST {
                new():DeployAppMetadata;
            }
            interface DeployAppMetadata$ {
            }
            type DeployAppMetadata_T = DeployAppMetadata$ & DeployMetadata;
            interface DeployAppMetadata extends DeployAppMetadata_T {
            }
            interface DeployFile_S {
            }
            type DeployFile_ST = DeployFile_S & kd.bos.mservice.svc.earlywarn.IDeployFile_S;
            interface DeployFile_C extends DeployFile_ST {
                /**
                 * 构造函数
                 * @param fileName 文件名
                 * @param fileContent 文件内容
                 */
                new(fileName:string,fileContent:string):DeployFile;
            }
            interface DeployFile$ {
            }
            type DeployFile_T = DeployFile$ & kd.bos.mservice.svc.earlywarn.IDeployFile;
            interface DeployFile extends DeployFile_T {
            }
        }
        namespace kd.bos.metadata.devportal{
            interface AppTemplate_S {
            }
            interface AppTemplate_C extends AppTemplate_S {
                /**
                 * 构造函数
                 */
                new():AppTemplate;
            }
            interface AppTemplate$ {
            }
            type AppTemplate_T = AppTemplate$;
            interface AppTemplate extends AppTemplate_T {
            }
            interface DifferenceOperationParseUtil_S {
            }
            interface DifferenceOperationParseUtil_C extends DifferenceOperationParseUtil_S {
                /**
                 * 构造函数
                 */
                new():DifferenceOperationParseUtil;
            }
            interface DifferenceOperationParseUtil$ {
            }
            type DifferenceOperationParseUtil_T = DifferenceOperationParseUtil$;
            interface DifferenceOperationParseUtil extends DifferenceOperationParseUtil_T {
            }
            class EnvTypeHelper$EnvType {
                static readonly Develop:kd.bos.metadata.devportal.EnvTypeHelper$EnvType;
                static readonly Product:kd.bos.metadata.devportal.EnvTypeHelper$EnvType;
                static readonly Test:kd.bos.metadata.devportal.EnvTypeHelper$EnvType;
                static getEnvType(arg0:string):kd.bos.metadata.devportal.EnvTypeHelper$EnvType;
                static values():kd.bos.metadata.devportal.EnvTypeHelper$EnvType[];
                static valueOf(arg0:string):kd.bos.metadata.devportal.EnvTypeHelper$EnvType;
                getValue():string;
            }
            interface AppMetadata_S {
            }
            type AppMetadata_ST = AbstractMetadata_S & AppMetadata_S;
            interface AppMetadata_C extends AppMetadata_ST {
                /**
                 * 构造函数
                 */
                new():AppMetadata;
            }
            interface AppMetadata$ {
            }
            type AppMetadata_T = AbstractMetadata & AppMetadata$;
            interface AppMetadata extends AppMetadata_T {
            }
            interface AppReader_S {
            }
            interface AppReader_C extends AppReader_S {
                /**
                 * 构造函数
                 */
                new():AppReader;
            }
            interface AppReader$ {
            }
            type AppReader_T = AppReader$;
            interface AppReader extends AppReader_T {
            }
            interface EnvTypeHelper_S {
            }
            interface EnvTypeHelper_C extends EnvTypeHelper_S {
                new():EnvTypeHelper;
            }
            interface EnvTypeHelper$ {
            }
            type EnvTypeHelper_T = EnvTypeHelper$;
            interface EnvTypeHelper extends EnvTypeHelper_T {
            }
            interface AppWriter_S {
            }
            interface AppWriter_C extends AppWriter_S {
                /**
                 * 构造函数
                 */
                new():AppWriter;
                /**
                 * 带参数的构造函数
                 * @param modelTypeId
                 */
                new(modelTypeId:string):AppWriter;
            }
            interface AppWriter$ {
            }
            type AppWriter_T = AppWriter$;
            interface AppWriter extends AppWriter_T {
            }
        }
        namespace kd.bos.metadata.domainmodel{
            interface CategoryCollection_S {
            }
            type CategoryCollection_ST = $.java.util.ArrayList & CategoryCollection_S;
            interface CategoryCollection_C extends CategoryCollection_ST {
                new():CategoryCollection;
            }
            interface CategoryCollection$ {
            }
            type CategoryCollection_T = $.java.util.ArrayList & CategoryCollection$;
            interface CategoryCollection extends CategoryCollection_T {
            }
            interface ElementType_S {
            }
            type ElementType_ST = $.kd.bos.dataentity.entity.ISupportInitialize & ElementType_S;
            interface ElementType_C extends ElementType_ST {
                new():ElementType;
            }
            interface ElementType$ {
            }
            type ElementType_T = $.kd.bos.dataentity.entity.ISupportInitialize & ElementType$;
            interface ElementType extends ElementType_T {
            }
            interface PropertyCollection_S {
            }
            type PropertyCollection_ST = $.java.util.ArrayList & PropertyCollection_S;
            interface PropertyCollection_C extends PropertyCollection_ST {
                new():PropertyCollection;
            }
            interface PropertyCollection$ {
            }
            type PropertyCollection_T = $.java.util.ArrayList & PropertyCollection$;
            interface PropertyCollection extends PropertyCollection_T {
            }
            interface Category_S {
            }
            interface Category_C extends Category_S {
                new():Category;
            }
            interface Category$ {
            }
            type Category_T = Category$;
            interface Category extends Category_T {
            }
            interface PropertyGroup_S {
            }
            interface PropertyGroup_C extends PropertyGroup_S {
                new():PropertyGroup;
            }
            interface PropertyGroup$ {
            }
            type PropertyGroup_T = PropertyGroup$;
            interface PropertyGroup extends PropertyGroup_T {
            }
            interface PropertyGroupCollection_S {
            }
            type PropertyGroupCollection_ST = $.java.util.ArrayList & PropertyGroupCollection_S;
            interface PropertyGroupCollection_C extends PropertyGroupCollection_ST {
                new():PropertyGroupCollection;
            }
            interface PropertyGroupCollection$ {
            }
            type PropertyGroupCollection_T = $.java.util.ArrayList & PropertyGroupCollection$;
            interface PropertyGroupCollection extends PropertyGroupCollection_T {
            }
            interface DomainModelBinder_S {
            }
            type DomainModelBinder_ST = $.kd.bos.dataentity.serialization.DcBinder & DomainModelBinder_S;
            interface DomainModelBinder_C extends DomainModelBinder_ST {
                /**
                 * 构造函数
                 * @param type
                 */
                new(type_arg:DomainModelType):DomainModelBinder;
            }
            interface DomainModelBinder$ {
            }
            type DomainModelBinder_T = $.kd.bos.dataentity.serialization.DcBinder & DomainModelBinder$;
            interface DomainModelBinder extends DomainModelBinder_T {
            }
            interface DomainModelType_S {
            }
            type DomainModelType_ST = $.kd.bos.dataentity.entity.ISupportInitialize & DomainModelType_S;
            interface DomainModelType_C extends DomainModelType_ST {
                /**
                 * 构造函数
                 */
                new():DomainModelType;
            }
            interface DomainModelType$ {
            }
            type DomainModelType_T = $.kd.bos.dataentity.entity.ISupportInitialize & DomainModelType$;
            interface DomainModelType extends DomainModelType_T {
            }
            class PageType {
                static readonly Report:kd.bos.metadata.domainmodel.PageType;
                static readonly Page:kd.bos.metadata.domainmodel.PageType;
                static readonly Parameter:kd.bos.metadata.domainmodel.PageType;
                static readonly LayOut:kd.bos.metadata.domainmodel.PageType;
                static readonly EntityObject:kd.bos.metadata.domainmodel.PageType;
                static readonly Common:kd.bos.metadata.domainmodel.PageType;
                static valueOf(arg0:string):kd.bos.metadata.domainmodel.PageType;
                static values():kd.bos.metadata.domainmodel.PageType[];
                /**
                 * @return 元数据页面值
                 */
                getValue():string;
            }
            interface Property_S {
            }
            interface Property_C extends Property_S {
                new():Property;
            }
            interface Property$ {
            }
            type Property_T = Property$;
            interface Property extends Property_T {
            }
        }
        namespace kd.bos.metadata.domainmodel.define{
            interface DomainModelTypeFactory_S {
            }
            interface DomainModelTypeFactory_C extends DomainModelTypeFactory_S {
                new():DomainModelTypeFactory;
            }
            interface DomainModelTypeFactory$ {
            }
            type DomainModelTypeFactory_T = DomainModelTypeFactory$;
            interface DomainModelTypeFactory extends DomainModelTypeFactory_T {
            }
        }
        namespace kd.bos.metadata.earlywarn.warn{
            interface EarlyWarnMetadata_S {
                readonly DEV_TYPE_ORIGIN:string;
                readonly DEV_TYPE_EXTEND:string;
                readonly DEV_TYPE_INHREIT:string;
            }
            type EarlyWarnMetadata_ST = $.kd.bos.metadata.AbstractMetadata & EarlyWarnMetadata_S;
            interface EarlyWarnMetadata_C extends EarlyWarnMetadata_ST {
                new():EarlyWarnMetadata;
            }
            interface EarlyWarnMetadata$ {
                setNumber(number_arg:string):void;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                getWarnElement():kd.bos.entity.earlywarn.warn.EarlyWarnElement;
                getNumber():string;
                setWarnElement(warnElement:kd.bos.entity.earlywarn.warn.EarlyWarnElement):void;
                isLeaf():boolean;
                setLeaf(leaf:boolean):void;
            }
            type EarlyWarnMetadata_T = $.kd.bos.metadata.AbstractMetadata & EarlyWarnMetadata$;
            interface EarlyWarnMetadata extends EarlyWarnMetadata_T {
            }
        }
        namespace kd.bos.metadata.earlywarn.warnschedule{
            interface WarnScheduleMetadata_S {
                readonly DEV_TYPE_INHREIT:string;
                readonly DEV_TYPE_ORIGIN:string;
                readonly DEV_TYPE_EXTEND:string;
            }
            type WarnScheduleMetadata_ST = $.kd.bos.metadata.AbstractMetadata & WarnScheduleMetadata_S;
            interface WarnScheduleMetadata_C extends WarnScheduleMetadata_ST {
                new():WarnScheduleMetadata;
            }
            interface WarnScheduleMetadata$ {
                setNumber(number_arg:string):void;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                setWarnSchedule(warnSchedule:kd.bos.entity.earlywarn.warnschedule.WarnSchedule):void;
                getNumber():string;
                getWarnSchedule():kd.bos.entity.earlywarn.warnschedule.WarnSchedule;
                getName():$.kd.bos.dataentity.entity.LocaleString;
            }
            type WarnScheduleMetadata_T = $.kd.bos.metadata.AbstractMetadata & WarnScheduleMetadata$;
            interface WarnScheduleMetadata extends WarnScheduleMetadata_T {
            }
        }
        namespace kd.bos.metadata.entity{
            interface CtLinkSet_S {
            }
            interface CtLinkSet_C extends CtLinkSet_S {
                new():CtLinkSet;
            }
            interface CtLinkSet$ {
                setItems(items:$.java.util.List):void;
                /**
                 * 基于标准模板，构建单据关联追踪实体元数据对象，替换关联主表、反写子表
                 *
                 * @return
                 * @remark 使用场景：
                 * 保存单据设计时，基于模板，同步创建单据自己的关联主表、反写字段
                 */
                createCtTrackerMetadata():EntityMetadata;
                /**
                 * 单据反写插件
                 *
                 * @return
                 * @remark 保存设计期元数据时，生成运行时插件元数据，直接插入到实体表格；
                 * 反写时，通过读取实体表格，加载反写插件
                 */
                getPlugIns():$.java.util.List;
                /**
                 * 构建运行时单据关联配置对象，供运行时查询单据关联配置
                 *
                 * @param entityMetadata
                 * @return
                 */
                buildRuntimeListSet(entityMetadata:EntityMetadata):$.kd.bos.entity.CtLinkSetElement;
                setCtTrackerTable(ctTrackerTable:string):void;
                /**
                 * 单据转换规则界面配置插件
                 *
                 * @return
                 */
                getConvRulePlugIns():$.java.util.List;
                /**
                 * 反写快照表
                 *
                 * @return
                 */
                getCtWbSnapTable():string;
                setConvRulePlugIns(convRulePlugIns:$.java.util.List):void;
                setPlugIns(plugins:$.java.util.List):void;
                /**
                 * 各实体关联配置集合
                 *
                 * @return
                 */
                getItems():$.java.util.List;
                setCtWbSnapTable(ctWbSnapTable:string):void;
                /**
                 * 业务流程跟踪表
                 *
                 * @return
                 */
                getCtTrackerTable():string;
            }
            type CtLinkSet_T = CtLinkSet$;
            interface CtLinkSet extends CtLinkSet_T {
            }
            interface Entity_S {
            }
            type Entity_ST = EntityItem_S & Entity_S;
            interface Entity_C extends Entity_ST {
                new():Entity;
            }
            interface Entity$ {
                srcEntityDisaKey:string;
                /**
                 * 获取实体中的实体集合
                 *
                 * @return 子实体集合
                 */
                getItems():$.java.util.List;
                /**
                 * 获取对应的DB路由
                 *
                 * @return dbRoute DB路由
                 */
                getdbRoute():string;
                /**
                 * 获取拆分源单实体内码字段
                 *
                 * @return 拆分源单实体内码字段
                 */
                getSrcEntityDisaKey():string;
                /**
                 * 设置拆分源单实体内码字段
                 *
                 * @param srcEntityDisaKey 拆分源单实体内码字段
                 */
                setSrcEntityDisaKey(srcEntityDisaKey:string):void;
                /**
                 * 设置实体映射的数据库表名称
                 *
                 * @param tableName 数据库表名称
                 */
                setTableName(tableName:string):void;
                /**
                 * 获取实体中设置的拆分表
                 *
                 * @return the splitTables 实体中设置的拆分表元数据
                 */
                getSplitTables():$.java.util.List;
                /**
                 * 设置对应的DB路由
                 *
                 * @param dbRoute DB路由
                 */
                setdbRoute(dbRoute:string):void;
                /**
                 * 获取实体对应的实体服务规则
                 *
                 * @return 实体对应的实体服务规则
                 */
                getRules():$.java.util.List;
                /**
                 * 生成运行时实体类型对象，如单据实体BillEntityType，基础资料实体BasedataEntityType等
                 * 并且设置实体的属性，如名称、路由等信息
                 *
                 * @return 实体类型
                 */
                buildDataEntityType():$.kd.bos.entity.EntityType;
                /**
                 * 返回此实体映射的表对应的名称
                 *
                 * @return 对应的数据表名
                 */
                getTableName():string;
                /**
                 * 设置实体对应的拆分表
                 *
                 * @param value 拆分表集合
                 */
                setSplitTables(value:$.java.util.List):void;
            }
            type Entity_T = Entity$ & EntityItem;
            interface Entity extends Entity_T {
            }
            interface JsonSubEntryEntity_S {
            }
            type JsonSubEntryEntity_ST = JsonSubEntryEntity_S & SubEntryEntity_S;
            interface JsonSubEntryEntity_C extends JsonSubEntryEntity_ST {
                new():JsonSubEntryEntity;
            }
            interface JsonSubEntryEntity$ {
                /**
                 * 生成json字段
                 * @param entityMetadata ： 实体元数据
                 */
                genAddSubEntryField(entityMetadata:EntityMetadata):void;
            }
            type JsonSubEntryEntity_T = JsonSubEntryEntity$ & SubEntryEntity;
            interface JsonSubEntryEntity extends JsonSubEntryEntity_T {
            }
            interface LinkEntryEntity_S {
            }
            type LinkEntryEntity_ST = EntryEntity_S & LinkEntryEntity_S;
            interface LinkEntryEntity_C extends LinkEntryEntity_ST {
                new():LinkEntryEntity;
            }
            interface LinkEntryEntity$ {
            }
            type LinkEntryEntity_T = EntryEntity & LinkEntryEntity$;
            interface LinkEntryEntity extends LinkEntryEntity_T {
            }
            interface NameVersionEntryEntity_S {
            }
            type NameVersionEntryEntity_ST = EntryEntity_S & NameVersionEntryEntity_S;
            interface NameVersionEntryEntity_C extends NameVersionEntryEntity_ST {
                new():NameVersionEntryEntity;
            }
            interface NameVersionEntryEntity$ {
            }
            type NameVersionEntryEntity_T = EntryEntity & NameVersionEntryEntity$;
            interface NameVersionEntryEntity extends NameVersionEntryEntity_T {
            }
            interface BusinessControl_S {
            }
            type BusinessControl_ST = AbstractElement_S & BusinessControl_S;
            interface BusinessControl_C extends BusinessControl_ST {
                new():BusinessControl;
            }
            interface BusinessControl$ {
            }
            type BusinessControl_T = AbstractElement & BusinessControl$;
            interface BusinessControl extends BusinessControl_T {
            }
            interface BaseEntity_S {
            }
            type BaseEntity_ST = BaseEntity_S & BillEntity_S;
            interface BaseEntity_C extends BaseEntity_ST {
                new():BaseEntity;
            }
            interface BaseEntity$ {
                /**
                 * 获取名称字段的ID
                 *
                 * @return 设计器中设置为名称的字段ID
                 */
                getNameFieldId():string;
                /**
                 * @return
                 * @deprecated 已废弃（获取对应的移动端列表）
                 */
                getMobileList():string;
                /**
                 * 是否启用名称版本化
                 *
                 * @return 是否启用
                 */
                isEnableNameVersion():boolean;
                /**
                 * 获取编码的字段ID
                 *
                 * @return 设计器中设置为编码的字段ID
                 */
                getNumberFieldId():string;
                /**
                 * 获取flex的字段ID
                 *
                 * @return flex字段ID
                 */
                getFlexFieldId():string;
                /**
                 * 设置基础资料个性化控制器
                 *
                 * @param basedataControllers 个性化控制器
                 */
                setBasedataControllers(basedataControllers:$.java.util.List):void;
                /**
                 * 获取基础资料自定义控制器、该属性已废弃
                 *
                 * @return 自定义控制器
                 */
                getCustomController():string;
                /**
                 * 设置对应的flex字段ID
                 *
                 * @param flexFieldId
                 *            设置flex字段ID
                 */
                setFlexFieldId(flexFieldId:string):void;
                /**
                 * 设置是否启用名称版本化
                 *
                 * @param enableNameVersion 是否启用
                 */
                setEnableNameVersion(enableNameVersion:boolean):void;
                /**
                 * 获取数据加载时是否不使用缓存的设置
                 * <p>
                 * 此方法用于确定在加载数据时是否应忽略缓存数据，如果返回true，则表示每次加载数据时先从本地缓存中获取，地缓存不存在则直接从数据库加载
                 *
                 * @return 如果数据加载时不应使用缓存，则返回true；否则返回false
                 */
                isDataLoadNoCache():boolean;
                /**
                 * 创建名称版本化实体类型：这里由于设计时元数据不能保存，因此仅在内存中生成
                 */
                createNameVersionEntryEntity():NameVersionEntryEntity;
                /**
                 * 设置数据加载时是否不使用缓存
                 *
                 * @param dataLoadNoCache true表示数据加载时不使用缓存，false则使用缓存
                 */
                setDataLoadNoCache(dataLoadNoCache:boolean):void;
                /**
                 * 设置基础资料自定义控制器，该属性已废弃
                 *
                 * @param customController 自定义控制器
                 */
                setCustomController(customController:string):void;
                /**
                 * 设置对应的编码字段ID
                 *
                 * @param numberFieldId
                 *            设置为编码的字段ID
                 */
                setNumberFieldId(numberFieldId:string):void;
                /**
                 * 设置为名称字段的ID
                 *
                 * @param nameFieldId
                 *            名称字段的ID
                 */
                setNameFieldId(nameFieldId:string):void;
                /**
                 * 获取基础资料个性化控制器
                 *
                 * @return 个性化控制器集合
                 */
                getBasedataControllers():$.java.util.List;
            }
            type BaseEntity_T = BaseEntity$ & BillEntity;
            interface BaseEntity extends BaseEntity_T {
            }
            interface BillEntity_S {
            }
            type BillEntity_ST = BillEntity_S & MainEntity_S;
            interface BillEntity_C extends BillEntity_ST {
                new():BillEntity;
            }
            interface BillEntity$ {
                /**
                 * 实体插件描述，增加此插件主要是数据模型逻辑可以在多个单据表单上复用
                 *
                 * @return
                 */
                getPlugins():$.java.util.List;
                /**
                 * 获取单据参数对象表单Id
                 *
                 * @return 单据参数对象表单Id
                 */
                getBillTypePara():string;
                /**
                 * 获取单据参数
                 *
                 * @return 单据参数
                 */
                getBillParameter():string;
                /**
                 * 设置快速过滤条件
                 *
                 * @param fastFilters 快速过滤条件
                 */
                setFastFilters(fastFilters:$.java.util.List):void;
                /**
                 * 获取实体类型字段
                 *
                 * @return 实体类型字段
                 */
                getEntityTypeId():string;
                /**
                 * 设置签名字段
                 *
                 * @param signField 签名字段
                 */
                setSignField(signField:$.java.util.List):void;
                /**
                 * 设置禁用操作状态字段
                 *
                 * @param forbidStatusName 禁用操作状态字段
                 */
                setForbidStatusName(forbidStatusName:string):void;
                /**
                 * 设置默认布局
                 *
                 * @param defaultPageSetting 默认布局设置
                 */
                setDefaultPageSetting(defaultPageSetting:string):void;
                /**
                 * 设置实体类型字段
                 *
                 * @param entityTypeId 实体类型字段
                 */
                setEntityTypeId(entityTypeId:string):void;
                /**
                 * 获得单据状态字段的KEY
                 *
                 * @return 单据状态字段的KEY
                 */
                getBillStatus():string;
                /**
                 * 获取禁用操作状态字段
                 *
                 * @return 禁用操作状态字段
                 */
                getForbidStatusName():string;
                /**
                 * 设置单据参数
                 *
                 * @param billParameter 单据参数
                 */
                setBillParameter(billParameter:string):void;
                /**
                 * 设置单据关键字段
                 *
                 * @param billKeyField 单据关键字段
                 */
                setBillKeyField(billKeyField:string):void;
                /**
                 * 获取单据委托关系
                 *
                 * @return 委托关系
                 */
                getOrgRelationConfigList():$.java.util.List;
                /**
                 * 获取默认布局设置
                 *
                 * @return 默认布局设置
                 */
                getDefaultPageSetting():string;
                /**
                 * 设置单据关联配置
                 *
                 * @param linkSet 单据关联配置
                 */
                setLinkSet(linkSet:LinkSet):void;
                /**
                 * @return 单据类型
                 */
                getBillType():string;
                /**
                 * 获取单据关键字段
                 *
                 * @return 单据关键字段
                 */
                getBillKeyField():string;
                /**
                 * 设置单据状态的KEY
                 *
                 * @param billStatus 单据状态字段的KEY
                 */
                setBillStatus(billStatus:string):void;
                /**
                 * 设置主键字段名
                 *
                 * @param pkFieldName
                 */
                setPkFieldName(pkFieldName:string):void;
                /**
                 * 获取据主键字段名
                 *
                 * @return 单据主键字段名
                 */
                getPkFieldName():string;
                /**
                 * 单据关联配置
                 *
                 * @return
                 */
                getCtLinkSet():CtLinkSet;
                /**
                 * 设置单据关联配置
                 *
                 * @param ctLinkSet 关联配置
                 */
                setCtLinkSet(ctLinkSet:CtLinkSet):void;
                /**
                 * 设置单据委托关系
                 *
                 * @param orgRelationConfigList 委托关系
                 */
                setOrgRelationConfigList(orgRelationConfigList:$.java.util.List):void;
                /**
                 * 获取签名字段
                 *
                 * @return 签名字段
                 */
                getSignField():$.java.util.List;
                /**
                 * 设置单据参数对象表单Id
                 *
                 * @param billTypePara 单据参数对象表单Id
                 */
                setBillTypePara(billTypePara:string):void;
                /**
                 * 设置单据对应的移动端表单
                 *
                 * @param mobileForm the mobileForm to set 移动端表单编码
                 */
                setMobileForm(mobileForm:string):void;
                /**
                 * 单据关联配置
                 *
                 * @return
                 */
                getLinkSet():LinkSet;
                /**
                 * @return 获取单据编号
                 */
                getBillNo():string;
                /**
                 * 获取快速过滤条件
                 *
                 * @return 快速过滤条件
                 */
                getFastFilters():$.java.util.List;
            }
            type BillEntity_T = BillEntity$ & MainEntity;
            interface BillEntity extends BillEntity_T {
            }
            interface MainEntity_S {
            }
            type MainEntity_ST = Entity_S & MainEntity_S;
            interface MainEntity_C extends MainEntity_ST {
                new():MainEntity;
            }
            interface MainEntity$ {
                /**
                 * 获取网络控制集合
                 *
                 * @return 单据的网络控制集合的操作集合
                 */
                getNetworkControl():$.java.util.List;
                /**
                 * 设置权限控制项
                 *
                 * @param permissionControl 权限控制项
                 */
                setPermissionControl(permissionControl:kd.bos.metadata.perm.PermissionControl):void;
                /**
                 * 根据权限项id获取权限项
                 *
                 * @param itemId 权限项id
                 * @return 权限项
                 */
                getPermissionItem(itemId:string):kd.bos.metadata.perm.PermissionItem;
                /**
                 * 是否模板
                 *
                 * @return 是否模板
                 */
                isTemplate():boolean;
                /**
                 * 获取主键
                 *
                 * @return 主键
                 */
                getPkId():string;
                /**
                 * 构造关联实体运行时元数据
                 *
                 * @param metas
                 * @param runtimeVersion
                 */
                buildSubRuntimeMetadata(metas:$.java.util.List,runtimeVersion:string):void;
                /**
                 * 业务控制配置
                 *
                 * @return 业务控制
                 */
                getBusinessControl():BusinessControl;
                /**
                 * @param pkId the pkId to set
                 */
                setPkId(pkId:string):void;
                /**
                 * 构建权限运行时数据
                 *
                 * @return 权限数据
                 */
                buildPermissionMetas():$.java.util.List;
                /**
                 * 创建树形数据--基础资料不拆分  节点id为节点key
                 *
                 * @param type      类型
                 * @param isNeedSeq 是否需要序号
                 * @return 单据树形数据
                 */
                createFieldsTreeByKey(type_arg:string,isNeedSeq:boolean):$.java.util.Map;
                /**
                 * 设置权限的整体维度控制
                 *
                 * @param permissionDimension 整体维度控制
                 */
                setPermissionDimension(permissionDimension:kd.bos.metadata.perm.PermissionDimension):void;
                /**
                 * 获取主业务组织
                 *
                 * @return 主业务组织
                 */
                getMainOrg():string;
                /**
                 * 设置元数据主键类型 ，分为字符串和整型
                 *
                 * @param pkType 主键类型
                 */
                setPkType(pkType:number):void;
                /**
                 * 设置是否为模板
                 *
                 * @param template 是否为模板
                 */
                setTemplate(template_arg:boolean):void;
                /**
                 * 设置主业务组织
                 *
                 * @param mainOrg 主业务组织
                 */
                setMainOrg(mainOrg:string):void;
                /**
                 * 设置用户选项
                 *
                 * @param userOption 用户选项
                 */
                setUserOption(userOption:string):void;
                /**
                 * 获取通用扩展点插件
                 * @return
                 */
                getGenericExtPlugins():$.java.util.List;
                /**
                 * 获取权限控制项
                 *
                 * @return 权限控制项
                 */
                getPermissionControl():kd.bos.metadata.perm.PermissionControl;
                /**
                 * 用于处理自行添加应用关系的场景。一般不需要
                 *
                 * @param refObjectProps
                 */
                addRefPropTypes(refObjectProps:$.java.util.Map):void;
                /**
                 * 元数据中的描述的操作元数据
                 *
                 * @return 操作元数据的集合
                 */
                getOperations():$.java.util.List;
                /**
                 * 获取权限的整体维度控制
                 *
                 * @return 整体维度控制
                 */
                getPermissionDimension():kd.bos.metadata.perm.PermissionDimension;
                /**
                 * 设置网络控制集合
                 *
                 * @param networkControl 单据的网络控制集合的操作集合
                 */
                setNetworkControl(networkControl:$.java.util.List):void;
                /**
                 * 元数据的主键类型：分成字符串和整型
                 *
                 * @return 主键类型
                 */
                getPkType():number;
                /**
                 * 设置通用扩展点插件
                 * @param genericExtPlugins 通用扩展点插件
                 */
                setGenericExtPlugins(genericExtPlugins:$.java.util.List):void;
                /**
                 * 构建实体的树形节点数据
                 *
                 * @param type 节点类型
                 * @param isNeedSeq 是否需要序号字段
                 * @param isAllNode 是否包含所有节点
                 * @param level 层级
                 * @param isIncludeEntry 是否包含分录
                 * @return 树形节点信息
                 */
                createEntityTree(type_arg:string,isNeedSeq:boolean,isAllNode:boolean,level:number,isIncludeEntry:boolean):$.java.util.Map;
                /**
                 * 创建树形数据--基础资料不拆分
                 *
                 * @param type      类型
                 * @param isNeedSeq 是否需要序号
                 * @return 单据树形数据
                 */
                createFieldsTree(type_arg:string,isNeedSeq:boolean):$.java.util.Map;
                /**
                 * 获取用户选项
                 *
                 * @return 用户选项
                 */
                getUserOption():string;
                /**
                 * 设置业务控制
                 *
                 * @param businessControl 业务控制
                 */
                setBusinessControl(businessControl:BusinessControl):void;
                /**
                 * 获取权限项集合
                 *
                 * @return 权限项集合
                 */
                getPermissionItems():$.java.util.List;
                /**
                 * 构建权限发布应用数据
                 *
                 * @return 权限发布应用数据
                 */
                buildPublishAppMetas():$.java.util.List;
            }
            type MainEntity_T = Entity & MainEntity$;
            interface MainEntity extends MainEntity_T {
            }
            interface QueryEntity_S {
            }
            type QueryEntity_ST = MainEntity_S & QueryEntity_S;
            interface QueryEntity_C extends QueryEntity_ST {
                new():QueryEntity;
            }
            interface QueryEntity$ {
            }
            type QueryEntity_T = MainEntity & QueryEntity$;
            interface QueryEntity extends QueryEntity_T {
            }
            interface TreeEntryEntity_S {
            }
            type TreeEntryEntity_ST = EntryEntity_S & ITreeEntryEntity_S & TreeEntryEntity_S;
            interface TreeEntryEntity_C extends TreeEntryEntity_ST {
                new():TreeEntryEntity;
            }
            interface TreeEntryEntity$ {
                /**
                 * 设置分录父级主键字段名
                 *
                 * @param entryParentPkFieldName 父级主键字段名
                 */
                setEntryParentPkFieldName(entryParentPkFieldName:string):void;
            }
            type TreeEntryEntity_T = EntryEntity & ITreeEntryEntity & TreeEntryEntity$;
            interface TreeEntryEntity extends TreeEntryEntity_T {
            }
            interface LinkSet_S {
            }
            interface LinkSet_C extends LinkSet_S {
                new():LinkSet;
            }
            interface LinkSet$ {
            }
            type LinkSet_T = LinkSet$;
            interface LinkSet extends LinkSet_T {
            }
            interface SubEntryEntity_S {
            }
            type SubEntryEntity_ST = EntryEntity_S & SubEntryEntity_S;
            interface SubEntryEntity_C extends SubEntryEntity_ST {
                new():SubEntryEntity;
            }
            interface SubEntryEntity$ {
                /**
                 * 父单据体
                 */
                getParentEntryId():string;
                /**
                 * 设置父单据体id
                 *
                 * @param parentEntryId 父单据体id
                 */
                setParentEntryId(parentEntryId:string):void;
            }
            type SubEntryEntity_T = EntryEntity & SubEntryEntity$;
            interface SubEntryEntity extends SubEntryEntity_T {
            }
            interface TreeSubEntryEntity_S {
            }
            type TreeSubEntryEntity_ST = ITreeEntryEntity_S & SubEntryEntity_S & TreeSubEntryEntity_S;
            interface TreeSubEntryEntity_C extends TreeSubEntryEntity_ST {
                new():TreeSubEntryEntity;
            }
            interface TreeSubEntryEntity$ {
                /**
                 * 设置分录上级实体主键字段名
                 *
                 * @param entryParentPkFieldName 上级实体主键字段名
                 */
                setEntryParentPkFieldName(entryParentPkFieldName:string):void;
            }
            type TreeSubEntryEntity_T = ITreeEntryEntity & SubEntryEntity & TreeSubEntryEntity$;
            interface TreeSubEntryEntity extends TreeSubEntryEntity_T {
            }
            interface DesignEntityMeta_S {
            }
            type DesignEntityMeta_ST = DesignEntityMeta_S & DesignMeta_S;
            interface DesignEntityMeta_C extends DesignEntityMeta_ST {
                new():DesignEntityMeta;
            }
            interface DesignEntityMeta$ {
                setEnabled(enabled:boolean):void;
                setModifyDate(modifyDate:Date):void;
                getModifyDate():Date;
                isEnabled():boolean;
            }
            type DesignEntityMeta_T = DesignEntityMeta$ & DesignMeta;
            interface DesignEntityMeta extends DesignEntityMeta_T {
            }
            interface EntityMetadata_S {
            }
            type EntityMetadata_ST = AbstractMetadata_S & EntityMetadata_S;
            interface EntityMetadata_C extends EntityMetadata_ST {
                new():EntityMetadata;
            }
            interface EntityMetadata$ {
                /**
                 * 实体元数据中是否有字段Field
                 *
                 * @return 是否有字段
                 */
                hasField():boolean;
                /**
                 * 给每个条目创建索引 将本来本来平铺的节点重新组织，变得按照父子关系递进的层级结构
                 */
                createIndex():void;
                /**
                 * 旧的标识：用户可能会在设计器中，修改业务对象的标识。本属性记录修改前的旧标识
                 *
                 * @return 旧标识
                 */
                getOldKey():string;
                /**
                 * 实体元数据中的条目
                 *
                 * @return 包含子实体和字段集合
                 */
                getItems():$.java.util.List;
                /**
                 * 创建实体运行时元数据
                 *
                 * @return 实体运行时元数据
                 */
                createRuntimeEntityMeta():RuntimeEntityMeta;
                /**
                 * 根据实体的ID查询对应的实体
                 *
                 * @param entryId 实体标识
                 * @return 对应的实体
                 */
                getEntryById(entryId:string):EntryEntity;
                /**
                 * 重建前 预处理工作
                 */
                prepareRebuild():void;
                /**
                 * 获得元数据中的操作元数据
                 *
                 * @return 操作元数据的集合
                 */
                getOperation():$.java.util.List;
                /**
                 * 元数据是否启用
                 *
                 * @return 是否启用
                 */
                isEnabled():boolean;
                /**
                 * 获取对应的业务应用编码
                 *
                 * @return 业务应用编码
                 */
                getBizappNumber():string;
                /**
                 * 获取本单据引用的全部基础资料信息
                 *
                 * @return
                 */
                buildObjectTypeRefs():$.java.util.List;
                /**
                 * 根据字段的key查询对应的字段
                 *
                 * @param fieldKey 字段key
                 * @return 对应的字段
                 */
                getFieldByKey(fieldKey:string):kd.bos.metadata.entity.commonfield.Field;
                /**
                 * 获取实体元数据的KEY
                 *
                 * @return 实体元数据的KEY
                 */
                getKey():string;
                /**
                 * 设置元数据对应的KEY
                 *
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 创建权限运行时元数据
                 *
                 * @return 权限运行时元数据
                 */
                buildPermissionMetas():$.java.util.List;
                /**
                 * 获取路由信息，t_meta开头的表默认路由到sys.meta
                 *
                 * @return 路由信息
                 */
                getDBRouteKey():string;
                /**
                 * 获取表单实体所属应用的原始编码
                 * @return
                 */
                getOriginAppNumber():string;
                /**
                 * 创建权限发布应用信息
                 *
                 * @return 权限发布应用
                 */
                buildPublishAppMetas():$.java.util.List;
                /**
                 * 创建操作信息
                 *
                 * @return [{"操作标识", "操作类型"}] 操作信息
                 */
                buildFormOperations():$.java.util.List;
                /**
                 * 将本来本来平铺的节点重新组织，变得按照父子关系递进的层级结构
                 *
                 * @param forece
                 */
                createIndex(forece:boolean):void;
                /**
                 * 根据ID查询在元数据中的条目
                 *
                 * @param id
                 * @return 对应这个ID的元素
                 */
                getItemById(id:string):EntityItem;
                /**
                 * 构建实体设计树，供设计器渲染树
                 *
                 * @return
                 */
                buildDesgnerTree():$.java.util.Map;
                /**
                 * 重置元素的父级id
                 *
                 * @param idMap 元素id字典
                 */
                resetItemId(idMap:$.java.util.Map):void;
                /**
                 * 设置旧的标识：用户可能会在设计器中，修改业务对象的标识。本属性记录修改前的旧标识
                 *
                 * @param oldKey 旧标识
                 */
                setOldKey(oldKey:string):void;
                /**
                 * 设置元数据是否启用
                 *
                 * @param enabled 是否启用
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 设置元数据的多语言名称
                 *
                 * @param name 多语言名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 创建对应的ORM类型
                 *
                 * @return ORM类型，用于运行时
                 */
                buildDataEntityType():$.kd.bos.entity.MainEntityType;
                /**
                 * 获取业务对象可扩展性
                 *
                 * @return 业务对象可扩展性
                 */
                getExtElements():$.java.util.List;
                /**
                 * 获得实体元数据对应的表单的名称
                 *
                 * @return 对应的表单的名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置业务对象可扩展性
                 *
                 * @param extElements 业务对象可扩展性
                 */
                setExtElements(extElements:$.java.util.List):void;
                /**
                 * 根据字段的ID查询对应的字段
                 *
                 * @param fieldId 字段ID
                 * @return 对应的字段
                 */
                getFieldById(fieldId:string):kd.bos.metadata.entity.commonfield.Field;
                /**
                 * 建立运行时元数据
                 *
                 * @param runtimeVersion
                 * @return 运行时元数据集合
                 */
                buildRuntimeMetadata(runtimeVersion:string):$.java.util.List;
                /**
                 * 获取元数据的根实体
                 *
                 * @return 元数据的主实体
                 */
                getRootEntity():MainEntity;
                /**
                 * 获得元数据中的实体集合
                 *
                 * @return 实体集合
                 */
                getEntitys():$.java.util.List;
            }
            type EntityMetadata_T = AbstractMetadata & EntityMetadata$;
            interface EntityMetadata extends EntityMetadata_T {
            }
            interface LinkSetItem_S {
            }
            interface LinkSetItem_C extends LinkSetItem_S {
                new():LinkSetItem;
            }
            interface LinkSetItem$ {
            }
            type LinkSetItem_T = LinkSetItem$;
            interface LinkSetItem extends LinkSetItem_T {
            }
            interface SplitTable_S {
            }
            type SplitTable_ST = $.kd.bos.entity.IIsvFlag & SplitTable_S;
            interface SplitTable_C extends SplitTable_ST {
                new():SplitTable;
            }
            interface SplitTable$ {
            }
            type SplitTable_T = $.kd.bos.entity.IIsvFlag & SplitTable$;
            interface SplitTable extends SplitTable_T {
            }
            interface EntryEntity_S {
                readonly BOS_METADATA:string;
            }
            type EntryEntity_ST = Entity_S & EntryEntity_S & IChildElement_S;
            interface EntryEntity_C extends EntryEntity_ST {
                new():EntryEntity;
            }
            interface EntryEntity$ {
                /**
                 * 获取单据体外键字段名
                 *
                 * @return 单据体标示
                 */
                getFkFieldName():string;
                /**
                 * 是否允许快捷新增
                 *
                 * @return 是否允许
                 */
                getQuickAdd():boolean;
                /**
                 * 获取单据体的默认行数
                 *
                 * @return 设置的默认行数或者1
                 */
                getDefaultRows():number;
                /**
                 * 设置是否为关键单据体
                 *
                 * @param keyEntry 是否为关键单据体
                 */
                setKeyEntry(keyEntry:boolean):void;
                /**
                 * 是否为关键单据体，该属性已废弃
                 *
                 * @return 是否为关键单据体
                 */
                isKeyEntry():boolean;
                /**
                 * 设置单据体外键字段名
                 *
                 * @param fkFieldName 单据体外键字段名
                 */
                setFkFieldName(fkFieldName:string):void;
                /**
                 * 设置是否必录
                 *
                 * @param mustInput 是否必录
                 */
                setEntryMustInput(mustInput:boolean):void;
                /**
                 * 设置单据体中key字段的标识
                 *
                 * @param keyFieldId key字段的标识
                 */
                setKeyFieldId(keyFieldId:string):void;
                /**
                 * 设置勾选模式 1. 默认 2.勾选框选中 3.列表模式
                 *
                 * @param selectType 勾选模式
                 */
                setSelectType(selectType:string):void;
                /**
                 * 获取设置为单据体行顺序的字段名
                 *
                 * @return 对应的顺序的字段名
                 */
                getSeqFieldName():string;
                /**
                 * 获取单据体的主键字段名
                 *
                 * @return 单据体标示
                 */
                getEntryPkFieldName():string;
                /**
                 * 设置必录条件
                 * @param mustInputCondition
                 */
                setMustInputCondition(mustInputCondition:$.java.util.Map):void;
                /**
                 * 设置单据体行顺序的字段KEY
                 *
                 * @param seqFieldName
                 */
                setSeqFieldName(seqFieldName:string):void;
                /**
                 * 设置是否允许快捷新增
                 *
                 * @param quickAdd 是否允许
                 */
                setQuickAdd(quickAdd:boolean):void;
                /**
                 * 勾选模式
                 * 1. 默认 2.勾选框选中 3.列表模式, selectType: 1. '', 2.'checkboxSelect' 3. 'listSelect'
                 *
                 * @return 对应的顺序的字段名
                 */
                getSelectType():string;
                /**
                 * 获取单据体中设置的key字段的标识
                 *
                 * @return key字段的标识
                 */
                getKeyFieldId():string;
                /**
                 * 设置单据体默认行数
                 *
                 * @param defaultRows 默认行数
                 */
                setDefaultRows(defaultRows:number):void;
                /**
                 * 获取必录性选项
                 *
                 * @return 必录true 反之为false
                 */
                isEntryMustInput():boolean;
                /**
                 * 获取必录条件
                 * @return
                 */
                getMustInputCondition():$.java.util.Map;
                /**
                 * 设置单据体的主键字段名
                 *
                 * @param entryPkFieldName 主键字段名
                 */
                setEntryPkFieldName(entryPkFieldName:string):void;
            }
            type EntryEntity_T = Entity & EntryEntity$ & IChildElement;
            interface EntryEntity extends EntryEntity_T {
            }
            interface IChildElement_S {
            }
            interface IChildElement_C extends IChildElement_S {
            }
            interface IChildElement$ {
            }
            type IChildElement_T = IChildElement$;
            interface IChildElement extends IChildElement_T {
            }
            interface ITreeEntryEntity_S {
            }
            interface ITreeEntryEntity_C extends ITreeEntryEntity_S {
            }
            interface ITreeEntryEntity$ {
                /**
                 * 配置分录的主键对应上级主键字段名
                 *
                 * @return 上级主键字段名
                 */
                getEntryParentPkFieldName?():string;
            }
            type ITreeEntryEntity_T = ITreeEntryEntity$;
            interface ITreeEntryEntity extends ITreeEntryEntity_T {
            }
            interface LogBillEntity_S {
            }
            type LogBillEntity_ST = BillEntity_S & LogBillEntity_S;
            interface LogBillEntity_C extends LogBillEntity_ST {
                new():LogBillEntity;
            }
            interface LogBillEntity$ {
            }
            type LogBillEntity_T = BillEntity & LogBillEntity$;
            interface LogBillEntity extends LogBillEntity_T {
            }
            interface EntityItem_S {
            }
            type EntityItem_ST = AbstractElement_S & EntityItem_S;
            interface EntityItem_C extends EntityItem_ST {
                new():EntityItem;
            }
            interface EntityItem$ {
                /**
                 * 设置元素在父元素中的位置
                 *
                 * @param index 元素在父元素中的位置索引
                 */
                setIndex(index:number):void;
                /**
                 * 创建一个实体树节点其中ID为节点key
                 *
                 * @return 树节点，其中的ID和类型都是对应着这个元素
                 */
                createTreeNodeByKey():$.java.util.Map;
                /**
                 * 设置实体元数据
                 *
                 * @param value 实体元数据
                 */
                setEntityMetadata(value:EntityMetadata):void;
                /**
                 * 创建ORM属性对象，注册到ORM模型中 实体通过遍历其中的字段，调用字段的createDynamicProperty方法进行注册
                 *
                 * @param dt
                 * @return
                 */
                registerProperty(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty;
                /**
                 * 创建一个实体树节点
                 *
                 * @return 树节点，其中的ID和类型都是对应着这个元素
                 */
                createTreeNode():$.java.util.Map;
                /**
                 * 元素在父元素中的位置
                 *
                 * @return 元素在父元素的位置索引
                 */
                getIndex():number;
            }
            type EntityItem_T = AbstractElement & EntityItem$;
            interface EntityItem extends EntityItem_T {
            }
            interface RuntimeEntityMeta_S {
            }
            type RuntimeEntityMeta_ST = RuntimeEntityMeta_S & RuntimeMeta_S;
            interface RuntimeEntityMeta_C extends RuntimeEntityMeta_ST {
                new():RuntimeEntityMeta;
            }
            interface RuntimeEntityMeta$ {
            }
            type RuntimeEntityMeta_T = RuntimeEntityMeta$ & RuntimeMeta;
            interface RuntimeEntityMeta extends RuntimeEntityMeta_T {
            }
        }
        namespace kd.bos.metadata.entity.businessfield{
            interface ItemClass_S {
            }
            type ItemClass_ST = ItemClass_S & RefBasedata_S;
            interface ItemClass_C extends ItemClass_ST {
                new():ItemClass;
            }
            interface ItemClass$ {
                getBasedata():$.kd.bos.dataentity.entity.LocaleString;
                setBasedata(basedata:$.kd.bos.dataentity.entity.LocaleString):void;
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
            }
            type ItemClass_T = ItemClass$ & RefBasedata;
            interface ItemClass extends ItemClass_T {
            }
            interface OrgField_S {
            }
            type OrgField_ST = BasedataField_S & OrgField_S;
            interface OrgField_C extends OrgField_ST {
                new():OrgField;
            }
            interface OrgField$ {
                /**
                 * @return 视图方案
                 */
                getOrgViewScheme():$.kd.bos.entity.property.org.OrgViewSchemeProp;
                setOrgRelation(orgRelation:$.java.util.List):void;
                getOrgFuncs():string;
                setOrgFuncs(orgFuncs:string):void;
                setOrgViewScheme(orgViewScheme:$.kd.bos.entity.property.org.OrgViewSchemeProp):void;
                getOrgRelation():$.java.util.List;
                /**
                 * @param f7Style the f7Style to set
                 */
                setF7Style(f7Style:number):void;
                /**
                 * @return the f7Style
                 */
                getF7Style():number;
            }
            type OrgField_T = BasedataField & OrgField$;
            interface OrgField extends OrgField_T {
            }
            interface GroupField_S {
            }
            type GroupField_ST = BasedataField_S & GroupField_S;
            interface GroupField_C extends GroupField_ST {
                new():GroupField;
            }
            interface GroupField$ {
                isNeedRefreshTree():boolean;
                setNeedRefreshTree(isNeedRefreshTree:boolean):void;
                isShowTreeLower():boolean;
                /**
                 * 根据自定义属性更新引用对象类型
                 *
                 * @param dt 属性类型
                 */
                updateRunTimeRefType(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):void;
                /**
                 * 设置分组表名
                 *
                 * @param groupTableName
                 */
                setGroupTableName(groupTableName:string):void;
                /**
                 * 获取分组的表名
                 *
                 * @return 分组的表名
                 */
                getGroupTableName():string;
                setShowTreeLower(showTreeLower:boolean):void;
            }
            type GroupField_T = BasedataField & GroupField$;
            interface GroupField extends GroupField_T {
            }
            interface UserField_S {
            }
            type UserField_ST = BasedataField_S & UserField_S;
            interface UserField_C extends UserField_ST {
                new():UserField;
            }
            interface UserField$ {
                /**
                 * @param f7Style the f7Style to set
                 */
                setF7Style(f7Style:number):void;
                /**
                 * @return the f7Style
                 */
                getF7Style():number;
            }
            type UserField_T = BasedataField & UserField$;
            interface UserField extends UserField_T {
            }
            interface BasedataPropField_S {
            }
            type BasedataPropField_ST = BasedataPropField_S & kd.bos.metadata.entity.commonfield.Field_S;
            interface BasedataPropField_C extends BasedataPropField_ST {
                new():BasedataPropField;
            }
            interface BasedataPropField$ {
                getRefDisplayProp():string;
                setRefBaseFieldId(refBaseFieldId:string):void;
                getRefBaseFieldId():string;
                setRefDisplayProp(refDisplayProp:string):void;
            }
            type BasedataPropField_T = BasedataPropField$ & kd.bos.metadata.entity.commonfield.Field;
            interface BasedataPropField extends BasedataPropField_T {
            }
            interface ItemClassField_S {
            }
            type ItemClassField_ST = BasedataField_S & ItemClassField_S;
            interface ItemClassField_C extends ItemClassField_ST {
                new():ItemClassField;
            }
            interface ItemClassField$ {
                setTypeFieldId(typeFieldId:string):void;
                getTypeFieldId():string;
            }
            type ItemClassField_T = BasedataField & ItemClassField$;
            interface ItemClassField extends ItemClassField_T {
            }
            interface BaseUnitqtyField_S {
            }
            type BaseUnitqtyField_ST = BaseUnitqtyField_S & QtyField_S;
            interface BaseUnitqtyField_C extends BaseUnitqtyField_ST {
                new():BaseUnitqtyField;
            }
            interface BaseUnitqtyField$ {
            }
            type BaseUnitqtyField_T = BaseUnitqtyField$ & QtyField;
            interface BaseUnitqtyField extends BaseUnitqtyField_T {
            }
            interface RefBasedata_S {
            }
            type RefBasedata_ST = $.kd.bos.entity.IIsvFlag & RefBasedata_S;
            interface RefBasedata_C extends RefBasedata_ST {
                new():RefBasedata;
            }
            interface RefBasedata$ {
            }
            type RefBasedata_T = $.kd.bos.entity.IIsvFlag & RefBasedata$;
            interface RefBasedata extends RefBasedata_T {
            }
            interface IBasedataField_S {
            }
            interface IBasedataField_C extends IBasedataField_S {
            }
            interface IBasedataField$ {
                getRuntimeRefProps(refProps:$.java.util.List):$.java.util.List;
                /**
                 * 创建实体节点树
                 *
                 * @param isAllNode
                 *            是否包括所有节点
                 * @param level
                 *            引用基础资料层级
                 * @param isIncludeEntry
                 *            引用基础资料是否包含分录
                 * @return
                 */
                createEntityTreeNodes(isAllNode:boolean,level:number):$.java.util.List;
                getRuntimeRefProps():$.java.util.List;
                getKey():string;
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                addRefProps?(refObjectProps:$.java.util.Map,baseEntityId:string,runtimeRefProps:$.java.util.List):void;
                addRefBasedata?(refObjectProps:$.java.util.Map):void;
                getBasedataTypeEnum():$.kd.bos.entity.property.BasedataTypeEnum;
                getBaseEntityId():string;
                buildBaseDadaFieldFilter?(metas:$.java.util.List):void;
                createRuntimeEntityMeta():RuntimeEntityMeta;
                getRefProps():$.java.util.List;
            }
            type IBasedataField_T = IBasedataField$;
            interface IBasedataField extends IBasedataField_T {
            }
            interface MulBasedataField_S {
            }
            type MulBasedataField_ST = IBasedataField_S & MulBasedataField_S & kd.bos.metadata.entity.commonfield.Field_S;
            interface MulBasedataField_C extends MulBasedataField_ST {
                new():MulBasedataField;
            }
            interface MulBasedataField$ {
                setShowUsed(isShowUsed:boolean):void;
                setMobileList(mobileList:string):void;
                setDisplayProp(displayProp:string):void;
                isShowFrequent():boolean;
                setCacheLookUpList(cacheLookUpList:boolean):void;
                setBasedataBtnIcon(basedataBtnIcon:string):void;
                getBasedataEditStyle():number;
                /**
                 * 获得组织职能
                 *
                 * @return 组织职能
                 */
                getOrgFuncs():string;
                setOpenFuzzyQuery(isOpenFuzzyQuery:boolean):void;
                /**
                 * 设置组织职能
                 *
                 * @param orgFuncs 组织职能
                 */
                setOrgFuncs(orgFuncs:string):void;
                setLayoutId(layoutId:string):void;
                setSelectedItemStyle(selectedItemStyle:string):void;
                getEditSearchProp():string;
                setLableHyperlink(lableHyperlink:boolean):void;
                /**
                 * 获取为空提示
                 *
                 * @return 为空提示
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取设置的表名
                 *
                 * @return 表名
                 */
                getTableName():string;
                /**
                 * @return F7是否添加使用状态=ResManager.loadKDString("启用", "606959767889381376",
                 * SubSystemType.SL)
                 */
                isShowUsed():boolean;
                isFoldingState():boolean;
                getDisplayProp():string;
                /**
                 * 获取多选基础资料控制组织的字段的标识
                 *
                 * @return 多选基础资料控制组织的字段的标识
                 */
                getOrgFieldId():string;
                isLableHyperlink():boolean;
                /**
                 * 设置基础资料控制组织的字段的标识
                 *
                 * @param orgFieldId 多选基础资料控制组织的字段的标识
                 */
                setOrgFieldId(orgFieldId:string):void;
                getSelectedItemStyle():string;
                isAllowAutoList():boolean;
                /**
                 * 设置字段缺省值
                 * @param defValueDesign
                 */
                setDefValueDesign(defValueDesign:kd.bos.metadata.entity.fielddefvalue.DefValueDesign):void;
                /**
                 * 设置为空提示
                 *
                 * @param emptyText 为空提示内容
                 */
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                getBasedataBtnIcon():string;
                /**
                 * 设置 过滤条件
                 *
                 * @param filter 过滤条件
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                getMobileList():string;
                setMultiLine(multiLine:boolean):void;
                getLayoutId():string;
                setEditSearchProp(editSearchProp:string):void;
                setAllowAutoList(allowAutoList:boolean):void;
                /**
                 * 获取字段缺省值
                 * @return
                 */
                getDefValueDesign():kd.bos.metadata.entity.fielddefvalue.DefValueDesign;
                isMultiLine():boolean;
                isCacheLookUpList():boolean;
                setBaseEntityId(baseEntityId:string):void;
                setShowFrequent(isShowFrequent:boolean):void;
                setBasedataEditStyle(basedataEditStyle:number):void;
                setFoldingState(foldingState:boolean):void;
                isOpenFuzzyQuery():boolean;
            }
            type MulBasedataField_T = IBasedataField & MulBasedataField$ & kd.bos.metadata.entity.commonfield.Field;
            interface MulBasedataField extends MulBasedataField_T {
            }
            interface UserAvatarField_S {
            }
            type UserAvatarField_ST = BasedataPropField_S & UserAvatarField_S;
            interface UserAvatarField_C extends UserAvatarField_ST {
                new():UserAvatarField;
            }
            interface UserAvatarField$ {
            }
            type UserAvatarField_T = BasedataPropField & UserAvatarField$;
            interface UserAvatarField extends UserAvatarField_T {
            }
            interface UnitField_S {
            }
            type UnitField_ST = BasedataField_S & UnitField_S;
            interface UnitField_C extends UnitField_ST {
                new():UnitField;
            }
            interface UnitField$ {
                /**
                 * 获取字段materielFieldId的值
                 * @return  materielFieldId的值
                 */
                getMaterielFieldId():string;
                /**
                 * 将参数followUnitToChange的值赋给字段followUnitToChange
                 * @param followUnitToChange
                 */
                setFollowUnitToChange(followUnitToChange:boolean):void;
                /**
                 * 获取字段followUnitToChange的值
                 * @return  followUnitToChange的值
                 */
                isFollowUnitToChange():boolean;
                /**
                 * 将参数materielFieldId的值赋给字段materielFieldId
                 * @param 参数materielFieldId
                 */
                setMaterielFieldId(materielFieldId:string):void;
            }
            type UnitField_T = BasedataField & UnitField$;
            interface UnitField extends UnitField_T {
            }
            interface MobBasedataField_S {
            }
            type MobBasedataField_ST = BasedataField_S & MobBasedataField_S;
            interface MobBasedataField_C extends MobBasedataField_ST {
                new():MobBasedataField;
            }
            interface MobBasedataField$ {
            }
            type MobBasedataField_T = BasedataField & MobBasedataField$;
            interface MobBasedataField extends MobBasedataField_T {
            }
            interface NameField_S {
            }
            type NameField_ST = BasedataField_S & NameField_S;
            interface NameField_C extends NameField_ST {
                new():NameField;
            }
            interface NameField$ {
            }
            type NameField_T = BasedataField & NameField$;
            interface NameField extends NameField_T {
            }
            interface AssistantField_S {
            }
            type AssistantField_ST = AssistantField_S & BasedataField_S;
            interface AssistantField_C extends AssistantField_ST {
                new():AssistantField;
            }
            interface AssistantField$ {
                /**
                 * 设置辅助资料的类型
                 *
                 * @param typeId
                 *            辅助资料对应的基本资料的ID
                 */
                setAsstTypeId(typeId:string):void;
                /**
                 * 获取辅助资料类型编码
                 *
                 * @return 辅助资料类型编码
                 */
                getAsstTypeNumber():string;
                /**
                 * 获取辅助资料类型
                 *
                 * @return 即辅助资料对应的基本资料的ID
                 */
                getAsstTypeId():string;
                /**
                 * 获取辅助资料类型关联的业务云编码
                 *
                 * @return 辅助资料类型关联的业务云编码
                 */
                getAsstCloudNumber():string;
                /**
                 * 设置上级辅助资料的ID
                 *
                 * @param asstParentId
                 *            上级辅助资料的ID
                 */
                setAsstParentId(asstParentId:string):void;
                /**
                 * 设置辅助资料类型编码
                 *
                 * @param asstTypeNumber
                 *            辅助资料类型编码
                 */
                setAsstTypeNumber(asstTypeNumber:string):void;
                /**
                 * 设置辅助资料类型关联的业务云编码
                 *
                 * @param asstCloudNumber
                 *            辅助资料类型关联的业务云编码
                 */
                setAsstCloudNumber(asstCloudNumber:string):void;
                /**
                 * 获取上级辅助资料的id
                 *
                 * @return 上级辅助资料的id
                 */
                getAsstParentId():string;
            }
            type AssistantField_T = AssistantField$ & BasedataField;
            interface AssistantField extends AssistantField_T {
            }
            interface PrintCountField_S {
            }
            type PrintCountField_ST = PrintCountField_S & kd.bos.metadata.entity.commonfield.IntegerField_S;
            interface PrintCountField_C extends PrintCountField_ST {
                new():PrintCountField;
            }
            interface PrintCountField$ {
                getRecordModel():string;
                setRecordModel(recordModel:string):void;
            }
            type PrintCountField_T = PrintCountField$ & kd.bos.metadata.entity.commonfield.IntegerField;
            interface PrintCountField extends PrintCountField_T {
            }
            interface BillNoField_S {
            }
            type BillNoField_ST = BillNoField_S & kd.bos.metadata.entity.commonfield.TextField_S;
            interface BillNoField_C extends BillNoField_ST {
                new():BillNoField;
            }
            interface BillNoField$ {
            }
            type BillNoField_T = BillNoField$ & kd.bos.metadata.entity.commonfield.TextField;
            interface BillNoField extends BillNoField_T {
            }
            interface QtyField_S {
            }
            type QtyField_ST = QtyField_S & kd.bos.metadata.entity.commonfield.DecimalField_S;
            interface QtyField_C extends QtyField_ST {
                new():QtyField;
            }
            interface QtyField$ {
                getUnitFieldId():string;
                isControlScale():boolean;
                setUnitFieldId(unitFieldId:string):void;
                setControlScale(controlScale:boolean):void;
            }
            type QtyField_T = QtyField$ & kd.bos.metadata.entity.commonfield.DecimalField;
            interface QtyField extends QtyField_T {
            }
            interface RefBillField_S {
            }
            type RefBillField_ST = AbstractRefBillField_S & RefBillField_S;
            interface RefBillField_C extends RefBillField_ST {
                new():RefBillField;
            }
            interface RefBillField$ {
                setViewDetail(viewDetail:boolean):void;
                isCacheLookUpList():boolean;
                /**
                 * 标题是否显示为超链接
                 * @return
                 */
                isLableHyperlink():boolean;
                setCacheLookUpList(cacheLookUpList:boolean):void;
                /**
                 * 执行基础资料数据删除操作时，不检查本单有没有引用被删的数据(暂时没有在设计器放开属性配置，可以直接修改XML设置值)
                 * @return
                 */
                isIgnoreRefCheck():boolean;
                isViewDetail():boolean;
                isAllowAutoList():boolean;
                setIgnoreRefCheck(ignoreRefCheck:boolean):void;
                setAllowAutoList(allowAutoList:boolean):void;
                setLableHyperlink(lableHyperlink:boolean):void;
            }
            type RefBillField_T = AbstractRefBillField & RefBillField$;
            interface RefBillField extends RefBillField_T {
            }
            interface CurrencyField_S {
            }
            type CurrencyField_ST = BasedataField_S & CurrencyField_S;
            interface CurrencyField_C extends CurrencyField_ST {
                new():CurrencyField;
            }
            interface CurrencyField$ {
            }
            type CurrencyField_T = BasedataField & CurrencyField$;
            interface CurrencyField extends CurrencyField_T {
            }
            interface AddressField_S {
            }
            type AddressField_ST = AddressField_S & BasedataField_S;
            interface AddressField_C extends AddressField_ST {
                new():AddressField;
            }
            interface AddressField$ {
                setZoneField(zoneField:string):void;
                getZoneField():string;
            }
            type AddressField_T = AddressField$ & BasedataField;
            interface AddressField extends AddressField_T {
            }
            interface BasedataField_S {
            }
            type BasedataField_ST = AbstractBasedataField_S & BasedataField_S;
            interface BasedataField_C extends BasedataField_ST {
                new():BasedataField;
            }
            interface BasedataField$ {
                setAllowAutoList(allowAutoList:boolean):void;
                setCacheLookUpList(cacheLookUpList:boolean):void;
                setIgnoreRefCheck(ignoreRefCheck:boolean):void;
                setBizBasedata(bizBasedata:boolean):void;
                isCacheLookUpList():boolean;
                isViewDetail():boolean;
                setLableHyperlink(lableHyperlink:boolean):void;
                setBaseEntityNumber(baseEntityNumber:string):void;
                isBizBasedata():boolean;
                /**
                 * 执行基础资料数据删除操作时，不检查本单有没有引用被删的数据(暂时没有在设计器放开属性配置，可以直接修改XML设置值)
                 *
                 * @return
                 */
                isIgnoreRefCheck():boolean;
                /**
                 * 标题是否显示为超链接
                 *
                 * @return
                 */
                isLableHyperlink():boolean;
                setViewDetail(viewDetail:boolean):void;
                isAllowAutoList():boolean;
            }
            type BasedataField_T = AbstractBasedataField & BasedataField$;
            interface BasedataField extends BasedataField_T {
            }
            interface MaterielField_S {
                readonly MasterMaterialEntityId:string;
            }
            type MaterielField_ST = BasedataField_S & MaterielField_S;
            interface MaterielField_C extends MaterielField_ST {
                new():MaterielField;
            }
            interface MaterielField$ {
            }
            type MaterielField_T = BasedataField & MaterielField$;
            interface MaterielField extends MaterielField_T {
            }
            interface BillTypeField_S {
            }
            type BillTypeField_ST = BasedataField_S & BillTypeField_S;
            interface BillTypeField_C extends BillTypeField_ST {
                new():BillTypeField;
            }
            interface BillTypeField$ {
            }
            type BillTypeField_T = BasedataField & BillTypeField$;
            interface BillTypeField extends BillTypeField_T {
            }
            interface MasterIdField_S {
            }
            type MasterIdField_ST = AbstractBasedataField_S & MasterIdField_S;
            interface MasterIdField_C extends MasterIdField_ST {
                new():MasterIdField;
            }
            interface MasterIdField$ {
                setProp(arg0:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):void;
                /**
                 * 主数据内码赋值方式
                 *
                 * @return 0 = 不填值，应用于共享型基础资料，不需要分配；
                 * 1 = 填写自身数据Id，应用于主资料，需要分配；
                 * 2 = 填写其他资料Id, 应用于业务特性，通过masterid，关联到主资料；
                 */
                getMasterIdType():number;
                setMasterIdType(masterIdType:number):void;
            }
            type MasterIdField_T = AbstractBasedataField & MasterIdField$;
            interface MasterIdField extends MasterIdField_T {
            }
            interface BillStatusField_S {
            }
            type BillStatusField_ST = BillStatusField_S & kd.bos.metadata.entity.commonfield.ComboField_S;
            interface BillStatusField_C extends BillStatusField_ST {
                new():BillStatusField;
            }
            interface BillStatusField$ {
                setStatusItems(statusItems:$.java.util.List):void;
                getStatusItems():$.java.util.List;
            }
            type BillStatusField_T = BillStatusField$ & kd.bos.metadata.entity.commonfield.ComboField;
            interface BillStatusField extends BillStatusField_T {
            }
            interface PriceField_S {
            }
            type PriceField_ST = AmountField_S & PriceField_S;
            interface PriceField_C extends PriceField_ST {
                new():PriceField;
            }
            interface PriceField$ {
            }
            type PriceField_T = AmountField & PriceField$;
            interface PriceField extends PriceField_T {
            }
            interface AbstractRefBillField_S {
                setDisplayPropCtl(ctlRet:$.java.util.Map,displayProp:string,type_arg:string,con:string):void;
            }
            type AbstractRefBillField_ST = AbstractRefBillField_S & IRefBillField_S & kd.bos.metadata.entity.commonfield.Field_S;
            interface AbstractRefBillField_C extends AbstractRefBillField_ST {
                new():AbstractRefBillField;
            }
            interface AbstractRefBillField$ {
                /**
                 * @return F7是否添加使用状态=ResManager.loadKDString("启用", "608612939238212608", SubSystemType.SL)
                 */
                isShowOnlyAudited():boolean;
                setShowFrequent(isShowFrequent:boolean):void;
                /**
                 * 设置基础资料控制组织的字段的标识
                 *
                 * @param orgFieldId 基础资料控制组织的字段的标识
                 */
                setOrgFieldId(orgFieldId:string):void;
                setBasedataEditStyle(basedataEditStyle:number):void;
                /**
                 * 设置基础资料的移动列表
                 *
                 * @param mobileList 基础资料的移动列表
                 */
                setMobileList(mobileList:string):void;
                /**
                 * 获取基础资料控制组织的字段的标识
                 *
                 * @return 基础资料控制组织的字段的标识
                 */
                getOrgFieldId():string;
                /**
                 * 获取被设置为编码的属性
                 *
                 * @return the numberProp该字段的KEY
                 */
                getNumberProp():string;
                isEditRefProp():boolean;
                isOpenFuzzyQuery():boolean;
                getBasedataEditStyle():number;
                /**
                 * 获取为空提示的内容
                 *
                 * @return 为空提示的内容
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置为编码的属性
                 *
                 * @param numberProp the numberProp to set
                 */
                setNumberProp(numberProp:string):void;
                /**
                 * 设置显示属性的key
                 *
                 * @param editSearchProp
                 */
                setEditSearchProp(editSearchProp:string):void;
                getBasedataBtnIcon():string;
                /**
                 * 显示风格 0：默认，1：下拉
                 *
                 * @return
                 */
                getDisplayStyle():number;
                setBasedataBtnIcon(basedataBtnIcon:string):void;
                getEditSearchProp():string;
                setBillEntityId(billEntityId:string):void;
                setLayoutId(layoutId:string):void;
                /**
                 * 设置显示属性的key
                 *
                 * @param displayProp
                 */
                setDisplayProp(displayProp:string):void;
                /**
                 * 获取该基础资料的移动列表
                 *
                 * @return 移动列表
                 */
                getMobileList():string;
                getLayoutId():string;
                setEditRefProp(editRefProp:boolean):void;
                /**
                 * 获取引用的单据的实体元数据
                 *
                 * @return 引用的基础资料的实体元数据
                 */
                getRefBillEntityMeta():EntityMetadata;
                /**
                 * 获取设置的默认显示属性，默认为显示“单据编码”属性
                 *
                 * @return 名称属性的KEY
                 */
                getDisplayProp():string;
                setDisplayStyle(displayStyle:number):void;
                setShowOnlyAudited(showOnlyAudited:boolean):void;
                /**
                 * 设置过滤条件
                 *
                 * @param filter 过滤条件
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                setOpenFuzzyQuery(isOpenFuzzyQuery:boolean):void;
                isShowFrequent():boolean;
                /**
                 * 设置为空提示
                 *
                 * @param emptyText 为空提示的字符串
                 */
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type AbstractRefBillField_T = AbstractRefBillField$ & IRefBillField & kd.bos.metadata.entity.commonfield.Field;
            interface AbstractRefBillField extends AbstractRefBillField_T {
            }
            interface ParentBasedataField_S {
            }
            type ParentBasedataField_ST = GroupField_S & ParentBasedataField_S;
            interface ParentBasedataField_C extends ParentBasedataField_ST {
                new():ParentBasedataField;
            }
            interface ParentBasedataField$ {
                getLongNumberDLM():string;
                setShowTreeNow(showTreeNow:boolean):void;
                setLongNumberDLM(longNumberDLM:string):void;
                isShowTreeNow():boolean;
            }
            type ParentBasedataField_T = GroupField & ParentBasedataField$;
            interface ParentBasedataField extends ParentBasedataField_T {
            }
            interface CreaterField_S {
            }
            type CreaterField_ST = CreaterField_S & UserField_S;
            interface CreaterField_C extends CreaterField_ST {
                new():CreaterField;
            }
            interface CreaterField$ {
            }
            type CreaterField_T = CreaterField$ & UserField;
            interface CreaterField extends CreaterField_T {
            }
            interface AbstractBasedataField_S {
                setDisplayPropCtl(ctlRet:$.java.util.Map,displayProp:string,type_arg:string,con:string):void;
            }
            type AbstractBasedataField_ST = AbstractBasedataField_S & IBasedataField_S & kd.bos.metadata.entity.commonfield.Field_S;
            interface AbstractBasedataField_C extends AbstractBasedataField_ST {
                new():AbstractBasedataField;
            }
            interface AbstractBasedataField$ {
                setBaseEntityId(baseEntityId:string):void;
                getEditSearchProp():string;
                setBasedataEditStyle(basedataEditStyle:number):void;
                setBasedataBtnIcon(basedataBtnIcon:string):void;
                /**
                 * 获取被设置为编码的属性
                 *
                 * @return the numberProp该字段的KEY
                 */
                getNumberProp():string;
                setDefValueDesign(defValueDesign:kd.bos.metadata.entity.fielddefvalue.DefValueDesign):void;
                getBasedataEditStyle():number;
                /**
                 * 获取引用的基础资料的实体元数据
                 *
                 * @return 引用的基础资料的实体元数据
                 */
                getRefBaseEntityMeta():EntityMetadata;
                getBasedataBtnIcon():string;
                /**
                 * 获取基础资料控制组织的字段的标识
                 *
                 * @return 基础资料控制组织的字段的标识
                 */
                getOrgFieldId():string;
                setOpenFuzzyQuery(isOpenFuzzyQuery:boolean):void;
                getDefValueDesign():kd.bos.metadata.entity.fielddefvalue.DefValueDesign;
                isMultiLine():boolean;
                getLayoutId():string;
                isOpenFuzzyQuery():boolean;
                /**
                 * 设置显示属性的key
                 *
                 * @param editSearchProp
                 */
                setEditSearchProp(editSearchProp:string):void;
                setShowUsed(showUsed:boolean):void;
                isEditRefProp():boolean;
                /**
                 * 设置为编码的属性
                 *
                 * @param numberProp the numberProp to set
                 */
                setNumberProp(numberProp:string):void;
                /**
                 * 获取该基础资料的移动列表
                 *
                 * @return 移动列表
                 */
                getMobileList():string;
                /**
                 * 设置为空提示
                 *
                 * @param emptyText 为空提示的字符串
                 */
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置过滤条件
                 *
                 * @param filter 过滤条件
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 设置基础资料的移动列表
                 *
                 * @param mobileList 基础资料的移动列表
                 */
                setMobileList(mobileList:string):void;
                setMultiLine(multiLine:boolean):void;
                setDisplayStyle(displayStyle:number):void;
                /**
                 * 获取字段缺省值
                 *
                 * @return the defValue 缺省值
                 */
                getDefValue():string;
                /**
                 * 显示风格 0：默认，1：下拉
                 *
                 * @return
                 */
                getDisplayStyle():number;
                /**
                 * 获取为空提示的内容
                 *
                 * @return 为空提示的内容
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @return F7是否添加使用状态=ResManager.loadKDString("启用", "608612939238212608", SubSystemType.SL)
                 */
                isShowUsed():boolean;
                setShowFrequent(isShowFrequent:boolean):void;
                setLayoutId(layoutId:string):void;
                setEditRefProp(editRefProp:boolean):void;
                isShowFrequent():boolean;
                /**
                 * 设置缺省值
                 *
                 * @param defValue the defValue to set 缺省值
                 */
                setDefValue(defValue:string):void;
                /**
                 * 获取设置的默认显示属性，默认为显示“名称”属性
                 *
                 * @return 名称属性的KEY
                 */
                getDisplayProp():string;
                /**
                 * 设置基础资料控制组织的字段的标识
                 *
                 * @param orgFieldId 基础资料控制组织的字段的标识
                 */
                setOrgFieldId(orgFieldId:string):void;
                /**
                 * 设置显示属性的key
                 *
                 * @param displayProp
                 */
                setDisplayProp(displayProp:string):void;
            }
            type AbstractBasedataField_T = AbstractBasedataField$ & IBasedataField & kd.bos.metadata.entity.commonfield.Field;
            interface AbstractBasedataField extends AbstractBasedataField_T {
            }
            interface ModifierField_S {
            }
            type ModifierField_ST = ModifierField_S & UserField_S;
            interface ModifierField_C extends ModifierField_ST {
                new():ModifierField;
            }
            interface ModifierField$ {
            }
            type ModifierField_T = ModifierField$ & UserField;
            interface ModifierField extends ModifierField_T {
            }
            interface IRefBillField_S {
            }
            interface IRefBillField_C extends IRefBillField_S {
            }
            interface IRefBillField$ {
                getBasedataTypeEnum():$.kd.bos.entity.property.BasedataTypeEnum;
                getRuntimeRefProps():$.java.util.List;
                getRuntimeRefProps(refProps:$.java.util.List):$.java.util.List;
                addRefProps?(refObjectProps:$.java.util.Map,billEntityId:string,runtimeRefProps:$.java.util.List):void;
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                addRefBill?(refObjectProps:$.java.util.Map):void;
                buildBaseDadaFieldFilter?(metas:$.java.util.List):void;
                getBillEntityId():string;
                /**
                 * 创建实体节点树
                 *
                 * @param isAllNode
                 *            是否包括所有节点
                 * @param level
                 *            引用基础资料层级
                 * @return
                 */
                createEntityTreeNodes(isAllNode:boolean,level:number):$.java.util.List;
                getKey():string;
                createRuntimeEntityMeta():RuntimeEntityMeta;
                getRefProps():$.java.util.List;
            }
            type IRefBillField_T = IRefBillField$;
            interface IRefBillField extends IRefBillField_T {
            }
            interface CityField_S {
            }
            type CityField_ST = BasedataField_S & CityField_S;
            interface CityField_C extends CityField_ST {
                new():CityField;
            }
            interface CityField$ {
                /**
                 * @param locate
                 *            the locate to set
                 */
                setLocate(locate:boolean):void;
                /**
                 * @return the locate
                 */
                isLocate():boolean;
            }
            type CityField_T = BasedataField & CityField$;
            interface CityField extends CityField_T {
            }
            interface CreateDateField_S {
            }
            type CreateDateField_ST = CreateDateField_S & kd.bos.metadata.entity.commonfield.DateTimeField_S;
            interface CreateDateField_C extends CreateDateField_ST {
                new():CreateDateField;
            }
            interface CreateDateField$ {
            }
            type CreateDateField_T = CreateDateField$ & kd.bos.metadata.entity.commonfield.DateTimeField;
            interface CreateDateField extends CreateDateField_T {
            }
            interface ItemClassTypeField_S {
            }
            type ItemClassTypeField_ST = ItemClassTypeField_S & kd.bos.metadata.entity.commonfield.ComboField_S;
            interface ItemClassTypeField_C extends ItemClassTypeField_ST {
                new():ItemClassTypeField;
            }
            interface ItemClassTypeField$ {
                /**
                 * 获取元素引用对应基础资料的属性，可为多个
                 *
                 * @return 引用属性的集合
                 */
                getItemTypes():$.java.util.List;
                getRefBasedatas():$.java.util.List;
            }
            type ItemClassTypeField_T = ItemClassTypeField$ & kd.bos.metadata.entity.commonfield.ComboField;
            interface ItemClassTypeField extends ItemClassTypeField_T {
            }
            interface ModifyDateField_S {
            }
            type ModifyDateField_ST = ModifyDateField_S & kd.bos.metadata.entity.commonfield.DateTimeField_S;
            interface ModifyDateField_C extends ModifyDateField_ST {
                new():ModifyDateField;
            }
            interface ModifyDateField$ {
            }
            type ModifyDateField_T = ModifyDateField$ & kd.bos.metadata.entity.commonfield.DateTimeField;
            interface ModifyDateField extends ModifyDateField_T {
            }
            interface AmountField_S {
            }
            type AmountField_ST = AmountField_S & kd.bos.metadata.entity.commonfield.DecimalField_S & kd.bos.metadata.entity.commonfield.IPrivacyField_S;
            interface AmountField_C extends AmountField_ST {
                new():AmountField;
            }
            interface AmountField$ {
                /**
                 * 设置货币字段的id
                 *
                 * @param currencyFieldId
                 *            货币字段的id
                 */
                setCurrencyFieldId(currencyFieldId:string):void;
                setAmountPrecisionType(amountPrecisionType:number):void;
                getScaleByPrecisionType():number;
                getAmountPrecisionType():number;
                setPrivacyType(privacyType:number):void;
                /**
                 * 获取货币字段的id
                 *
                 * @return 获取货币字段的id
                 */
                getCurrencyFieldId():string;
                getPrecisionByPrecisionType():number;
            }
            type AmountField_T = AmountField$ & kd.bos.metadata.entity.commonfield.DecimalField & kd.bos.metadata.entity.commonfield.IPrivacyField;
            interface AmountField extends AmountField_T {
            }
            interface FlexField_S {
            }
            type FlexField_ST = FlexField_S & kd.bos.metadata.entity.commonfield.Field_S;
            interface FlexField_C extends FlexField_ST {
                new():FlexField;
            }
            interface FlexField$ {
                setShowFrequent(isShowFrequent:boolean):void;
                setRefBaseFieldId(refBaseFieldId:string):void;
                getFlexType():number;
                createDynamicProperty():$.kd.bos.entity.property.FlexProp;
                isShowFrequent():boolean;
                setEmptyText(value:$.kd.bos.dataentity.entity.LocaleString):void;
                getRefBaseFieldId():string;
                setFlexType(flexType:number):void;
                /**
                 * 获取为空提示信息
                 *
                 * @return 为空提示信息
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
            }
            type FlexField_T = FlexField$ & kd.bos.metadata.entity.commonfield.Field;
            interface FlexField extends FlexField_T {
            }
            interface ExchangeRateField_S {
            }
            type ExchangeRateField_ST = ExchangeRateField_S & kd.bos.metadata.entity.commonfield.DecimalField_S;
            interface ExchangeRateField_C extends ExchangeRateField_ST {
                new():ExchangeRateField;
            }
            interface ExchangeRateField$ {
                setExRateDateFieldId(exRateDateFieldId:string):void;
                setExRateQuotationId(exRateQuotationId:string):void;
                setOriginalCurrencyFieldId(originalCurrencyFieldId:string):void;
                setTargetCurrencyFieldId(targetCurrencyFieldId:string):void;
                getTargetCurrencyFieldId():string;
                getExRateTypeFieldId():string;
                getOriginalCurrencyFieldId():string;
                setExRateTypeFieldId(exRateTypeFieldId:string):void;
                getExRateDateFieldId():string;
                getExRateQuotationId():string;
            }
            type ExchangeRateField_T = ExchangeRateField$ & kd.bos.metadata.entity.commonfield.DecimalField;
            interface ExchangeRateField extends ExchangeRateField_T {
            }
            interface PrintUserField_S {
            }
            type PrintUserField_ST = $.kd.bos.metadata.entity.businessfield.UserField & PrintUserField_S;
            interface PrintUserField_C extends PrintUserField_ST {
                new():PrintUserField;
            }
            interface PrintUserField$ {
            }
            type PrintUserField_T = $.kd.bos.metadata.entity.businessfield.UserField & PrintUserField$;
            interface PrintUserField extends PrintUserField_T {
            }
            interface PrintTimeField_S {
            }
            type PrintTimeField_ST = $.kd.bos.metadata.entity.commonfield.DateTimeField & PrintTimeField_S;
            interface PrintTimeField_C extends PrintTimeField_ST {
                new():PrintTimeField;
            }
            interface PrintTimeField$ {
            }
            type PrintTimeField_T = $.kd.bos.metadata.entity.commonfield.DateTimeField & PrintTimeField$;
            interface PrintTimeField extends PrintTimeField_T {
            }
        }
        namespace kd.bos.metadata.entity.businessfield.billstatusfield{
            interface StatusItem_S {
            }
            type StatusItem_ST = $.kd.bos.entity.IIsvFlag & StatusItem_S;
            interface StatusItem_C extends StatusItem_ST {
                new():StatusItem;
            }
            interface StatusItem$ {
                /**
                 * 设置是否清空操作字段
                 *
                 * @param ClearOperationKey 是否清空
                 */
                setClearOperationKey(ClearOperationKey:boolean):void;
                /**
                 * @return 操作日期字段
                 */
                getOperationDateKey():string;
                /**
                 * @return 优先级
                 */
                getLevelId():number;
                /**
                 * 设置状态图片
                 *
                 * @param statusimage 状态图片
                 */
                setStatusimage(statusimage:string):void;
                /**
                 * 设置优先级 该属性实际未用到
                 *
                 * @param levelId 优先级
                 */
                setLevelId(levelId:number):void;
                /**
                 * @return 操作人字段
                 */
                getOperationerKey():string;
                /**
                 * 获取状态图片
                 *
                 * @return 状态图片
                 */
                getStatusimage():string;
                /**
                 * 设置状态值
                 *
                 * @param statusKey 状态值
                 */
                setStatusKey(statusKey:string):void;
                /**
                 * 设置状态名
                 *
                 * @param statusName 状态名
                 */
                setStatusName(statusName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置操作日期字段
                 *
                 * @param operationDateKey 操作日期字段
                 */
                setOperationDateKey(operationDateKey:string):void;
                /**
                 * 获取状态名
                 *
                 * @return 状态名
                 */
                getStatusName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置操作人字段
                 *
                 * @param operationerKey 操作人字段
                 */
                setOperationerKey(operationerKey:string):void;
                /**
                 * 获取状态值
                 *
                 * @return  状态值
                 */
                getStatusKey():string;
                getId():string;
                /**
                 * @return 是否清空操作字段
                 */
                getClearOperationKey():boolean;
                /**
                 * 设置主键
                 *
                 * @param id 主键
                 */
                setId(id:string):void;
            }
            type StatusItem_T = $.kd.bos.entity.IIsvFlag & StatusItem$;
            interface StatusItem extends StatusItem_T {
            }
        }
        namespace kd.bos.metadata.entity.commonfield{
            interface IntegerField_S {
            }
            type IntegerField_ST = DecimalField_S & IntegerField_S;
            interface IntegerField_C extends IntegerField_ST {
                new():IntegerField;
            }
            interface IntegerField$ {
            }
            type IntegerField_T = DecimalField & IntegerField$;
            interface IntegerField extends IntegerField_T {
            }
            interface LongPressItem_S {
            }
            type LongPressItem_ST = $.java.io.Serializable & LongPressItem_S;
            interface LongPressItem_C extends LongPressItem_ST {
                new():LongPressItem;
                new(id:string,key:string,name:string,opKey:string,visible:string,lock:string):LongPressItem;
                new(id:string,key:string,name:string,opKey:string,visible:string,lock:string,index:number):LongPressItem;
            }
            interface LongPressItem$ {
                setKey(key:string):void;
                getOpKey():string;
                getIndex():number;
                getLock():string;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                setOpKey(opKey:string):void;
                setVisible(visible:string):void;
                getId():string;
                createControl():$.java.util.Map;
                setId(id:string):void;
                getKey():string;
                getVisible():string;
                setLock(lock:string):void;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                setIndex(index:number):void;
            }
            type LongPressItem_T = $.java.io.Serializable & LongPressItem$;
            interface LongPressItem extends LongPressItem_T {
            }
            interface DateTimeField_S {
            }
            type DateTimeField_ST = DateTimeField_S & Field_S & IPrivacyField_S & kd.bos.entity.format.IUseRegion_S;
            interface DateTimeField_C extends DateTimeField_ST {
                new():DateTimeField;
            }
            interface DateTimeField$ {
                getRelateOrg():string;
                getDesignMinDate():Date;
                setDefValueDesign(defValueDesign:kd.bos.metadata.entity.fielddefvalue.DefValueDesign):void;
                setRelateOrg(relateOrg:string):void;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                createDynamicProperty():$.kd.bos.entity.property.DateTimeProp;
                /**
                 * 设置日期的最小值
                 *
                 * @param min 日期的最小值
                 */
                setMinDate(min:string):void;
                setRegionType(regionType:number):void;
                /**
                 * 设置日期的缺省值
                 *
                 * @param defValue 设置日期的缺省值
                 */
                setDefValue(defValue:string):void;
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置日期的最大值
                 *
                 * @return 日期的最大值
                 */
                getMaxDate():string;
                buildDesignDefValue():$.kd.bos.entity.property.FieldDefValue;
                setOptionalRange(optionalRange:string):void;
                setTimeZoneTransType(timeZoneTransType:number):void;
                getDesignMaxDate():Date;
                /**
                 * 获取日期的最小值
                 *
                 * @return 日期的最小值
                 */
                getMinDate():string;
                setPrivacyType(privacyType:number):void;
                getRegionType():number;
                /**
                 * 设置日期的最大值
                 *
                 * @param max 日期的最大值
                 */
                setMaxDate(max:string):void;
                getOptionalRange():string;
                getTimeZoneTransType():number;
                /**
                 * 日期默认值设置，高级版，记录原始的配置内容，能据此还原设计
                 *
                 * @return
                 * @remark 日期字段默认值，有两个属性
                 * 1. defValue：派生自Field，简单默认值，存储直接可用的字段值，如文本值、下拉选项等，不需要经过转换；
                 * 2. defValueDesign：本类新增加的，用来存储函数级默认值配置，如指定日期函数，有多个参数，设计时需要可还原，运行时需要转换；
                 * <p>
                 * 后续其他字段也有类似的需求时，可以参照本类，增加defValueDesign属性，与简单默认值分开
                 */
                getDefValueDesign():kd.bos.metadata.entity.fielddefvalue.DefValueDesign;
                /**
                 * 日期的缺省值设置，基础版，只支持常量、变量
                 *
                 * @return the defaultValue 日期的缺省值
                 */
                getDefValue():string;
            }
            type DateTimeField_T = DateTimeField$ & Field & IPrivacyField & kd.bos.entity.format.IUseRegion;
            interface DateTimeField extends DateTimeField_T {
            }
            interface SignatureField_S {
            }
            type SignatureField_ST = Field_S & SignatureField_S & kd.bos.mservice.svc.picture.IPictureField_S;
            interface SignatureField_C extends SignatureField_ST {
                new():SignatureField;
            }
            interface SignatureField$ {
                /**
                 * 设置是否强制手签
                 *
                 * @param mandatoryHandSigning
                 */
                setMandatoryHandSigning(mandatoryHandSigning:boolean):void;
                /**
                 * 是否强制手签，开启时不会自动加载个人签名
                 *
                 * @return
                 */
                isMandatoryHandSigning():boolean;
                createDynamicProperty():kd.bos.entity.property.SignatureProp;
            }
            type SignatureField_T = Field & SignatureField$ & kd.bos.mservice.svc.picture.IPictureField;
            interface SignatureField extends SignatureField_T {
            }
            interface Field_S {
            }
            type Field_ST = EntityItem_S & Field_S & IChildElement_S & IDBField_S & IMultiDBField_S & kd.bos.metadata.balance.IBalanceField_S;
            interface Field_C extends Field_ST {
                new():Field;
            }
            interface Field$ {
                setFieldName(fieldName:string):void;
                setCompareTypeConfig(compareTypeConfig:$.kd.bos.entity.CompareTypeConfig):void;
                createEditor(formMetadata:kd.bos.metadata.form.FormMetadata):$.java.util.Map;
                /**
                 * 获取字段持久化的时候，对应的表名字
                 *
                 * @param entity 字段
                 * @return 数据库对应的表名
                 */
                getTableName(entity:Entity):string;
                /**
                 * 字段必录性获取
                 *
                 * @return 返回是否必须录入，如果为非0，表示必须录入
                 */
                isMustInput():boolean;
                setEncrypt(encrypt:boolean):void;
                getMustInputCondition():$.java.util.Map;
                setTableName(tableName:string):void;
                /**
                 * 设置字段是否支持轻分析
                 *
                 * @param value 是否支持轻分析
                 */
                setSupportQingAnalysis(value:boolean):void;
                /**
                 * 获取字段所在拆分表的后缀
                 *
                 * @return 所在拆分表后缀
                 */
                getSuffix():string;
                /**
                 * @param binderMap  :绑定Map
                 * @param fieldApKey ：对应的设计时控件Key
                 * @see FormMetadata#bindEntityMetadata(kd.bos.metadata.entity.EntityMetadata)
                 */
                addBinderMap(binderMap:$.java.util.Map,fieldApKey:string):void;
                getDefValueType():number;
                setMustInputType(mustInputType:number):void;
                /**
                 * 数值是否允许保存为空
                 *
                 * @return 是否允许为空
                 */
                isEnableNull():boolean;
                setEnableNull(enableNull:boolean):void;
                setSuffix(value:string):void;
                /**
                 * 在报表列表中，字段对应的列类型，即生成的ReportColumn.getFieldType值
                 * @return
                 */
                getRptColFieldType():string;
                setMustInputCondition(mustInputCondition:$.java.util.Map):void;
                /**
                 * 创建实体控件树节点
                 */
                createEntityTreeNode():$.java.util.Map;
                setMustInput(value:boolean):void;
                /**
                 * 获取字段是否支持轻分析
                 *
                 * @return 是否支持
                 */
                isSupportQingAnalysis():boolean;
                /**
                 * 创建运行时，字段的属性编辑器
                 *
                 * @return 属性
                 */
                createEditor():$.java.util.Map;
                getCompareTypeConfig():$.kd.bos.entity.CompareTypeConfig;
                getCompareTypes():$.java.util.List;
                /**
                 * 获取所有的功能控制设置
                 *
                 * @remark 禁止在具体字段的构造函数中，调整功能控制项的默认值，否则，会导致序列化出错！！！
                 * <p>
                 * 错误示例：
                 * 1. features.copyable 默认为 true；如果日期字段在构造函数中，改为false；
                 * 2. 设计时，用户设置日期字段features.copyable = true；
                 * 3. 序列化features时，copyable为true，与默认值相同，不序列化copyable属性；
                 * 4. 如果features全部属性值，都与默认值相同，则不序列化features对象本身；
                 * 5. 反序列化，调用字段Field构造函数，自动创建features对象，各属性都是默认值；
                 * 6. 日期字段重写了构造函数，修改features对象的copyable值为false
                 * 7. 反序列化Features属性时，因为features没有内容，自动略过
                 * 8. 最终，业务字段的features.copyable选项为false，与用户的选择值true不同。
                 * <p>
                 * 解决方案：
                 * 修改字段元模型，调整字段的Features属性定义，给编辑器Editor属性，设置value内容，调整各选项默认值
                 * 参考DateTimeField的Features属性定义
                 * <p>
                 * 参考value属性值：
                 * "value":{"AllowVoucher":false,"BulkEditable":true,"ConvertTote":true,"Copyable":false,"Exportable":true,"Importable":true,"MultiFillable":false,"SeriesNewTote":false,"_Type_":"Features"}
                 * <p>
                 * 选项默认值设置策略：
                 * 1. 大多数字段支持的选项，默认为true，如允许复制，只有单据状态等少量字段不支持，则默认为true，通过设置个别字段Feartures属性元模型，修改默认值；
                 * 2. 单据头单据体分别支持不同的选项，如允许批量填充，则默认为true，在单据头字段上，隐藏这个选项，运行时也不会用到
                 * 3. 专为个别字段类型支持的选项，如允许批量f7，只有基础资料字段可用，默认为true，其他不需要的字段隐藏这个选项，运行时也不会用到
                 * 4. 允许用户修改的选项，通过默认值来控制初始值；不允许用户修改的选项，则在设计时隐藏选项，保留默认值，但在运行时强行忽略选项值
                 */
                getFeatures():$.kd.bos.entity.Features;
                isGroupControl():boolean;
                /**
                 * 获取默认比较符
                 *
                 * @return 字段默认的比较符
                 */
                getCompareGroupID():string;
                /**
                 * 创建实体控件树节点
                 *
                 * @param isAllNode 是否包括没有字段名的字段
                 * @return List
                 * @remark 一个字段，在列表中可能会有多个列； 如基础资料字段，会有编码、名称列； 因此，需要输出列表字段元素集合
                 */
                createEntityTreeNodes(isAllNode:boolean):$.java.util.List;
                /**
                 * @return 返回关联的 字段定义Id
                 */
                getLibFieldId():string;
                /**
                 * 功能控制设置
                 *
                 * @param features 功能控制设置
                 */
                setFeatures(features:$.kd.bos.entity.Features):void;
                buildServerEditor():$.kd.bos.form.field.FieldEdit;
                /**
                 * @param libFieldId 字段中心定义字段id
                 */
                setLibFieldId(libFieldId:string):void;
                /**
                 * 获取字段特有的锁定规则
                 *
                 * @return 字段特有的锁定规则
                 */
                getLock():string;
                setDefValueType(defValueType:number):void;
                getMustInputType():number;
                /**
                 * @return 获取对应的字段
                 */
                getControlField():this;
                setGroupControl(isGroupControl:boolean):void;
            }
            type Field_T = EntityItem & Field$ & IChildElement & IDBField & IMultiDBField & kd.bos.metadata.balance.IBalanceField;
            interface Field extends Field_T {
            }
            interface IMultiDBField_S {
            }
            interface IMultiDBField_C extends IMultiDBField_S {
            }
            interface IMultiDBField$ {
                getDBFields():$.java.util.List;
            }
            type IMultiDBField_T = IMultiDBField$;
            interface IMultiDBField extends IMultiDBField_T {
            }
            interface RadioField_S {
            }
            type RadioField_ST = Field_S & RadioField_S;
            interface RadioField_C extends RadioField_ST {
                new():RadioField;
            }
            interface RadioField$ {
                setGroup(group:string):void;
                getItems():string;
                getGroup():string;
                setItems(items:string):void;
            }
            type RadioField_T = Field & RadioField$;
            interface RadioField extends RadioField_T {
            }
            interface RadioGroupField_S {
            }
            type RadioGroupField_ST = ComboField_S & RadioGroupField_S;
            interface RadioGroupField_C extends RadioGroupField_ST {
                new():RadioGroupField;
            }
            interface RadioGroupField$ {
                /**
                 * 字段风格 0：编辑器 1：标签
                 *
                 * @return 字段风格
                 */
                getMobFieldStyle():number;
                /**
                 * 设置字段风格
                 *
                 * @param mobFieldStyle
                 *            字段风格
                 */
                setMobFieldStyle(mobFieldStyle:number):void;
            }
            type RadioGroupField_T = ComboField & RadioGroupField$;
            interface RadioGroupField extends RadioGroupField_T {
            }
            interface CheckBoxField_S {
            }
            type CheckBoxField_ST = CheckBoxField_S & Field_S;
            interface CheckBoxField_C extends CheckBoxField_ST {
                new():CheckBoxField;
            }
            interface CheckBoxField$ {
                /**
                 * 获取复选框的风格
                 *
                 * @return 缺省或者标题选项
                 */
                getShowStyle():number;
                /**
                 * @param defValue the defaultValue to set
                 */
                setDefValue(defValue:boolean):void;
                isHideBatchCheck():boolean;
                setHideBatchCheck(hideBatchCheck:boolean):void;
                /**
                 * 设置复选框风格
                 *
                 * @param showStyle 复选框风格
                 */
                setShowStyle(showStyle:number):void;
                /**
                 * @return the defaultValue
                 */
                getDefValue():boolean;
            }
            type CheckBoxField_T = CheckBoxField$ & Field;
            interface CheckBoxField extends CheckBoxField_T {
            }
            interface TimeRangeField_S {
            }
            type TimeRangeField_ST = Field_S & TimeRangeField_S;
            interface TimeRangeField_C extends TimeRangeField_ST {
                new():TimeRangeField;
            }
            interface TimeRangeField$ {
                setStartDateFieldKey(startDateFieldKey:string):void;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                setStartDateFieldName(startDateFieldName:string):void;
                setEndDateFieldKey(endDateFieldKey:string):void;
                getEndDateFieldKey():string;
                getEndDateFieldName():string;
                getDefValue():string;
                getStartDateFieldName():string;
                setDefValue(defValue:string):void;
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                setEndDateFieldName(endDateFieldName:string):void;
                getStartDateFieldKey():string;
            }
            type TimeRangeField_T = Field & TimeRangeField$;
            interface TimeRangeField extends TimeRangeField_T {
            }
            interface EmailField_S {
            }
            type EmailField_ST = EmailField_S & Field_S;
            interface EmailField_C extends EmailField_ST {
                new():EmailField;
            }
            interface EmailField$ {
                /**
                 * 获取最大编辑长度
                 *
                 * @return 最大编辑长度，默认为70
                 */
                getMaxLength():number;
                /**
                 * 内容显示为密码
                 *
                 * @return 是否内容显示为密码
                 */
                isPassword():boolean;
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置最大编辑长度
                 *
                 * @param value 最大编辑长度
                 */
                setMaxLength(value:number):void;
                createDynamicProperty():$.kd.bos.entity.property.TextProp;
                getDefValue():string;
                setPassword(value:boolean):void;
                setDefValue(defValue:string):void;
            }
            type EmailField_T = EmailField$ & Field;
            interface EmailField extends EmailField_T {
            }
            interface StepperField_S {
            }
            type StepperField_ST = DecimalField_S & StepperField_S;
            interface StepperField_C extends StepperField_ST {
                new():StepperField;
            }
            interface StepperField$ {
                getStepValue():$.java.math.BigDecimal;
                getStepperValueType():number;
                getMobStepperStyle():number;
                setStepperStyle(stepperStyle:number):void;
                setStepValue(stepValue:$.java.math.BigDecimal):void;
                getStepperPattern():number;
                setStepperPattern(stepperPattern:number):void;
                setStepperValueType(stepperValueType:number):void;
                setMobStepperStyle(mobStepperStyle:number):void;
                getStepperStyle():number;
            }
            type StepperField_T = DecimalField & StepperField$;
            interface StepperField extends StepperField_T {
            }
            interface TextField_S {
            }
            type TextField_ST = Field_S & IPrivacyField_S & TextField_S;
            interface TextField_C extends TextField_ST {
                new():TextField;
            }
            interface TextField$ {
                /**
                 * 是否是敏感信息
                 *
                 * @return 是否为敏感信息
                 */
                isSensitiveInfo():boolean;
                /**
                 * 获取不可编辑时显示提示
                 * @return 不可编辑时显示提示与否
                 */
                isShowTooltip():boolean;
                /**
                 * 获取默认值
                 *
                 * @return 默认值
                 */
                getDefValue():string;
                /**
                 * 获得最小编辑长度
                 *
                 * @return 最小编辑长度
                 */
                getMinLength():number;
                setPrivacyType(privacyType:number):void;
                /**
                 * 获取内容显示为密码
                 *
                 * @return 为空提示信息
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                setPassword(value:boolean):void;
                /**
                 * 设置文本编辑风格
                 *
                 * @param editStyle 编辑风格
                 */
                setEditStyle(editStyle:number):void;
                isShowEye():boolean;
                getTextFormat():string;
                isYzjVoiceInput():boolean;
                /**
                 * 设置默认值
                 *
                 * @param defValue 默认值
                 */
                setDefValue(defValue:string):void;
                /**
                 * 内容显示为密码
                 *
                 * @return 是否内容显示为密码
                 */
                isPassword():boolean;
                setEmptyText(value:$.kd.bos.dataentity.entity.LocaleString):void;
                setSensitiveInfo(sensitiveInfo:boolean):void;
                getTextBtnIcon():string;
                setTextBtnIcon(textBtnIcon:string):void;
                setLockedEmptyTip(lockedEmptyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                getLockedEmptyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取最大编辑长度
                 *
                 * @return 最大编辑长度，默认为50
                 */
                getMaxLength():number;
                /**
                 * 获取文本的编辑风格 1.缺省 2.按钮 3.按钮加文本
                 *
                 * @return 三种风格的其中一种
                 */
                getEditStyle():number;
                setYzjVoiceInput(yzjVoiceInput:boolean):void;
                setTextFormat(textFormat:string):void;
                /**
                 * (non-Javadoc)
                 *
                 * @see kd.bos.metadata.entity.EntityItem#createDynamicProperty()
                 */
                createDynamicProperty():$.kd.bos.entity.property.TextProp;
                /**
                 * 设置最大编辑长度
                 *
                 * @param value 最大编辑长度
                 */
                setMaxLength(value:number):void;
                setShowEye(showEye:boolean):void;
                /**
                 * 设置最小编辑长度
                 *
                 * @param value 最小编辑长度
                 */
                setMinLength(value:number):void;
                /**
                 * 设置不可编辑时显示提示
                 *
                 * @param value 不可编辑时显示提示与否
                 */
                setShowTooltip(value:boolean):void;
            }
            type TextField_T = Field & IPrivacyField & TextField$;
            interface TextField extends TextField_T {
            }
            interface DecimalField_S {
            }
            type DecimalField_ST = DecimalField_S & Field_S & kd.bos.entity.format.IUseRegion_S;
            interface DecimalField_C extends DecimalField_ST {
                new():DecimalField;
            }
            interface DecimalField$ {
                getSummaryToField():$.kd.bos.entity.SummaryToField;
                setEmptyText(value:$.kd.bos.dataentity.entity.LocaleString):void;
                setLockedEmptyTip(lockedEmptyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 输出边界括号"]ResManager.loadKDString("或", "608612903368524800", SubSystemType.SL))"，代表是否包含边界值：如[1,100]包含边界值1,100；而(1,100)则不包含边界值1,100
                 *
                 * @return
                 */
                getMaxDataScopeMark():string;
                setSummaryToField(summaryToField:$.kd.bos.entity.SummaryToField):void;
                getMinDataScope():string;
                isNeedFormat():boolean;
                /**
                 * 为空提示
                 *
                 * @return
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取缺省值
                 *
                 * @return 缺省值
                 */
                getDefValue():$.java.math.BigDecimal;
                /**
                 * 数值为零是否显示
                 *
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置的数据范围
                 *
                 * @param dataScope
                 */
                setDataScope(dataScope:string):void;
                /**
                 * 获取设置的数据范围
                 *
                 * @return 设置的数据范围
                 */
                getDataScope():string;
                /**
                 * 设置小数的默认精度
                 *
                 * @param precision 默认精度
                 */
                setPrecision(precision:number):void;
                setZeroShow(zeroShow:boolean):void;
                getMaxDataScope():string;
                /**
                 * 设置小数点后面的精度
                 *
                 * @param scale
                 */
                setScale(scale:number):void;
                getLockedEmptyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置缺省值
                 *
                 * @param defValue 缺省值
                 */
                setDefValue(defValue:$.java.math.BigDecimal):void;
                /**
                 * 输出边界括号"[ResManager.loadKDString("或", "608612905054635008", SubSystemType.SL)("，代表是否包含边界值：如[1,100]包含边界值1,100；而(1,100)则不包含边界值1,100
                 *
                 * @return
                 */
                getMinDataScopeMark():string;
                setNeedFormat(isNeedFormat:boolean):void;
            }
            type DecimalField_T = DecimalField$ & Field & kd.bos.entity.format.IUseRegion;
            interface DecimalField extends DecimalField_T {
            }
            interface RichTextField_S {
            }
            type RichTextField_ST = Field_S & RichTextField_S;
            interface RichTextField_C extends RichTextField_ST {
                new():RichTextField;
            }
            interface RichTextField$ {
                /**
                 * 锁定时高度自适应
                 *
                 * @return
                 */
                isLockAutoHeight():boolean;
                setEmptyText(emptyText:string):void;
                /**
                 * 为空提示信息
                 *
                 * @return
                 */
                getEmptyText():string;
                setLockAutoHeight(lockAutoHeight:boolean):void;
            }
            type RichTextField_T = Field & RichTextField$;
            interface RichTextField extends RichTextField_T {
            }
            interface MulComboField_S {
            }
            type MulComboField_ST = ComboField_S & MulComboField_S;
            interface MulComboField_C extends MulComboField_ST {
                new():MulComboField;
            }
            interface MulComboField$ {
                setSelectedItemStyle(selectedItemStyle:string):void;
                getSelectedItemStyle():string;
            }
            type MulComboField_T = ComboField & MulComboField$;
            interface MulComboField extends MulComboField_T {
            }
            interface FormulaField_S {
            }
            type FormulaField_ST = Field_S & FormulaField_S;
            interface FormulaField_C extends FormulaField_ST {
                new():FormulaField;
            }
            interface FormulaField$ {
                getFormula():string;
                setFormula(formula:string):void;
            }
            type FormulaField_T = Field & FormulaField$;
            interface FormulaField extends FormulaField_T {
            }
            interface GeoPointField_S {
            }
            type GeoPointField_ST = Field_S & GeoPointField_S;
            interface GeoPointField_C extends GeoPointField_ST {
                new():GeoPointField;
            }
            interface GeoPointField$ {
                setLongitudeFieldName(longitudeFieldName:string):void;
                /**
                 * 获取为空提示信息
                 *
                 * @return 为空提示信息
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                getAddressFieldName():string;
                getLongitudeFieldName():string;
                setEmptyText(value:$.kd.bos.dataentity.entity.LocaleString):void;
                getLatitudeFieldName():string;
                setLatitudeFieldName(latitudeFieldName:string):void;
                setAddressFieldName(addressFieldName:string):void;
            }
            type GeoPointField_T = Field & GeoPointField$;
            interface GeoPointField extends GeoPointField_T {
            }
            interface ComboItem_S {
            }
            type ComboItem_ST = $.java.io.Serializable & $.kd.bos.entity.IIsvFlag & ComboItem_S;
            interface ComboItem_C extends ComboItem_ST {
                new():ComboItem;
                new(seq:number,caption:$.kd.bos.dataentity.entity.LocaleString,value:any):ComboItem;
                new(seq:number,caption:$.kd.bos.dataentity.entity.LocaleString,value:string):ComboItem;
                new(seq:number,caption:$.kd.bos.dataentity.entity.LocaleString,value:any,imageKey:any):ComboItem;
                new(seq:number,caption:$.kd.bos.dataentity.entity.LocaleString,value:string,imageKey:string):ComboItem;
                new(seq:number,caption:$.kd.bos.dataentity.entity.LocaleString,value:any,imageKey:any,visible:boolean):ComboItem;
            }
            interface ComboItem$ {
                setCaption(caption:$.kd.bos.dataentity.entity.LocaleString):void;
                getSeq():number;
                setValue(value:string):void;
                setSeq(seq:number):void;
                setDisable(disable:boolean):void;
                /**
                 * @return the imageKey
                 */
                getImageKey():string;
                getCaption():$.kd.bos.dataentity.entity.LocaleString;
                setItemVisible(itemVisible:boolean):void;
                getValue():string;
                /**
                 * @param imageKey the imageKey to set
                 */
                setImageKey(imageKey:string):void;
                isItemVisible():boolean;
                isDisable():boolean;
            }
            type ComboItem_T = $.java.io.Serializable & $.kd.bos.entity.IIsvFlag & ComboItem$;
            interface ComboItem extends ComboItem_T {
            }
            interface DateRangeField_S {
            }
            type DateRangeField_ST = DateRangeField_S & Field_S;
            interface DateRangeField_C extends DateRangeField_ST {
                new():DateRangeField;
            }
            interface DateRangeField$ {
                setEndDateFieldName(endDateFieldName:string):void;
                getRegionType():number;
                setStartDateFieldName(startDateFieldName:string):void;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                setRegionType(regionType:number):void;
                getEndDateFieldKey():string;
                setEndDateFieldKey(endDateFieldKey:string):void;
                getEndDateFieldName():string;
                getStartDateFieldKey():string;
                /**
                 * 设置日期的缺省值
                 *
                 * @param defValue 设置日期的缺省值
                 */
                setDefValue(defValue:string):void;
                getStartDateFieldName():string;
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 日期的缺省值设置，基础版，只支持常量、变量
                 *
                 * @return the defaultValue 日期的缺省值
                 */
                getDefValue():string;
                setStartDateFieldKey(startDateFieldKey:string):void;
                getQuickOptions():string;
                setQuickOptions(quickOptions:string):void;
            }
            type DateRangeField_T = DateRangeField$ & Field;
            interface DateRangeField extends DateRangeField_T {
            }
            interface ComboField_S {
            }
            type ComboField_ST = ComboField_S & Field_S & IPrivacyField_S;
            interface ComboField_C extends ComboField_ST {
                new():ComboField;
            }
            interface ComboField$ {
                setChangeListeners(changeListeners:string):void;
                setOptionDisplayMode(optionDisplayMode:string):void;
                setShowClearBtn(showClearBtn:boolean):void;
                setComboValueCheck(comboValueCheck:boolean):void;
                /**
                 * 选项显示方式：下拉列表该属性默认值为 combo
                 *
                 * @return
                 */
                getOptionDisplayMode():string;
                setPrivacyType(privacyType:number):void;
                /**
                 * @return 侦听此字段更改事件的字段，可有多个，逗号分隔
                 */
                getChangeListeners():string;
                getItems():$.java.util.List;
                /**
                 * @return the defaultValue
                 */
                getDefValue():string;
                getMaxLength():number;
                setMaxLength(maxLength:number):void;
                setEditable(editable:boolean):void;
                setItems(items:$.java.util.List):void;
                setShowDropDown(showDropDown:boolean):void;
                isShowClearBtn():boolean;
                isComboValueCheck():boolean;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                setEmptyText(value:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * @param defValue the defaultValue to set
                 */
                setDefValue(defValue:string):void;
            }
            type ComboField_T = ComboField$ & Field & IPrivacyField;
            interface ComboField extends ComboField_T {
            }
            interface TelephoneField_S {
            }
            type TelephoneField_ST = Field_S & TelephoneField_S;
            interface TelephoneField_C extends TelephoneField_ST {
                new():TelephoneField;
            }
            interface TelephoneField$ {
                createDynamicProperty():$.kd.bos.entity.property.TextProp;
                getDefValue():string;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                isValidateRule():boolean;
                setDefValue(defValue:string):void;
                setPassword(value:boolean):void;
                setValidateRule(validateRule:boolean):void;
                /**
                 * 内容显示为密码
                 *
                 * @return 是否内容显示为密码
                 */
                isPassword():boolean;
            }
            type TelephoneField_T = Field & TelephoneField$;
            interface TelephoneField extends TelephoneField_T {
            }
            interface TimeField_S {
            }
            type TimeField_ST = Field_S & TimeField_S;
            interface TimeField_C extends TimeField_ST {
                new():TimeField;
            }
            interface TimeField$ {
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                createDynamicProperty():$.kd.bos.entity.property.TimeProp;
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type TimeField_T = Field & TimeField$;
            interface TimeField extends TimeField_T {
            }
            interface AdminDivisionField_S {
            }
            type AdminDivisionField_ST = AdminDivisionField_S & Field_S;
            interface AdminDivisionField_C extends AdminDivisionField_ST {
                new():AdminDivisionField;
            }
            interface AdminDivisionField$ {
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * @return the defaultValue
                 */
                getDefValue():string;
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * @param defValue the defaultValue to set
                 */
                setDefValue(defValue:string):void;
            }
            type AdminDivisionField_T = AdminDivisionField$ & Field;
            interface AdminDivisionField extends AdminDivisionField_T {
            }
            interface BigIntField_S {
            }
            type BigIntField_ST = BigIntField_S & IntegerField_S;
            interface BigIntField_C extends BigIntField_ST {
                new():BigIntField;
            }
            interface BigIntField$ {
            }
            type BigIntField_T = BigIntField$ & IntegerField;
            interface BigIntField extends BigIntField_T {
            }
            interface IPrivacyField_S {
            }
            interface IPrivacyField_C extends IPrivacyField_S {
            }
            interface IPrivacyField$ {
                getPrivacyType():number;
            }
            type IPrivacyField_T = IPrivacyField$;
            interface IPrivacyField extends IPrivacyField_T {
            }
            interface LargeTextField_S {
            }
            type LargeTextField_ST = LargeTextField_S & TextField_S;
            interface LargeTextField_C extends LargeTextField_ST {
                new():LargeTextField;
            }
            interface LargeTextField$ {
                setEditingMode(editingMode:string):void;
                getTagFieldName():string;
                getTagPropertyName():string;
                /**
                 * 编辑模式
                 *
                 * @return
                 */
                getEditingMode():string;
            }
            type LargeTextField_T = LargeTextField$ & TextField;
            interface LargeTextField extends LargeTextField_T {
            }
            interface IDBField_S {
                readonly BIG_INT_NOTNULL:string;
                readonly ALTER_ADD_SQL:string;
                readonly NVARCHAR_DEFAULT_SQL:string;
                readonly COMMENT_KSQL:string;
                readonly ALTER_ADD_NCLOB_SQL:string;
                readonly BIG_INT:string;
                readonly NCLOB_NULL:string;
                genFieldDesc(field:IDBField):string;
                existsFieldInTableSchema(tableSchema:$.kd.bos.dataentity.metadata.database.DbMetadataTable,fieldName:string):boolean;
            }
            interface IDBField_C extends IDBField_S {
            }
            interface IDBField$ {
                generateFieldsComment?(tableName:string,fieldsCommentSql:$.java.util.List):void;
                addAlterTableField(sqlList:$.java.util.List,tableName:string,tableSchema:$.kd.bos.dataentity.metadata.database.DbMetadataTable,fieldsCommentSql:$.java.util.List):void;
                /**
                 * 字段长度，默认50
                 */
                getFieldLen?():number;
                /**
                 * 字段类型
                 */
                getFieldDBType():number;
                isEncrypt():boolean;
                /**
                 * 隐私字段必须实现IPrivacyField接口，并返回隐私类型
                 *
                 * @return ：true 是隐私字段，并且设置了隐私类型
                 */
                isPrivacyField?():boolean;
                /**
                 * 字段名称
                 */
                getFieldName():string;
                /**
                 * altertable调用，生成altertable语句
                 *
                 * @param sqlList：生成的预计列表
                 * @param tableSchema     ：现有表结构，外部传入
                 */
                addAlterTableField(sqlList:$.java.util.List,tableName:string,tableSchema:$.kd.bos.dataentity.metadata.database.DbMetadataTable):void;
                /**
                 * 字段精度,默认23
                 */
                getPrecision?():number;
                getCreateTableFieldDesc?():string;
                /**
                 * 字段总长度，默认10
                 */
                getScale?():number;
                /**
                 * 字段缺省值
                 */
                getDBDefValue?():string;
                getEncryptFieldName():string;
            }
            type IDBField_T = IDBField$;
            interface IDBField extends IDBField_T {
            }
            interface DateField_S {
            }
            type DateField_ST = DateField_S & DateTimeField_S;
            interface DateField_C extends DateField_ST {
                new():DateField;
            }
            interface DateField$ {
            }
            type DateField_T = DateField$ & DateTimeField;
            interface DateField extends DateField_T {
            }
            interface MuliLangTextField_S {
            }
            type MuliLangTextField_ST = MuliLangTextField_S & TextField_S;
            interface MuliLangTextField_C extends MuliLangTextField_ST {
                new():MuliLangTextField;
            }
            interface MuliLangTextField$ {
                setGL(gl:boolean):void;
                /**
                 * 是否支持多行
                 *
                 * @return 返回是否支持多行，如果为非0，表示支持多行
                 */
                isMutiLine():boolean;
                setMutiLine(value:boolean):void;
                /**
                 *  获取默认值
                 * @return
                 */
                getMultiDefValue():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否支持通用语言
                 *
                 * @return
                 */
                isGL():boolean;
                setMultiDefValue(multiDefValue:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type MuliLangTextField_T = MuliLangTextField$ & TextField;
            interface MuliLangTextField extends MuliLangTextField_T {
            }
            interface TextAreaField_S {
            }
            type TextAreaField_ST = TextAreaField_S & TextField_S;
            interface TextAreaField_C extends TextAreaField_ST {
                new():TextAreaField;
            }
            interface TextAreaField$ {
            }
            type TextAreaField_T = TextAreaField$ & TextField;
            interface TextAreaField extends TextAreaField_T {
            }
            interface DropdownItem_S {
            }
            type DropdownItem_ST = $.kd.bos.entity.IIsvFlag & DropdownItem_S;
            interface DropdownItem_C extends DropdownItem_ST {
                new():DropdownItem;
                new(key:string,title:string,subTitle:string,operationKey:string,rgb:string):DropdownItem;
                new(key:string,title:string,subTitle:string,operationKey:string,rgb:string,lock:string):DropdownItem;
                new(key:string,title:string,subTitle:string,operationKey:string,rgb:string,lock:string,visible:string):DropdownItem;
            }
            interface DropdownItem$ {
                setUploadable(uploadable:boolean):void;
                setLock(lock:string):void;
                setIsMerge(isMerge:boolean):void;
                getImageKey():string;
                /**
                 * @return the subTitle
                 */
                getSubTitle():$.kd.bos.dataentity.entity.LocaleString;
                getKey():string;
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * @param background the background to set
                 */
                setBackground(background:string):void;
                setVisible(visible:string):void;
                /**
                 * 是否合并单元格
                 *
                 * @return
                 */
                getIsMerge():boolean;
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取可见性的值
                 *
                 * @return 可见性的值
                 */
                getVisibleValue():number;
                /**
                 * @param subTitle the subTitle to set
                 */
                setSubTitle(subTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                setUploadConfig(uploadConfig:$.kd.bos.upload.UploadOption):void;
                setId(id:string):void;
                getIndex():number;
                /**
                 * @return the visible
                 */
                getVisible():string;
                /**
                 * @return the lock
                 */
                getLock():string;
                setIsSwitch(isSwitch:boolean):void;
                /**
                 * 是否显示切换
                 *
                 * @return
                 */
                getIsSwitch():boolean;
                /**
                 * @return the imageKey
                 */
                getOperationKey():string;
                isUploadable():boolean;
                setKey(key:string):void;
                createControl():$.java.util.Map;
                setIndex(index:number):void;
                setImageKey(imageKey:string):void;
                /**
                 * 是否主题项
                 *
                 * @return
                 */
                getIsTheme():boolean;
                /**
                 * 主键，用于差量化
                 *
                 * @return
                 */
                getId():string;
                /**
                 * @return the background
                 */
                getBackground():string;
                setIsTheme(isTheme:boolean):void;
                /**
                 * @param operationKey the imageKey to set
                 */
                setOperationKey(operationKey:string):void;
                getUploadConfig():$.kd.bos.upload.UploadOption;
            }
            type DropdownItem_T = $.kd.bos.entity.IIsvFlag & DropdownItem$;
            interface DropdownItem extends DropdownItem_T {
            }
            interface AttachmentCountField_S {
            }
            type AttachmentCountField_ST = $.kd.bos.metadata.entity.commonfield.IntegerField & AttachmentCountField_S & kd.bos.mservice.svc.attach.IAttachmentCountField_S;
            interface AttachmentCountField_C extends AttachmentCountField_ST {
                new():AttachmentCountField;
            }
            interface AttachmentCountField$ {
            }
            type AttachmentCountField_T = $.kd.bos.metadata.entity.commonfield.IntegerField & AttachmentCountField$ & kd.bos.mservice.svc.attach.IAttachmentCountField;
            interface AttachmentCountField extends AttachmentCountField_T {
            }
            interface PictureField_S {
            }
            type PictureField_ST = $.kd.bos.metadata.entity.commonfield.Field & $.kd.bos.mservice.svc.picture.IPictureField & PictureField_S;
            interface PictureField_C extends PictureField_ST {
                new():PictureField;
            }
            interface PictureField$ {
                /**
                 * 设置裁剪比例
                 * @param cropperProportion
                 */
                setCropperProportion(cropperProportion:string):void;
                /**
                 * 获取背景图片的值
                 */
                getBackgroundImgKey():string;
                /**
                 * 设置背景图片的值
                 * @param backgroundImgKey
                 */
                setBackgroundImgKey(backgroundImgKey:string):void;
                /**
                 * 获取最大上传图片的大小
                 */
                getMaxImgSize():number;
                /**
                 * 设置默认图片的值
                 * @param defaultImgKey
                 */
                setDefaultImgKey(defaultImgKey:string):void;
                /**
                 * 单据体、单据体平铺、卡片分录中的图片字段锁定预览属性
                 *
                 * @return
                 */
                isEntryLockPreview():boolean;
                /**
                 * 是否锁定预览
                 */
                isLockPreview():boolean;
                /**
                 * 获取默认图片的值
                 */
                getDefaultImgKey():string;
                /**
                 * 是否允许编辑预览
                 */
                isEditPreview():boolean;
                /**
                 * 是否显示图片标题
                 */
                isDisplayTitle():boolean;
                /**
                 * 设置是否允许编辑预览
                 * @param editPreview
                 */
                setEditPreview(editPreview:boolean):void;
                /**
                 * 设置单据体、单据体平铺、卡片分录中的图片字段锁定预览属性
                 * @param entryLockPreview
                 */
                setEntryLockPreview(entryLockPreview:boolean):void;
                /**
                 * 设置是否锁定预览
                 * @param lockPreview
                 */
                setLockPreview(lockPreview:boolean):void;
                /**
                 * 设置单据体中的图片是否允许上传
                 * @param canUpload
                 */
                setCanUpload(canUpload:boolean):void;
                /**
                 * 获取单据体中的图片是否允许上传
                 */
                getCanUpload():boolean;
                /**
                 * 设置是否显示图片标题
                 * @param displayTitle
                 */
                setDisplayTitle(displayTitle:boolean):void;
                /**
                 * 设置最大上传图片的大小
                 * @param maxImgSize
                 */
                setMaxImgSize(maxImgSize:number):void;
            }
            type PictureField_T = $.kd.bos.metadata.entity.commonfield.Field & $.kd.bos.mservice.svc.picture.IPictureField & PictureField$;
            interface PictureField extends PictureField_T {
            }
            interface AttachmentField_S {
            }
            type AttachmentField_ST = $.kd.bos.metadata.entity.businessfield.MulBasedataField & AttachmentField_S & kd.bos.mservice.svc.attach.IAttachmentField_S;
            interface AttachmentField_C extends AttachmentField_ST {
                new():AttachmentField;
            }
            interface AttachmentField$ {
                /**
                 * 获取设计器的扩展名设置
                 * @return
                 */
                getExtendName():string;
                /**
                 * 获取设计器的是否校验文件名重复属性值
                 * @return
                 */
                getCheckDuplicateFileName():boolean;
                /**
                 * 设置最大附件数
                 * @param maxAtmCount
                 */
                setMaxAtmCount(maxAtmCount:number):void;
                /**
                 * 获取设计器设置的最大附件大小值
                 * @return 整数值
                 */
                getMaxAtmSize():number;
                /**
                 * 获取设计器设置的最大附件数限制
                 * @return 整数值
                 */
                getMaxAtmCount():number;
                /**
                 * 设置扩展名
                 * @param extendName
                 */
                setExtendName(extendName:string):void;
            }
            type AttachmentField_T = $.kd.bos.metadata.entity.businessfield.MulBasedataField & AttachmentField$ & kd.bos.mservice.svc.attach.IAttachmentField;
            interface AttachmentField extends AttachmentField_T {
            }
            interface IconField_S {
            }
            type IconField_ST = $.kd.bos.metadata.entity.commonfield.Field & IconField_S;
            interface IconField_C extends IconField_ST {
                new():IconField;
            }
            interface IconField$ {
                /**
                 * 设置图标是否缩放
                 *
                 * @param value
                 */
                setImageZoom(value:boolean):void;
                /**
                 * 获取图标是否缩放选项
                 *
                 * @return 图标是否缩放，是则true,否则false
                 */
                isImageZoom():boolean;
            }
            type IconField_T = $.kd.bos.metadata.entity.commonfield.Field & IconField$;
            interface IconField extends IconField_T {
            }
        }
        namespace kd.bos.metadata.entity.fielddefvalue{
            interface AbstractDefValueParamPlugIn_S {
            }
            type AbstractDefValueParamPlugIn_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractDefValueParamPlugIn_S;
            interface AbstractDefValueParamPlugIn_C extends AbstractDefValueParamPlugIn_ST {
                new():AbstractDefValueParamPlugIn;
            }
            interface AbstractDefValueParamPlugIn$ {
                /**
                 * 父界面确认，输出配置好的参数界面
                 * @return
                 */
                returnParameter():string;
                /**
                 * 检查配置是否完整
                 *
                 * @param sBuilder 输出错误提示
                 * @return
                 */
                check(sBuilder:$.java.lang.StringBuilder):boolean;
            }
            type AbstractDefValueParamPlugIn_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractDefValueParamPlugIn$;
            interface AbstractDefValueParamPlugIn extends AbstractDefValueParamPlugIn_T {
            }
            interface DefValueDesign_S {
            }
            interface DefValueDesign_C extends DefValueDesign_S {
                new():DefValueDesign;
            }
            interface DefValueDesign$ {
                /**
                 * 设置函数完整的配置内容
                 *
                 * @param funcParameter 函数完整的配置内容
                 */
                setFuncParameter(funcParameter:string):void;
                /**
                 * 获取函数类型
                 * 默认值配置界面，嵌入了一个函数参数配置面板；选择函数类型后，会加载对应的参数配置子界面
                 *
                 * @return 函数类型
                 */
                getFuncType():string;
                /**
                 * 设置函数类型
                 *
                 * @param funcType 函数类型
                 */
                setFuncType(funcType:string):void;
                /**
                 * 函数完整的配置内容，可能是一个复杂对象，需要反序列化
                 *
                 * @return 函数完整的配置内容
                 */
                getFuncParameter():string;
            }
            type DefValueDesign_T = DefValueDesign$;
            interface DefValueDesign extends DefValueDesign_T {
            }
        }
        namespace kd.bos.metadata.entity.operation{
            interface CustOperationParameter_S {
            }
            type CustOperationParameter_ST = CustOperationParameter_S & OperationParameter_S;
            interface CustOperationParameter_C extends CustOperationParameter_ST {
                new():CustOperationParameter;
            }
            interface CustOperationParameter$ {
            }
            type CustOperationParameter_T = CustOperationParameter$ & OperationParameter;
            interface CustOperationParameter extends CustOperationParameter_T {
            }
            interface DrawParameter_S {
            }
            type DrawParameter_ST = DrawParameter_S & OperationParameter_S;
            interface DrawParameter_C extends DrawParameter_ST {
                new():DrawParameter;
            }
            interface DrawParameter$ {
            }
            type DrawParameter_T = DrawParameter$ & OperationParameter;
            interface DrawParameter extends DrawParameter_T {
            }
            interface DeleteEntryParameter_S {
            }
            type DeleteEntryParameter_ST = DeleteEntryParameter_S & EntryOpParameter_S;
            interface DeleteEntryParameter_C extends DeleteEntryParameter_ST {
                new():DeleteEntryParameter;
            }
            interface DeleteEntryParameter$ {
            }
            type DeleteEntryParameter_T = DeleteEntryParameter$ & EntryOpParameter;
            interface DeleteEntryParameter extends DeleteEntryParameter_T {
            }
            interface TrackDownParameter_S {
            }
            type TrackDownParameter_ST = OperationParameter_S & TrackDownParameter_S;
            interface TrackDownParameter_C extends TrackDownParameter_ST {
                new():TrackDownParameter;
            }
            interface TrackDownParameter$ {
            }
            type TrackDownParameter_T = OperationParameter & TrackDownParameter$;
            interface TrackDownParameter extends TrackDownParameter_T {
            }
            interface Operation_S {
            }
            type Operation_ST = $.kd.bos.dataentity.entity.ISupportInitialize & AbstractElement_S & Operation_S;
            interface Operation_C extends Operation_ST {
                new():Operation;
            }
            interface Operation$ {
                /**
                 * 获取操作插件
                 */
                getPlugins():$.java.util.List;
                /**
                 * @param confirmMsg the confirmMsg to set
                 */
                setConfirmMsg(confirmMsg:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 创建实体操作
                 * @param metadata 实体元数据对象
                 */
                createEntityOperate(metadata:EntityMetadata):$.java.util.Map;
                /**
                 * @return the logEnable
                 */
                isLogEnable():boolean;
                /**
                 * 设置权限项id
                 */
                setPermissionItemId(permissionItemId:string):void;
                /**
                 * @param successMsg the successMsg to set
                 */
                setSuccessMsg(successMsg:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * @return the successMsg
                 */
                getSuccessMsg():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @param logEnable the logEnable to set
                 */
                setLogEnable(logEnable:boolean):void;
                /**
                 * 设置是否开启保存后提交
                 */
                setSaveAndSubmit(saveAndSubmit:boolean):void;
                /**
                 * 操作类型
                 *
                 * @return
                 */
                getOperationType():string;
                /**
                 * 是否记录操作原因
                 */
                isOpMessageEnable():boolean;
                /**
                 * 设置是否记录操作原因
                 */
                setOpMessageEnable(opMessageEnable:boolean):void;
                /**
                 * 设置操作参数
                 */
                setParameter(parameter:OperationParameter):void;
                /**
                 * 获取操作服务配置
                 */
                getOpBizRules():$.java.util.List;
                /**
                 * 获取操作参数
                 */
                getParameter():OperationParameter;
                /**
                 * 设置校验规则
                 */
                setValidations(validations:$.java.util.List):void;
                /**
                 * @param refreshFields the refreshFields to set
                 */
                setRefreshFields(refreshFields:$.java.util.List):void;
                /**
                 * 获取校验规则
                 */
                getValidations():$.java.util.List;
                /**
                 * 设置操作插件
                 */
                setPlugins(plugins:$.java.util.List):void;
                /**
                 * @return the confirmMsg
                 */
                getConfirmMsg():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置操作服务配置
                 */
                setOpBizRules(opBizRules:$.java.util.List):void;
                /**
                 * @return the refreshFields
                 */
                getRefreshFields():$.java.util.List;
                /**
                 * 设置操作类型
                 */
                setOperationType(operationType:string):void;
                /**
                 * 是否开启保存后提交
                 */
                isSaveAndSubmit():boolean;
                /**
                 * 设置权限项
                 */
                setPermissionItem(permissionItems:kd.bos.metadata.perm.PermissionItem):void;
                /**
                 * 根据当前操作元数据创建操作
                 */
                createFormOperate():$.java.util.Map;
                /**
                 * 获取权限项id
                 */
                getPermissionItemId():string;
            }
            type Operation_T = $.kd.bos.dataentity.entity.ISupportInitialize & AbstractElement & Operation$;
            interface Operation extends Operation_T {
            }
            interface ImportParameter_S {
            }
            type ImportParameter_ST = ImportParameter_S & OperationParameter_S;
            interface ImportParameter_C extends ImportParameter_ST {
                new():ImportParameter;
            }
            interface ImportParameter$ {
            }
            type ImportParameter_T = ImportParameter$ & OperationParameter;
            interface ImportParameter extends ImportParameter_T {
            }
            interface CopyParameter_S {
            }
            type CopyParameter_ST = CopyParameter_S & OperationParameter_S;
            interface CopyParameter_C extends CopyParameter_ST {
                new():CopyParameter;
            }
            interface CopyParameter$ {
            }
            type CopyParameter_T = CopyParameter$ & OperationParameter;
            interface CopyParameter extends CopyParameter_T {
            }
            interface SaveParameter_S {
            }
            type SaveParameter_ST = OperationParameter_S & SaveParameter_S;
            interface SaveParameter_C extends SaveParameter_ST {
                new():SaveParameter;
            }
            interface SaveParameter$ {
            }
            type SaveParameter_T = OperationParameter & SaveParameter$;
            interface SaveParameter extends SaveParameter_T {
            }
            interface OpBizRuleElement_S {
            }
            type OpBizRuleElement_ST = $.kd.bos.dataentity.entity.ISupportInitialize & AbstractElement_S & OpBizRuleElement_S;
            interface OpBizRuleElement_C extends OpBizRuleElement_ST {
                /**
                 * 无参构造
                 */
                new():OpBizRuleElement;
            }
            interface OpBizRuleElement$ {
                /**
                 * 获取规则类型
                 */
                getRuleType():string;
                /**
                 * 是否启用
                 */
                isEnable():boolean;
                /**
                 * 获取条件描述
                 */
                getPreconditionDesc():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置定制参数
                 */
                setParameter(parameter:string):void;
                /**
                 * 设置条件描述
                 */
                setPreconditionDesc(preconditionDesc:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取定制参数值
                 */
                getParameter():string;
                /**
                 * 设置前置条件
                 */
                setPrecondition(precondition:string):void;
                /**
                 * 设置是否启用
                 */
                setEnable(enable:boolean):void;
                /**
                 * 获取前置条件
                 */
                getPrecondition():string;
                /**
                 * 设置规则类型
                 */
                setRuleType(ruleType:string):void;
                /**
                 * 生成运行时参数包；如果服务已经停用，不生成运行时参数包。
                 * @return 参数字典
                 */
                buildRuntimeMetadata():string;
            }
            type OpBizRuleElement_T = $.kd.bos.dataentity.entity.ISupportInitialize & AbstractElement & OpBizRuleElement$;
            interface OpBizRuleElement extends OpBizRuleElement_T {
            }
            interface OpenQingViewParameter_S {
            }
            type OpenQingViewParameter_ST = OpenQingViewParameter_S & OperationParameter_S;
            interface OpenQingViewParameter_C extends OpenQingViewParameter_ST {
                new():OpenQingViewParameter;
            }
            interface OpenQingViewParameter$ {
            }
            type OpenQingViewParameter_T = OpenQingViewParameter$ & OperationParameter;
            interface OpenQingViewParameter extends OpenQingViewParameter_T {
            }
            interface EntryOpParameter_S {
            }
            type EntryOpParameter_ST = EntryOpParameter_S & OperationParameter_S;
            interface EntryOpParameter_C extends EntryOpParameter_ST {
                new():EntryOpParameter;
            }
            interface EntryOpParameter$ {
            }
            type EntryOpParameter_T = EntryOpParameter$ & OperationParameter;
            interface EntryOpParameter extends EntryOpParameter_T {
            }
            interface IOpBizRuleParameterEdit_S {
            }
            interface IOpBizRuleParameterEdit_C extends IOpBizRuleParameterEdit_S {
            }
            interface IOpBizRuleParameterEdit$ {
                /**
                 * 获取单据元数据对象：供派生类，获取到单据设计时元数据对象EntityMetadata
                 * @return
                 */
                getBillEntityMetadata():EntityMetadata;
                /**
                 * 获取本操作服务元数据：供派生类，获取到本服务元数据，把已配置的参数，显示在参数界面
                 * @return
                 */
                getOpBizRule?():OpBizRuleElement;
                /**
                 * 获取操作元数据：供派生类，获取到操作元数据
                 * @return
                 */
                getOperation?():Operation;
                /**
                 * 服务配置完成，输出服务元数据：用户在服务配置界面点确定，调用此方法；通知各参数配置界面，输出参数配置字符串；
                 */
                getParameter():string;
                /**
                 * 服务配置完成，检查参数配置：用户在服务配置界面点确定，调用此方法；通知各参数配置界面，自行检查参数是否配置完整；
                 */
                checkParameter():boolean;
            }
            type IOpBizRuleParameterEdit_T = IOpBizRuleParameterEdit$;
            interface IOpBizRuleParameterEdit extends IOpBizRuleParameterEdit_T {
            }
            interface CallListParameter_S {
            }
            type CallListParameter_ST = CallListParameter_S & OperationParameter_S;
            interface CallListParameter_C extends CallListParameter_ST {
                new():CallListParameter;
            }
            interface CallListParameter$ {
            }
            type CallListParameter_T = CallListParameter$ & OperationParameter;
            interface CallListParameter extends CallListParameter_T {
            }
            interface AbstractOpBizRuleParameterEdit_S {
            }
            type AbstractOpBizRuleParameterEdit_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractOpBizRuleParameterEdit_S & IOpBizRuleParameterEdit_S;
            interface AbstractOpBizRuleParameterEdit_C extends AbstractOpBizRuleParameterEdit_ST {
                new():AbstractOpBizRuleParameterEdit;
            }
            interface AbstractOpBizRuleParameterEdit$ {
                /**
                 * 获取当前单据实体编码
                 *
                 * @return
                 */
                getEntityNumber():string;
            }
            type AbstractOpBizRuleParameterEdit_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractOpBizRuleParameterEdit$ & IOpBizRuleParameterEdit;
            interface AbstractOpBizRuleParameterEdit extends AbstractOpBizRuleParameterEdit_T {
            }
            interface CustOpParameterPlugin_S {
            }
            type CustOpParameterPlugin_ST = AbstractOpParameterPlugin_S & CustOpParameterPlugin_S;
            interface CustOpParameterPlugin_C extends CustOpParameterPlugin_ST {
                new():CustOpParameterPlugin;
            }
            interface CustOpParameterPlugin$ {
            }
            type CustOpParameterPlugin_T = AbstractOpParameterPlugin & CustOpParameterPlugin$;
            interface CustOpParameterPlugin extends CustOpParameterPlugin_T {
            }
            interface PushAndSaveParameter_S {
            }
            type PushAndSaveParameter_ST = OperationParameter_S & PushAndSaveParameter_S;
            interface PushAndSaveParameter_C extends PushAndSaveParameter_ST {
                new():PushAndSaveParameter;
            }
            interface PushAndSaveParameter$ {
            }
            type PushAndSaveParameter_T = OperationParameter & PushAndSaveParameter$;
            interface PushAndSaveParameter extends PushAndSaveParameter_T {
            }
            interface CopyEntryParameter_S {
            }
            type CopyEntryParameter_ST = CopyEntryParameter_S & EntryOpParameter_S;
            interface CopyEntryParameter_C extends CopyEntryParameter_ST {
                new():CopyEntryParameter;
            }
            interface CopyEntryParameter$ {
            }
            type CopyEntryParameter_T = CopyEntryParameter$ & EntryOpParameter;
            interface CopyEntryParameter extends CopyEntryParameter_T {
            }
            interface OperationParameter_S {
            }
            interface OperationParameter_C extends OperationParameter_S {
                new():OperationParameter;
            }
            interface OperationParameter$ {
                /**
                 * 构建运行时操作参数包
                 *
                 * @param meatdata
                 * @return
                 */
                createEntityOperateParameter(meatdata:EntityMetadata):$.java.util.Map;
                /**
                 * 元素id被修改后，调用此方法，通知各配置对象同步更新元素id
                 *
                 * @param idMap id字典<旧id, 新id>：各配置对象，可以到这个字典中，搜索有没有本对象引用的元素id
                 * @remark
                 */
                resetItemId(idMap:$.java.util.Map):void;
            }
            type OperationParameter_T = OperationParameter$;
            interface OperationParameter extends OperationParameter_T {
            }
            interface DelParameter_S {
            }
            type DelParameter_ST = DelParameter_S & OperationParameter_S;
            interface DelParameter_C extends DelParameter_ST {
                new():DelParameter;
            }
            interface DelParameter$ {
            }
            type DelParameter_T = DelParameter$ & OperationParameter;
            interface DelParameter extends DelParameter_T {
            }
            interface NewEntryParameter_S {
            }
            type NewEntryParameter_ST = EntryOpParameter_S & NewEntryParameter_S;
            interface NewEntryParameter_C extends NewEntryParameter_ST {
                new():NewEntryParameter;
            }
            interface NewEntryParameter$ {
            }
            type NewEntryParameter_T = EntryOpParameter & NewEntryParameter$;
            interface NewEntryParameter extends NewEntryParameter_T {
            }
            interface TrackUpParameter_S {
            }
            type TrackUpParameter_ST = OperationParameter_S & TrackUpParameter_S;
            interface TrackUpParameter_C extends TrackUpParameter_ST {
                new():TrackUpParameter;
            }
            interface TrackUpParameter$ {
            }
            type TrackUpParameter_T = OperationParameter & TrackUpParameter$;
            interface TrackUpParameter extends TrackUpParameter_T {
            }
            interface AuditParameter_S {
            }
            type AuditParameter_ST = AuditParameter_S & OperationParameter_S;
            interface AuditParameter_C extends AuditParameter_ST {
                new():AuditParameter;
            }
            interface AuditParameter$ {
            }
            type AuditParameter_T = AuditParameter$ & OperationParameter;
            interface AuditParameter extends AuditParameter_T {
            }
            interface DoNothingParameter_S {
            }
            type DoNothingParameter_ST = DoNothingParameter_S & OperationParameter_S;
            interface DoNothingParameter_C extends DoNothingParameter_ST {
                new():DoNothingParameter;
            }
            interface DoNothingParameter$ {
            }
            type DoNothingParameter_T = DoNothingParameter$ & OperationParameter;
            interface DoNothingParameter extends DoNothingParameter_T {
            }
            interface UnAuditParameter_S {
            }
            type UnAuditParameter_ST = OperationParameter_S & UnAuditParameter_S;
            interface UnAuditParameter_C extends UnAuditParameter_ST {
                new():UnAuditParameter;
            }
            interface UnAuditParameter$ {
            }
            type UnAuditParameter_T = OperationParameter & UnAuditParameter$;
            interface UnAuditParameter extends UnAuditParameter_T {
            }
            interface AbstractOpParameterPlugin_S {
            }
            type AbstractOpParameterPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractOpParameterPlugin_S;
            interface AbstractOpParameterPlugin_C extends AbstractOpParameterPlugin_ST {
                new():AbstractOpParameterPlugin;
            }
            interface AbstractOpParameterPlugin$ {
                /**
                 * 由父页面调用，通知本界面，检查参数录入是否完整
                 *
                 * @param msgBuilder 校验不通过，把提示信息添加在msgBuilder中
                 * @return
                 */
                check(msgBuilder:$.java.lang.StringBuilder):boolean;
                /**
                 * 由父页面调用，获取本界面上配置好的参数对象；
                 *
                 * @return
                 * @remark
                 * 本方法，供调用者调用，输出最新的校验器配置内容;
                 * 子界面无需重写此方法
                 */
                get():OperationParameter;
            }
            type AbstractOpParameterPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractOpParameterPlugin$;
            interface AbstractOpParameterPlugin extends AbstractOpParameterPlugin_T {
            }
            interface ExportParameter_S {
            }
            type ExportParameter_ST = ExportParameter_S & OperationParameter_S;
            interface ExportParameter_C extends ExportParameter_ST {
                new():ExportParameter;
            }
            interface ExportParameter$ {
            }
            type ExportParameter_T = ExportParameter$ & OperationParameter;
            interface ExportParameter extends ExportParameter_T {
            }
            interface StatusConvertParameter_S {
            }
            type StatusConvertParameter_ST = OperationParameter_S & StatusConvertParameter_S;
            interface StatusConvertParameter_C extends StatusConvertParameter_ST {
                new():StatusConvertParameter;
            }
            interface StatusConvertParameter$ {
            }
            type StatusConvertParameter_T = OperationParameter & StatusConvertParameter$;
            interface StatusConvertParameter extends StatusConvertParameter_T {
            }
        }
        namespace kd.bos.metadata.entity.report{
            interface ReportColumnFactory_S {
                /**
                 * 创建报表弹性域列
                 * @param caption
                 * @param fieldKey
                 * @param entityId
                 * @param displayProp
                 * @return
                 */
                createFlexColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,entityId:string,displayProp:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表金额列
                 * @param caption
                 * @param fieldKey
                 * @param currencyField
                 * @return
                 */
                createAmountColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,currencyField:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 星辰替换Builder实现类
                 * @param key
                 * @return
                 */
                getFieldType(key:string):string;
                /**
                 * 创建报表基础资料属性列
                 * @param caption
                 * @param fieldKey
                 * @param refBasedataProp
                 * @param displayProp
                 * @return
                 */
                createBaseDataPropColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,refBasedataProp:string,displayProp:string,fieldType:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表多选下拉列表列
                 * @param caption
                 * @param fieldKey
                 * @param showStyle
                 * @param comboItems
                 * @return
                 */
                createMulComboColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,showStyle:number,comboItems:$.java.util.List):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表基础资料列
                 * @param caption
                 * @param fieldKey
                 * @param entityId
                 * @param displayProp
                 * @return
                 */
                createBaseDataColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,entityId:string,displayProp:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表整数列
                 * @param caption
                 * @param fieldKey
                 * @return
                 */
                createIntegerColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 设置是否配置了查询数据源
                 * @param isQueryDataSource
                 */
                setQueryDataSource(isQueryDataSource:boolean):void;
                /**
                 * 创建报表小数列
                 * @param caption
                 * @param fieldKey
                 * @param scale
                 * @param summary
                 * @return
                 */
                createDecimalColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,scale:number):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表下拉列表列
                 * @param caption
                 * @param fieldKey
                 * @param showStyle
                 * @param comboItems
                 * @return
                 */
                createComboColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,showStyle:number,comboItems:$.java.util.List):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 获取是否配置了查询数据源
                 * @return
                 */
                isQueryDataSource():boolean;
                /**
                 * 创建报表日期列
                 *
                 * @param caption  名称
                 * @param fieldKey 标识
                 * @param mask     掩码
                 * @return
                 */
                createDateTimeColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,mask:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 星辰替换Builder实现类
                 * @param key
                 * @param value
                 */
                setFieldType(key:string,value:string):void;
                /**
                 * 创建报表文本列
                 * @param caption
                 * @param fieldKey
                 * @return
                 */
                createTextColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表数量列
                 * @param caption
                 * @param fieldKey
                 * @param measureUnitField
                 * @return
                 */
                createQtyColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,measureUnitField:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 创建报表单价列
                 * @param caption
                 * @param fieldKey
                 * @param currencyField
                 * @return
                 */
                createPriceColumn(caption:$.kd.bos.dataentity.entity.LocaleString,fieldKey:string,currencyField:string):$.kd.bos.entity.report.ReportColumn;
                /**
                 * 根据字段创建报表列
                 * @param field
                 * @return
                 */
                createReportColumnBuilder(field:kd.bos.metadata.form.control.EntryFieldAp):$.kd.bos.entity.report.ReportColumn;
            }
            interface ReportColumnFactory_C extends ReportColumnFactory_S {
                new():ReportColumnFactory;
            }
            interface ReportColumnFactory$ {
            }
            type ReportColumnFactory_T = ReportColumnFactory$;
            interface ReportColumnFactory extends ReportColumnFactory_T {
            }
            interface QueryDataSource_S {
            }
            type QueryDataSource_ST = $.java.io.Serializable & QueryDataSource_S;
            interface QueryDataSource_C extends QueryDataSource_ST {
                new():QueryDataSource;
            }
            interface QueryDataSource$ {
                setDataSourceId(arg0:string):void;
                getDataSourceId():string;
                getDataSourceName():string;
                setDataSourceName(arg0:string):void;
            }
            type QueryDataSource_T = $.java.io.Serializable & QueryDataSource$;
            interface QueryDataSource extends QueryDataSource_T {
            }
        }
        namespace kd.bos.metadata.entity.rule{
            interface IBizRuleEditor_S {
                readonly CustParam_ActionId:string;
                readonly CustParam_Context:string;
                readonly CustParam_MetaType:string;
                readonly CustParam_ActionConfig:string;
                readonly CustParam_ItemId:string;
                readonly CustParam_PropertyName:string;
            }
            interface IBizRuleEditor_C extends IBizRuleEditor_S {
            }
            interface IBizRuleEditor$ {
                /**
                 * 获取表单视图控制接口
                 *
                 * @return 视图
                 */
                getView?():$.kd.bos.form.IFormView;
                /**
                 * 把界面上的配置信息打包输出
                 * @return
                 */
                getOutConfig():string;
                /**
                 * 输出配置内容之前，检查配置是否合理，然后返回检查结果信息
                 * @return
                 */
                checkConfigAndReturn?():kd.bos.metadata.exception.CheckResultInfo;
                /**
                 * 展示界面之前，获取传入的原始规则配置内容
                 * @return
                 */
                getInputConfig?():string;
                /**
                 * 设计器传入的上下文，包括单据元素
                 * @return
                 */
                getContext?():$.java.util.List;
                /**
                 * 输出配置内容之前，检查配置是否合理
                 * @return
                 */
                checkConfig?():boolean;
                /**
                 * 服务规则标识
                 * @return
                 */
                getActionId?():string;
                /**
                 * 单据的元素集合
                 *
                 * @return
                 */
                getEntityItems?():$.java.util.List;
            }
            type IBizRuleEditor_T = IBizRuleEditor$;
            interface IBizRuleEditor extends IBizRuleEditor_T {
            }
        }
        namespace kd.bos.metadata.entity.validation{
            interface GrpfieldsuniqueValidation_S {
            }
            type GrpfieldsuniqueValidation_ST = $.java.io.Serializable & GrpfieldsuniqueValidation_S & Validation_S;
            interface GrpfieldsuniqueValidation_C extends GrpfieldsuniqueValidation_ST {
                new():GrpfieldsuniqueValidation;
            }
            interface GrpfieldsuniqueValidation$ {
            }
            type GrpfieldsuniqueValidation_T = $.java.io.Serializable & GrpfieldsuniqueValidation$ & Validation;
            interface GrpfieldsuniqueValidation extends GrpfieldsuniqueValidation_T {
            }
            interface Validation_S {
            }
            type Validation_ST = $.java.io.Serializable & $.kd.bos.entity.IIsvFlag & IInheritFlag_S & Validation_S;
            interface Validation_C extends Validation_ST {
                new():Validation;
            }
            interface Validation$ {
                /**
                 * @return the levelId
                 */
                getLevelId():number;
                /**
                 * 获取校验器的ID
                 *
                 * @return
                 */
                getId():string;
                /**
                 * @return the enable
                 */
                getEnabled():boolean;
                /**
                 * @param levelId the levelId to set
                 */
                setLevelId(levelId:any):void;
                /**
                 * 设置规则类型
                 *
                 * @param ruleType the ruleType to set
                 */
                setRuleType(ruleType:string):void;
                /**
                 * 获取前置条件
                 *
                 * @return the preCondition 前置条件
                 */
                getPreCondition():PreCondition;
                /**
                 * 设置前置条件
                 *
                 * @param preCondition 前置条件
                 */
                setPreCondition(preCondition:PreCondition):void;
                /**
                 * 设置校验器的描述
                 *
                 * @param description 校验器的描述
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取规则类型
                 *
                 * @return the ruleType
                 */
                getRuleType():string;
                /**
                 * 根据代表校验器的字符串，返回对应的数据字典
                 *
                 * @return 代表检验器的数据字典
                 */
                createValidate(metadata:EntityMetadata):$.java.util.Map;
                /**
                 * 设置校验器的ID
                 *
                 * @param id
                 */
                setId(id:any):void;
                /**
                 * 设置校验器的ID
                 *
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * @param levelId the levelId to set
                 */
                setLevelId(levelId:number):void;
                /**
                 * @param enable the enable to set
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 获取对于校验器的描述
                 *
                 * @return 校验器的描述
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
            }
            type Validation_T = $.java.io.Serializable & $.kd.bos.entity.IIsvFlag & IInheritFlag & Validation$;
            interface Validation extends Validation_T {
            }
            interface AbstractValidationParamPlugin_S {
                readonly CACHEKEY_TREE_KEY:string;
                readonly CACHEKEY_TREENODE:string;
            }
            type AbstractValidationParamPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractValidationParamPlugin_S;
            interface AbstractValidationParamPlugin_C extends AbstractValidationParamPlugin_ST {
                new():AbstractValidationParamPlugin;
            }
            interface AbstractValidationParamPlugin$ {
                /**
                 * 由父页面调用，通知本界面，检查参数录入是否完整
                 *
                 * @param msgBuilder 校验不通过，把提示信息添加在msgBuilder中
                 * @return boolean
                 */
                checkValidation(msgBuilder:$.java.lang.StringBuilder):boolean;
                /**
                 * 由父页面调用，获取本界面上配置好的校验器参数；子界面无需重写此方法
                 *
                 * @return 校验
                 * @remark 本方法，供调用者调用，输出最新的校验器配置内容
                 */
                getValidation():Validation;
            }
            type AbstractValidationParamPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractValidationParamPlugin$;
            interface AbstractValidationParamPlugin extends AbstractValidationParamPlugin_T {
            }
            interface ConditionValidation_S {
            }
            type ConditionValidation_ST = $.java.io.Serializable & ConditionValidation_S & Validation_S;
            interface ConditionValidation_C extends ConditionValidation_ST {
                new():ConditionValidation;
            }
            interface ConditionValidation$ {
            }
            type ConditionValidation_T = $.java.io.Serializable & ConditionValidation$ & Validation;
            interface ConditionValidation extends ConditionValidation_T {
            }
            interface MustInputValidation_S {
            }
            type MustInputValidation_ST = $.java.io.Serializable & MustInputValidation_S & Validation_S;
            interface MustInputValidation_C extends MustInputValidation_ST {
                new():MustInputValidation;
            }
            interface MustInputValidation$ {
            }
            type MustInputValidation_T = $.java.io.Serializable & MustInputValidation$ & Validation;
            interface MustInputValidation extends MustInputValidation_T {
            }
            interface PreCondition_S {
            }
            type PreCondition_ST = $.java.io.Serializable & PreCondition_S;
            interface PreCondition_C extends PreCondition_ST {
                new():PreCondition;
            }
            interface PreCondition$ {
                /**
                 * 设置前置条件的id
                 *
                 * @param id
                 *            the id to set
                 */
                setId(id:string):void;
                /**
                 * 返回规则前置条件的描述
                 *
                 * @return 规则前置条件的描述
                 */
                getRuleDescription():string;
                /**
                 * 返回前置条件的id
                 *
                 * @return the id
                 */
                getId():string;
                /**
                 * 前置条件的表达式
                 *
                 * @return 前置条件的表达式
                 */
                getRuleCondition():string;
                /**
                 * 设置前置条件的表达式
                 *
                 * @param expression
                 *            前置条件的表达式
                 */
                setRuleCondition(expression:string):void;
                /**
                 * 设置规则前置条件的描述
                 *
                 * @param description
                 *            规则前置条件的描述
                 */
                setRuleDescription(description:string):void;
            }
            type PreCondition_T = $.java.io.Serializable & PreCondition$;
            interface PreCondition extends PreCondition_T {
            }
            interface ValidationType_S {
            }
            interface ValidationType_C extends ValidationType_S {
                new():ValidationType;
            }
            interface ValidationType$ {
                /**
                 * 校验器名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否停用
                 */
                isDisabled():boolean;
                /**
                 * 设置校验器参数配置界面 FormId
                 */
                setSettingFormId(settingFormId:string):void;
                /**
                 * 校验类型标识，不允许重复
                 */
                getId():string;
                /**
                 * 校验器用途描述
                 */
                getDesc():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置允许选用本校验器的单据
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 校验器参数配置界面 FormId
                 */
                getSettingFormId():string;
                /**
                 * 校验器应用范围：0 = 全部应用，1 = 指定应用，2 = 仅本应用、3 = 仅指定单据；默认为0；
                 */
                getAppliedRange():number;
                /**
                 * 设置不允许选用本校验器的操作
                 */
                setOpBlackList(opBlackList:string):void;
                /**
                 * 允许选用本校验器的应用编码；多个应用使用逗号隔开
                 */
                getAppNumbers():string;
                /**
                 *  设置校验器显示顺序
                 */
                setSeq(seq:number):void;
                /**
                 * 不允许选用本校验器的操作
                 */
                getOpBlackList():string;
                /**
                 * 设置校验器名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置允许选用本校验器的应用编码；多个应用使用逗号隔开
                 */
                setAppNumbers(appNumbers:string):void;
                /**
                 * 设置是否停用
                 */
                setDisabled(disabled:boolean):void;
                /**
                 * 设置来源类型
                 */
                setSrcApp(srcApp:string):void;
                /**
                 * 允许选用本校验器的单据
                 */
                getEntityNumber():string;
                /**
                 * 设置校验器可选的错误级别；如果为空，支持全部级别
                 */
                setErrorLevel(errorLevel:string):void;
                /**
                 * 校验器显示顺序
                 */
                getSeq():number;
                /**
                 * 设置校验类型标识，不允许重复
                 */
                setId(id:string):void;
                /**
                 * 设置来源类型
                 */
                setSrcType(srcType:$.kd.bos.entity.operate.OpDefinitionSource):void;
                /**
                 * 设置此校验类型是否适用于表单
                 */
                setApplyForm(applyForm:boolean):void;
                /**
                 * 获取来源应用
                 */
                getSrcApp():string;
                /**
                 * 设置校验器应用范围：0 = 全部应用，1 = 指定应用，2 = 仅本应用、3 = 仅指定单据；默认为0；
                 */
                setAppliedRange(appliedRange:number):void;
                /**
                 * 校验器执行类名
                 */
                getRunClass():string;
                /**
                 * 获取来源类型
                 * @return
                 */
                getSrcType():$.kd.bos.entity.operate.OpDefinitionSource;
                /**
                 * 允许选用本校验器的操作
                 */
                getOpWhiteList():string;
                /**
                 * 设置允许选用本校验器的操作
                 */
                setOpWhiteList(opWhiteList:string):void;
                /**
                 * 设置校验器用途描述
                 */
                setDesc(desc:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置校验器执行类名
                 */
                setRunClass(runClass:string):void;
                /**
                 * 此校验类型是否适用于表单
                 * @return
                 */
                isApplyForm():boolean;
                /**
                 * 校验器可选的错误级别；如果为空，支持全部级别
                 */
                getErrorLevel():string;
            }
            type ValidationType_T = ValidationType$;
            interface ValidationType extends ValidationType_T {
            }
            interface CustValidation_S {
            }
            type CustValidation_ST = $.java.io.Serializable & CustValidation_S & Validation_S;
            interface CustValidation_C extends CustValidation_ST {
                new():CustValidation;
            }
            interface CustValidation$ {
                /**
                 * 自定义参数
                 */
                getParameter():string;
                /**
                 * 设置自定义参数
                 */
                setParameter(parameter:string):void;
                createValidate():$.java.util.Map;
            }
            type CustValidation_T = $.java.io.Serializable & CustValidation$ & Validation;
            interface CustValidation extends CustValidation_T {
            }
            interface ValidationTypeLoader_S {
            }
            interface ValidationTypeLoader_C extends ValidationTypeLoader_S {
                new():ValidationTypeLoader;
            }
            interface ValidationTypeLoader$ {
            }
            type ValidationTypeLoader_T = ValidationTypeLoader$;
            interface ValidationTypeLoader extends ValidationTypeLoader_T {
            }
            interface DynamicValidation_S {
            }
            type DynamicValidation_ST = $.java.io.Serializable & DynamicValidation_S & Validation_S;
            interface DynamicValidation_C extends DynamicValidation_ST {
                new():DynamicValidation;
            }
            interface DynamicValidation$ {
                /**
                 * 自定义校验器执行类名，生成运行时元数据时，直接校验器执行类名，设置为自定义校验器类名
                 *
                 * @return
                 */
                getRunClass():string;
                /**
                 * 设置自定义校验器执行类名，生成运行时元数据时，直接校验器执行类名，设置为自定义校验器类名
                 */
                setRunClass(runClass:string):void;
            }
            type DynamicValidation_T = $.java.io.Serializable & DynamicValidation$ & Validation;
            interface DynamicValidation extends DynamicValidation_T {
            }
            interface ValidationTypes_S {
            }
            interface ValidationTypes_C extends ValidationTypes_S {
                new():ValidationTypes;
            }
            interface ValidationTypes$ {
                /**
                 * 校验器集合
                 */
                getTypes():$.java.util.List;
                /**
                 * 标记指定语言资源加载完成
                 * @param lang
                 */
                setLoaded(lang:$.kd.bos.lang.Lang):void;
                /**
                 * 缓存是否已经超时失效？过了有效期之后，需要重新加载
                 * @return
                 */
                isCacheOverTime():boolean;
                /**
                 * 当前语言资源是否加载完成
                 * @param lang
                 * @return
                 */
                isLoaded(lang:$.kd.bos.lang.Lang):boolean;
                /**
                 * 设置校验器集合
                 */
                setTypes(types:$.java.util.List):void;
                /**
                 * 根据校验器类型id，获取校验器类型定义
                 */
                find(typeId:string):ValidationType;
                /**
                 * 根据传入的业务应用、单据、操作，提取适用的校验器
                 *
                 * @param appNumber 应用编码
                 * @param entityNumber 单据
                 * @param opType 操作
                 * @return
                 */
                filter(appNumber:string,entityNumber:string,opType:string):this;
            }
            type ValidationTypes_T = ValidationTypes$;
            interface ValidationTypes extends ValidationTypes_T {
            }
            interface CustValidationParamPlugin_S {
            }
            type CustValidationParamPlugin_ST = AbstractValidationParamPlugin_S & CustValidationParamPlugin_S;
            interface CustValidationParamPlugin_C extends CustValidationParamPlugin_ST {
                new():CustValidationParamPlugin;
            }
            interface CustValidationParamPlugin$ {
            }
            type CustValidationParamPlugin_T = AbstractValidationParamPlugin & CustValidationParamPlugin$;
            interface CustValidationParamPlugin extends CustValidationParamPlugin_T {
            }
        }
        namespace kd.bos.metadata.exception{
            interface ErrorInfo_S {
                readonly LEVEL_WARNING:number;
                readonly LEVEL_ERROR:number;
            }
            interface ErrorInfo_C extends ErrorInfo_S {
                /**
                 * 构造方法
                 */
                new():ErrorInfo;
                /**
                 * 构造方法
                 * @param error 错误信息
                 */
                new(error:string):ErrorInfo;
            }
            interface ErrorInfo$ {
                /**
                 * 获取元数据类型，实体/表单
                 * @return
                 */
                getType():string;
                /**
                 * 复制生成一个新对象
                 * @return
                 */
                copy():this;
                /**
                 * 获取错误信息
                 * @return
                 */
                getError():string;
                /**
                 * 获取元素属性标识
                 * @return
                 */
                getPropertyName():string;
                /**
                 * 获取元数据或元素的id
                 * @return
                 */
                getItemId():string;
                /**
                 * 设置元素属性标识
                 * @param propertyName
                 */
                setPropertyName(propertyName:string):void;
                /**
                 * 设置元数据或元素的id
                 * @param itemId
                 */
                setItemId(itemId:string):void;
                /**
                 * 获取错误级别
                 * @return
                 */
                getLevel():number;
                /**
                 * 设置错误信息
                 * @param error
                 */
                setError(error:string):void;
                /**
                 * 设置元数据类型，实体/表单
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * 设置错误级别
                 * @param level
                 */
                setLevel(level:number):void;
            }
            type ErrorInfo_T = ErrorInfo$;
            interface ErrorInfo extends ErrorInfo_T {
            }
            interface CheckResultInfo_S {
            }
            interface CheckResultInfo_C extends CheckResultInfo_S {
                /**
                 * 构造方法
                 */
                new():CheckResultInfo;
                /**
                 * 构造方法
                 * @param success
                 */
                new(success:boolean):CheckResultInfo;
                /**
                 * 构造方法
                 * @param success
                 * @param info
                 */
                new(success:boolean,info:ErrorInfo):CheckResultInfo;
            }
            interface CheckResultInfo$ {
                /**
                 * 获取检查结果：true:成功; false:失败
                 * @return
                 */
                isSuccess():boolean;
                /**
                 * 设置检查的错误信息
                 * @param info
                 */
                setInfo(info:ErrorInfo):void;
                /**
                 * 设置检查结果
                 * @param success
                 */
                setSuccess(success:boolean):void;
                /**
                 * 获取检查的错误信息
                 * @return
                 */
                getInfo():ErrorInfo;
            }
            type CheckResultInfo_T = CheckResultInfo$;
            interface CheckResultInfo extends CheckResultInfo_T {
            }
        }
        namespace kd.bos.metadata.filter{
            interface SchemeComboFilterColumnAp_S {
            }
            type SchemeComboFilterColumnAp_ST = SchemeComboFilterColumnAp_S & SchemeFilterColumnAp_S;
            interface SchemeComboFilterColumnAp_C extends SchemeComboFilterColumnAp_ST {
                new():SchemeComboFilterColumnAp;
            }
            interface SchemeComboFilterColumnAp$ {
            }
            type SchemeComboFilterColumnAp_T = SchemeComboFilterColumnAp$ & SchemeFilterColumnAp;
            interface SchemeComboFilterColumnAp extends SchemeComboFilterColumnAp_T {
            }
            interface CommonCheckBoxFilterColumnAp_S {
            }
            type CommonCheckBoxFilterColumnAp_ST = CommonCheckBoxFilterColumnAp_S & CommonFilterColumnAp_S;
            interface CommonCheckBoxFilterColumnAp_C extends CommonCheckBoxFilterColumnAp_ST {
                new():CommonCheckBoxFilterColumnAp;
            }
            interface CommonCheckBoxFilterColumnAp$ {
            }
            type CommonCheckBoxFilterColumnAp_T = CommonCheckBoxFilterColumnAp$ & CommonFilterColumnAp;
            interface CommonCheckBoxFilterColumnAp extends CommonCheckBoxFilterColumnAp_T {
            }
            interface SchemeVoucherFilterColumnAp_S {
            }
            type SchemeVoucherFilterColumnAp_ST = SchemeFilterColumnAp_S & SchemeVoucherFilterColumnAp_S;
            interface SchemeVoucherFilterColumnAp_C extends SchemeVoucherFilterColumnAp_ST {
                new():SchemeVoucherFilterColumnAp;
            }
            interface SchemeVoucherFilterColumnAp$ {
                /**
                 * 对应的操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
                /**
                 * 凭证id字段
                 *
                 * @return
                 */
                getVoucherFieldId():string;
                /**
                 * 设置凭证id
                 *
                 * @param voucherFieldId
                 */
                setVoucherFieldId(voucherFieldId:string):void;
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
            }
            type SchemeVoucherFilterColumnAp_T = SchemeFilterColumnAp & SchemeVoucherFilterColumnAp$;
            interface SchemeVoucherFilterColumnAp extends SchemeVoucherFilterColumnAp_T {
            }
            interface CommonFilterColumnAp_S {
            }
            type CommonFilterColumnAp_ST = CommonFilterColumnAp_S & FilterColumnAp_S;
            interface CommonFilterColumnAp_C extends CommonFilterColumnAp_ST {
                /**
                 * 构造方法
                 */
                new():CommonFilterColumnAp;
            }
            interface CommonFilterColumnAp$ {
                /**
                 * 获取是否多选
                 *
                 * @return 是否多选
                 */
                isMulti():boolean;
                /**
                 * 过滤字段值类型，默认是枚举 enum
                 *
                 * @return 过滤字段值类型
                 */
                getType():string;
                /**
                 * 设置是否自定义，报表使用
                 *
                 * @param isCustom 是否自定义
                 */
                setCustom(isCustom:boolean):void;
                /**
                 * 是否移动高级面板字段
                 *
                 * @return 是否移动高级面板
                 */
                isAdvField():boolean;
                /**
                 * 设置是否移动高级面板字段
                 *
                 * @param advField 是否移动高级面板字段
                 */
                setAdvField(advField:boolean):void;
                /**
                 * @return the defaultValue
                 */
                getDefValue():string;
                /**
                 * 获取是否自定义，报表使用，默认true
                 *
                 * @return 是否自定义
                 */
                isCustom():boolean;
                /**
                 * 设置过滤字段值类型
                 *
                 * @param type 过滤字段值类型
                 */
                setType(type_arg:string):void;
                /**
                 * 设置过滤字段的选项设置
                 *
                 * @param items 选项设置
                 */
                setComboItems(items:$.java.util.List):void;
                /**
                 * 设置是否默认折叠
                 *
                 * @param defCollapse 是否默认折叠
                 */
                setDefCollapse(defCollapse:boolean):void;
                /**
                 * 设置是否必录
                 *
                 * @param value 是否必录
                 */
                setMustInput(value:boolean):void;
                /**
                 * @param defValue
                 *            the defaultValue to set
                 */
                setDefValue(defValue:string):void;
                /**
                 * 设置是否多选
                 *
                 * @param isMulti 是否多选
                 */
                setMulti(isMulti:boolean):void;
                /**
                 * 设置是否多行展示
                 *
                 * @param multiLine 是否多行展示
                 */
                setMultiLine(multiLine:boolean):void;
                /**
                 * 是否默认折叠，默认不折叠
                 *
                 * @return 是否默认折叠
                 */
                isDefCollapse():boolean;
                /**
                 * 获取过滤字段的选项设置
                 *
                 * @return 选项设置
                 */
                getComboItems():$.java.util.List;
                /**
                 * @return 返回是否必须录入，如果为非0，表示必须录入
                 */
                isMustInput():boolean;
                /**
                 * 返回是否多行展示
                 *
                 * @return 是否多行展示
                 */
                isMultiLine():boolean;
            }
            type CommonFilterColumnAp_T = CommonFilterColumnAp$ & FilterColumnAp;
            interface CommonFilterColumnAp extends CommonFilterColumnAp_T {
            }
            interface CommonCheckBoxGroupFilterColumnAp_S {
            }
            type CommonCheckBoxGroupFilterColumnAp_ST = CommonCheckBoxGroupFilterColumnAp_S & CommonFilterColumnAp_S;
            interface CommonCheckBoxGroupFilterColumnAp_C extends CommonCheckBoxGroupFilterColumnAp_ST {
                new():CommonCheckBoxGroupFilterColumnAp;
            }
            interface CommonCheckBoxGroupFilterColumnAp$ {
            }
            type CommonCheckBoxGroupFilterColumnAp_T = CommonCheckBoxGroupFilterColumnAp$ & CommonFilterColumnAp;
            interface CommonCheckBoxGroupFilterColumnAp extends CommonCheckBoxGroupFilterColumnAp_T {
            }
            interface FilterColumnAp_S {
            }
            type FilterColumnAp_ST = $.kd.bos.metadata.form.ContainerAp & FilterColumnAp_S;
            interface FilterColumnAp_C extends FilterColumnAp_ST {
                new():FilterColumnAp;
            }
            interface FilterColumnAp$ {
                /**
                 * 获取过滤字段名
                 *
                 * @return 过滤字段名
                 */
                getFieldName():string;
                /**
                 * 根据实体属性字典设置属性
                 *
                 * @param entityTreeNode 实体属性字典
                 */
                setProperties(entityTreeNode:$.java.util.Map):void;
                /**
                 * 设置过滤字段名
                 *
                 * @param fieldName 过滤字段名
                 */
                setFieldName(fieldName:string):void;
            }
            type FilterColumnAp_T = $.kd.bos.metadata.form.ContainerAp & FilterColumnAp$;
            interface FilterColumnAp extends FilterColumnAp_T {
            }
            interface SchemeFilterColumnAp_S {
            }
            type SchemeFilterColumnAp_ST = FilterColumnAp_S & SchemeFilterColumnAp_S;
            interface SchemeFilterColumnAp_C extends SchemeFilterColumnAp_ST {
                new():SchemeFilterColumnAp;
            }
            interface SchemeFilterColumnAp$ {
                /**
                 * 设置过滤字段选项设置
                 *
                 * @param items 选项设置集合
                 */
                setComboItems(items:$.java.util.List):void;
                /**
                 * 获取过滤字段类型，可由子类重写
                 *
                 * @return 过滤字段类型
                 */
                getType():string;
                /**
                 * 返回是否必须录入，如果为非0，表示必须录入
                 *
                 * @return 是否必须录入
                 */
                isMustInput():boolean;
                /**
                 * 设置过滤字段
                 *
                 * @param type 过滤字段
                 */
                setType(type_arg:string):void;
                /**
                 * 获取过滤字段选项设置
                 *
                 * @return 选项设置
                 */
                getComboItems():$.java.util.List;
                /**
                 * 设置为必录
                 *
                 * @param value 必录值
                 */
                setMustInput(value:boolean):void;
            }
            type SchemeFilterColumnAp_T = FilterColumnAp & SchemeFilterColumnAp$;
            interface SchemeFilterColumnAp extends SchemeFilterColumnAp_T {
            }
            interface CommonApproverFilterColumnAp_S {
            }
            type CommonApproverFilterColumnAp_ST = CommonApproverFilterColumnAp_S & CommonFilterColumnAp_S;
            interface CommonApproverFilterColumnAp_C extends CommonApproverFilterColumnAp_ST {
                new():CommonApproverFilterColumnAp;
            }
            interface CommonApproverFilterColumnAp$ {
            }
            type CommonApproverFilterColumnAp_T = CommonApproverFilterColumnAp$ & CommonFilterColumnAp;
            interface CommonApproverFilterColumnAp extends CommonApproverFilterColumnAp_T {
            }
            interface CommonDateFilterColumnAp_S {
            }
            type CommonDateFilterColumnAp_ST = CommonDateFilterColumnAp_S & CommonFilterColumnAp_S;
            interface CommonDateFilterColumnAp_C extends CommonDateFilterColumnAp_ST {
                new():CommonDateFilterColumnAp;
            }
            interface CommonDateFilterColumnAp$ {
                /**
                 * 获取常用日期过滤项，13：今天、10：本周、63：本月、24：过去三个月
                 *
                 * @return 常用日期过滤项
                 */
                getDateConst():string;
                /**
                 * 设置自定义筛选维度
                 * @param selectDimension
                 */
                setSelectDimension(selectDimension:string):void;
                /**
                 * 设置常用日期过滤项
                 *
                 * @param dateConst 常用日期过滤项
                 */
                setDateConst(dateConst:string):void;
                /**
                 * 获取自定义筛选维度
                 * @return
                 */
                getSelectDimension():string;
            }
            type CommonDateFilterColumnAp_T = CommonDateFilterColumnAp$ & CommonFilterColumnAp;
            interface CommonDateFilterColumnAp extends CommonDateFilterColumnAp_T {
            }
            interface FilterGridViewAp_S {
                readonly GENLISTID:string;
            }
            type FilterGridViewAp_ST = $.kd.bos.metadata.form.ContainerAp & FilterGridViewAp_S;
            interface FilterGridViewAp_C extends FilterGridViewAp_ST {
                /**
                 * 构造方法
                 */
                new():FilterGridViewAp;
            }
            interface FilterGridViewAp$ {
                /**
                 * 设置初始字段，可设置过滤字段的可见性
                 *
                 * @param defaultHiddenFields 初始字段
                 */
                setDefaultShowFields(defaultHiddenFields:$.java.util.List):void;
                /**
                 * 设置是否启用新版过滤
                 *
                 * @param isNewFilter 是否新版过滤
                 */
                setNewFilter(isNewFilter:boolean):void;
                /**
                 * 是否新版过滤
                 *
                 * @return 是否新版过滤
                 */
                isNewFilter():boolean;
                /**
                 * 获取初始字段，可在此设置过滤字段的可见性
                 *
                 * @return 初始字段
                 */
                getDefaultHiddenField():$.java.util.List;
            }
            type FilterGridViewAp_T = $.kd.bos.metadata.form.ContainerAp & FilterGridViewAp$;
            interface FilterGridViewAp extends FilterGridViewAp_T {
            }
            interface SchemeApproverFilterColumnAp_S {
            }
            type SchemeApproverFilterColumnAp_ST = SchemeApproverFilterColumnAp_S & SchemeFilterColumnAp_S;
            interface SchemeApproverFilterColumnAp_C extends SchemeApproverFilterColumnAp_ST {
                new():SchemeApproverFilterColumnAp;
            }
            interface SchemeApproverFilterColumnAp$ {
            }
            type SchemeApproverFilterColumnAp_T = SchemeApproverFilterColumnAp$ & SchemeFilterColumnAp;
            interface SchemeApproverFilterColumnAp extends SchemeApproverFilterColumnAp_T {
            }
            interface FilterContainerAp_S {
                readonly GENLISTID:string;
            }
            type FilterContainerAp_ST = $.kd.bos.metadata.form.ContainerAp & FilterContainerAp_S;
            interface FilterContainerAp_C extends FilterContainerAp_ST {
                /**
                 * 构造方法
                 */
                new():FilterContainerAp;
            }
            interface FilterContainerAp$ {
                /**
                 * @return 是否支持快速过滤全选
                 */
                isQuickSearchAll():boolean;
                /**
                 * @return the defaultCollapse
                 */
                isDefCollapse():boolean;
                /**
                 * 创建过滤容器运行时控件
                 *
                 * @return 过滤容器运行时控件
                 */
                createRuntimeControl():kd.bos.filter.FilterContainer;
                /**
                 * 获取帮助文本
                 *
                 * @return 帮助文本
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 获取过滤比较符
                 *
                 * @return 过滤比较符
                 */
                getCompareTypeConfig():kd.bos.filter.CompareTypeConfig;
                /**
                 * 设置是否支持快速过滤全选
                 *
                 * @param quickSearchAll 是否支持快速过滤全选
                 */
                setQuickSearchAll(quickSearchAll:boolean):void;
                /**
                 * 设置过滤比较符
                 *
                 * @param compareTypeConfig 过滤比较符
                 */
                setCompareTypeConfig(compareTypeConfig:kd.bos.filter.CompareTypeConfig):void;
                /**
                 * 设置帮助文本
                 *
                 * @param ctlTips 帮助文本
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 设置过滤控件绑定的实体id
                 *
                 * @param entityId 实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取过滤控件绑定的实体id
                 *
                 * @return 实体id
                 */
                getEntityId():string;
                /**
                 * @param defaultCollapse
                 *            the defaultCollapse to set
                 */
                setDefCollapse(defCollapse:boolean):void;
            }
            type FilterContainerAp_T = $.kd.bos.metadata.form.ContainerAp & FilterContainerAp$;
            interface FilterContainerAp extends FilterContainerAp_T {
            }
            interface SchemeFilterViewAp_S {
                readonly GENLISTID:string;
            }
            type SchemeFilterViewAp_ST = $.kd.bos.metadata.form.ContainerAp & SchemeFilterViewAp_S;
            interface SchemeFilterViewAp_C extends SchemeFilterViewAp_ST {
                /**
                 * 构造方法
                 */
                new():SchemeFilterViewAp;
            }
            interface SchemeFilterViewAp$ {
            }
            type SchemeFilterViewAp_T = $.kd.bos.metadata.form.ContainerAp & SchemeFilterViewAp$;
            interface SchemeFilterViewAp extends SchemeFilterViewAp_T {
            }
            interface FastSearchGridViewAp_S {
                readonly GENLISTID:string;
            }
            type FastSearchGridViewAp_ST = $.kd.bos.metadata.form.ContainerAp & FastSearchGridViewAp_S;
            interface FastSearchGridViewAp_C extends FastSearchGridViewAp_ST {
                /**
                 * 构造方法
                 */
                new():FastSearchGridViewAp;
            }
            interface FastSearchGridViewAp$ {
            }
            type FastSearchGridViewAp_T = $.kd.bos.metadata.form.ContainerAp & FastSearchGridViewAp$;
            interface FastSearchGridViewAp extends FastSearchGridViewAp_T {
            }
            interface CommonBaseDataFilterColumnAp_S {
            }
            type CommonBaseDataFilterColumnAp_ST = CommonBaseDataFilterColumnAp_S & CommonFilterColumnAp_S;
            interface CommonBaseDataFilterColumnAp_C extends CommonBaseDataFilterColumnAp_ST {
                new():CommonBaseDataFilterColumnAp;
            }
            interface CommonBaseDataFilterColumnAp$ {
                /**
                 * 获取依赖字段
                 *
                 * @return 依赖字段
                 */
                getDependCommonBaseFilterColumnId():string;
                /**
                 * 设置基础资料id
                 *
                 * @param baseEntityId 基础资料id
                 */
                setBaseEntityId(baseEntityId:string):void;
                /**
                 * 设置依赖字段
                 *
                 * @param dependCommonBaseFilterColumnId 依赖字段
                 */
                setDependCommonBaseFilterColumnId(dependCommonBaseFilterColumnId:string):void;
                /**
                 * 获取过滤条件
                 *
                 * @return 过滤条件
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 设置过滤条件
                 *
                 * @param filter 过滤条件
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 设置关联字段
                 *
                 * @param joinPropertyName 关联字段
                 */
                setJoinPropertyName(joinPropertyName:string):void;
                /**
                 * 获取关联字段
                 *
                 * @return 关联字段
                 */
                getJoinPropertyName():string;
                /**
                 * 获取基础资料id
                 *
                 * @return 基础资料id
                 */
                getBaseEntityId():string;
            }
            type CommonBaseDataFilterColumnAp_T = CommonBaseDataFilterColumnAp$ & CommonFilterColumnAp;
            interface CommonBaseDataFilterColumnAp extends CommonBaseDataFilterColumnAp_T {
            }
            interface SchemeBaseDataFilterColumnAp_S {
            }
            type SchemeBaseDataFilterColumnAp_ST = SchemeBaseDataFilterColumnAp_S & SchemeFilterColumnAp_S;
            interface SchemeBaseDataFilterColumnAp_C extends SchemeBaseDataFilterColumnAp_ST {
                new():SchemeBaseDataFilterColumnAp;
            }
            interface SchemeBaseDataFilterColumnAp$ {
                /**
                 * 设置方案过滤字段基础资料实体id
                 *
                 * @param baseEntityId 基础资料实体id
                 */
                setBaseEntityId(baseEntityId:string):void;
                /**
                 * 设置关联字段
                 *
                 * @param joinPropertyName 关联字段
                 */
                setJoinPropertyName(joinPropertyName:string):void;
                /**
                 * 设置过滤条件
                 *
                 * @param filter 过滤条件
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 获取方案过滤字段绑定的基础资料实体id
                 *
                 * @return 基础资料实体id
                 */
                getBaseEntityId():string;
                /**
                 * 设置依赖字段
                 *
                 * @param dependSchemeBaseFilterColumnId 依赖字段
                 */
                setDependSchemeBaseFilterColumnId(dependSchemeBaseFilterColumnId:string):void;
                /**
                 * 获取过滤条件
                 *
                 * @return 过滤条件
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 获取关联字段
                 *
                 * @return 关联字段
                 */
                getJoinPropertyName():string;
                /**
                 * 获取依赖字段
                 *
                 * @return 依赖字段
                 */
                getDependSchemeBaseFilterColumnId():string;
            }
            type SchemeBaseDataFilterColumnAp_T = SchemeBaseDataFilterColumnAp$ & SchemeFilterColumnAp;
            interface SchemeBaseDataFilterColumnAp extends SchemeBaseDataFilterColumnAp_T {
            }
        }
        namespace kd.bos.metadata.form{
            interface AbstractStyle_S {
            }
            interface AbstractStyle_C extends AbstractStyle_S {
                new():AbstractStyle;
            }
            interface AbstractStyle$ {
                /**
                 * 设置上边距，Margin(上外边距),Padding(上内边距)
                 * @param top 上边距
                 */
                setTop(top:string):void;
                /**
                 * 获取关于边距的样式
                 * @return 边距的样式
                 */
                getStyle():$.java.util.Map;
                /**
                 * 获取左边距，Margin(左外边距),Padding(左内边距)
                 * @return 左边距
                 */
                getLeft():string;
                /**
                 * 获取右边距，Margin(右外边距),Padding(右内边距)
                 * @return 右边距
                 */
                getRight():string;
                /**
                 * 设置下边距，Margin(下外边距),Padding(下内边距)
                 * @param bottom 下边距
                 */
                setBottom(bottom:string):void;
                /**
                 * 获取下边距，Margin(下外边距),Padding(下内边距)
                 * @return 下边距
                 */
                getBottom():string;
                /**
                 * 设置右边距，Margin(右外边距),Padding(右内边距)
                 * @param right 右边距
                 */
                setRight(right:string):void;
                /**
                 * 获取上边距，Margin(上外边距),Padding(上内边距)
                 * @return 上边距
                 */
                getTop():string;
                /**
                 * 设置左边距，Margin(左外边距),Padding(左内边距)
                 * @param left 左边距
                 */
                setLeft(left:string):void;
            }
            type AbstractStyle_T = AbstractStyle$;
            interface AbstractStyle extends AbstractStyle_T {
            }
            interface Padding_S {
            }
            type Padding_ST = AbstractStyle_S & Padding_S;
            interface Padding_C extends Padding_ST {
                new():Padding;
            }
            interface Padding$ {
            }
            type Padding_T = AbstractStyle & Padding$;
            interface Padding extends Padding_T {
            }
            interface Style_S {
            }
            interface Style_C extends Style_S {
                new():Style;
            }
            interface Style$ {
                /**
                 * 设置外边距
                 *
                 * @param margin 外边距对象
                 */
                setMargin(margin:Margin):void;
                /**
                 * 获取外边距
                 *
                 * @return 外边距对象
                 */
                getMargin():Margin;
                /**
                 * 获取内边距
                 *
                 * @return 内边距对象
                 */
                getPadding():Padding;
                /**
                 * 获取关于边距的样式，外边距，边框，内边距
                 *
                 * @return 关于边距的数据字典
                 */
                getStyle():$.java.util.Map;
                /**
                 * 获取元素的边框
                 *
                 * @return 边框对象
                 */
                getBorder():Border;
                /**
                 * 设置内边距
                 *
                 * @param padding 内边距对象
                 */
                setPadding(padding:Padding):void;
                /**
                 * 设置元素的边框
                 *
                 * @param border 边框对象
                 */
                setBorder(border:Border):void;
            }
            type Style_T = Style$;
            interface Style extends Style_T {
            }
            interface Border_S {
            }
            type Border_ST = AbstractStyle_S & Border_S;
            interface Border_C extends Border_ST {
                new():Border;
            }
            interface Border$ {
            }
            type Border_T = AbstractStyle & Border$;
            interface Border extends Border_T {
            }
            interface Margin_S {
            }
            type Margin_ST = AbstractStyle_S & Margin_S;
            interface Margin_C extends Margin_ST {
                new():Margin;
            }
            interface Margin$ {
            }
            type Margin_T = AbstractStyle & Margin$;
            interface Margin extends Margin_T {
            }
            interface WidgetFormAp_S {
            }
            type WidgetFormAp_ST = FormAp_S & WidgetFormAp_S;
            interface WidgetFormAp_C extends WidgetFormAp_ST {
                new():WidgetFormAp;
            }
            interface WidgetFormAp$ {
            }
            type WidgetFormAp_T = FormAp & WidgetFormAp$;
            interface WidgetFormAp extends WidgetFormAp_T {
            }
            interface MobileBillFormAp_S {
                /**
                 * 构建菜单项控件元数据
                 * @param items
                 * @return
                 */
                createMenu(items:$.java.util.List):$.java.util.List;
            }
            type MobileBillFormAp_ST = BillFormAp_S & MobileBillFormAp_S;
            interface MobileBillFormAp_C extends MobileBillFormAp_ST {
                new():MobileBillFormAp;
            }
            interface MobileBillFormAp$ {
                /**
                 * @param menuItems
                 *            the menuItems to set
                 */
                setMenuItems(menuItems:$.java.util.List):void;
                /**
                 * @return the menuItems
                 */
                getMenuItems():$.java.util.List;
                /**
                 * @param locate
                 *            the locate to set
                 */
                setLocate(locate:boolean):void;
                /**
                 * @return the locate
                 */
                isLocate():boolean;
            }
            type MobileBillFormAp_T = BillFormAp & MobileBillFormAp$;
            interface MobileBillFormAp extends MobileBillFormAp_T {
            }
            interface LogBillFormAp_S {
            }
            type LogBillFormAp_ST = BillFormAp_S & LogBillFormAp_S;
            interface LogBillFormAp_C extends LogBillFormAp_ST {
                new():LogBillFormAp;
            }
            interface LogBillFormAp$ {
            }
            type LogBillFormAp_T = BillFormAp & LogBillFormAp$;
            interface LogBillFormAp extends LogBillFormAp_T {
            }
            interface ControlAp_S {
            }
            type ControlAp_ST = AbstractElement_S & ControlAp_S;
            interface ControlAp_C extends ControlAp_ST {
                new():ControlAp;
            }
            interface ControlAp$ {
                /**
                 * 设置控件的宽度
                 * @param width
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置控件的隐藏元素属性
                 * @param invisible
                 */
                setInvisible(invisible:boolean):void;
                /**
                 * 设置控件中字体的布局方式
                 * @param textAlign
                 */
                setTextAlign(textAlign:string):void;
                /**
                 * 设置控件自动换行属性
                 * @param autoTextWrap
                 */
                setAutoTextWrap(autoTextWrap:boolean):void;
                /**
                 * 获取控件可扩展比率
                 * @return
                 */
                getGrow():number;
                /**
                 * 设置控件在HTML中的上下位置
                 * @param zIndex
                 */
                setZIndex(zIndex:number):void;
                /**
                 * 设置布局方式
                 * @param alignSelf
                 */
                setAlignSelf(alignSelf:string):void;
                /**
                 * 设置样式对象
                 * @param style
                 */
                setStyle(style:$.kd.bos.metadata.form.Style):void;
                /**
                 * 取得样式对象
                 *
                 * @return 样式对象
                 */
                getStyle():$.kd.bos.metadata.form.Style;
                /**
                 * 获取控件在HTML中的上下位置
                 *
                 * @return int
                 */
                getZIndex():number;
                /**
                 * 设置控件背景色
                 * @param backColor
                 */
                setBackColor(backColor:string):void;
                /**
                 * 获取控件中设置的字体大小
                 *
                 * @return 字体大小
                 */
                getFontSize():number;
                /**
                 * 获取控件的字重
                 *
                 * @return 控件字重
                 */
                getFontWeight():string;
                /**
                 * 设置控件的高度
                 * @param height
                 */
                setHeight(height:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取控件的锁定状态
                 *
                 * @return 控件的锁定状态
                 */
                getLock():string;
                /**
                 * 获取样式中的圆角半径
                 *
                 * @return 样式中的圆角半径
                 */
                getRadius():string;
                /**
                 * 重新指定实体元素Id后，修改引用的地方
                 *
                 * @param idMap Map中 Key=修改前的Id，Value=修改后的Id
                 */
                resetEntityItemId(idMap:$.java.util.Map):void;
                /**
                 * 设置表头单元格背景色
                 * @param tableHeaderCellBackColor
                 */
                setTableHeaderCellBackColor(tableHeaderCellBackColor:string):void;
                /**
                 * 获取控件背景色
                 *
                 * @return 控件背景色
                 */
                getBackColor():string;
                /**
                 * 获取控件的前景色
                 *
                 * @return 控件前景色
                 */
                getForeColor():string;
                /**
                 * 设置控件的字重
                 * @param fontWeight
                 */
                setFontWeight(fontWeight:string):void;
                /**
                 * 获取自定义样式
                 * @return
                 */
                getCustomeStyles():string;
                /**
                 * 获取表头单元格背景色
                 * @return
                 */
                getTableHeaderCellBackColor():string;
                /**
                 * 获取控件中字体的布局方式
                 *
                 * @return 控件中字体的布局方式
                 */
                getTextAlign():string;
                /**
                 * 获取控件高度
                 *
                 * @return 控间高度
                 */
                getHeight():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取控件压缩比率
                 * @return
                 */
                getShrink():number;
                /**
                 * 设置控件压缩比率
                 * @param shrink
                 */
                setShrink(shrink:number):void;
                /**
                 * 获取可见性的值
                 *
                 * @return 可见性的值
                 */
                getVisibleValue():number;
                /**
                 * 隐藏元素，如果开启，控件在设计期和运行期将不展示，插件通过标识可以获取
                 *
                 * @return boolean 是否隐藏
                 */
                isInvisible():boolean;
                /**
                 * 设置控件的前景色
                 * @param foreColor
                 */
                setForeColor(foreColor:string):void;
                /**
                 * 创建前端控件元数据
                 *
                 * @return 前端控件元数据
                 */
                createDesignerControl():$.java.util.Map;
                /**
                 * 创建运行时前端控件数据，用于运行时前端呈现该控件
                 *
                 * @return 前端控件元数据
                 */
                createControl():$.java.util.Map;
                /**
                 * 设置样式中的圆角半径
                 * @param radius
                 */
                setRadius(radius:string):void;
                /**
                 * 设置控件的锁定性
                 * @param lock
                 */
                setLock(lock:string):void;
                /**
                 * 控件是否自动换行
                 * @return
                 */
                isAutoTextWrap():boolean;
                /**
                 * 获取控件在什么情况下可见 init:初始可见 new :新增可见 edit:编辑可见 view:查看可见
                 *
                 * @return 控件的可见性
                 */
                getVisible():string;
                /**
                 * 是否隐藏元素，如果是隐藏字段在设计期 和运行期都不渲染
                 *
                 * @return boolean 是否隐藏
                 */
                isHidden():boolean;
                /**
                 * 设置控件的可见性
                 * @param visible
                 */
                setVisible(visible:string):void;
                /**
                 * 设置自定义样式
                 *
                 * @param customeStyles 传压缩后字符串(通过设计器的属性[自定义样式]生成)
                 */
                setCustomeStyles(customeStyles:string):void;
                /**
                 * 设置控件可扩展比率
                 * @param grow
                 */
                setGrow(grow:number):void;
                /**
                 * 设置控件的字体大小
                 * @param fontsize
                 */
                setFontSize(fontsize:number):void;
                /**
                 * 获取布局的方式
                 *
                 * @return 布局的方式
                 */
                getAlignSelf():string;
                /**
                 * 设置控件的设计时隐藏属性
                 * @param hidden
                 */
                setHidden(hidden:boolean):void;
                /**
                 * 设置控件在父元素中的位置
                 * @param index
                 */
                setIndex(index:number):void;
                /**
                 * 获取控件的宽度
                 *
                 * @return 控件宽度
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 控件在父元素中的位置
                 *
                 * @return 控件在父元素的位置索引
                 */
                getIndex():number;
                /**
                 * 构建运行时控件
                 * @return
                 */
                buildRuntimeControl():$.kd.bos.form.control.Control;
            }
            type ControlAp_T = AbstractElement & ControlAp$;
            interface ControlAp extends ControlAp_T {
            }
            interface MenuItem_S {
            }
            interface MenuItem_C extends MenuItem_S {
                /**
                 * 构造方法
                 */
                new():MenuItem;
                /**
                 * 构造方法
                 * @param seq
                 * @param menuName
                 * @param key
                 * @param name
                 * @param operationKey
                 */
                new(seq:number,menuName:$.kd.bos.dataentity.entity.LocaleString,key:string,name:$.kd.bos.dataentity.entity.LocaleString,operationKey:string):MenuItem;
            }
            interface MenuItem$ {
                /**
                 * 获取配置上传文件窗口属性
                 * @return
                 */
                getUploadConfig():$.kd.bos.upload.UploadOption;
                /**
                 * 获取条目序号
                 *
                 * @return 条目序号
                 */
                getSeq():number;
                /**
                 * 设置名称
                 *
                 * @param name 名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置条目序号
                 *
                 * @param seq 条目序号t
                 */
                setSeq(seq:number):void;
                /**
                 * 设置目录名称
                 *
                 * @param menuName 目录名称
                 */
                setMenuName(menuName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置操作对应的key
                 *
                 * @param operationKey 操作对应的key
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置控件是否允许弹出上传文件窗口
                 * @param uploadable
                 */
                setUploadable(uploadable:boolean):void;
                /**
                 * 获取目录名称
                 *
                 * @return 目录名称
                 */
                getMenuName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取名称
                 *
                 * @return 名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 生成当前菜单条目的控件元数据
                 * @return
                 */
                createControl():$.java.util.Map;
                /**
                 * 控件是否允许弹出上传文件窗口
                 * @return
                 */
                isUploadable():boolean;
                /**
                 * 设置key
                 *
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 配置上传文件窗口属性
                 * @param uploadConfig
                 */
                setUploadConfig(uploadConfig:$.kd.bos.upload.UploadOption):void;
                /**
                 * 获取key
                 *
                 * @return key
                 */
                getKey():string;
                /**
                 * 获取操作对应的key
                 *
                 * @return the operationKey
                 */
                getOperationKey():string;
            }
            type MenuItem_T = MenuItem$;
            interface MenuItem extends MenuItem_T {
            }
            interface BasedataFormAp_S {
            }
            type BasedataFormAp_ST = BasedataFormAp_S & BillFormAp_S;
            interface BasedataFormAp_C extends BasedataFormAp_ST {
                new():BasedataFormAp;
            }
            interface BasedataFormAp$ {
            }
            type BasedataFormAp_T = BasedataFormAp$ & BillFormAp;
            interface BasedataFormAp extends BasedataFormAp_T {
            }
            interface IListGridViewAp_S {
            }
            interface IListGridViewAp_C extends IListGridViewAp_S {
            }
            interface IListGridViewAp$ {
            }
            type IListGridViewAp_T = IListGridViewAp$;
            interface IListGridViewAp extends IListGridViewAp_T {
            }
            interface FormMetadata_S {
            }
            type FormMetadata_ST = AbstractMetadata_S & FormMetadata_S & IEntityBinder_S;
            interface FormMetadata_C extends FormMetadata_ST {
                new():FormMetadata;
            }
            interface FormMetadata$ {
                /**
                 * 设置表单的启用状态
                 * @param enabled
                 */
                setEnabled(enabled:boolean):void;
                /**
                 * 为元数据中的条目建立索引，方便快速检索 同时组建元数据的层级结构
                 */
                createIndex():void;
                /**
                 * 获取创建来源的业务对象id
                 * @return
                 */
                getSrcBizObjId():string;
                /**
                 * 获取表单和实体元数据的多语言词条内容
                 * 该接口一般仅适用于返回词条内容给前端进行多语言渲染展示
                 * @return 返回ret为json格式
                 */
                getLocaleItems():any;
                /**
                 * 根据子控件的ID,获取这个控件的引用
                 *
                 * @param id
                 * @return 对应该ID的控件
                 */
                getItem(id:string):ControlAp;
                /**
                 * 设置创建来源的业务对象id
                 * @param srcBizObjId
                 */
                setSrcBizObjId(srcBizObjId:string):void;
                /**
                 * 获取当前表单元数据关联的原始应用编码，不做任何逻辑转换
                 * @return
                 */
                getOriginalAppNumber():string;
                /**
                 * 设置对应该表单的实体ID
                 *
                 * @param value
                 */
                setEntityId(value:string):void;
                /**
                 * 获取业务对象可扩展性
                 * @return
                 */
                getExtElements():$.java.util.List;
                /**
                 * 设置业务对象可扩展性
                 * @param extElements
                 */
                setExtElements(extElements:$.java.util.List):void;
                /**
                 * 获取包含的控件条目
                 *
                 * @return 包含的控件的集合
                 */
                getItems():$.java.util.List;
                /**
                 * 重建前 预处理工作
                 */
                prepareRebuild():void;
                /**
                 * 获取对应的表单的KEY 这里在获取的时候，如果是首次调用，则会将数据空中查询的平铺元素，按照节点组装成层级结构
                 *
                 * @return 返回对应的KEY
                 */
                getKey():string;
                /**
                 * 获取当前表单元数据关联的原应用上的开发商标识
                 * @return
                 */
                getBizIsv():string;
                /**
                 * 创建设计器控件树
                 *
                 * @return 返回控件描述JSON包供表单设计服务提供给设计器渲染
                 */
                builderDesgnerControls():$.java.util.Map;
                /**
                 * 设置根控件
                 *
                 * @param rootAp 根控件
                 */
                setRootAp(rootAp:FormAp):void;
                /**
                 * 获取绑定映射map，这个map里面存放了例如实体字段与表单字段控件的映射，
                 * 字段控件与子控件之间的映射，以便在控制字段发生改变时子控件也更新等
                 * @return
                 */
                getBinderMap():$.java.util.Map;
                /**
                 * 绑定实体元数据，将ControlAp和对应Field进行绑定，使之一一对应
                 *
                 * @param metaData 实体元数据
                 */
                bindEntityMetadata(metaData:kd.bos.metadata.entity.EntityMetadata):void;
                /**
                 * 创建运行时元数据（运行时的表单元数据） 因为运行时的元数据是按照种类分的，所以一个表单会有多条
                 *
                 * @param runtimeVersion
                 * @return 运行时元数据的集合
                 */
                buildRuntimeMetadata(runtimeVersion:string):$.java.util.List;
                /**
                 * 重新指定元素Id后，修改引用的地方
                 *
                 * @param idMap Map中 Key=修改前的Id，Value=修改后的Id
                 */
                resetItemId(idMap:$.java.util.Map):void;
                /**
                 * 设置KEY
                 *
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 获取对应的实体元数据
                 *
                 * @return 实体元数据对象
                 */
                getEntityMetadata():kd.bos.metadata.entity.EntityMetadata;
                /**
                 * 获取对应的业务应用编码（扩展应用返回主应用编码）
                 *
                 * @return 业务应用编码
                 */
                getBizappNumber():string;
                /**
                 * 为元数据中的条目建立索引，方便快速检索 同时组建元数据的层级结构
                 *
                 * @param forceRefesh
                 */
                createIndex(forceRefesh:boolean):void;
                /**
                 * 取得根控件，即表单
                 *
                 * @return 表单控件
                 */
                getRootAp():FormAp;
                /**
                 * 重新指定实体元素Id后，修改引用的地方
                 *
                 * @param idMap Map中 Key=修改前的Id，Value=修改后的Id
                 */
                resetEntityItemId(idMap:$.java.util.Map):void;
                /**
                 * 获取表单的名字
                 *
                 * @return 设置的多语言名字
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置名字
                 *
                 * @param name 源语言字段的名字
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 该表单是否启用
                 * @return
                 */
                isEnabled():boolean;
                /**
                 * 创建一个运行时表单元数据对象返回给调用方，由调用方设置具体的元数据内容
                 * @return
                 */
                createRuntimeFormMeta():RuntimeFormMeta;
            }
            type FormMetadata_T = AbstractMetadata & FormMetadata$ & IEntityBinder;
            interface FormMetadata extends FormMetadata_T {
            }
            interface PrintMetadata_S {
            }
            type PrintMetadata_ST = AbstractMetadata_S & IEntityBinder_S & PrintMetadata_S;
            interface PrintMetadata_C extends PrintMetadata_ST {
                new():PrintMetadata;
            }
            interface PrintMetadata$ {
                /**
                 * 为元数据中的条目建立索引，方便快速检索 同时组建元数据的层级结构
                 */
                createIndex(forceRefesh:boolean):void;
                /**
                 * 获取数据源的绑定字段
                 * @return
                 */
                getBindFields():$.java.util.Map;
                /**
                 * 获取根元素节点
                 * @return
                 */
                getRootAp():PrintFormAp;
                /**
                 * 仅获取根节点下面的元素
                 *
                 * @return
                 */
                getRootItems():$.java.util.List;
                /**
                 * 获取页眉
                 *
                 * @return
                 */
                getHeaderOrFooterItems():$.java.util.List;
                /**
                 * @return the items
                 */
                getItems():$.java.util.List;
                /**
                 * 设置根元素key标识
                 * @param key
                 */
                setKey(key:string):void;
                /**
                 * 获取数据表格
                 *
                 * @return
                 */
                getDataGridItems():$.java.util.List;
                /**
                 * 获取非根节点下面的元素
                 *
                 * @return
                 */
                getLeafItems():$.java.util.List;
                /**
                 * 获取根元素key标识
                 * @return
                 */
                getKey():string;
                /**
                 * 获取自定义数据源字段
                 * @return
                 */
                getDynamicObjectTypes():$.java.util.Map;
                /**
                 * @return the name
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @param name the name to set
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 为元数据中的条目建立索引，方便快速检索 同时组建元数据的层级结构
                 */
                createIndex():void;
                /**
                 * 根据id获取控件项
                 * @param id
                 * @return
                 */
                getItem(id:string):kd.bos.metadata.print.control.BaseControl;
                /**
                 * 设置对应该表单的实体ID
                 *
                 * @param value
                 */
                setEntityId(value:string):void;
                /**
                 * 创建设计器控件树
                 *
                 * @return 返回控件描述JSON包供表单设计服务提供给设计器渲染
                 */
                builderDesignerControls():$.java.util.Map;
                /**
                 * 获取多语言元数据
                 * @return
                 */
                getLocaleItems():any;
                /**
                 * 设置根元素节点
                 * @param rootAp
                 */
                setRootAp(rootAp:PrintFormAp):void;
            }
            type PrintMetadata_T = AbstractMetadata & IEntityBinder & PrintMetadata$;
            interface PrintMetadata extends PrintMetadata_T {
            }
            interface MobileFormAp_S {
            }
            type MobileFormAp_ST = FormAp_S & MobileFormAp_S;
            interface MobileFormAp_C extends MobileFormAp_ST {
                new():MobileFormAp;
            }
            interface MobileFormAp$ {
                /**
                 * 设置菜单条目集合
                 *
                 * @param menuItems the menuItems to set
                 */
                setMenuItems(menuItems:$.java.util.List):void;
                /**
                 * @return the locate
                 */
                isLocate():boolean;
                /**
                 * 是否下拉刷新
                 * @return
                 */
                isPullRefresh():boolean;
                /**
                 * 获取菜单条目集合
                 *
                 * @return 菜单条目集合
                 */
                getMenuItems():$.java.util.List;
                /**
                 * 设置下拉刷新
                 * @param pullRefresh
                 */
                setPullRefresh(pullRefresh:boolean):void;
                /**
                 * @param locate the locate to set
                 */
                setLocate(locate:boolean):void;
            }
            type MobileFormAp_T = FormAp & MobileFormAp$;
            interface MobileFormAp extends MobileFormAp_T {
            }
            interface PrintFormAp_S {
            }
            type PrintFormAp_ST = PrintFormAp_S & kd.bos.metadata.print.control.BaseContainer_S;
            interface PrintFormAp_C extends PrintFormAp_ST {
                new():PrintFormAp;
            }
            interface PrintFormAp$ {
                /**
                 * 设置当前设计器语言
                 * @param language
                 */
                setLanguage(language:string):void;
                /**
                 * 当前设计区语言，仅用于和设计器交互，无其它业务语义
                 *
                 * @return
                 */
                getLanguage():string;
                /**
                 * 取得对应的插件元数据
                 *
                 * @return 插件元数据集合
                 */
                getPlugins():$.java.util.List;
                /**
                 * 设置自定义数据源
                 * @param dataSource
                 */
                setCustomDataSource(dataSource:string):void;
                /**
                 * 是否显示页脚
                 * @return
                 */
                isShowFooter():boolean;
                /**
                 * 设置是否显纵向节纸
                 * @param verEconomic
                 */
                setVerEconomic(verEconomic:boolean):void;
                /**
                 * 是否显纵向节纸
                 * @return
                 */
                isVerEconomic():boolean;
                /**
                 * 获取纸张
                 * @return
                 */
                getPaper():string;
                /**
                 * 设置区域格式
                 * @param inteFormat
                 */
                setInteFormat(inteFormat:string):void;
                /**
                 * 获取左边距
                 * @return
                 */
                getMarginLeft():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否显示页眉
                 * @return
                 */
                isShowHeader():boolean;
                /**
                 * 设置是否动态走纸
                 * @param dynamicPaper
                 */
                setDynamicPaper(dynamicPaper:boolean):void;
                /**
                 * 获取区域格式
                 * @return
                 */
                getInteFormat():string;
                /**
                 * 设置引入数据源
                 * @param dataSource
                 */
                setRefQueryDataSource(dataSource:string):void;
                /**
                 * 获取右边距
                 * @return
                 */
                getMarginRight():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置右边距
                 * @param right
                 */
                setMarginRight(right:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置纸张方向
                 * @param direction
                 */
                setPaperDirection(direction:string):void;
                /**
                 * 设置是否显横向节纸
                 * @param horEconomic
                 */
                setHorEconomic(horEconomic:boolean):void;
                /**
                 * 设置显示页脚
                 * @param value
                 */
                setShowFooter(value:boolean):void;
                /**
                 * 设置纸张
                 * @param paper
                 */
                setPaper(paper:string):void;
                /**
                 * 设置下边距
                 * @param bottom
                 */
                setMarginBottom(bottom:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置显示页眉
                 * @param value
                 */
                setShowHeader(value:boolean):void;
                /**
                 * 设置上边距
                 * @param marginTop
                 */
                setMarginTop(marginTop:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取纸张方向
                 * @return
                 */
                getPaperDirection():string;
                /**
                 * 获取下边距
                 * @return
                 */
                getMarginTop():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置左边距
                 * @param left
                 */
                setMarginLeft(left:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取下边距
                 * @return
                 */
                getMarginBottom():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否显横向节纸
                 * @return
                 */
                isHorEconomic():boolean;
                /**
                 * 是否动态走纸
                 * @return
                 */
                isDynamicPaper():boolean;
                /**
                 * 获取自定义数据源
                 * @return
                 */
                getCustomDataSource():string;
                /**
                 * 获取引入数据源
                 * @return
                 */
                getRefQueryDataSource():string;
            }
            type PrintFormAp_T = PrintFormAp$ & kd.bos.metadata.print.control.BaseContainer;
            interface PrintFormAp extends PrintFormAp_T {
            }
            interface FormAp_S {
            }
            type FormAp_ST = ContainerAp_S & FormAp_S;
            interface FormAp_C extends FormAp_ST {
                new():FormAp;
            }
            interface FormAp$ {
                /**
                 * 获取F7列表表单模板编码
                 * @return
                 */
                getF7ListFormId():string;
                /**
                 * 设置前端页面脚本
                 * @param jsPlugins
                 */
                setJsPlugins(jsPlugins:$.java.util.List):void;
                /**
                 * 设置表单对应的实体对象
                 * @param entity
                 */
                setEntity(entity:kd.bos.metadata.entity.Entity):void;
                /**
                 * 初始化前端页面脚本
                 */
                initializeJsPlugin():void;
                /**
                 * 生成FormAp设计时的前端元数据
                 * @param clientMeta
                 * @param ser
                 */
                buildDesignMeta(clientMeta:$.java.util.Map,ser:kd.bos.metadata.dao.MetadataSerializer):void;
                /**
                 * 构建表单运行时，例如表单配置
                 * @param metas
                 * @param runtimeVersion
                 */
                buildRuntimeMeta(metas:$.java.util.List,runtimeVersion:string):void;
                /**
                 * 获取单据实体
                 *
                 * @return 单据实体对象
                 */
                getEntity():kd.bos.metadata.entity.Entity;
                /**
                 * 表单是否允许被继承
                 * @return
                 */
                isEnableInheritProperty():boolean;
                /**
                 * 设置字段锁定风格
                 * @param lockStyle
                 */
                setLockStyle(lockStyle:number):void;
                /**
                 * 设置新手向导
                 * @param userGuide
                 */
                setUserGuide(userGuide:string):void;
                /**
                 * 表单是否允许被扩展
                 * @return
                 */
                isEnableExtendProperty():boolean;
                /**
                 * 获取展示风格
                 *
                 * @return 展示风格
                 */
                getShowType():string;
                /**
                 * 是否换行，属性控制flex容器是单行或者多行，同时布局方向决定了新行堆叠的方向
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 设置表单是否允许被扩展
                 * @param enableExtendProperty
                 */
                setEnableExtendProperty(enableExtendProperty:boolean):void;
                /**
                 * 获取页签布局
                 * @return
                 */
                getTabLayout():TabLayout;
                /**
                 * 获取主键
                 *
                 * @return 主键
                 */
                getPkId():string;
                /**
                 * 获取是否展示标题选项
                 *
                 * @return 是否展示标题选项
                 */
                isShowTitle():boolean;
                /**
                 * 设置列表表单模板编码
                 * @param listFormId
                 */
                setListFormId(listFormId:string):void;
                /**
                 * 取得对应的插件元数据
                 *
                 * @return 插件元数据集合
                 */
                getPlugins():$.java.util.List;
                /**
                 * 设置允许双击打开
                 * @param allowDoubleClick
                 */
                setAllowDoubleClick(allowDoubleClick:boolean):void;
                /**
                 * 设置是否展示标题选项
                 * @param showLabel
                 */
                setShowTitle(showLabel:boolean):void;
                /**
                 * 设置列表选项参数表单
                 * @param listUserOption
                 */
                setListUserOption(listUserOption:string):void;
                /**
                 * 获取透明度
                 *
                 * @return 透明度，默认为完全不透明
                 */
                getOpacity():$.java.math.BigDecimal;
                /**
                 * 设置列表新增、修改操作时打开的布局页面
                 * @param listOpenLayoutBill
                 */
                setListOpenLayoutBill(listOpenLayoutBill:string):void;
                /**
                 * 当前设计区语言，仅用于和设计器交互，无其它业务语义
                 *
                 * @return
                 */
                getLanguage():string;
                /**
                 * 创建表单配置对象
                 *
                 * @return 表单配置对象
                 */
                createFormConfig():$.kd.bos.form.FormConfig;
                /**
                 * 获取列表新增、修改操作时打开的布局页面
                 * @return
                 */
                getListOpenLayoutBill():string;
                /**
                 * 设置flex容器的主轴方向来决定felx子项在flex容器中的位置
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 获取flex容器的主轴方向来决定felx子项在flex容器中的位置
                 * @return
                 */
                getDirection():string;
                /**
                 * @return 定义在表单表头的界面规则集合
                 */
                getRules():$.java.util.List;
                /**
                 * 设置F7列表表单模板编码
                 * @param f7ListFormId
                 */
                setF7ListFormId(f7ListFormId:string):void;
                /**
                 * 获取字段锁定风格
                 * @return
                 */
                getLockStyle():number;
                /**
                 * 是否允许双击打开
                 * @return
                 */
                isAllowDoubleClick():boolean;
                /**
                 * 设置换行属性
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 设置当前设计器语言
                 * @param language
                 */
                setLanguage(language:string):void;
                /**
                 * 设置主键值
                 *
                 * @param pkId
                 *            主键的值
                 */
                setPkId(pkId:string):void;
                /**
                 * 设置表单是否允许被继承
                 * @param enableInheritProperty
                 */
                setEnableInheritProperty(enableInheritProperty:boolean):void;
                /**
                 * 设置展示风格
                 *
                 * @param showType
                 *            展示风格
                 */
                setShowType(showType:string):void;
                /**
                 * 获取列表选项参数表单
                 * @return
                 */
                getListUserOption():string;
                /**
                 * 设置透明度
                 *
                 * @param opacity
                 *            透明度数值
                 */
                setOpacity(opacity:$.java.math.BigDecimal):void;
                /**
                 * 获取新手向导
                 * @return
                 */
                getUserGuide():string;
                /**
                 * 获取列表表单模板编码
                 * @return
                 */
                getListFormId():string;
                /**
                 * 获取前端页面脚本
                 * @return
                 */
                getJsPlugins():$.java.util.List;
                /**
                 * 设置页签布局
                 * @param tabLayout
                 */
                setTabLayout(tabLayout:TabLayout):void;
                /**
                 * 创建表单配置对象
                 *
                 * @param isQingView
                 *            是否为轻应用视图
                 * @return 表单配置对象
                 */
                createFormConfig(isQingView:boolean):$.kd.bos.form.FormConfig;
            }
            type FormAp_T = ContainerAp & FormAp$;
            interface FormAp extends FormAp_T {
            }
            interface RuntimeFormMeta_S {
            }
            type RuntimeFormMeta_ST = RuntimeFormMeta_S & RuntimeMeta_S;
            interface RuntimeFormMeta_C extends RuntimeFormMeta_ST {
                new():RuntimeFormMeta;
            }
            interface RuntimeFormMeta$ {
                /**
                 * 获取全文检索索引
                 *
                 * @return
                 */
                getFullTextIndexs():$.java.util.List;
                /**
                 * 设置全文检索索引
                 *
                 * @param fullTextIndexs
                 */
                setFullTextIndexs(fullTextIndexs:$.java.util.List):void;
            }
            type RuntimeFormMeta_T = RuntimeFormMeta$ & RuntimeMeta;
            interface RuntimeFormMeta extends RuntimeFormMeta_T {
            }
            interface IBillListAp_S {
            }
            interface IBillListAp_C extends IBillListAp_S {
            }
            interface IBillListAp$ {
                /**
                 * 创建缺省的PC列表元数据
                 * @param ownerMeta
                 * @param listMeta
                 * @param metas
                 * @param runtimeVersion
                 */
                buildList?(ownerMeta:FormMetadata,listMeta:FormMetadata,metas:$.java.util.List,runtimeVersion:string):void;
                /**
                 * 创建缺省的移动列表元数据
                 * @param ownerMeta
                 * @param listMeta
                 * @param metas
                 * @param runtimeVersion
                 */
                buildMobList?(ownerMeta:FormMetadata,listMeta:FormMetadata,metas:$.java.util.List,runtimeVersion:string):void;
            }
            type IBillListAp_T = IBillListAp$;
            interface IBillListAp extends IBillListAp_T {
            }
            interface ContainerAp_S {
            }
            type ContainerAp_ST = $.kd.bos.dataentity.entity.ISupportInitialize & ContainerAp_S & ControlAp_S;
            interface ContainerAp_C extends ContainerAp_ST {
                /**
                 * @return the controls
                 */
                new():ContainerAp;
            }
            interface ContainerAp$ {
                /**
                 * 是否允许折叠
                 * @return
                 */
                isCollapsible():boolean;
                /**
                 * 获取背景图片
                 * @return
                 */
                getBackgroundImg():string;
                /**
                 * 返回子控件主轴对齐
                 *
                 * @return 子控件主轴对齐
                 */
                getJustifyContent():string;
                /**
                 * 是否默认折叠
                 * @return
                 */
                isDefaultcollapse():boolean;
                /**
                 * 背景图片重复选项
                 *
                 * @return 返回图片重复选项
                 */
                getBKRepeat():string;
                /**
                 * 设置容器是否开启鼠标悬停显示阴影效果
                 * @param shadow
                 */
                setShadow(shadow:boolean):void;
                /**
                 * 设置容器控件是否允许折叠
                 * @param collapsible
                 */
                setCollapsible(collapsible:boolean):void;
                /**
                 * 获取溢出处理策略
                 *
                 * @return 溢出处理策略
                 */
                getOverflow():string;
                /**
                 * 设置子项件侧轴对齐
                 * @param alignItems
                 */
                setAlignItems(alignItems:string):void;
                /**
                 * 设置溢出处理策略
                 * @param overflow
                 */
                setOverflow(overflow:string):void;
                /**
                 * 获取当前容器控件下的子控件集合
                 * @return
                 */
                getItems():$.java.util.List;
                /**
                 * 背景图片是否充满
                 *
                 * @return 是否自动充满
                 */
                isBKFull():boolean;
                /**
                 * 设置容器内的各项子元素在主轴（横轴）方向上的对齐方式
                 * @param justifyContent
                 */
                setJustifyContent(justifyContent:string):void;
                /**
                 * 返回子项件侧轴对齐
                 *
                 * @return 子项件侧轴对齐
                 */
                getAlignItems():string;
                /**
                 * 是否允许点击，关闭时无法触发点击事件
                 * @return
                 */
                isClickable():boolean;
                /**
                 * 设置背景图片
                 * @param backgroundImg
                 */
                setBackgroundImg(backgroundImg:string):void;
                /**
                 * 获取容器折叠后摘要信息中显示的字段，字段为：FieldId.class类型
                 * @return
                 */
                getCollapFields():$.java.util.List;
                /**
                 * 设置背景图片重复选项
                 * @param bkRepeat
                 */
                setBKRepeat(bkRepeat:string):void;
                /**
                 * 设置容器控件是否允许点击
                 * @param clickable
                 */
                setClickable(clickable:boolean):void;
                /**
                 * 设置标题背景色
                 * @param titleBackColor
                 */
                setTitleBackColor(titleBackColor:string):void;
                /**
                 * 设置背景图片是否充满
                 * @param bkFull
                 */
                setBKFull(bkFull:boolean):void;
                /**
                 * 设置容器控件是否默认折叠
                 * @param defaultcollapse
                 */
                setDefaultcollapse(defaultcollapse:boolean):void;
                /**
                 * 容器是否开启鼠标悬停显示阴影效果
                 * @return
                 */
                isShadow():boolean;
                /**
                 * 获取标题背景色
                 * @return
                 */
                getTitleBackColor():string;
                /**
                 * 返回子项多行对齐方式
                 *
                 * @return 子项的多行对齐方式
                 */
                getAlignContent():string;
                /**
                 * 设置子项多行对齐方式
                 * @param alignContent
                 */
                setAlignContent(alignContent:string):void;
            }
            type ContainerAp_T = $.kd.bos.dataentity.entity.ISupportInitialize & ContainerAp$ & ControlAp;
            interface ContainerAp extends ContainerAp_T {
            }
            interface MobileUserGuideFormAp_S {
            }
            type MobileUserGuideFormAp_ST = MobileFormAp_S & MobileUserGuideFormAp_S;
            interface MobileUserGuideFormAp_C extends MobileUserGuideFormAp_ST {
                new():MobileUserGuideFormAp;
            }
            interface MobileUserGuideFormAp$ {
            }
            type MobileUserGuideFormAp_T = MobileFormAp & MobileUserGuideFormAp$;
            interface MobileUserGuideFormAp extends MobileUserGuideFormAp_T {
            }
            interface ICardRowPanelAp_S {
            }
            interface ICardRowPanelAp_C extends ICardRowPanelAp_S {
            }
            interface ICardRowPanelAp$ {
            }
            type ICardRowPanelAp_T = ICardRowPanelAp$;
            interface ICardRowPanelAp extends ICardRowPanelAp_T {
            }
            interface DesignFormMeta_S {
            }
            type DesignFormMeta_ST = DesignFormMeta_S & DesignMeta_S;
            interface DesignFormMeta_C extends DesignFormMeta_ST {
                new():DesignFormMeta;
            }
            interface DesignFormMeta$ {
                setModifierId(modifierId:string):void;
                getIsvSign():string;
                setEnabled(enabled:boolean):void;
                setModifyDate(modifyDate:Date):void;
                setInherit(isInherit:boolean):void;
                getModifierId():string;
                isExtended():boolean;
                getModifyDate():Date;
                isEnabled():boolean;
                setIsvSign(isvSign:string):void;
                setEntityId(entityId:string):void;
                isInherit():boolean;
                setExtended(isExtended:boolean):void;
                /**
                 * 获取对应实体的ID
                 *  @return 实体ID
                 */
                getEntityId():string;
            }
            type DesignFormMeta_T = DesignFormMeta$ & DesignMeta;
            interface DesignFormMeta extends DesignFormMeta_T {
            }
            interface ParameterFormAp_S {
            }
            type ParameterFormAp_ST = FormAp_S & ParameterFormAp_S;
            interface ParameterFormAp_C extends ParameterFormAp_ST {
                new():ParameterFormAp;
            }
            interface ParameterFormAp$ {
                /**
                 * 设置参数类型
                 * @param parameterType
                 *            the modelType to set
                 */
                setParameterType(parameterType:string):void;
            }
            type ParameterFormAp_T = FormAp & ParameterFormAp$;
            interface ParameterFormAp extends ParameterFormAp_T {
            }
            interface BillFormAp_S {
            }
            type BillFormAp_ST = BillFormAp_S & FormAp_S;
            interface BillFormAp_C extends BillFormAp_ST {
                new():BillFormAp;
            }
            interface BillFormAp$ {
                /**
                 * 单据在打开时是否显示卡片侧边栏
                 * @return
                 */
                isShowWidget():boolean;
                /**
                 * 移动单据
                 *
                 * @return
                 */
                getMobMeta():FormMetadata;
                /**
                 * 设置移动列表元数据
                 *
                 * @param moblistMeta
                 *            移动列表元数据
                 */
                setMobListMeta(moblistMeta:FormMetadata):void;
                /**
                 * 设置列表元数据
                 *
                 * @param listMeta
                 *            列表元数据
                 */
                setListMeta(listMeta:FormMetadata):void;
                /**
                 * 设置移动单据元数据
                 * @param mobMeta
                 */
                setMobMeta(mobMeta:FormMetadata):void;
                /**
                 * 获取列表元数据
                 *
                 * @return 列表元数据
                 */
                getListMeta():FormMetadata;
                /**
                 * 设置单据在打开时是否显示卡片侧边栏
                 * @param showWidget
                 */
                setShowWidget(showWidget:boolean):void;
                /**
                 * 获取移动列表元数据
                 *
                 * @return 移动列表元数据
                 */
                getMobListMeta():FormMetadata;
            }
            type BillFormAp_T = BillFormAp$ & FormAp;
            interface BillFormAp extends BillFormAp_T {
            }
            interface CardAp_S {
            }
            type CardAp_ST = CardAp_S & FormAp_S;
            interface CardAp_C extends CardAp_ST {
                new():CardAp;
            }
            interface CardAp$ {
            }
            type CardAp_T = CardAp$ & FormAp;
            interface CardAp extends CardAp_T {
            }
        }
        namespace kd.bos.metadata.form.cardentry{
            interface CardEntryRowAp_S {
            }
            type CardEntryRowAp_ST = CardEntryRowAp_S & ContainerAp_S;
            interface CardEntryRowAp_C extends CardEntryRowAp_ST {
                new():CardEntryRowAp;
            }
            interface CardEntryRowAp$ {
                /**
                 * 设置换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 卡片是否显示选择框
                 * @return
                 */
                isShowSelector():boolean;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 设置配置分录的功能项
                 * @param cardOperationBarItems
                 */
                setCardOperationBarItems(cardOperationBarItems:$.java.util.List):void;
                /**
                 * 获取背景图片字段
                 * @return
                 */
                getBKImgFieldId():string;
                /**
                 * 获取配置分录的功能项
                 * @return
                 */
                getCardOperationBarItems():$.java.util.List;
                /**
                 * 获取卡片界面规则
                 * @return
                 */
                getClientRules():$.java.util.List;
                /**
                 * 获取卡片选中的样式
                 * @return
                 */
                getSelectStyle():number;
                /**
                 * 卡片是否显示移入移出效果
                 * @return the showHover
                 */
                isShowHover():boolean;
                /**
                 * 获取布局方向
                 * @return
                 */
                getDirection():string;
                /**
                 * 是否显示分录的标题
                 * @return
                 */
                isShowRowHeaderLine():boolean;
                /**
                 * 设置卡片是否显示选择框
                 * @param isshowSelector
                 */
                setShowSelector(isshowSelector:boolean):void;
                /**
                 * 设置布局方向
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 分录是否可折叠
                 * @return
                 */
                isCollapse():boolean;
                /**
                 * 设置卡片选中的样式
                 * @param selectStyle
                 */
                setSelectStyle(selectStyle:number):void;
                /**
                 * 设置分录是否可折叠
                 * @param collapse
                 */
                setCollapse(collapse:boolean):void;
                /**
                 * 设置是否显示分录的标题
                 * @param showRowHeaderLine
                 */
                setShowRowHeaderLine(showRowHeaderLine:boolean):void;
                /**
                 * 设置背景图片字段
                 * @param imgFieldId
                 */
                setBKImgFieldId(imgFieldId:string):void;
                /**
                 * 设置卡片是否显示移入移出效果
                 * @param showHover the showHover to set
                 */
                setShowHover(showHover:boolean):void;
            }
            type CardEntryRowAp_T = CardEntryRowAp$ & ContainerAp;
            interface CardEntryRowAp extends CardEntryRowAp_T {
            }
            interface CardEntryFixRowPanelAp_S {
            }
            type CardEntryFixRowPanelAp_ST = CardEntryFixRowPanelAp_S & CardEntryFlexPanelAp_S;
            interface CardEntryFixRowPanelAp_C extends CardEntryFixRowPanelAp_ST {
                new():CardEntryFixRowPanelAp;
            }
            interface CardEntryFixRowPanelAp$ {
            }
            type CardEntryFixRowPanelAp_T = CardEntryFixRowPanelAp$ & CardEntryFlexPanelAp;
            interface CardEntryFixRowPanelAp extends CardEntryFixRowPanelAp_T {
            }
            interface CardEntryFlexPanelAp_S {
            }
            type CardEntryFlexPanelAp_ST = CardEntryFlexPanelAp_S & kd.bos.metadata.form.container.FlexPanelAp_S;
            interface CardEntryFlexPanelAp_C extends CardEntryFlexPanelAp_ST {
                new():CardEntryFlexPanelAp;
            }
            interface CardEntryFlexPanelAp$ {
                /**
                 * 设置是否悬停隐藏元素
                 * @param hoverHideItems
                 */
                setHoverHideItems(hoverHideItems:boolean):void;
                /**
                 * 设置悬停停靠
                 * @param floatingDock
                 */
                setFloatingDock(floatingDock:boolean):void;
                /**
                 * 是否悬停显示元素
                 * 鼠标悬停到该容器上显示子元素，鼠标移除隐藏子元素
                 * @return
                 */
                isHoverShowItems():boolean;
                /**
                 * 是否悬停隐藏元素
                 * 鼠标悬停到该容器上隐藏子元素，鼠标移除显示子元素
                 * @return
                 */
                isHoverHideItems():boolean;
                /**
                 * 获取悬浮停靠位置
                 * @return
                 */
                getDockingPosition():string;
                /**
                 * 是否悬停停靠
                 * 设置元素是否悬浮停靠，可以设置停靠位置
                 * @return
                 */
                isFloatingDock():boolean;
                /**
                 * 设置悬浮停靠位置
                 * @param dockingPosition
                 */
                setDockingPosition(dockingPosition:string):void;
                /**
                 * 设置是否悬停显示元素
                 * @param hoverShowItems
                 */
                setHoverShowItems(hoverShowItems:boolean):void;
            }
            type CardEntryFlexPanelAp_T = CardEntryFlexPanelAp$ & kd.bos.metadata.form.container.FlexPanelAp;
            interface CardEntryFlexPanelAp extends CardEntryFlexPanelAp_T {
            }
            interface CardSelectorAp_S {
            }
            type CardSelectorAp_ST = CardSelectorAp_S & ControlAp_S;
            interface CardSelectorAp_C extends CardSelectorAp_ST {
                new():CardSelectorAp;
            }
            interface CardSelectorAp$ {
            }
            type CardSelectorAp_T = CardSelectorAp$ & ControlAp;
            interface CardSelectorAp extends CardSelectorAp_T {
            }
            interface CardEntryFixRowAp_S {
            }
            type CardEntryFixRowAp_ST = CardEntryFixRowAp_S & ContainerAp_S;
            interface CardEntryFixRowAp_C extends CardEntryFixRowAp_ST {
                new():CardEntryFixRowAp;
            }
            interface CardEntryFixRowAp$ {
                /**
                 * 设置布局方向
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 是否换行，属性控制flex容器是单行或者多行，同时布局方向决定了新行堆叠的方向
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 获取布局方向
                 *  @return
                 */
                getDirection():string;
                /**
                 * 设置换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
            }
            type CardEntryFixRowAp_T = CardEntryFixRowAp$ & ContainerAp;
            interface CardEntryFixRowAp extends CardEntryFixRowAp_T {
            }
            interface SubCardEntryAp_S {
            }
            type SubCardEntryAp_ST = CardEntryAp_S & SubCardEntryAp_S;
            interface SubCardEntryAp_C extends SubCardEntryAp_ST {
                new():SubCardEntryAp;
            }
            interface SubCardEntryAp$ {
            }
            type SubCardEntryAp_T = CardEntryAp & SubCardEntryAp$;
            interface SubCardEntryAp extends SubCardEntryAp_T {
            }
            interface CardEntryAp_S {
            }
            type CardEntryAp_ST = CardEntryAp_S & kd.bos.metadata.form.control.EntryAp_S;
            interface CardEntryAp_C extends CardEntryAp_ST {
                new():CardEntryAp;
            }
            interface CardEntryAp$ {
                /**
                 * 是否显示单据体的标题
                 * @return
                 */
                isShowHeaderLine():boolean;
                /**
                 * 设置是否显示单据体的标题
                 * @param showHeaderLine
                 */
                setShowHeaderLine(showHeaderLine:boolean):void;
                createRuntimeControl():$.kd.bos.form.control.EntryGrid;
                /**
                 * 是否统计单据体中数据行数
                 * @return
                 */
                isTotalLineNumber():boolean;
                /**
                 * 设置是否统计单据体中数据行数
                 * @param totalLineNumber
                 */
                setTotalLineNumber(totalLineNumber:boolean):void;
            }
            type CardEntryAp_T = CardEntryAp$ & kd.bos.metadata.form.control.EntryAp;
            interface CardEntryAp extends CardEntryAp_T {
            }
            interface CardEntryFieldAp_S {
            }
            type CardEntryFieldAp_ST = CardEntryFieldAp_S & kd.bos.metadata.form.control.FieldAp_S;
            interface CardEntryFieldAp_C extends CardEntryFieldAp_ST {
                new():CardEntryFieldAp;
            }
            interface CardEntryFieldAp$ {
                /**
                 * 设置字段锁定换行
                 * @param lockNewline
                 */
                setLockNewline(lockNewline:boolean):void;
                /**
                 * 设置为空提示信息
                 * @param emptyText
                 */
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 是否字段锁定换行
                 * @return
                 */
                isLockNewline():boolean;
                /**
                 * 设置是否允许上传图片
                 * @param mobCanUpload
                 */
                setMobCanUpload(mobCanUpload:boolean):void;
                /**
                 * 是否允许上传图片
                 * @return
                 */
                isMobCanUpload():boolean;
                /**
                 * 获取为空提示信息
                 * @return
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
            }
            type CardEntryFieldAp_T = CardEntryFieldAp$ & kd.bos.metadata.form.control.FieldAp;
            interface CardEntryFieldAp extends CardEntryFieldAp_T {
            }
            interface CardEntryViewAp_S {
            }
            type CardEntryViewAp_ST = CardEntryViewAp_S & ContainerAp_S;
            interface CardEntryViewAp_C extends CardEntryViewAp_ST {
                new():CardEntryViewAp;
            }
            interface CardEntryViewAp$ {
                /**
                 * 是否开启移动端无数据提示
                 * @return
                 */
                isMobShowNoDataTip():boolean;
                /**
                 * 布局方式1、整行布局  2、流式布局 3、时间轴
                 * @return
                 */
                getLayoutStyle():number;
                /**
                 * 设置下拉刷新属性
                 * @param pullRefresh
                 */
                setPullRefresh(pullRefresh:boolean):void;
                /**
                 * 是否下拉刷新
                 * @return
                 */
                isPullRefresh():boolean;
                /**
                 * 是否滚动加载
                 * @return
                 */
                isScrollLoad():boolean;
                /**
                 * 获取列表工具栏位置
                 * @return
                 */
                getToolbarLocation():string;
                /**
                 * 单据列表分页是否隐藏
                 * @return
                 */
                isPaginationHide():boolean;
                /**
                 * 获取移动表单 - 长按操作项
                 * 长按数据唤起操作选项，可对当前数据进行操作
                 * @return
                 */
                getLongPressItems():$.java.util.List;
                /**
                 * 设置列表分页类型
                 * @param type
                 */
                setPageType(type_arg:string):void;
                createRuntimeControl():$.kd.bos.form.control.EntryGrid;
                /**
                 * 是否开启无数据提示
                 * @return
                 */
                isShowNoDataTip():boolean;
                /**
                 * 获取列表分页类型
                 * @return
                 */
                getPageType():string;
                /**
                 * 设置列表工具栏位置
                 * @param toolbarLocation
                 */
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 设置是否开启无数据提示
                 * @param showNoDataTip
                 */
                setShowNoDataTip(showNoDataTip:boolean):void;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 设置布局方向
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 获取布局方向
                 * @return
                 */
                getDirection():string;
                /**
                 * 设置是否开启移动端无数据提示
                 * @param mobShowNoDataTip
                 */
                setMobShowNoDataTip(mobShowNoDataTip:boolean):void;
                /**
                 * 设置单据列表分页是否隐藏
                 * @param paginationHide
                 */
                setPaginationHide(paginationHide:boolean):void;
                /**
                 * 设置是否显示卡片下划线
                 * @param pointer
                 */
                setPointer(pointer:boolean):void;
                /**
                 * 设置布局方式
                 * @param cols
                 */
                setLayoutStyle(cols:number):void;
                /**
                 * 设置滚动加载属性
                 * @param scrollLoad
                 */
                setScrollLoad(scrollLoad:boolean):void;
                /**
                 * 是否显示卡片下划线
                 * @return
                 */
                isPointer():boolean;
                /**
                 * 设置换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 设置移动表单 - 长按操作项
                 * @param longPressItems
                 */
                setLongPressItems(longPressItems:$.java.util.List):void;
            }
            type CardEntryViewAp_T = CardEntryViewAp$ & ContainerAp;
            interface CardEntryViewAp extends CardEntryViewAp_T {
            }
        }
        namespace kd.bos.metadata.form.chart{
            interface PieChartAp_S {
            }
            type PieChartAp_ST = ChartAp_S & PieChartAp_S;
            interface PieChartAp_C extends PieChartAp_ST {
                new():PieChartAp;
            }
            interface PieChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.PieChart;
            }
            type PieChartAp_T = ChartAp & PieChartAp$;
            interface PieChartAp extends PieChartAp_T {
            }
            interface HistogramChartAp_S {
            }
            type HistogramChartAp_ST = ChartAp_S & HistogramChartAp_S;
            interface HistogramChartAp_C extends HistogramChartAp_ST {
                new():HistogramChartAp;
            }
            interface HistogramChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.HistogramChart;
            }
            type HistogramChartAp_T = ChartAp & HistogramChartAp$;
            interface HistogramChartAp extends HistogramChartAp_T {
            }
            interface BarChartAp_S {
            }
            type BarChartAp_ST = BarChartAp_S & ChartAp_S;
            interface BarChartAp_C extends BarChartAp_ST {
                new():BarChartAp;
            }
            interface BarChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.BarChart;
            }
            type BarChartAp_T = BarChartAp$ & ChartAp;
            interface BarChartAp extends BarChartAp_T {
            }
            interface GaugeChartAp_S {
            }
            type GaugeChartAp_ST = ChartAp_S & GaugeChartAp_S;
            interface GaugeChartAp_C extends GaugeChartAp_ST {
                new():GaugeChartAp;
            }
            interface GaugeChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.GaugeChart;
            }
            type GaugeChartAp_T = ChartAp & GaugeChartAp$;
            interface GaugeChartAp extends GaugeChartAp_T {
            }
            interface ChartAp_S {
            }
            type ChartAp_ST = ChartAp_S & ControlAp_S;
            interface ChartAp_C extends ChartAp_ST {
                new():ChartAp;
            }
            interface ChartAp$ {
                /**
                 * 设置标题水平位置
                 * @param titleAlign
                 */
                setTitleAlign(titleAlign:string):void;
                /**
                 * 设置是否图例纵向展示
                 * @param isLegendVertical
                 */
                setLegendVertical(isLegendVertical:boolean):void;
                /**
                 * 是否图例纵向展示
                 * @return
                 */
                isLegendVertical():boolean;
                /**
                 * 设置是否显示标题
                 * @param isShowTitle
                 */
                setShowTitle(isShowTitle:boolean):void;
                /**
                 * 是否显示标题
                 * @return
                 */
                isShowTitle():boolean;
                /**
                 * 设置是否显示图例
                 * @param isShowLegend
                 */
                setShowLegend(isShowLegend:boolean):void;
                /**
                 * 获取标题水平位置
                 * @return
                 */
                getTitleAlign():string;
                /**
                 * 获取图例水平位置
                 * @return
                 */
                getLegendAlign():string;
                /**
                 * 设置图例水平位置
                 * @param legendAlign
                 */
                setLegendAlign(legendAlign:string):void;
                /**
                 * 是否显示图例
                 * @return
                 */
                isShowLegend():boolean;
            }
            type ChartAp_T = ChartAp$ & ControlAp;
            interface ChartAp extends ChartAp_T {
            }
            interface CustomChartAp_S {
            }
            type CustomChartAp_ST = ChartAp_S & CustomChartAp_S;
            interface CustomChartAp_C extends CustomChartAp_ST {
                new():CustomChartAp;
            }
            interface CustomChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.CustomChart;
            }
            type CustomChartAp_T = ChartAp & CustomChartAp$;
            interface CustomChartAp extends CustomChartAp_T {
            }
            interface PointLineChartAp_S {
            }
            type PointLineChartAp_ST = ChartAp_S & PointLineChartAp_S;
            interface PointLineChartAp_C extends PointLineChartAp_ST {
                new():PointLineChartAp;
            }
            interface PointLineChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.PointLineChart;
            }
            type PointLineChartAp_T = ChartAp & PointLineChartAp$;
            interface PointLineChartAp extends PointLineChartAp_T {
            }
            interface RadarChartAp_S {
            }
            type RadarChartAp_ST = ChartAp_S & RadarChartAp_S;
            interface RadarChartAp_C extends RadarChartAp_ST {
                new():RadarChartAp;
            }
            interface RadarChartAp$ {
                createRuntimeControl():$.kd.bos.form.chart.radar.RadarChart;
            }
            type RadarChartAp_T = ChartAp & RadarChartAp$;
            interface RadarChartAp extends RadarChartAp_T {
            }
        }
        namespace kd.bos.metadata.form.container{
            interface HomePageTabAp_S {
            }
            type HomePageTabAp_ST = HomePageTabAp_S & TabAp_S;
            interface HomePageTabAp_C extends HomePageTabAp_ST {
                new():HomePageTabAp;
            }
            interface HomePageTabAp$ {
                /**
                 * 设置页签控件
                 * @param tabId
                 */
                setTabId(tabId:string):void;
                /**
                 * 设置布局模式
                 * @param layoutMode
                 */
                setLayoutMode(layoutMode:string):void;
                /**
                 * 获取页签控件
                 * @return
                 */
                getTabId():string;
                /**
                 * 获取布局模式
                 * @return
                 */
                getLayoutMode():string;
            }
            type HomePageTabAp_T = HomePageTabAp$ & TabAp;
            interface HomePageTabAp extends HomePageTabAp_T {
            }
            interface AdvConSummaryPanelAp_S {
            }
            type AdvConSummaryPanelAp_ST = AdvConSummaryPanelAp_S & FlexPanelAp_S;
            interface AdvConSummaryPanelAp_C extends AdvConSummaryPanelAp_ST {
                new():AdvConSummaryPanelAp;
            }
            interface AdvConSummaryPanelAp$ {
            }
            type AdvConSummaryPanelAp_T = AdvConSummaryPanelAp$ & FlexPanelAp;
            interface AdvConSummaryPanelAp extends AdvConSummaryPanelAp_T {
            }
            interface AdvConAp_S {
            }
            type AdvConAp_ST = AdvConAp_S & ContainerAp_S;
            interface AdvConAp_C extends AdvConAp_ST {
                new():AdvConAp;
            }
            interface AdvConAp$ {
                /**
                 * 设置帮助文本
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 面板是否允许启用全屏
                 * @return
                 */
                isMaximize():boolean;
                /**
                 * 设置面板是否允许启用全屏
                 * @param maximize
                 */
                setMaximize(maximize:boolean):void;
                /**
                 * 获取帮助文本
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 设置是否按需加载
                 * @param lazyLoad
                 */
                setLazyLoad(lazyLoad:boolean):void;
                /**
                 * 是否按需加载
                 * @return
                 */
                isLazyLoad():boolean;
            }
            type AdvConAp_T = AdvConAp$ & ContainerAp;
            interface AdvConAp extends AdvConAp_T {
            }
            interface ColumnPanelAp_S {
            }
            type ColumnPanelAp_ST = ColumnPanelAp_S & ContainerAp_S;
            interface ColumnPanelAp_C extends ColumnPanelAp_ST {
                new():ColumnPanelAp;
            }
            interface ColumnPanelAp$ {
                /**
                 * 设置列数
                 * @param cols
                 */
                setCols(cols:number):void;
                /**
                 * 列数
                 * @return
                 */
                getCols():number;
            }
            type ColumnPanelAp_T = ColumnPanelAp$ & ContainerAp;
            interface ColumnPanelAp extends ColumnPanelAp_T {
            }
            interface GridFlatPanelAp_S {
            }
            type GridFlatPanelAp_ST = FlexPanelAp_S & GridFlatPanelAp_S;
            interface GridFlatPanelAp_C extends GridFlatPanelAp_ST {
                new():GridFlatPanelAp;
            }
            interface GridFlatPanelAp$ {
                /**
                 * 获取平铺视图摘要字段
                 * @return
                 */
                getFlatSummaryField():$.java.util.List;
                /**
                 * 设置平铺视图摘要字段
                 * @param flatSummaryField
                 */
                setFlatSummaryField(flatSummaryField:$.java.util.List):void;
            }
            type GridFlatPanelAp_T = FlexPanelAp & GridFlatPanelAp$;
            interface GridFlatPanelAp extends GridFlatPanelAp_T {
            }
            interface AdvConToolbarAp_S {
            }
            type AdvConToolbarAp_ST = AdvConToolbarAp_S & kd.bos.metadata.form.control.ToolbarAp_S;
            interface AdvConToolbarAp_C extends AdvConToolbarAp_ST {
                new():AdvConToolbarAp;
            }
            interface AdvConToolbarAp$ {
            }
            type AdvConToolbarAp_T = AdvConToolbarAp$ & kd.bos.metadata.form.control.ToolbarAp;
            interface AdvConToolbarAp extends AdvConToolbarAp_T {
            }
            interface FieldsetPanelAp_S {
            }
            type FieldsetPanelAp_ST = ContainerAp_S & FieldsetPanelAp_S;
            interface FieldsetPanelAp_C extends FieldsetPanelAp_ST {
                new():FieldsetPanelAp;
            }
            interface FieldsetPanelAp$ {
                /**
                 * 设置折叠符号位置
                 * @param iconPosition
                 */
                setIconPosition(iconPosition:string):void;
                /**
                 * 设置繁忙提示
                 * @param busyTip
                 */
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置帮助文本
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 设置界面滚动显示flexPanel时是否触发onShow指令
                 * @param fireOnShow
                 */
                setFireOnShow(fireOnShow:boolean):void;
                /**
                 * 设置是否按需加载
                 * @param lazyLoad
                 */
                setLazyLoad(lazyLoad:boolean):void;
                /**
                 * 界面滚动显示flexPanel时是否触发onShow指令
                 * @return
                 */
                isFireOnShow():boolean;
                /**
                 * 获取容器类型，flex容器；字段布局面板
                 * @return
                 */
                getContainerType():string;
                /**
                 * 设置布局方式
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 设置是否隐藏标题
                 * @param hideTitle
                 */
                setHideTitle(hideTitle:boolean):void;
                /**
                 * 获取折叠符号位置
                 * @return
                 */
                getIconPosition():string;
                /**
                 * 是否按需加载
                 * @return
                 */
                isLazyLoad():boolean;
                /**
                 * 获取操作代码
                 * @return
                 */
                getOperationKey():string;
                /**
                 * 获取繁忙提示
                 * @return
                 */
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置容器类型
                 * @param containerType
                 */
                setContainerType(containerType:string):void;
                /**
                 * 是否隐藏标题
                 * @return
                 */
                isHideTitle():boolean;
                /**
                 * 获取折叠摘要
                 * @return
                 */
                getFlexAbstract():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置操作代码
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 获取帮助文本
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 获取布局方式
                 * @return
                 */
                getDirection():string;
                /**
                 * 设置面板是否允许启用全屏
                 * @param maximize
                 */
                setMaximize(maximize:boolean):void;
                /**
                 * 面板是否允许启用全屏
                 * @return
                 */
                isMaximize():boolean;
                /**
                 * 设置折叠摘要
                 * @param flexAbstract
                 */
                setFlexAbstract(flexAbstract:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置是否换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
            }
            type FieldsetPanelAp_T = ContainerAp & FieldsetPanelAp$;
            interface FieldsetPanelAp extends FieldsetPanelAp_T {
            }
            interface TabPageAp_S {
            }
            type TabPageAp_ST = ContainerAp_S & TabPageAp_S;
            interface TabPageAp_C extends TabPageAp_ST {
                new():TabPageAp;
            }
            interface TabPageAp$ {
                /**
                 * 当前页签是否为首页
                 * @return
                 */
                isHomeTab():boolean;
                /**
                 * 获取展示图片
                 * @return
                 */
                getImageKey():string;
                /**
                 * 设置是否允许全屏（非公开，只用在页签布局）
                 * @param canFull
                 */
                setCanFull(canFull:boolean):void;
                /**
                 * 获取帮助文本
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 是否允许全屏（非公开，只用在页签布局）
                 * @return
                 */
                isCanFull():boolean;
                /**
                 * 设置帮助文本
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 获取页签的操作
                 * @return
                 */
                getTabPageOperationItems():$.java.util.List;
                /**
                 * 设置展示图片
                 * @param imageKey
                 */
                setImageKey(imageKey:string):void;
                /**
                 * 设置页签的操作
                 * @param tabPageOperationItems
                 */
                setTabPageOperationItems(tabPageOperationItems:$.java.util.List):void;
                /**
                 * 设置当前页签是否为首页
                 * @param homeTab
                 */
                setHomeTab(homeTab:boolean):void;
            }
            type TabPageAp_T = ContainerAp & TabPageAp$;
            interface TabPageAp extends TabPageAp_T {
            }
            interface TabAp_S {
            }
            type TabAp_ST = ContainerAp_S & TabAp_S;
            interface TabAp_C extends TabAp_ST {
                new():TabAp;
            }
            interface TabAp$ {
                /**
                 * 设置是否允许页签全屏显示
                 * @param canFull
                 */
                setCanFull(canFull:boolean):void;
                /**
                 * 根据子页签的锁定性控制子页签是否可切换
                 * @return
                 */
                isCannotClickInLock():boolean;
                /**
                 * 设置页签显示风格
                 * @param tabStyle
                 */
                setTabStyle(tabStyle:number):void;
                /**
                 * 设置激活页签文字颜色
                 * @param activeTextColor
                 */
                setActiveTextColor(activeTextColor:string):void;
                /**
                 * 是否显示更多
                 * @return
                 */
                isShowDropdownIcon():boolean;
                /**
                 * 获取繁忙提示
                 * @return
                 */
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取激活页签文字颜色
                 * @return
                 */
                getActiveTextColor():string;
                /**
                 * 设置根据子页签的锁定性控制子页签是否可切换
                 * @param cannotClickInLock
                 */
                setCannotClickInLock(cannotClickInLock:boolean):void;
                /**
                 * 获取页签显示风格
                 * @return
                 */
                getTabStyle():number;
                /**
                 * 是否页签头滚动到界面顶部时固定住
                 * @return
                 */
                isScrollToTopFixed():boolean;
                /**
                 * 设置是否允许页签打开数过多时左右滑动
                 * @param canSlide
                 */
                setCanSlide(canSlide:boolean):void;
                /**
                 * 获取页签类型
                 * @return
                 */
                getTabType():string;
                /**
                 * 是否开启收纳模式（非公开，只用在页签布局）
                 * @return
                 */
                isStorageMode():boolean;
                /**
                 * 设置默认激活的页面
                 * @param defaultActivePage
                 */
                setDefaultActivePage(defaultActivePage:string):void;
                /**
                 * 设置是否页签头滚动到界面顶部时固定住
                 * @param scrollToTopFixed
                 */
                setScrollToTopFixed(scrollToTopFixed:boolean):void;
                /**
                 * 设置是否开启收纳模式（非公开，只用在页签布局）
                 * @param storageMode
                 */
                setStorageMode(storageMode:boolean):void;
                /**
                 * 页签头部导航是否显示
                 * @return
                 */
                isHideNavigation():boolean;
                /**
                 * 是否允许关闭所有可关闭的页签
                 * @return
                 */
                isCanCloseAll():boolean;
                /**
                 * 是否允许页签打开数过多时左右滑动
                 * @return
                 */
                isCanSlide():boolean;
                /**
                 * 获取默认激活的页面
                 * @return
                 */
                getDefaultActivePage():string;
                /**
                 * 获取页签方向
                 * @return
                 */
                getTabDirection():string;
                /**
                 * 设置页签方向
                 * @param tabDirection
                 */
                setTabDirection(tabDirection:string):void;
                /**
                 * 设置是否显示更多
                 * @param showDropdownIcon
                 */
                setShowDropdownIcon(showDropdownIcon:boolean):void;
                /**
                 * 设置繁忙提示
                 * @param busyTip
                 */
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置页签头部导航是否显示
                 * @param hideNavigation
                 */
                setHideNavigation(hideNavigation:boolean):void;
                isCanFull():boolean;
                /**
                 * 设置是否允许关闭所有可关闭的页签
                 * @param canCloseAll
                 */
                setCanCloseAll(canCloseAll:boolean):void;
                /**
                 * 设置页签类型
                 * @param tabType
                 */
                setTabType(tabType:string):void;
            }
            type TabAp_T = ContainerAp & TabAp$;
            interface TabAp extends TabAp_T {
            }
            interface LayoutFlexAp_S {
            }
            type LayoutFlexAp_ST = ContainerAp_S & LayoutFlexAp_S;
            interface LayoutFlexAp_C extends LayoutFlexAp_ST {
                new():LayoutFlexAp;
            }
            interface LayoutFlexAp$ {
                /**
                 * 设置是否换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 设置布局方向
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 设置子项属性集合
                 * @param childrenPropertyCollection
                 */
                setChildrenPropertyCollection(childrenPropertyCollection:string):void;
                /**
                 * 获取子项属性集合
                 * @return
                 */
                getChildrenPropertyCollection():string;
                /**
                 * 获取布局方向
                 * @return
                 */
                getDirection():string;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
            }
            type LayoutFlexAp_T = ContainerAp & LayoutFlexAp$;
            interface LayoutFlexAp extends LayoutFlexAp_T {
            }
            interface WizardAp_S {
            }
            type WizardAp_ST = ContainerAp_S & WizardAp_S;
            interface WizardAp_C extends WizardAp_ST {
                new():WizardAp;
            }
            interface WizardAp$ {
                /**
                 * 获取向导类型
                 * @return
                 */
                getWizardType():string;
                /**
                 * 设置指定字段标题显示位置
                 * @param textDirection
                 */
                setTextDirection(textDirection:string):void;
                /**
                 * 设置步骤长度
                 * @param stepLength
                 */
                setStepLength(stepLength:number):void;
                /**
                 * 设置是否节点联动子页签
                 * @param nodeLinkageSubTab
                 */
                setNodeLinkageSubTab(nodeLinkageSubTab:boolean):void;
                /**
                 * 获取状态图标
                 * @return
                 */
                getStatusIcon():string;
                /**
                 * 设置向导类型
                 * @param wizardType
                 */
                setWizardType(wizardType:string):void;
                /**
                 * 获取向导风格
                 * @return
                 */
                getWizardStyle():number;
                /**
                 * 是否节点联动子页签
                 * @return
                 */
                isNodeLinkageSubTab():boolean;
                /**
                 * 获取步骤长度
                 */
                getStepLength():number;
                /**
                 * 设置步骤项配置
                 * @param stepsOptions
                 */
                setStepsOptions(stepsOptions:$.java.util.List):void;
                /**
                 * 设置向导风格
                 * @param wizardStyle
                 */
                setWizardStyle(wizardStyle:number):void;
                /**
                 * 获取步骤项配置
                 * @return
                 */
                getStepsOptions():$.java.util.List;
                /**
                 * 获取页签控件
                 * @return
                 */
                getTabId():string;
                /**
                 * 设置页签控件
                 * @param tabId
                 */
                setTabId(tabId:string):void;
                /**
                 * 设置状态图标
                 * @param statusIcon
                 */
                setStatusIcon(statusIcon:string):void;
                /**
                 * 获取指定字段标题显示位置
                 */
                getTextDirection():string;
            }
            type WizardAp_T = ContainerAp & WizardAp$;
            interface WizardAp extends WizardAp_T {
            }
            interface SplitPanelAp_S {
            }
            type SplitPanelAp_ST = FlexPanelAp_S & SplitPanelAp_S;
            interface SplitPanelAp_C extends SplitPanelAp_ST {
                new():SplitPanelAp;
            }
            interface SplitPanelAp$ {
            }
            type SplitPanelAp_T = FlexPanelAp & SplitPanelAp$;
            interface SplitPanelAp extends SplitPanelAp_T {
            }
            interface FieldgroupPanelAp_S {
            }
            type FieldgroupPanelAp_ST = FieldgroupPanelAp_S & FlexPanelAp_S;
            interface FieldgroupPanelAp_C extends FieldgroupPanelAp_ST {
                new():FieldgroupPanelAp;
            }
            interface FieldgroupPanelAp$ {
                /**
                 * 获取是否显示标题
                 *
                 * @return 是否显示标题
                 */
                isShowTitle():boolean;
                /**
                 * 设置是否显示标题
                 *
                 * @param showLabel 是否显示标题
                 */
                setShowTitle(showLabel:boolean):void;
            }
            type FieldgroupPanelAp_T = FieldgroupPanelAp$ & FlexPanelAp;
            interface FieldgroupPanelAp extends FieldgroupPanelAp_T {
            }
            interface AdvConChildPanelAp_S {
            }
            type AdvConChildPanelAp_ST = AdvConChildPanelAp_S & FlexPanelAp_S;
            interface AdvConChildPanelAp_C extends AdvConChildPanelAp_ST {
                new():AdvConChildPanelAp;
            }
            interface AdvConChildPanelAp$ {
            }
            type AdvConChildPanelAp_T = AdvConChildPanelAp$ & FlexPanelAp;
            interface AdvConChildPanelAp extends AdvConChildPanelAp_T {
            }
            interface SidePanelAp_S {
            }
            type SidePanelAp_ST = FlexPanelAp_S & SidePanelAp_S;
            interface SidePanelAp_C extends SidePanelAp_ST {
                new():SidePanelAp;
            }
            interface SidePanelAp$ {
            }
            type SidePanelAp_T = FlexPanelAp & SidePanelAp$;
            interface SidePanelAp extends SidePanelAp_T {
            }
            interface AdvConBarItemAp_S {
            }
            type AdvConBarItemAp_ST = AdvConBarItemAp_S & kd.bos.metadata.form.control.BarItemAp_S;
            interface AdvConBarItemAp_C extends AdvConBarItemAp_ST {
                new():AdvConBarItemAp;
            }
            interface AdvConBarItemAp$ {
            }
            type AdvConBarItemAp_T = AdvConBarItemAp$ & kd.bos.metadata.form.control.BarItemAp;
            interface AdvConBarItemAp extends AdvConBarItemAp_T {
            }
            interface WizardPageAp_S {
            }
            type WizardPageAp_ST = FlexPanelAp_S & WizardPageAp_S;
            interface WizardPageAp_C extends WizardPageAp_ST {
                new():WizardPageAp;
            }
            interface WizardPageAp$ {
            }
            type WizardPageAp_T = FlexPanelAp & WizardPageAp$;
            interface WizardPageAp extends WizardPageAp_T {
            }
            interface ColumnAp_S {
            }
            type ColumnAp_ST = ColumnAp_S & ContainerAp_S;
            interface ColumnAp_C extends ColumnAp_ST {
                new():ColumnAp;
            }
            interface ColumnAp$ {
                /**
                 * 获取对齐方式
                 * @return
                 */
                getAlign():string;
                /**
                 * 设置对齐方式
                 * @param align
                 */
                setAlign(align:string):void;
            }
            type ColumnAp_T = ColumnAp$ & ContainerAp;
            interface ColumnAp extends ColumnAp_T {
            }
            interface SplitContainerAp_S {
            }
            type SplitContainerAp_ST = ContainerAp_S & SplitContainerAp_S;
            interface SplitContainerAp_C extends SplitContainerAp_ST {
                new():SplitContainerAp;
            }
            interface SplitContainerAp$ {
                /**
                 * 获取子容器最小高度
                 * @return
                 */
                getSubContainerMinHeight():number;
                /**
                 * 获取子容器最小宽度
                 * @return
                 */
                getSubContainerMinWidth():number;
                /**
                 * 设置子容器最小高度
                 * @param subContainerMinHeight
                 */
                setSubContainerMinHeight(subContainerMinHeight:number):void;
                /**
                 * 设置是否开启记忆折叠位置（非公开，只用在页签布局）
                 */
                setSaveSplitPosition(saveSplitPosition:boolean):void;
                /**
                 * 获取分割方向
                 * @return
                 */
                getSplitStyle():number;
                /**
                 * 设置分割方向
                 * @param splitStyle
                 */
                setSplitStyle(splitStyle:number):void;
                /**
                 * 是否开启记忆折叠位置（非公开，只用在页签布局）
                 */
                isSaveSplitPosition():boolean;
                /**
                 * 获取分割线位置
                 * @return
                 */
                getSplitPosition():string;
                /**
                 * 设置分割线位置
                 * @param splitPosition
                 */
                setSplitPosition(splitPosition:string):void;
                /**
                 * 设置是否收纳模式（非公开，只用在页签布局）
                 * @param storageMode
                 */
                setStorageMode(storageMode:boolean):void;
                /**
                 * 是否开启收纳模式（非公开，只用在页签布局）
                 * @return
                 */
                isStorageMode():boolean;
                /**
                 * 设置子容器最小宽度
                 * @param subContainerMinWidth
                 */
                setSubContainerMinWidth(subContainerMinWidth:number):void;
            }
            type SplitContainerAp_T = ContainerAp & SplitContainerAp$;
            interface SplitContainerAp extends SplitContainerAp_T {
            }
            interface HomePageTabItemAp_S {
            }
            type HomePageTabItemAp_ST = HomePageTabItemAp_S & TabPageAp_S;
            interface HomePageTabItemAp_C extends HomePageTabItemAp_ST {
                new():HomePageTabItemAp;
            }
            interface HomePageTabItemAp$ {
            }
            type HomePageTabItemAp_T = HomePageTabItemAp$ & TabPageAp;
            interface HomePageTabItemAp extends HomePageTabItemAp_T {
            }
            interface FlexPanelAp_S {
            }
            type FlexPanelAp_ST = ContainerAp_S & FlexPanelAp_S;
            interface FlexPanelAp_C extends FlexPanelAp_ST {
                new():FlexPanelAp;
            }
            interface FlexPanelAp$ {
                /**
                 * 设置折叠符号位置
                 * @param iconPosition
                 */
                setIconPosition(iconPosition:string):void;
                /**
                 * 获取面板的元素类型
                 * flexPanelAp：Flex容器  fieldsetPanelAp：字段布局面板
                 * @return
                 */
                getContainerType():string;
                /**
                 * 对应的操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
                /**
                 * 是否隐藏标题
                 * @return
                 */
                isHideTitle():boolean;
                /**
                 * 设置面板是否允许启用全屏
                 * @return
                 */
                setMaximize(maximize:boolean):void;
                /**
                 * 设置移动端Flex摘要
                 * @return
                 */
                setFlexAbstract(flexAbstract:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置是否隐藏标题
                 * @return
                 */
                setHideTitle(hideTitle:boolean):void;
                /**
                 * 获取布局方式
                 * @return
                 */
                getDirection():string;
                /**
                 * 界面滚动显示flexPanel时是否触发onShow指令
                 * @return
                 */
                isFireOnShow():boolean;
                /**
                 * 获取折叠符号位置
                 * @return
                 */
                getIconPosition():string;
                /**
                 * 获取帮助文本
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 设置帮助文本
                 * @return
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 设置布局方式
                 * @return
                 */
                setDirection(direction:string):void;
                /**
                 * 设置界面滚动显示flexPanel时是否触发onShow指令
                 * @return
                 */
                setFireOnShow(fireOnShow:boolean):void;
                /**
                 * 设置面板的元素类型
                 * @param containerType
                 */
                setContainerType(containerType:string):void;
                /**
                 * 获取繁忙提示
                 * @return
                 */
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置繁忙提示
                 * @return
                 */
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置是否换行
                 * @return
                 */
                setWrap(warp:boolean):void;
                /**
                 * 是否按需加载
                 * @return
                 */
                isLazyLoad():boolean;
                /**
                 * 面板是否允许启用全屏
                 * @return
                 */
                isMaximize():boolean;
                /**
                 * 设置是否按需加载
                 * @return
                 */
                setLazyLoad(lazyLoad:boolean):void;
                /**
                 * 移动端Flex摘要
                 * @return
                 */
                getFlexAbstract():$.kd.bos.dataentity.entity.LocaleString;
            }
            type FlexPanelAp_T = ContainerAp & FlexPanelAp$;
            interface FlexPanelAp extends FlexPanelAp_T {
            }
        }
        namespace kd.bos.metadata.form.control{
            interface CarouselFigureAp_S {
            }
            type CarouselFigureAp_ST = ButtonAp_S & CarouselFigureAp_S;
            interface CarouselFigureAp_C extends CarouselFigureAp_ST {
                new():CarouselFigureAp;
            }
            interface CarouselFigureAp$ {
                getSlideBarAlign():string;
                setAspectRatio(aspectRatio:string):void;
                setCarouselImg(carouselImg:$.java.util.List):void;
                /**
                 * 翻页按钮
                 *
                 * @return
                 */
                getCarouselPageTurn():number;
                getBasdataNumber():string;
                setCarouselPoint(carouselPoint:number):void;
                setCarouselPageTurn(carouselPageTurn:number):void;
                setBasdataNumber(basdataNumber:string):void;
                setShowSlideBar(showSlideBar:boolean):void;
                setCarouselTime(carouselTime:string):void;
                getAspectRatio():string;
                /**
                 * 悬浮时停止轮播
                 *
                 * @return
                 */
                isCarouselStopSpinning():boolean;
                /**
                 * 轮播点位置
                 *
                 * @return
                 */
                getCarouselPoint():number;
                setCarouselStopSpinning(carouselStopSpinning:boolean):void;
                isShowSlideBar():boolean;
                getCarouselTime():string;
                setSlideBarAlign(slideBarAlign:string):void;
                getCarouselImg():$.java.util.List;
            }
            type CarouselFigureAp_T = ButtonAp & CarouselFigureAp$;
            interface CarouselFigureAp extends CarouselFigureAp_T {
            }
            interface TimelineOption_S {
            }
            interface TimelineOption_C extends TimelineOption_S {
                new():TimelineOption;
                new(label:TimelineLabelOption,content:TimelineContentOption):TimelineOption;
            }
            interface TimelineOption$ {
                getLabel():TimelineLabelOption;
                setSeq(seq:number):void;
                getId():string;
                getSeq():number;
                setLabel(label:TimelineLabelOption):void;
                setContent(content:TimelineContentOption):void;
                getContent():TimelineContentOption;
                toMap():$.java.util.Map;
                setId(id:string):void;
            }
            type TimelineOption_T = TimelineOption$;
            interface TimelineOption extends TimelineOption_T {
            }
            interface DateSelectPanelAp_S {
            }
            type DateSelectPanelAp_ST = ControlAp_S & DateSelectPanelAp_S;
            interface DateSelectPanelAp_C extends DateSelectPanelAp_ST {
                new():DateSelectPanelAp;
            }
            interface DateSelectPanelAp$ {
            }
            type DateSelectPanelAp_T = ControlAp & DateSelectPanelAp$;
            interface DateSelectPanelAp extends DateSelectPanelAp_T {
            }
            interface HyperlinkAp_S {
            }
            type HyperlinkAp_ST = ControlAp_S & HyperlinkAp_S;
            interface HyperlinkAp_C extends HyperlinkAp_ST {
                new():HyperlinkAp;
            }
            interface HyperlinkAp$ {
                isShowUnderline():boolean;
                setShowUnderline(showUnderline:boolean):void;
                getLinkUrl():string;
                setLinkUrl(linkUrl:string):void;
            }
            type HyperlinkAp_T = ControlAp & HyperlinkAp$;
            interface HyperlinkAp extends HyperlinkAp_T {
            }
            interface FloatButtonAp_S {
            }
            type FloatButtonAp_ST = ButtonAp_S & FloatButtonAp_S;
            interface FloatButtonAp_C extends FloatButtonAp_ST {
                new():FloatButtonAp;
            }
            interface FloatButtonAp$ {
                setOffsetV(offsetV:string):void;
                setPinned(pinned:boolean):void;
                isPinned():boolean;
                setOffsetH(offsetH:string):void;
                getOffsetV():string;
                getOffsetH():string;
                getFloatPos():number;
                setFloatPos(floatPos:number):void;
            }
            type FloatButtonAp_T = ButtonAp & FloatButtonAp$;
            interface FloatButtonAp extends FloatButtonAp_T {
            }
            interface FieldAp_S {
            }
            type FieldAp_ST = ControlAp_S & FieldAp_S;
            interface FieldAp_C extends FieldAp_ST {
                new():FieldAp;
            }
            interface FieldAp$ {
                setDateSelectType(dateSelectType:number):void;
                getIsStartDate():boolean;
                /**
                 * 设置组合展示风格
                 *
                 * @param comboShowStyle 组合展示风格
                 */
                setComboShowStyle(comboShowStyle:number):void;
                /**
                 * 获取是否显示标题
                 *
                 * @return 是否显示标题
                 */
                isShowTitle():boolean;
                setRtlMode(rtlMode:string):void;
                getUploadButtonPosition():string;
                getAdvFormatString():string;
                setOpenSelector(openSelector:boolean):void;
                getToolbarItems():$.java.util.Map;
                setLabelWidth(labelWidth:$.kd.bos.dataentity.entity.LocaleString):void;
                getOldMask():string;
                /**
                 * 字段风格 0：编辑器 1：标签 2 边框
                 *
                 * @return 字段风格
                 */
                getFieldStyle():number;
                /**
                 * 获取是否即时触发值更新事件
                 *
                 * @return 是否即时触发值更新事件
                 */
                isFireUpdEvt():boolean;
                isSectionMagnifier():boolean;
                getLabelWidth():$.kd.bos.dataentity.entity.LocaleString;
                isShowAttachmentTips():boolean;
                /**
                 * 日期字段选择时的交互风格（移动端会使用）
                 *
                 * @return
                 */
                getDateSelectType():number;
                getOpenSelector():boolean;
                setFullLine(fullLine:boolean):void;
                setAdvFormatString(advFormatString:string):void;
                getRelatedDate():string;
                /**
                 *  获取格式化
                 *  掩码和格式化字符串 整合成高级格式化属性，提供接口获取合并后displayFormatString属性效果 （旧属性优先）
                 * @return
                 */
                getDisplayFormatString():string;
                getSelectedDisplayField():$.kd.bos.entity.SelectedDisplayField;
                getValueAreaStyle():string;
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 设置字段的前景色
                 *
                 * @param foreColor 颜色
                 */
                setFieldForeColor(foreColor:string):void;
                isQuickAddNew():boolean;
                /**
                 * 设置是否显示标题
                 *
                 * @param showLabel 是否显示标题
                 */
                setShowTitle(showLabel:boolean):void;
                createRuntimeControl():$.kd.bos.form.field.FieldEdit;
                setLockViewSelected(lockViewSelected:boolean):void;
                /**
                 * @param fieldId the fieldId to set
                 */
                setFieldId(fieldId:string):void;
                setDisplayFormatString(displayFormatString:string):void;
                setShowAttachmentTips(showAttachmentTips:boolean):void;
                /**
                 * 设置字段标题位置
                 *
                 * @param labelDirection 字段标题位置
                 */
                setLabelDirection(labelDirection:string):void;
                setComboFlatStyle(comboFlatStyle:number):void;
                setDisplayTitle(displayTitle:boolean):void;
                /**
                 * 下拉列表平铺风格
                 *
                 * @return
                 */
                getComboFlatStyle():number;
                setQuickAddNew(quickAddNew:boolean):void;
                /**
                 * 获取字段的标题水平对齐方式（默认 左对齐 居中 右对齐）
                 *
                 * @return 字段的标题水平对齐方式
                 */
                getFieldTextAlign():string;
                setToolbarItems(toolbarItems:$.java.util.Map):void;
                isShowCount():boolean;
                isEditPreview():boolean;
                /**
                 * @return 返回关联字段的字段对象Id
                 */
                getFieldId():string;
                setOldMask(mask:string):void;
                /**
                 * 设置对应的字段实体 用于表单元数据和实体元数据绑定
                 *
                 * @param field
                 */
                setField(field:kd.bos.metadata.entity.commonfield.Field):void;
                /**
                 * 设置字段的背景色
                 *
                 * @param backColor 颜色
                 */
                setFieldBackColor(backColor:string):void;
                setMobShowLines(mobShowLines:string):void;
                setIsStartDate(value:boolean):void;
                fireBeforeCreateRuntimeControl():void;
                setF7MultipleSelect(f7MultipleSelect:boolean):void;
                setShowCount(showCount:boolean):void;
                setNoDisplayScaleZero(noDisplayScale:boolean):void;
                /**
                 * 字段展示的 rtl 风格，阿拉伯语是从右到左的展示风格，用于控制部分字段在阿拉伯语下需要从左到右展示
                 *
                 * @return
                 */
                getRtlMode():string;
                /**
                 * 设置字段风格
                 *
                 * @param fieldStyle 字段风格
                 */
                setFieldStyle(fieldStyle:number):void;
                setRelatedDate(value:string):void;
                isNoDisplayScaleZero():boolean;
                /**
                 * 获取组合展示风格
                 *
                 * @return 展示风格
                 */
                getComboShowStyle():number;
                /**
                 * 将参数defaultShowPictrue的值赋给字段defaultShowPictrue
                 *
                 * @param defaultShowPicture 参数
                 */
                setDefaultShowPicture(defaultShowPicture:string):void;
                setValueAreaStyle(valueAreaStyle:string):void;
                /**
                 * 获取字段的字体大小，默认为12
                 *
                 * @return 字段的字体大小
                 */
                getFieldFontSize():number;
                setImgShowThumbnail(imgShowThumbnail:boolean):void;
                /**
                 * 设置自动换行
                 *
                 * @param autoWrap
                 */
                setAutoWrap(autoWrap:boolean):void;
                isFullLine():boolean;
                /**
                 * 设置是否即时触发值更新事件
                 *
                 * @param fireUpdEvt 是否即时触发值更新事件
                 */
                setFireUpdEvt(fireUpdEvt:boolean):void;
                /**
                 * 获取字段标题位置（垂直 水平）
                 *
                 * @return 字段标题位置
                 */
                getLabelDirection():string;
                setExpandMore(expandMore:boolean):void;
                getAttachmentFileSource():string;
                /**
                 * 获取字段defaultShowPictrue的值
                 *
                 * @return defaultShowPictrue的值
                 */
                getDefaultShowPicture():string;
                /**
                 * 设置字段字体大小
                 *
                 * @param fontsize 字段的字体大小
                 */
                setFieldFontSize(fontsize:number):void;
                /**
                 * 获取是否为超链接
                 *
                 * @return 是否为超链接
                 */
                isHyperlink():boolean;
                setAttachmentFileSource(attachmentFileSource:string):void;
                isAllowCropper():boolean;
                getOldDisplayFormatString():string;
                /**
                 * 自动换行
                 *
                 * @return
                 */
                isAutoWrap():boolean;
                isImgShowThumbnail():boolean;
                getMobShowLines():string;
                /**
                 * F7是否多选
                 *
                 * @return 单选/多选
                 */
                isF7MultipleSelect():boolean;
                getCropperProportion():string;
                getComboShowType():number;
                setComboShowType(comboShowType:number):void;
                /**
                 * 设置是否为超链接
                 *
                 * @param hyperlink 是否为超链接
                 */
                setHyperlink(hyperlink:boolean):void;
                /**
                 * 下拉列表平铺布局
                 *
                 * @return
                 */
                getComboFlatLayout():number;
                /**
                 * 获取字段的前景色，内容颜色
                 *
                 * @return 字段的前景色
                 */
                getFieldForeColor():string;
                setCropperProportion(cropperProportion:string):void;
                setEditPreview(editPreview:boolean):void;
                /**
                 *  获取掩码配置
                 *  掩码和格式化字符串 整合成高级格式化属性，提供接口获取当前mask效果（旧属性优先）
                 * @return
                 */
                getMask():string;
                setSelectedDisplayField(selectedDisplayField:$.kd.bos.entity.SelectedDisplayField):void;
                setMask(mask:string):void;
                isExpandMore():boolean;
                setAllowCropper(allowCropper:boolean):void;
                /**
                 * 设置字段的标题水平对齐方式
                 *
                 * @param textAlign 获取字段的标题水平对齐方式
                 */
                setFieldTextAlign(textAlign:string):void;
                setOldDisplayFormatString(displayFormatString:string):void;
                getMobFieldPattern():number;
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                isLockViewSelected():boolean;
                setSectionMagnifier(sectionMagnifier:boolean):void;
                isDisplayTitle():boolean;
                /**
                 * 获取控件实体的key
                 *
                 * @return 控件实体的key
                 */
                getControlFieldKey():string;
                setComboFlatLayout(comboFlatLayout:number):void;
                /**
                 * 获取字段的背景色，内容颜色
                 *
                 * @return 字段的背景色
                 */
                getFieldBackColor():string;
                setMobFieldPattern(mobFieldPattern:number):void;
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取对应的字段实体
                 *
                 * @return 字段实体
                 */
                getField():kd.bos.metadata.entity.commonfield.Field;
                setUploadButtonPosition(uploadButtonPosition:string):void;
            }
            type FieldAp_T = ControlAp & FieldAp$;
            interface FieldAp extends FieldAp_T {
            }
            interface StepsAp_S {
            }
            type StepsAp_ST = ControlAp_S & StepsAp_S;
            interface StepsAp_C extends StepsAp_ST {
                new():StepsAp;
            }
            interface StepsAp$ {
                getStepLength():number;
                getDirection():string;
                setStepLength(stepLength:number):void;
                setDescriptionLine(descriptionLine:number):void;
                getTitleLine():number;
                setStepsType(stepsType:string):void;
                setDirection(direction:string):void;
                getStepsOptions():$.java.util.List;
                setTitleLine(titleLine:number):void;
                getDescriptionLine():number;
                getStepsType():string;
                setStepsOptions(stepsOptions:$.java.util.List):void;
            }
            type StepsAp_T = ControlAp & StepsAp$;
            interface StepsAp extends StepsAp_T {
            }
            interface IFrameAp_S {
            }
            type IFrameAp_ST = ControlAp_S & IFrameAp_S;
            interface IFrameAp_C extends IFrameAp_ST {
                new():IFrameAp;
            }
            interface IFrameAp$ {
            }
            type IFrameAp_T = ControlAp & IFrameAp$;
            interface IFrameAp extends IFrameAp_T {
            }
            interface SegmentedControlAp_S {
            }
            type SegmentedControlAp_ST = ControlAp_S & SegmentedControlAp_S;
            interface SegmentedControlAp_C extends SegmentedControlAp_ST {
                new():SegmentedControlAp;
            }
            interface SegmentedControlAp$ {
                setSegmentOptions(segmentOptions:$.java.util.List):void;
                getTintColor():string;
                setTintColor(tintColor:string):void;
                getSegmentOptions():$.java.util.List;
            }
            type SegmentedControlAp_T = ControlAp & SegmentedControlAp$;
            interface SegmentedControlAp extends SegmentedControlAp_T {
            }
            interface SliderAp_S {
            }
            type SliderAp_ST = ControlAp_S & SliderAp_S;
            interface SliderAp_C extends SliderAp_ST {
                new():SliderAp;
            }
            interface SliderAp$ {
                setDataScope(dataScope:string):void;
                setIntervalDisplay(intervalDisplay:boolean):void;
                setStepValue(stepValue:$.java.math.BigDecimal):void;
                setDefValue(defValue:string):void;
                isIntervalDisplay():boolean;
                isShowCurrentValue():boolean;
                setShowCurrentValue(showCurrentValue:boolean):void;
                getDefValue():string;
                setRange(isRange:boolean):void;
                getStepValue():$.java.math.BigDecimal;
                isRange():boolean;
                getDataScope():string;
            }
            type SliderAp_T = ControlAp & SliderAp$;
            interface SliderAp extends SliderAp_T {
            }
            interface StepsOption_S {
            }
            type StepsOption_ST = $.java.io.Serializable & StepsOption_S;
            interface StepsOption_C extends StepsOption_ST {
                new():StepsOption;
                new(title:$.kd.bos.dataentity.entity.LocaleString,description:$.kd.bos.dataentity.entity.LocaleString):StepsOption;
            }
            interface StepsOption$ {
                getSeq():number;
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                setId(id:string):void;
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                getId():string;
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 转换成客户端需要的格式，发当前语言即可。
                 * 如果只发送当前语言，那么在重建完元数据后，若切换系统语言为其他语言，就无法支持多语言了
                 * 所以这里应该发送系统所支持的所有语言格式
                 *
                 * @return
                 */
                toMap():$.java.util.Map;
                setSeq(seq:number):void;
            }
            type StepsOption_T = $.java.io.Serializable & StepsOption$;
            interface StepsOption extends StepsOption_T {
            }
            interface BarItemAp_S {
            }
            type BarItemAp_ST = BarItemAp_S & ButtonAp_S;
            interface BarItemAp_C extends BarItemAp_ST {
                new():BarItemAp;
            }
            interface BarItemAp$ {
                setMoreButtonModel(moreButtonModel:string):void;
                getMoreButtonModel():string;
                /**
                 * 对应的风格
                 *
                 * @return 风格
                 */
                getOperationStyle():number;
                /**
                 * 设置风格
                 *
                 * @param operationStyle
                 */
                setOperationStyle(operationStyle:number):void;
            }
            type BarItemAp_T = BarItemAp$ & ButtonAp;
            interface BarItemAp extends BarItemAp_T {
            }
            interface FloatMenuPanelAp_S {
            }
            type FloatMenuPanelAp_ST = ContainerAp_S & FloatMenuPanelAp_S;
            interface FloatMenuPanelAp_C extends FloatMenuPanelAp_ST {
                new():FloatMenuPanelAp;
            }
            interface FloatMenuPanelAp$ {
            }
            type FloatMenuPanelAp_T = ContainerAp & FloatMenuPanelAp$;
            interface FloatMenuPanelAp extends FloatMenuPanelAp_T {
            }
            interface FilterGridAp_S {
                readonly GENLISTID:string;
            }
            type FilterGridAp_ST = ControlAp_S & FilterGridAp_S;
            interface FilterGridAp_C extends FilterGridAp_ST {
                new():FilterGridAp;
            }
            interface FilterGridAp$ {
                getValueMode():number;
                setValueMode(valueMode:number):void;
            }
            type FilterGridAp_T = ControlAp & FilterGridAp$;
            interface FilterGridAp extends FilterGridAp_T {
            }
            interface TimelineAp_S {
            }
            type TimelineAp_ST = ControlAp_S & TimelineAp_S;
            interface TimelineAp_C extends TimelineAp_ST {
                new():TimelineAp;
            }
            interface TimelineAp$ {
                getTitleLine():number;
                setTimelineOptions(timelineOptions:$.java.util.List):void;
                setAxisPosition(axisPosition:string):void;
                getDescriptionLine():number;
                setLayoutType(layoutType:string):void;
                setDescriptionLine(descriptionLine:number):void;
                getLayoutType():string;
                setTitleLine(titleLine:number):void;
                getTimelineOptions():$.java.util.List;
                getAxisPosition():string;
            }
            type TimelineAp_T = ControlAp & TimelineAp$;
            interface TimelineAp extends TimelineAp_T {
            }
            interface LabelAp_S {
            }
            type LabelAp_ST = ButtonAp_S & LabelAp_S;
            interface LabelAp_C extends LabelAp_ST {
                new():LabelAp;
            }
            interface LabelAp$ {
                setLineHeight(lineHeight:string):void;
                isClickable():boolean;
                setClickable(clickable:boolean):void;
                getLineHeight():string;
                getLabelStyle():string;
                setLabelStyle(labelStyle:string):void;
            }
            type LabelAp_T = ButtonAp & LabelAp$;
            interface LabelAp extends LabelAp_T {
            }
            interface VectorListAp_S {
            }
            type VectorListAp_ST = ControlAp_S & VectorListAp_S;
            interface VectorListAp_C extends VectorListAp_ST {
                new():VectorListAp;
            }
            interface VectorListAp$ {
            }
            type VectorListAp_T = ControlAp & VectorListAp$;
            interface VectorListAp extends VectorListAp_T {
            }
            interface ProgressBarAp_S {
            }
            type ProgressBarAp_ST = ControlAp_S & ProgressBarAp_S;
            interface ProgressBarAp_C extends ProgressBarAp_ST {
                new():ProgressBarAp;
            }
            interface ProgressBarAp$ {
                getStrokeWidth():number;
                setStrokeWidth(strokeWidth:number):void;
                getIntervalTime():number;
                setIntervalTime(intervalTime:number):void;
                getProgressBarStyle():number;
                setProgressBarStyle(progressBarStyle:number):void;
            }
            type ProgressBarAp_T = ControlAp & ProgressBarAp$;
            interface ProgressBarAp extends ProgressBarAp_T {
            }
            interface EntryFieldGroupAp_S {
            }
            type EntryFieldGroupAp_ST = ContainerAp_S & EntryFieldGroupAp_S;
            interface EntryFieldGroupAp_C extends EntryFieldGroupAp_ST {
                new():EntryFieldGroupAp;
            }
            interface EntryFieldGroupAp$ {
                createControl(orderAndFilter:number):$.java.util.Map;
                isGroupDefaultCollapse():boolean;
                getCtlTips():$.kd.bos.entity.Tips;
                setFreeze(isFreeze:boolean):void;
                setGroupDefaultCollapse(groupDefaultCollapse:boolean):void;
                setHide(isHide:boolean):void;
                setGroupCollapsible(groupCollapsible:boolean):void;
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                setMerge(isMerge:boolean):void;
                isMerge():boolean;
                isFreeze():boolean;
                isHide():boolean;
                isGroupCollapsible():boolean;
            }
            type EntryFieldGroupAp_T = ContainerAp & EntryFieldGroupAp$;
            interface EntryFieldGroupAp extends EntryFieldGroupAp_T {
            }
            interface WorkCalendarAp_S {
            }
            type WorkCalendarAp_ST = ControlAp_S & WorkCalendarAp_S;
            interface WorkCalendarAp_C extends WorkCalendarAp_ST {
                new():WorkCalendarAp;
            }
            interface WorkCalendarAp$ {
                getWeekendColor():string;
                isPassDayLocked():boolean;
                isOpenPanel():boolean;
                createRuntimeControl():$.kd.bos.form.control.WorkCalendar;
                setWeekendColor(weekendColor:string):void;
                setLockedDayColor(lockedDayColor:string):void;
                getHalfWorkDayColor():string;
                getHolidayColor():string;
                setPassDayLocked(isPassDayLocked:boolean):void;
                getWorkDayColor():string;
                setOpenPanel(openPanel:boolean):void;
                getLockedDayColor():string;
                setHalfWorkDayColor(halfWorkDayColor:string):void;
                setWorkDayColor(workDayColor:string):void;
                setHolidayColor(holidayColor:string):void;
            }
            type WorkCalendarAp_T = ControlAp & WorkCalendarAp$;
            interface WorkCalendarAp extends WorkCalendarAp_T {
            }
            interface ToolbarAp_S {
                readonly GENLISTID:string;
            }
            type ToolbarAp_ST = ContainerAp_S & ToolbarAp_S;
            interface ToolbarAp_C extends ToolbarAp_ST {
                new():ToolbarAp;
            }
            interface ToolbarAp$ {
                isMoreButtonVisible():boolean;
                setMoreButtonVisible(moreButtonVisible:boolean):void;
                isControlLoading():boolean;
                setControlLoading(controlLoading:boolean):void;
            }
            type ToolbarAp_T = ContainerAp & ToolbarAp$;
            interface ToolbarAp extends ToolbarAp_T {
            }
            interface QRCodeAp_S {
            }
            type QRCodeAp_ST = ControlAp_S & QRCodeAp_S;
            interface QRCodeAp_C extends QRCodeAp_ST {
                new():QRCodeAp;
            }
            interface QRCodeAp$ {
                setQrCodeShowStyle(qrCodeShowStyle:number):void;
                getQrCodeShowStyle():number;
                getShowBarCodeValue():boolean;
                setShowBarCodeValue(showBarCodeValue:boolean):void;
            }
            type QRCodeAp_T = ControlAp & QRCodeAp$;
            interface QRCodeAp extends QRCodeAp_T {
            }
            interface TreeViewAp_S {
            }
            type TreeViewAp_ST = ControlAp_S & TreeViewAp_S;
            interface TreeViewAp_C extends TreeViewAp_ST {
                new():TreeViewAp;
            }
            interface TreeViewAp$ {
                /**
                 * 设置是否启用拖拽
                 *
                 * @param dragEnable 是否启用拖拽
                 */
                setDragEnable(dragEnable:boolean):void;
                /**
                 * 获取是否启用拖拽
                 *
                 * @return the dragEnable 是否启用拖拽
                 */
                isDragEnable():boolean;
                setAccordion(accordion:boolean):void;
                /**
                 * 设置根节点是否可见
                 *
                 * @param rootVisible 根节点是否可见
                 */
                setRootVisible(rootVisible:boolean):void;
                /**
                 * 获取是否多选
                 *
                 * @return 是否多选
                 */
                isMulti():boolean;
                /**
                 * 获取根节点是否可见
                 *
                 * @return 根节点是否可见
                 */
                isRootVisible():boolean;
                /**
                 * 默认勾选上级节点时下级节点自动全选
                 *
                 * @return
                 */
                isChoseChildNode():boolean;
                setChoseChildNode(choseChildNode:boolean):void;
                isAccordion():boolean;
                setBigDataRender(bigDataRender:boolean):void;
                isBigDataRender():boolean;
                /**
                 * 设置是否多选
                 *
                 * @param multi 是否多选
                 */
                setMulti(multi:boolean):void;
            }
            type TreeViewAp_T = ControlAp & TreeViewAp$;
            interface TreeViewAp extends TreeViewAp_T {
            }
            interface CodeEditAp_S {
            }
            type CodeEditAp_ST = CodeEditAp_S & ControlAp_S;
            interface CodeEditAp_C extends CodeEditAp_ST {
                new():CodeEditAp;
            }
            interface CodeEditAp$ {
                getCodeEditTheme():string;
                setSendSelection(sendSelection:boolean):void;
                getFileType():string;
                isLineWrapping():boolean;
                setShowCopyButton(showCopyButton:boolean):void;
                setShowLineNumber(showLineNumber:boolean):void;
                setLineWrapping(lineWrapping:boolean):void;
                isShowCopyButton():boolean;
                isShowLineNumber():boolean;
                isSendSelection():boolean;
                setFileType(fileType:string):void;
                setContentEncode(contentEncode:boolean):void;
                isContentEncode():boolean;
                setCodeEditTheme(codeEditTheme:string):void;
            }
            type CodeEditAp_T = CodeEditAp$ & ControlAp;
            interface CodeEditAp extends CodeEditAp_T {
            }
            interface HtmlAp_S {
            }
            type HtmlAp_ST = ControlAp_S & HtmlAp_S;
            interface HtmlAp_C extends HtmlAp_ST {
                new():HtmlAp;
            }
            interface HtmlAp$ {
                isWrap():boolean;
                createRuntimeControl():$.kd.bos.form.control.Html;
                setWrap(warp:boolean):void;
                setDirection(direction:string):void;
                setHtmlContent(content:string):void;
                getHtmlContent():string;
                getDirection():string;
            }
            type HtmlAp_T = ControlAp & HtmlAp$;
            interface HtmlAp extends HtmlAp_T {
            }
            interface RichTextEditorAp_S {
            }
            type RichTextEditorAp_ST = ControlAp_S & RichTextEditorAp_S;
            interface RichTextEditorAp_C extends RichTextEditorAp_ST {
                new():RichTextEditorAp;
            }
            interface RichTextEditorAp$ {
                getMaxRichTextLength():number;
                getToolbarItems():$.java.util.Map;
                setMaxRichTextLength(maxRichTextLength:number):void;
                isAutoSave():boolean;
                getRichTextEditorStyle():number;
                getModel():number;
                setAutoSave(autoSave:boolean):void;
                setLockPrintable(lockPrintable:boolean):void;
                isContentEncode():boolean;
                setToolbarItems(toolbarItems:$.java.util.Map):void;
                setRichTextEditorStyle(richTextEditorStyle:number):void;
                setModel(model:number):void;
                setContentEncode(contentEncode:boolean):void;
                isLockPrintable():boolean;
            }
            type RichTextEditorAp_T = ControlAp & RichTextEditorAp$;
            interface RichTextEditorAp extends RichTextEditorAp_T {
            }
            interface TransferContainerAp_S {
            }
            type TransferContainerAp_ST = ControlAp_S & TransferContainerAp_S;
            interface TransferContainerAp_C extends TransferContainerAp_ST {
                new():TransferContainerAp;
            }
            interface TransferContainerAp$ {
                setTransferContainerSetting(transferContainerSetting:$.java.util.Map):void;
                getTransferContainerSetting():$.java.util.Map;
                /**
                 * 缺省值为默认模式
                 * @return
                 */
                getTransferContainerStyle():number;
                setTransferContainerStyle(transferContainerStyle:number):void;
            }
            type TransferContainerAp_T = ControlAp & TransferContainerAp$;
            interface TransferContainerAp extends TransferContainerAp_T {
            }
            interface TreeMenuAp_S {
            }
            type TreeMenuAp_ST = ContainerAp_S & TreeMenuAp_S;
            interface TreeMenuAp_C extends TreeMenuAp_ST {
                new():TreeMenuAp;
            }
            interface TreeMenuAp$ {
                setExpandDefault(expandDefault:boolean):void;
                isExpandDefault():boolean;
                isCollection():boolean;
                setCollection(collection:boolean):void;
            }
            type TreeMenuAp_T = ContainerAp & TreeMenuAp$;
            interface TreeMenuAp extends TreeMenuAp_T {
            }
            interface FlatFieldAp_S {
            }
            type FlatFieldAp_ST = FieldAp_S & FlatFieldAp_S;
            interface FlatFieldAp_C extends FlatFieldAp_ST {
                new():FlatFieldAp;
            }
            interface FlatFieldAp$ {
            }
            type FlatFieldAp_T = FieldAp & FlatFieldAp$;
            interface FlatFieldAp extends FlatFieldAp_T {
            }
            interface ButtonAp_S {
            }
            type ButtonAp_ST = ButtonAp_S & ControlAp_S;
            interface ButtonAp_C extends ButtonAp_ST {
                new():ButtonAp;
            }
            interface ButtonAp$ {
                setDropdownItemsType(dropdownItemsType:number):void;
                setUploadConfig(uploadConfig:$.kd.bos.upload.UploadOption):void;
                getImgWidth():string;
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 获取图片的标识（在按钮样式为左图右文或者上图下文的时候）
                 *
                 * @return 图片的标识
                 */
                getImageKey():string;
                setFollowTheme(followTheme:boolean):void;
                /**
                 * 设置按钮样式
                 *
                 * @param btnStyle
                 */
                setButtonStyle(btnStyle:number):void;
                /**
                 * 按钮样式为图标时，设置字体图标
                 *
                 * @return
                 */
                getfontClass():string;
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                getImgHeight():string;
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                setImgWidth(imgWidth:string):void;
                setControlLoading(controlLoading:boolean):void;
                /**
                 * 获取按钮样式 0.缺省 1.文本 2.上图下文 3.左图右文 4.图标
                 *
                 * @return 按钮样式
                 */
                getButtonStyle():number;
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 设置是否设置提交校验
                 *
                 * @param commitValidation 是否设置提交校验
                 */
                setCommitValidate(commitValidation:boolean):void;
                setTakeCert(TakeCert:boolean):void;
                getUploadConfig():$.kd.bos.upload.UploadOption;
                /**
                 * 获取是否设置提交校验
                 *
                 * @return 是否设置提交校验
                 */
                isCommitValidate():boolean;
                setImgHeight(imgHeight:string):void;
                /**
                 * 下拉菜单样式
                 *
                 * @return
                 */
                getDropdownItemsType():number;
                /**
                 * 设置图片标识
                 *
                 * @param imageKey
                 */
                setImageKey(imageKey:string):void;
                isControlLoading():boolean;
                setUploadable(uploadable:boolean):void;
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                setfontClass(fontClass:string):void;
                /**
                 * 对应的操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
                /**
                 * 是否获取证书
                 *
                 * @return 获取证书
                 */
                isTakeCert():boolean;
                /**
                 * 是否跟随主题色
                 *
                 * @return
                 */
                isFollowTheme():boolean;
                isUploadable():boolean;
                /**
                 * 获取按钮的下拉菜单条目集合
                 *
                 * @return 按钮的下拉菜单条目集合
                 */
                getDropdownItems():$.java.util.List;
            }
            type ButtonAp_T = ButtonAp$ & ControlAp;
            interface ButtonAp extends ButtonAp_T {
            }
            interface EntryFieldAp_S {
            }
            type EntryFieldAp_ST = EntryFieldAp_S & FieldAp_S;
            interface EntryFieldAp_C extends EntryFieldAp_ST {
                new():EntryFieldAp;
            }
            interface EntryFieldAp$ {
                setShowHeaderCheckbox(showHeaderCheckbox:boolean):void;
                /**
                 * 返回设置表格复选框列是否显示批量选择框
                 *
                 * @return 设置表格复选框列是否显示批量选择框
                 */
                isShowHeaderCheckbox():boolean;
                setDecimalShowType(decimalShowType:number):void;
                setDataSourceField(dataSourceField:string):void;
                setFreeze(isFreeze:boolean):void;
                setCheckBoxReportShowStyle(checkBoxReportShowStyle:number):void;
                getProgressBarDecimalPlaces():number;
                setVoucherEditor(isVoucherEditor:boolean):void;
                setOTitleReport(oTitleReport:string):void;
                isShowPercent():boolean;
                getXTitleReport():string;
                setFlexMaxShow(flexMaxShow:string):void;
                setProgressBarDecimalPlaces(progressBarDecimalPlaces:number):void;
                setSummary(summary:number):void;
                /**
                 * 汇总类型: 0：无，1:合计 2：平均值  3:最大值,4:最小值,5：计数
                 *
                 * @return
                 */
                getSummary():number;
                setDefaultSplit(defaultSplit:boolean):void;
                setHideFieldTitle(isHideFieldTitle:boolean):void;
                setXTitleReport(xTitleReport:string):void;
                getCheckBoxReportShowStyle():number;
                isHideFieldTitle():boolean;
                setProgressBarColor(progressBarColor:$.java.util.List):void;
                getDecimalShowType():number;
                isVoucherEditor():boolean;
                createColumns():$.java.util.List;
                getOTitleReport():string;
                getDataSourceField():string;
                getFlexMaxShow():string;
                isFreeze():boolean;
                getProgressBarColor():$.java.util.List;
                setNeedSplit(isNeedSplit:boolean):void;
                setShowPercent(showPercent:boolean):void;
                isNeedSplit():boolean;
                isDefaultSplit():boolean;
            }
            type EntryFieldAp_T = EntryFieldAp$ & FieldAp;
            interface EntryFieldAp extends EntryFieldAp_T {
            }
            interface VectorAp_S {
            }
            type VectorAp_ST = ControlAp_S & VectorAp_S;
            interface VectorAp_C extends VectorAp_ST {
                new():VectorAp;
            }
            interface VectorAp$ {
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                setfontClass(fontClass:string):void;
                isClickable():boolean;
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                isUploadable():boolean;
                setControlLoading(controlLoading:boolean):void;
                getfontClass():string;
                setHoverClass(hoverClass:string):void;
                isNeedHoverClass():boolean;
                setUploadable(uploadable:boolean):void;
                setNeedHoverClass(needHoverClass:boolean):void;
                getUploadConfig():$.kd.bos.upload.UploadOption;
                setClickable(clickable:boolean):void;
                setUploadConfig(uploadConfig:$.kd.bos.upload.UploadOption):void;
                getHoverClass():string;
                isControlLoading():boolean;
                /**
                 * 对应的操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
            }
            type VectorAp_T = ControlAp & VectorAp$;
            interface VectorAp extends VectorAp_T {
            }
            interface TimelineLabelOption_S {
            }
            interface TimelineLabelOption_C extends TimelineLabelOption_S {
                new():TimelineLabelOption;
                new(title:$.kd.bos.dataentity.entity.LocaleString,description:$.kd.bos.dataentity.entity.LocaleString):TimelineLabelOption;
            }
            interface TimelineLabelOption$ {
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                toMap():$.java.util.Map;
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type TimelineLabelOption_T = TimelineLabelOption$;
            interface TimelineLabelOption extends TimelineLabelOption_T {
            }
            interface OCRAp_S {
            }
            type OCRAp_ST = ControlAp_S & OCRAp_S;
            interface OCRAp_C extends OCRAp_ST {
                new():OCRAp;
            }
            interface OCRAp$ {
            }
            type OCRAp_T = ControlAp & OCRAp$;
            interface OCRAp extends OCRAp_T {
            }
            interface RateAp_S {
            }
            type RateAp_ST = ControlAp_S & RateAp_S;
            interface RateAp_C extends RateAp_ST {
                new():RateAp;
            }
            interface RateAp$ {
                setRateType(rateType:string):void;
                getIconSize():number;
                setTotalScore(totalScore:$.java.math.BigDecimal):void;
                setAllowHalf(allowHalf:boolean):void;
                setShowTextType(showTextType:number):void;
                setStarsNum(starsNum:number):void;
                getShowTextType():number;
                getRateMode():number;
                isAllowHalf():boolean;
                getRateType():string;
                setRateMode(rateMode:number):void;
                getTotalScore():$.java.math.BigDecimal;
                setIconSize(iconSize:number):void;
                getStarsNum():number;
            }
            type RateAp_T = ControlAp & RateAp$;
            interface RateAp extends RateAp_T {
            }
            interface SegmentOption_S {
            }
            interface SegmentOption_C extends SegmentOption_S {
                new():SegmentOption;
            }
            interface SegmentOption$ {
                setVisible(visible:string):void;
                setKey(key:string):void;
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                setId(id:string):void;
                getKey():string;
                toMap():$.java.util.Map;
                /**
                 * @return the visible
                 */
                getVisible():string;
                /**
                 * 主键，用于差量化
                 *
                 * @return
                 */
                getId():string;
            }
            type SegmentOption_T = SegmentOption$;
            interface SegmentOption extends SegmentOption_T {
            }
            interface FloatMenuAp_S {
            }
            type FloatMenuAp_ST = ContainerAp_S & FloatMenuAp_S;
            interface FloatMenuAp_C extends FloatMenuAp_ST {
                new():FloatMenuAp;
            }
            interface FloatMenuAp$ {
                setAlign(align:number):void;
                setTop(top:string):void;
                getAlign():number;
                getTop():string;
            }
            type FloatMenuAp_T = ContainerAp & FloatMenuAp$;
            interface FloatMenuAp extends FloatMenuAp_T {
            }
            interface EntryFieldContainerAp_S {
            }
            type EntryFieldContainerAp_ST = ContainerAp_S & EntryFieldContainerAp_S;
            interface EntryFieldContainerAp_C extends EntryFieldContainerAp_ST {
                new():EntryFieldContainerAp;
            }
            interface EntryFieldContainerAp$ {
                setWrap(warp:boolean):void;
                isWrap():boolean;
                getDirection():string;
                setDirection(direction:string):void;
            }
            type EntryFieldContainerAp_T = ContainerAp & EntryFieldContainerAp$;
            interface EntryFieldContainerAp extends EntryFieldContainerAp_T {
            }
            interface FloatMenuItemAp_S {
            }
            type FloatMenuItemAp_ST = ButtonAp_S & FloatMenuItemAp_S;
            interface FloatMenuItemAp_C extends FloatMenuItemAp_ST {
                new():FloatMenuItemAp;
            }
            interface FloatMenuItemAp$ {
                getImageHoverKey():string;
                setImageHoverKey(imageHoverKey:string):void;
            }
            type FloatMenuItemAp_T = ButtonAp & FloatMenuItemAp$;
            interface FloatMenuItemAp extends FloatMenuItemAp_T {
            }
            interface OperationColumnAp_S {
            }
            type OperationColumnAp_ST = ContainerAp_S & OperationColumnAp_S;
            interface OperationColumnAp_C extends OperationColumnAp_ST {
                new():OperationColumnAp;
            }
            interface OperationColumnAp$ {
                setOperationColItems(operationColItems:$.java.util.List):void;
                /**
                 * 显示风格：1(下拉列表)
                 *
                 * @return
                 */
                getOperationColumnShowStyle():number;
                getOperationColItems():$.java.util.List;
                setOperationColumnShowStyle(showStyle:number):void;
            }
            type OperationColumnAp_T = ContainerAp & OperationColumnAp$;
            interface OperationColumnAp extends OperationColumnAp_T {
            }
            interface EntryAp_S {
            }
            type EntryAp_ST = ContainerAp_S & EntryAp_S;
            interface EntryAp_C extends EntryAp_ST {
                new():EntryAp;
            }
            interface EntryAp$ {
                setMaxRowHeight(maxRowHeight:string):void;
                /**
                 * 行高自适应
                 *
                 * @return 行高自适应
                 */
                isAutoRowHeight():boolean;
                getSubEntryGrids():$.java.util.List;
                getHasOperateIcon():boolean;
                /**
                 * 获取冻结列列表
                 * @return
                 */
                getFreezeList():$.java.util.List;
                isTitleAutoWrap():boolean;
                /**
                 * 获得单据体的实体
                 *
                 * @return 单据体实体
                 */
                getEntry():kd.bos.metadata.entity.EntryEntity;
                /**
                 * 设置是否支持行拖拽
                 * @param dragEntryRow
                 */
                setDragEntryRow(dragEntryRow:boolean):void;
                /**
                 * 返回单据体的最大行高
                 *
                 * @return 单据体设置的最大行高
                 */
                getMaxRowHeight():string;
                /**
                 * 设置冻结列列表
                 * @param freezeList
                 */
                setFreezeList(freezeList:$.java.util.List):void;
                /**
                 * 设置是否显示树形序号
                 * @param showTreeSeq
                 */
                setShowTreeSeq(showTreeSeq:boolean):void;
                getHeadHeight():string;
                setShowSeq(showSeq:boolean):void;
                setPageRow(pageRow:number):void;
                setSumWithFilter(sumWithFilter:boolean):void;
                getMaxPageRow():string;
                getPageRow():number;
                /**
                 * 是否支持行拖拽，默认不支持
                 * @return
                 */
                isDragEntryRow():boolean;
                setRowHeight(rowHeight:string):void;
                /**
                 * 获取初始字段
                 */
                getInitField():$.java.util.List;
                setSubEntryGrids(subEntryGrids:$.java.util.List):void;
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                getTitleFontSize():number;
                setOrderAndFilter(orderAndFilter:number):void;
                setEntryId(value:string):void;
                setShowSelChexkbox(showSelChexkbox:boolean):void;
                setColumnWidthStyle(columnWidthStyle:string):void;
                /**
                 * 设置初始字段
                 */
                setInitField(initField:$.java.util.List):void;
                setEntry(entry:kd.bos.metadata.entity.EntryEntity):void;
                getPageType():string;
                isShowFlatPanel():boolean;
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 定义在本分录的界面规则集合
                 *
                 * @return 界面规则的集合
                 */
                getRules():$.java.util.List;
                getCtlTips():$.kd.bos.entity.Tips;
                getToolbarLocation():string;
                setShowFlatPanel(showFlatPanel:boolean):void;
                setMaxPageRow(maxPageRow:string):void;
                /**
                 * 获取是否分页
                 *
                 * @return 是否分页选项
                 */
                isSplitPage():boolean;
                getOrderAndFilter():number;
                /**
                 * 返回单据体的行高
                 *
                 * @return 单据体设置的行高
                 */
                getRowHeight():string;
                /**
                 * 设置是否分页
                 *
                 * @param splitPage
                 *            是否分页的选项
                 */
                setSplitPage(splitPage:boolean):void;
                setTitleFontSize(titleFontSize:number):void;
                setShowGridConfig(showGridConfig:boolean):void;
                isSumWithFilter():boolean;
                setAutoRowHeight(autoRowHeight:boolean):void;
                getColumnWidthStyle():string;
                setHasOperateIcon(flag:boolean):void;
                /**
                 * 返回是否显示序号
                 *
                 * @return 是否显示序号
                 */
                isShowSeq():boolean;
                /**
                 * 获取对应的单据体ID
                 *
                 * @return 单据体的ID
                 */
                getEntryId():string;
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                isShowGridConfig():boolean;
                /**
                 * 返回是否显示行选择列
                 *
                 * @return 是否显示行选择列
                 */
                isShowSelChexkbox():boolean;
                /**
                 * 查看是否为多单据体
                 *
                 * @return 是否为多单据体
                 */
                isMulti():boolean;
                setHeadHeight(headHeight:string):void;
                setPageType(type_arg:string):void;
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                setTitleAutoWrap(titleAutoWrap:boolean):void;
                /**
                 * 返回是否显示树形序号
                 *
                 * @return 是否显示树形序号
                 */
                isShowTreeSeq():boolean;
                /**
                 * @param multi
                 *            the multi to set
                 */
                setMulti(multi:boolean):void;
            }
            type EntryAp_T = ContainerAp & EntryAp$;
            interface EntryAp extends EntryAp_T {
            }
            interface ExchangeRateGroupCheckUtil_S {
            }
            interface ExchangeRateGroupCheckUtil_C extends ExchangeRateGroupCheckUtil_S {
                new():ExchangeRateGroupCheckUtil;
            }
            interface ExchangeRateGroupCheckUtil$ {
            }
            type ExchangeRateGroupCheckUtil_T = ExchangeRateGroupCheckUtil$;
            interface ExchangeRateGroupCheckUtil extends ExchangeRateGroupCheckUtil_T {
            }
            interface TimelineContentOption_S {
            }
            interface TimelineContentOption_C extends TimelineContentOption_S {
                new():TimelineContentOption;
                new(title:$.kd.bos.dataentity.entity.LocaleString,description:$.kd.bos.dataentity.entity.LocaleString):TimelineContentOption;
            }
            interface TimelineContentOption$ {
                toMap():$.java.util.Map;
                setTitle(title:$.kd.bos.dataentity.entity.LocaleString):void;
                getTitle():$.kd.bos.dataentity.entity.LocaleString;
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type TimelineContentOption_T = TimelineContentOption$;
            interface TimelineContentOption extends TimelineContentOption_T {
            }
            interface ImageAp_S {
            }
            type ImageAp_ST = $.kd.bos.metadata.form.control.ButtonAp & ImageAp_S;
            interface ImageAp_C extends ImageAp_ST {
                new():ImageAp;
            }
            interface ImageAp$ {
            }
            type ImageAp_T = $.kd.bos.metadata.form.control.ButtonAp & ImageAp$;
            interface ImageAp extends ImageAp_T {
            }
            interface AttachmentPanelAp_S {
            }
            type AttachmentPanelAp_ST = $.kd.bos.metadata.form.ControlAp & AttachmentPanelAp_S;
            interface AttachmentPanelAp_C extends AttachmentPanelAp_ST {
                new():AttachmentPanelAp;
            }
            interface AttachmentPanelAp$ {
                /**
                 * 设置是否展开更多
                 *
                 * @return
                 */
                setExpandMore(expandMore:boolean):void;
                /**
                 * 设置是否显示标题属性值
                 *
                 * @param showTitle
                 */
                setShowTitle(showTitle:boolean):void;
                /**
                 * 获取是否默认折叠
                 *
                 * @return 是否默认折叠
                 */
                isDefaultCollapse():boolean;
                /**
                 * 设置是否默认折叠
                 *
                 * @param defaultcollapse 是否默认折叠
                 */
                setDefaultCollapse(defaultcollapse:boolean):void;
                /**
                 * 获取是否显示帮助信息
                 *
                 * @return
                 */
                isShowAttachmentTips():boolean;
                /**
                 * 获取可上传的附件最大尺寸值
                 */
                getMaxAtmSize():number;
                /**
                 * 获取是否可以折叠
                 *
                 * @return 是否可以折叠
                 */
                isCollapsible():boolean;
                /**
                 * 设置是否显示帮助信息
                 *
                 * @return
                 */
                setShowAttachmentTips(showAttachmentTips:boolean):void;
                /**
                 * 设置附件数
                 *
                 * @param attachmentCount 附件数
                 */
                setAttachmentCount(attachmentCount:string):void;
                /**
                 * 获取扩展名设置
                 */
                getExtendName():string;
                /**
                 * 获取最大附件数
                 */
                getMaxAtmCount():number;
                /**
                 * 获取是否展开更多
                 *
                 * @return
                 */
                isExpandMore():boolean;
                /**
                 * 获取是否显示标题属性值
                 *
                 * @return
                 */
                isShowTitle():boolean;
                /**
                 * 设置是否可以折叠
                 *
                 * @param collapsible 是否可以折叠
                 */
                setCollapsible(collapsible:boolean):void;
                /**
                 * 获取附件数
                 *
                 * @return the attachmentCount 附件数
                 */
                getAttachmentCount():string;
            }
            type AttachmentPanelAp_T = $.kd.bos.metadata.form.ControlAp & AttachmentPanelAp$;
            interface AttachmentPanelAp extends AttachmentPanelAp_T {
            }
        }
        namespace kd.bos.metadata.form.control.embedform{
            interface EmbedFormShowParam_S {
            }
            interface EmbedFormShowParam_C extends EmbedFormShowParam_S {
                new():EmbedFormShowParam;
            }
            interface EmbedFormShowParam$ {
                /**
                 * 显示模式：form, list，此属性在关联动态表单时无效
                 * @return 返回显示模式
                 */
                getShowType():string;
                /**
                 * 设置缺省的空白页面(编码)
                 * @param blankFormNumber
                 */
                setBlankFormNumber(blankFormNumber:string):void;
                /**
                 * 显示模式：详情、列表
                 * @param showType 传入显示模式，可选值：form, list
                 */
                setShowType(showType:string):void;
                /**
                 * 获取嵌入页面打开时，需隐藏的控件标识
                 * @return 返回控件标识
                 */
                getHideCtrls():string;
                /**
                 * 设置关联的表单内码
                 * @param refFormId 传入表单内码
                 */
                setRefFormId(refFormId:string):void;
                /**
                 * 设置自定义参数项
                 * @param paramItems
                 */
                setParamItems(paramItems:$.java.util.List):void;
                /**
                 * 关联单据布局时，单据布局绑定的主实体编码
                 * @return
                 */
                getRefEntityNumber():string;
                /**
                 * 右匹配字段，取关联实体上的字段：通过关联匹配字段，找到数据，显示其详情
                 * @return
                 */
                getRightJoinField():string;
                /**
                 * 关联的表单内码（随机生成的唯一标识）
                 * @return 返回表单内码
                 */
                getRefFormId():string;
                /**
                 * 设置右匹配字段：嵌入页面上的字段
                 * @param rightJoinField 传入字段标识
                 */
                setRightJoinField(rightJoinField:string):void;
                /**
                 * 设置表单的领域模型类型
                 * @param refModelType
                 */
                setRefModelType(refModelType:string):void;
                /**
                 * 关联实体数据筛选条件：仅在关联单据时允许配置
                 * @return 返回{@link FilterCondition}对象序列化Json字符串
                 */
                getFilter():string;
                /**
                 * 设置嵌入的单据布局主实体编码
                 * @param refEntityNumber
                 */
                setRefEntityNumber(refEntityNumber:string):void;
                /**
                 * 关联的表单之领域模型，如"动态表单"、"单据"、"基础资料"，"联合查询"等，反序列化时动态刷新、处理多语言
                 * @return
                 */
                getRefModelType():string;
                /**
                 * 表单显示，自定义参数：可设置多个自定义参数及其取值
                 * @return
                 */
                getParamItems():$.java.util.List;
                /**
                 * 设置关联的表单（或布局）编码
                 * @param refFormNumber 传入表单编码，如"bd_currency"
                 */
                setRefFormNumber(refFormNumber:string):void;
                /**
                 * 设置嵌入页面需隐藏的控件标识
                 * @param hideCtrls 传入控件标识，多个用","隔开
                 */
                setHideCtrls(hideCtrls:string):void;
                /**
                 * 没有关联数据时的处理策略
                 * @return 返回：blank(空白页面), hide(隐藏), new(新建，设计器去掉新建选项，暂不提供), default(缺省页面)，list(空白列表)
                 */
                getNoDataPolicy():string;
                /**
                 * 设置左匹配字段：父页面上的字段
                 * @param leftJoinField 传入字段标识
                 */
                setLeftJoinField(leftJoinField:string):void;
                /**
                 * 没有关联数据时，显示的空白界面，表单编码
                 * @return
                 */
                getBlankFormNumber():string;
                /**
                 * 关联的表单（布局）编码
                 * @return 表单编码，如 "bd_currency"
                 */
                getRefFormNumber():string;
                /**
                 * 设置关联数据时的处理策略
                 * @param noDataPolicy 传入处理策略
                 */
                setNoDataPolicy(noDataPolicy:string):void;
                /**
                 * 设置缺省的空白页面(内码)
                 * @param blankFormId
                 */
                setBlankFormId(blankFormId:string):void;
                /**
                 * 返回左匹配字段（及父表单上的字段），通过匹配父子表单上的字段值，搜索出子表单数据内码，加载并显示。
                 * <p>匹配方式：SELECT 子表单.id FROM 父表单 LEFT JOIN 子表单 ON (父表单.左匹配字段 = 子表单.右匹配字段)。
                 * <p>此属性在关联动态表单时无效。
                 * @return 返回父表单上的字段名，作为关联实体的左匹配字段
                 */
                getLeftJoinField():string;
                /**
                 * 没有关联数据时，显示的空白界面。表单内码
                 * @return
                 */
                getBlankFormId():string;
                /**
                 * 关联实体数据筛选条件，{@link FilterCondition}序列化Json字符串。
                 * <p></p>过滤条件不允许差量化合并，差量化合并条件会导致条件逻辑出现问题，比如括号不匹配等。
                 * 把属性值设置为字符串，扩展条件后，可整体替换原始条件。如此设计，缺点是扩展后，原始条件升级不会起作用
                 * @param filter
                 */
                setFilter(filter:string):void;
            }
            type EmbedFormShowParam_T = EmbedFormShowParam$;
            interface EmbedFormShowParam extends EmbedFormShowParam_T {
            }
            interface EmbedFormAp_S {
            }
            type EmbedFormAp_ST = EmbedFormAp_S & kd.bos.metadata.form.container.FlexPanelAp_S;
            interface EmbedFormAp_C extends EmbedFormAp_ST {
                new():EmbedFormAp;
            }
            interface EmbedFormAp$ {
                /**
                 * 设置表单显示参数
                 * @param showParam
                 */
                setShowParam(showParam:EmbedFormShowParam):void;
                /**
                 * 表单显示参数，内含显示模式、显示自定义参数等配置
                 * @return 返回表单显示参数，默认为null，无参数
                 */
                getShowParam():EmbedFormShowParam;
                createRuntimeControl():$.kd.bos.form.control.embedform.EmbedForm;
            }
            type EmbedFormAp_T = EmbedFormAp$ & kd.bos.metadata.form.container.FlexPanelAp;
            interface EmbedFormAp extends EmbedFormAp_T {
            }
        }
        namespace kd.bos.metadata.form.control.grid{
            interface DataGridAp_S {
            }
            type DataGridAp_ST = ContainerAp_S & DataGridAp_S;
            interface DataGridAp_C extends DataGridAp_ST {
                new():DataGridAp;
            }
            interface DataGridAp$ {
                /**
                 * 查看是否为多单据体
                 *
                 * @return 是否为多单据体
                 */
                isMulti():boolean;
                /**
                 * 返回是否显示序号
                 *
                 * @return 是否显示序号
                 */
                isShowSeq():boolean;
                /**
                 * 设置最大行高
                 * @param maxRowHeight
                 */
                setMaxRowHeight(maxRowHeight:string):void;
                /**
                 * 设置是否显示行选择列
                 * @param showSelChexkbox
                 */
                setShowSelChexkbox(showSelChexkbox:boolean):void;
                /**
                 * 返回是否显示行选择列
                 *
                 * @return 是否显示行选择列
                 */
                isShowSelChexkbox():boolean;
                /**
                 * 是否行高自适应
                 * @return
                 */
                isAutoRowHeight():boolean;
                /**
                 * 设置是否行高自适应
                 * @param autoRowHeight
                 */
                setAutoRowHeight(autoRowHeight:boolean):void;
                /**
                 * 查看是否为多单据体
                 * @param multi
                 *            the multi to set
                 */
                setMulti(multi:boolean):void;
                /**
                 * 设置是否显示序号
                 * @param showSeq
                 */
                setShowSeq(showSeq:boolean):void;
                /**
                 * 获取最大行高
                 * @return
                 */
                getMaxRowHeight():string;
                /**
                 * 设置单据体的行高
                 * @param rowHeight
                 */
                setRowHeight(rowHeight:string):void;
                /**
                 * 返回单据体的行高
                 *
                 * @return 单据体设置的行高
                 */
                getRowHeight():string;
            }
            type DataGridAp_T = ContainerAp & DataGridAp$;
            interface DataGridAp extends DataGridAp_T {
            }
        }
        namespace kd.bos.metadata.form.control.grid.column{
            interface OperationDataGridColumnAp_S {
            }
            type OperationDataGridColumnAp_ST = DataGridColumnAp_S & OperationDataGridColumnAp_S;
            interface OperationDataGridColumnAp_C extends OperationDataGridColumnAp_ST {
                new():OperationDataGridColumnAp;
            }
            interface OperationDataGridColumnAp$ {
                /**
                 * 设置操作列的操作项
                 * @param operationColItems
                 */
                setOperationColItems(operationColItems:$.java.util.List):void;
                /**
                 * 获取操作列的操作项
                 * @return
                 */
                getOperationColItems():$.java.util.List;
            }
            type OperationDataGridColumnAp_T = DataGridColumnAp & OperationDataGridColumnAp$;
            interface OperationDataGridColumnAp extends OperationDataGridColumnAp_T {
            }
            interface DataGridColumnAp_S {
            }
            type DataGridColumnAp_ST = ControlAp_S & DataGridColumnAp_S;
            interface DataGridColumnAp_C extends DataGridColumnAp_ST {
                new():DataGridColumnAp;
            }
            interface DataGridColumnAp$ {
            }
            type DataGridColumnAp_T = ControlAp & DataGridColumnAp$;
            interface DataGridColumnAp extends DataGridColumnAp_T {
            }
            interface DecimalDataGridColumnAp_S {
            }
            type DecimalDataGridColumnAp_ST = DataGridColumnAp_S & DecimalDataGridColumnAp_S;
            interface DecimalDataGridColumnAp_C extends DecimalDataGridColumnAp_ST {
                new():DecimalDataGridColumnAp;
            }
            interface DecimalDataGridColumnAp$ {
                /**
                 * 设置是否开启不显示尾零
                 * @param noDisplayScaleZero
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 获取小数精度
                 * @return
                 */
                getScale():number;
                /**
                 * 设置是否开启为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 是否开启不显示尾零
                 * @return
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 是否开启为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置小数精度
                 * @param scale
                 */
                setScale(scale:number):void;
            }
            type DecimalDataGridColumnAp_T = DataGridColumnAp & DecimalDataGridColumnAp$;
            interface DecimalDataGridColumnAp extends DecimalDataGridColumnAp_T {
            }
            interface IntegerDataGridColumnAp_S {
            }
            type IntegerDataGridColumnAp_ST = DecimalDataGridColumnAp_S & IntegerDataGridColumnAp_S;
            interface IntegerDataGridColumnAp_C extends IntegerDataGridColumnAp_ST {
                new():IntegerDataGridColumnAp;
            }
            interface IntegerDataGridColumnAp$ {
            }
            type IntegerDataGridColumnAp_T = DecimalDataGridColumnAp & IntegerDataGridColumnAp$;
            interface IntegerDataGridColumnAp extends IntegerDataGridColumnAp_T {
            }
            interface DateDataGridColumnAp_S {
            }
            type DateDataGridColumnAp_ST = DataGridColumnAp_S & DateDataGridColumnAp_S;
            interface DateDataGridColumnAp_C extends DateDataGridColumnAp_ST {
                new():DateDataGridColumnAp;
            }
            interface DateDataGridColumnAp$ {
                /**
                 * 设置日期格式
                 * @param dateFormat
                 */
                setDateFormat(dateFormat:string):void;
                /**
                 * 获取日期格式
                 * @return
                 */
                getDateFormat():string;
            }
            type DateDataGridColumnAp_T = DataGridColumnAp & DateDataGridColumnAp$;
            interface DateDataGridColumnAp extends DateDataGridColumnAp_T {
            }
            interface AmountDataGridColumnAp_S {
            }
            type AmountDataGridColumnAp_ST = AmountDataGridColumnAp_S & DataGridColumnAp_S;
            interface AmountDataGridColumnAp_C extends AmountDataGridColumnAp_ST {
                new():AmountDataGridColumnAp;
            }
            interface AmountDataGridColumnAp$ {
                /**
                 * 设置是否开启为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 设置是否显示币别
                 * @param isShowSign
                 */
                setShowSign(isShowSign:boolean):void;
                /**
                 * 设置是否开启不显示尾零
                 * @param noDisplayScaleZero
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 是否开启为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 是否开启不显示尾零
                 * @return
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 是否显示币别
                 * @return
                 */
                isShowSign():boolean;
            }
            type AmountDataGridColumnAp_T = AmountDataGridColumnAp$ & DataGridColumnAp;
            interface AmountDataGridColumnAp extends AmountDataGridColumnAp_T {
            }
            interface PictureDataGridColumnAp_S {
            }
            type PictureDataGridColumnAp_ST = DataGridColumnAp_S & PictureDataGridColumnAp_S;
            interface PictureDataGridColumnAp_C extends PictureDataGridColumnAp_ST {
                new():PictureDataGridColumnAp;
            }
            interface PictureDataGridColumnAp$ {
            }
            type PictureDataGridColumnAp_T = DataGridColumnAp & PictureDataGridColumnAp$;
            interface PictureDataGridColumnAp extends PictureDataGridColumnAp_T {
            }
            interface TimeDataGridColumnAp_S {
            }
            type TimeDataGridColumnAp_ST = DataGridColumnAp_S & TimeDataGridColumnAp_S;
            interface TimeDataGridColumnAp_C extends TimeDataGridColumnAp_ST {
                new():TimeDataGridColumnAp;
            }
            interface TimeDataGridColumnAp$ {
                /**
                 * 设置时间格式
                 * @param timeFormat
                 */
                setTimeFormat(timeFormat:string):void;
                /**
                 * 获取时间格式
                 * @return
                 */
                getTimeFormat():string;
            }
            type TimeDataGridColumnAp_T = DataGridColumnAp & TimeDataGridColumnAp$;
            interface TimeDataGridColumnAp extends TimeDataGridColumnAp_T {
            }
            interface TextDataGridColumnAp_S {
            }
            type TextDataGridColumnAp_ST = DataGridColumnAp_S & TextDataGridColumnAp_S;
            interface TextDataGridColumnAp_C extends TextDataGridColumnAp_ST {
                new():TextDataGridColumnAp;
            }
            interface TextDataGridColumnAp$ {
            }
            type TextDataGridColumnAp_T = DataGridColumnAp & TextDataGridColumnAp$;
            interface TextDataGridColumnAp extends TextDataGridColumnAp_T {
            }
        }
        namespace kd.bos.metadata.form.mcontrol{
            interface MBlockMenuItemAp_S {
            }
            type MBlockMenuItemAp_ST = MBarItemAp_S & MBlockMenuItemAp_S;
            interface MBlockMenuItemAp_C extends MBlockMenuItemAp_ST {
                new():MBlockMenuItemAp;
            }
            interface MBlockMenuItemAp$ {
            }
            type MBlockMenuItemAp_T = MBarItemAp & MBlockMenuItemAp$;
            interface MBlockMenuItemAp extends MBlockMenuItemAp_T {
            }
            interface MToolbarAp_S {
                readonly GENLISTID:string;
            }
            type MToolbarAp_ST = ContainerAp_S & MToolbarAp_S;
            interface MToolbarAp_C extends MToolbarAp_ST {
                new():MToolbarAp;
            }
            interface MToolbarAp$ {
                /**
                 * 设置位置
                 * @param position
                 */
                setPosition(position:number):void;
                /**
                 * 获取文字风格
                 * @return
                 */
                getTextStyle():number;
                /**
                 * 设置工具栏风格
                 * @param itemStyle
                 */
                setItemStyle(itemStyle:number):void;
                /**
                 * 获取工具栏风格
                 * @return
                 */
                getItemStyle():number;
                /**
                 * 获取位置
                 * @return
                 */
                getPosition():number;
                /**
                 * 设置文字风格
                 * @param textStyle
                 */
                setTextStyle(textStyle:number):void;
            }
            type MToolbarAp_T = ContainerAp & MToolbarAp$;
            interface MToolbarAp extends MToolbarAp_T {
            }
            interface MTabBarFormAp_S {
                readonly GENLISTID:string;
            }
            type MTabBarFormAp_ST = ContainerAp_S & MTabBarFormAp_S;
            interface MTabBarFormAp_C extends MTabBarFormAp_ST {
                new():MTabBarFormAp;
            }
            interface MTabBarFormAp$ {
                /**
                 * 获取导航栏项选中图标后
                 *
                 * @return
                 */
                getActiveIcon():string;
                /**
                 * 设置图标大小
                 *
                 * @param iconSize
                 */
                setIconSize(iconSize:number):void;
                /**
                 * 设置默认选中的导航栏项
                 *
                 * @param defaultSelected
                 */
                setDefaultSelected(defaultSelected:boolean):void;
                /**
                 * 设置导航栏项关联的表单
                 * @param associatedForm
                 */
                setAssociatedForm(associatedForm:$.java.util.Map):void;
                /**
                 * 设置导航栏项选中图标后，选中态会展示该图标
                 *
                 * @param activeIcon
                 */
                setActiveIcon(activeIcon:string):void;
                /**
                 * 获取导航栏项的图标
                 *
                 * @return
                 */
                getDefaultIcon():string;
                /**
                 * 获取导航栏项关联的表单
                 * @return
                 */
                getAssociatedForm():$.java.util.Map;
                /**
                 * 获取是否默认选中的导航栏项
                 *
                 * @return
                 */
                isDefaultSelected():boolean;
                /**
                 * 设置导航项风格
                 *
                 * @param itemStyle
                 */
                setItemStyle(itemStyle:number):void;
                /**
                 * 获取图标大小
                 *
                 * @return
                 */
                getIconSize():number;
                /**
                 * 设置导航栏项的图标
                 *
                 * @param defaultIcon
                 */
                setDefaultIcon(defaultIcon:string):void;
                /**
                 * 获取导航项风格
                 *
                 * @return
                 */
                getItemStyle():number;
            }
            type MTabBarFormAp_T = ContainerAp & MTabBarFormAp$;
            interface MTabBarFormAp extends MTabBarFormAp_T {
            }
            interface MTabBarItemAp_S {
                readonly GENLISTID:string;
            }
            type MTabBarItemAp_ST = ContainerAp_S & MTabBarItemAp_S;
            interface MTabBarItemAp_C extends MTabBarItemAp_ST {
                new():MTabBarItemAp;
            }
            interface MTabBarItemAp$ {
                /**
                 * 获取导航栏项的图标
                 *
                 * @return
                 */
                getDefaultIcon():string;
                /**
                 * 设置是否换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 设置导航栏项选中图标后，选中态会展示该图标
                 *
                 * @param activeIcon
                 */
                setActiveIcon(activeIcon:string):void;
                /**
                 * 设置布局方向
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 设置默认选中的导航栏项
                 *
                 * @param defaultSelected
                 */
                setDefaultSelected(defaultSelected:boolean):void;
                /**
                 * 获取图标大小
                 *
                 * @return
                 */
                getIconSize():number;
                /**
                 * 设置导航项风格
                 *
                 * @param itemStyle
                 */
                setItemStyle(itemStyle:number):void;
                /**
                 * 设置图标大小
                 *
                 * @param iconSize
                 */
                setIconSize(iconSize:number):void;
                /**
                 * 获取导航栏项选中图标后
                 *
                 * @return
                 */
                getActiveIcon():string;
                /**
                 * 获取是否默认选中的导航栏项
                 *
                 * @return
                 */
                isDefaultSelected():boolean;
                /**
                 * 设置导航栏项的图标
                 *
                 * @param defaultIcon
                 */
                setDefaultIcon(defaultIcon:string):void;
                /**
                 * 获取布局方向
                 * @return
                 */
                getDirection():string;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 获取导航项风格
                 *
                 * @return
                 */
                getItemStyle():number;
            }
            type MTabBarItemAp_T = ContainerAp & MTabBarItemAp$;
            interface MTabBarItemAp extends MTabBarItemAp_T {
            }
            interface MTabBarAp_S {
            }
            type MTabBarAp_ST = ContainerAp_S & MTabBarAp_S;
            interface MTabBarAp_C extends MTabBarAp_ST {
                new():MTabBarAp;
            }
            interface MTabBarAp$ {
                /**
                 * 设置导航栏选中色
                 *
                 * @param itemActiveColor
                 */
                setItemActiveColor(itemActiveColor:string):void;
                /**
                 * 设置导航栏默认色
                 *
                 * @param itemDefaultColor
                 */
                setItemDefaultColor(itemDefaultColor:string):void;
                /**
                 * 获取导航栏选中色
                 *
                 * @return
                 */
                getItemActiveColor():string;
                /**
                 * 获取导航栏默认色
                 *
                 * @return
                 */
                getItemDefaultColor():string;
            }
            type MTabBarAp_T = ContainerAp & MTabBarAp$;
            interface MTabBarAp extends MTabBarAp_T {
            }
            interface SearchAp_S {
                readonly GENLISTID:string;
            }
            type SearchAp_ST = ContainerAp_S & SearchAp_S;
            interface SearchAp_C extends SearchAp_ST {
                new():SearchAp;
            }
            interface SearchAp$ {
                /**
                 * 获取搜索控件的为空提示
                 * @return
                 */
                getSearchEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取搜索字段的编码和名称
                 * @return
                 */
                getSearchFieldItems():$.java.util.List;
                /**
                 * 设置搜索风格
                 * @param showModel
                 */
                setShowModel(showModel:number):void;
                getShowModel():number;
                /**
                 * 设置搜索控件的为空提示
                 * @param searchEmptyText
                 */
                setSearchEmptyText(searchEmptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置搜索字段的编码和名称
                 * @param searchFieldItems
                 */
                setSearchFieldItems(searchFieldItems:$.java.util.List):void;
            }
            type SearchAp_T = ContainerAp & SearchAp$;
            interface SearchAp extends SearchAp_T {
            }
            interface MBlockMenuAp_S {
            }
            type MBlockMenuAp_ST = ContainerAp_S & MBlockMenuAp_S;
            interface MBlockMenuAp_C extends MBlockMenuAp_ST {
                new():MBlockMenuAp;
            }
            interface MBlockMenuAp$ {
                /**
                 * 是否显示分隔线
                 * @return
                 */
                isShowSplit():boolean;
                /**
                 * 获取菜单项风格
                 * @return
                 */
                getMenuStyle():number;
                /**
                 * 设置列数
                 * @param cols
                 */
                setCols(cols:number):void;
                /**
                 * 设置标题线条颜色
                 * @param titleLineColor
                 */
                setTitleLineColor(titleLineColor:string):void;
                /**
                 * 获取标题线条颜色
                 * @return
                 */
                getTitleLineColor():string;
                /**
                 * 获取列数
                 * @return
                 */
                getCols():number;
                /**
                 * 设置菜单项风格
                 * @param menuStyle
                 */
                setMenuStyle(menuStyle:number):void;
                /**
                 * 是否显示标题
                 * @return
                 */
                isShowTitle():boolean;
                /**
                 * 设置是否显示标题
                 * @param showTitle
                 */
                setShowTitle(showTitle:boolean):void;
                /**
                 * 设置是否显示分隔线
                 * @param showSplit
                 */
                setShowSplit(showSplit:boolean):void;
            }
            type MBlockMenuAp_T = ContainerAp & MBlockMenuAp$;
            interface MBlockMenuAp extends MBlockMenuAp_T {
            }
            interface MBarItemAp_S {
            }
            type MBarItemAp_ST = MBarItemAp_S & kd.bos.metadata.form.control.ButtonAp_S;
            interface MBarItemAp_C extends MBarItemAp_ST {
                new():MBarItemAp;
            }
            interface MBarItemAp$ {
                /**
                 * 设置工具栏菜单项的交互类型
                 * @param interactionTypes
                 */
                setInteractionTypes(interactionTypes:number):void;
                /**
                 * 获取工具栏菜单项的矢量图标
                 * 矢量图标可随意缩放，不影响清晰度；常用来表示标识、图标、logo等简单的图像。
                 * @return
                 */
                getVectorIcon():string;
                /**
                 * 获取工具栏菜单项的交互类型
                 * 用于绑定页面状态，决定工具栏项在普通状态或数据选择态显示
                 * @return
                 */
                getInteractionTypes():number;
                /**
                 * 设置工具栏菜单项的矢量图标
                 * @param vectorIcon
                 */
                setVectorIcon(vectorIcon:string):void;
            }
            type MBarItemAp_T = MBarItemAp$ & kd.bos.metadata.form.control.ButtonAp;
            interface MBarItemAp extends MBarItemAp_T {
            }
            interface MobFilterPanelAp_S {
                readonly GENLISTID:string;
            }
            type MobFilterPanelAp_ST = $.kd.bos.metadata.form.ContainerAp & MobFilterPanelAp_S;
            interface MobFilterPanelAp_C extends MobFilterPanelAp_ST {
                new():MobFilterPanelAp;
            }
            interface MobFilterPanelAp$ {
            }
            type MobFilterPanelAp_T = $.kd.bos.metadata.form.ContainerAp & MobFilterPanelAp$;
            interface MobFilterPanelAp extends MobFilterPanelAp_T {
            }
            interface MobCommonBaseDataFilterColumnAp_S {
            }
            type MobCommonBaseDataFilterColumnAp_ST = MobCommonBaseDataFilterColumnAp_S & kd.bos.metadata.filter.CommonBaseDataFilterColumnAp_S;
            interface MobCommonBaseDataFilterColumnAp_C extends MobCommonBaseDataFilterColumnAp_ST {
                new():MobCommonBaseDataFilterColumnAp;
            }
            interface MobCommonBaseDataFilterColumnAp$ {
            }
            type MobCommonBaseDataFilterColumnAp_T = MobCommonBaseDataFilterColumnAp$ & kd.bos.metadata.filter.CommonBaseDataFilterColumnAp;
            interface MobCommonBaseDataFilterColumnAp extends MobCommonBaseDataFilterColumnAp_T {
            }
            interface MobFilterSortAp_S {
                readonly GENLISTID:string;
            }
            type MobFilterSortAp_ST = $.kd.bos.metadata.form.ContainerAp & MobFilterSortAp_S;
            interface MobFilterSortAp_C extends MobFilterSortAp_ST {
                new():MobFilterSortAp;
            }
            interface MobFilterSortAp$ {
                createRuntimeControl():kd.bos.filter.mcontrol.MobFilterSort;
                /**
                 * 设置移动筛选排序控件是否开启方案查询
                 *
                 * @param schemeQuery
                 */
                setSchemeQuery(schemeQuery:boolean):void;
                /**
                 * 获取移动筛选排序控件是否开启方案查询
                 *
                 * @return
                 */
                isSchemeQuery():boolean;
            }
            type MobFilterSortAp_T = $.kd.bos.metadata.form.ContainerAp & MobFilterSortAp$;
            interface MobFilterSortAp extends MobFilterSortAp_T {
            }
            interface MobAdvFilterPanelAp_S {
                readonly GENLISTID:string;
            }
            type MobAdvFilterPanelAp_ST = $.kd.bos.metadata.form.ContainerAp & MobAdvFilterPanelAp_S;
            interface MobAdvFilterPanelAp_C extends MobAdvFilterPanelAp_ST {
                new():MobAdvFilterPanelAp;
            }
            interface MobAdvFilterPanelAp$ {
                /**
                 * 设置高级筛选面板初始打开时显示的字段
                 *
                 * @param userInitialField 初始显示字段  {@link DefaultHiddenField}
                 */
                setUserInitialField(userInitialField:$.java.util.List):void;
                /**
                 * 获取高级筛选面板是否开启记住筛选条件
                 *
                 * @return
                 */
                isRememberFilterCriteria():boolean;
                /**
                 * 获取面板打开方式
                 *
                 * @return default：默认，right：右侧弹出，bottom:底部弹出
                 */
                getPanelOpenStyle():string;
                /**
                 * 设置面板打开方式
                 *
                 * @param panelOpenStyle right：右侧弹出，bottom:底部弹出
                 */
                setPanelOpenStyle(panelOpenStyle:string):void;
                /**
                 * 获取元数据中预置高级筛选面板初始打开时显示的字段
                 *
                 * @return {@link DefaultHiddenField}
                 */
                getUserInitialField():$.java.util.List;
                /**
                 * 获取高级筛选面板是否开启同步过滤项
                 *
                 * @return boolean
                 */
                isSynchronizeFilterItems():boolean;
                /**
                 * 设置高级筛选面板是否开启同步过滤项
                 *
                 * @param synchronizeFilterItems 是否开启同步过滤项
                 */
                setSynchronizeFilterItems(synchronizeFilterItems:boolean):void;
                /**
                 * 获取高级筛选面板是否开启用户配置
                 *
                 * @return
                 */
                isUserConfiguration():boolean;
                /**
                 * 设置高级筛选面板是否开启记住筛选条件
                 *
                 * @param rememberFilterCriteria 是否记住筛选条件
                 */
                setRememberFilterCriteria(rememberFilterCriteria:boolean):void;
                /**
                 * 设置高级筛选面板是否开启用户配置
                 * @param userConfiguration
                 */
                setUserConfiguration(userConfiguration:boolean):void;
                /**
                 * 创建运行时元数据
                 *
                 * @return {@link MobAdvFilterPanel}
                 */
                createRuntimeControl():kd.bos.filter.mcontrol.MobAdvFilterPanel;
            }
            type MobAdvFilterPanelAp_T = $.kd.bos.metadata.form.ContainerAp & MobAdvFilterPanelAp$;
            interface MobAdvFilterPanelAp extends MobAdvFilterPanelAp_T {
            }
            interface MobileSearchAp_S {
                readonly GENLISTID:string;
            }
            type MobileSearchAp_ST = $.kd.bos.metadata.form.ContainerAp & MobileSearchAp_S;
            interface MobileSearchAp_C extends MobileSearchAp_ST {
                new():MobileSearchAp;
            }
            interface MobileSearchAp$ {
                /**
                 * 设置为空提示
                 *
                 * @param emptyText
                 *            为空提示的字符串
                 */
                setEmptyText(emptyText:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * @param isMultiKeySearch
                 *            是否多关键字搜索
                 */
                setMultiKeySearch(isMultiKeySearch:boolean):void;
                /**
                 * 获取是否出现取消按钮
                 *
                 * @return
                 */
                isShowCancelButton():boolean;
                /**
                 * 设置是否出现取消按钮
                 *
                 * @param isShowCancelButton 是否出现取消按钮
                 */
                setShowCancelButton(isShowCancelButton:boolean):void;
                /**
                 * 设置移动端搜索风格
                 *
                 * @param mobileShowModel 0：实时搜索， 1:跳页搜索
                 */
                setMobileShowModel(mobileShowModel:number):void;
                /**
                 * 获取为空提示的内容
                 *
                 * @return 为空提示的内容
                 */
                getEmptyText():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @return 是否多关键字搜索
                 */
                isMultiKeySearch():boolean;
                /**
                 * 获取移动端搜索风格
                 *
                 * @return 0：实时搜索， 1:跳页搜索
                 */
                getMobileShowModel():number;
            }
            type MobileSearchAp_T = $.kd.bos.metadata.form.ContainerAp & MobileSearchAp$;
            interface MobileSearchAp extends MobileSearchAp_T {
            }
            interface MobCommonCheckBoxFilterColumnAp_S {
            }
            type MobCommonCheckBoxFilterColumnAp_ST = MobCommonCheckBoxFilterColumnAp_S & kd.bos.metadata.filter.CommonCheckBoxFilterColumnAp_S;
            interface MobCommonCheckBoxFilterColumnAp_C extends MobCommonCheckBoxFilterColumnAp_ST {
                new():MobCommonCheckBoxFilterColumnAp;
            }
            interface MobCommonCheckBoxFilterColumnAp$ {
            }
            type MobCommonCheckBoxFilterColumnAp_T = MobCommonCheckBoxFilterColumnAp$ & kd.bos.metadata.filter.CommonCheckBoxFilterColumnAp;
            interface MobCommonCheckBoxFilterColumnAp extends MobCommonCheckBoxFilterColumnAp_T {
            }
            interface MobSortPanelAp_S {
                readonly GENLISTID:string;
            }
            type MobSortPanelAp_ST = $.kd.bos.metadata.form.ContainerAp & MobSortPanelAp_S;
            interface MobSortPanelAp_C extends MobSortPanelAp_ST {
                new():MobSortPanelAp;
            }
            interface MobSortPanelAp$ {
                /**
                 * 获取移动排序项是否开启多维排序
                 *
                 * @return
                 */
                isMultidimensionalSort():boolean;
                /**
                 * 设置移动排序项是否开启多维排序
                 *
                 * @param multidimensionalSort
                 */
                setMultidimensionalSort(multidimensionalSort:boolean):void;
            }
            type MobSortPanelAp_T = $.kd.bos.metadata.form.ContainerAp & MobSortPanelAp$;
            interface MobSortPanelAp extends MobSortPanelAp_T {
            }
            interface MobCommonFilterColumnAp_S {
            }
            type MobCommonFilterColumnAp_ST = MobCommonFilterColumnAp_S & kd.bos.metadata.filter.CommonFilterColumnAp_S;
            interface MobCommonFilterColumnAp_C extends MobCommonFilterColumnAp_ST {
                new():MobCommonFilterColumnAp;
            }
            interface MobCommonFilterColumnAp$ {
            }
            type MobCommonFilterColumnAp_T = MobCommonFilterColumnAp$ & kd.bos.metadata.filter.CommonFilterColumnAp;
            interface MobCommonFilterColumnAp extends MobCommonFilterColumnAp_T {
            }
            interface MobCommonDateFilterColumnAp_S {
            }
            type MobCommonDateFilterColumnAp_ST = MobCommonDateFilterColumnAp_S & kd.bos.metadata.filter.CommonDateFilterColumnAp_S;
            interface MobCommonDateFilterColumnAp_C extends MobCommonDateFilterColumnAp_ST {
                new():MobCommonDateFilterColumnAp;
            }
            interface MobCommonDateFilterColumnAp$ {
            }
            type MobCommonDateFilterColumnAp_T = MobCommonDateFilterColumnAp$ & kd.bos.metadata.filter.CommonDateFilterColumnAp;
            interface MobCommonDateFilterColumnAp extends MobCommonDateFilterColumnAp_T {
            }
            interface MobSortColumnAp_S {
            }
            type MobSortColumnAp_ST = $.kd.bos.metadata.form.ControlAp & MobSortColumnAp_S;
            interface MobSortColumnAp_C extends MobSortColumnAp_ST {
                new():MobSortColumnAp;
            }
            interface MobSortColumnAp$ {
                /**
                 * 获取排序列字段标识
                 *
                 * @return
                 */
                getFieldName():string;
                /**
                 * 设置排序字段属性，如字段标识
                 *
                 * @param entityTreeNode 实体信息
                 */
                setProperties(entityTreeNode:$.java.util.Map):void;
                /**
                 * 设置排序列字段标识
                 *
                 * @param fieldName
                 */
                setFieldName(fieldName:string):void;
            }
            type MobSortColumnAp_T = $.kd.bos.metadata.form.ControlAp & MobSortColumnAp$;
            interface MobSortColumnAp extends MobSortColumnAp_T {
            }
        }
        namespace kd.bos.metadata.form.mcontrol.mobtable{
            interface MobTableAp_S {
            }
            type MobTableAp_ST = ContainerAp_S & MobTableAp_S;
            interface MobTableAp_C extends MobTableAp_ST {
                new():MobTableAp;
            }
            interface MobTableAp$ {
                /**
                 * 设置是否纵向滚动
                 * @param verticalRoll
                 */
                setVerticalRoll(verticalRoll:boolean):void;
                /**
                 * 获取最大行高
                 * @return
                 */
                getMaxRowHeight():string;
                /**
                 * 设置是否横屏展示
                 * @param landscapeDisplay
                 */
                setLandscapeDisplay(landscapeDisplay:boolean):void;
                /**
                 * 设置最大行高
                 * @param maxRowHeight
                 */
                setMaxRowHeight(maxRowHeight:string):void;
                /**
                 * 获取表格类型
                 * @return
                 */
                getMobTableType():string;
                /**
                 * 是否允许纵向滚动
                 * @return
                 */
                isVerticalRoll():boolean;
                /**
                 * 设置数据源
                 * @param mobTableDataSource
                 */
                setMobTableDataSource(mobTableDataSource:$.java.util.Map):void;
                /**
                 * 是否横屏展示
                 * @return
                 */
                isLandscapeDisplay():boolean;
                /**
                 * 设置表格类型
                 * @param mobTableType
                 */
                setMobTableType(mobTableType:string):void;
                /**
                 * 是否行高自适应
                 * @return
                 */
                isAutoRowHeight():boolean;
                /**
                 * 设置是否行高自适应
                 * @param autoRowHeight
                 */
                setAutoRowHeight(autoRowHeight:boolean):void;
                /**
                 * 获取数据源
                 * @return
                 */
                getMobTableDataSource():$.java.util.Map;
                /**
                 * 获取冻结列
                 * @return
                 */
                getFreezeList():$.java.util.List;
                /**
                 * 是否显示序列号
                 * @return
                 */
                isShowSeq():boolean;
                /**
                 * 设置是否显示序列号
                 * @param showSeq
                 */
                setShowSeq(showSeq:boolean):void;
                /**
                 * 设置冻结列
                 * @param freezeList
                 */
                setFreezeList(freezeList:$.java.util.List):void;
            }
            type MobTableAp_T = ContainerAp & MobTableAp$;
            interface MobTableAp extends MobTableAp_T {
            }
        }
        namespace kd.bos.metadata.form.mcontrol.mobtable.tablecolumn{
            interface DecimalMobTableColumnAp_S {
            }
            type DecimalMobTableColumnAp_ST = DecimalMobTableColumnAp_S & MobTableColumnAp_S;
            interface DecimalMobTableColumnAp_C extends DecimalMobTableColumnAp_ST {
                new():DecimalMobTableColumnAp;
            }
            interface DecimalMobTableColumnAp$ {
                /**
                 * 是否为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 返回小数精度
                 * @return
                 */
                getScale():number;
                /**
                 * 汇总类型: 0：无，1:合计 2：平均值  3:最大值,4:最小值,5：计数
                 */
                getSummary():number;
                /**
                 * 设置为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 设置小数精度
                 * @param scale
                 */
                setScale(scale:number):void;
                /**
                 * 设置汇总类型
                 * @param summary
                 */
                setSummary(summary:number):void;
            }
            type DecimalMobTableColumnAp_T = DecimalMobTableColumnAp$ & MobTableColumnAp;
            interface DecimalMobTableColumnAp extends DecimalMobTableColumnAp_T {
            }
            interface PictureMobTableColumnAp_S {
            }
            type PictureMobTableColumnAp_ST = MobTableColumnAp_S & PictureMobTableColumnAp_S;
            interface PictureMobTableColumnAp_C extends PictureMobTableColumnAp_ST {
                new():PictureMobTableColumnAp;
            }
            interface PictureMobTableColumnAp$ {
                /**
                 * 设置移动端表格图片列显示方式
                 * @param displayMode
                 */
                setDisplayMode(displayMode:string):void;
                /**
                 * 返回移动端表格图片列显示方式
                 * @return
                 */
                getDisplayMode():string;
            }
            type PictureMobTableColumnAp_T = MobTableColumnAp & PictureMobTableColumnAp$;
            interface PictureMobTableColumnAp extends PictureMobTableColumnAp_T {
            }
            interface MobTableColumnAp_S {
            }
            type MobTableColumnAp_ST = ControlAp_S & MobTableColumnAp_S;
            interface MobTableColumnAp_C extends MobTableColumnAp_ST {
                new():MobTableColumnAp;
            }
            interface MobTableColumnAp$ {
                /**
                 * 设置移动端表格列字段映射
                 * @param mobTableField
                 */
                setMobTableField(mobTableField:string):void;
                /**
                 * 获取是否为超链接
                 *
                 * @return 是否为超链接
                 */
                isHyperlink():boolean;
                /**
                 * 设置是否为超链接
                 *
                 * @param hyperlink 是否为超链接
                 */
                setHyperlink(hyperlink:boolean):void;
                /**
                 * 返回移动端表格列字段映射
                 * @return
                 */
                getMobTableField():string;
            }
            type MobTableColumnAp_T = ControlAp & MobTableColumnAp$;
            interface MobTableColumnAp extends MobTableColumnAp_T {
            }
            interface AmountMobTableColumnAp_S {
            }
            type AmountMobTableColumnAp_ST = AmountMobTableColumnAp_S & MobTableColumnAp_S;
            interface AmountMobTableColumnAp_C extends AmountMobTableColumnAp_ST {
                new():AmountMobTableColumnAp;
            }
            interface AmountMobTableColumnAp$ {
                /**
                 * 是否开启不显示尾零
                 * @return
                 */
                isNoDisplayScaleZero():boolean;
                /**
                 * 设置是否不显示尾零
                 * @param noDisplayScaleZero
                 */
                setNoDisplayScaleZero(noDisplayScaleZero:boolean):void;
                /**
                 * 是否为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置汇总类型
                 * @param summary
                 */
                setSummary(summary:number):void;
                /**
                 * 设置是否为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 汇总类型: 0：无，1:合计 2：平均值  3:最大值,4:最小值,5：计数
                 */
                getSummary():number;
            }
            type AmountMobTableColumnAp_T = AmountMobTableColumnAp$ & MobTableColumnAp;
            interface AmountMobTableColumnAp extends AmountMobTableColumnAp_T {
            }
            interface IntegerMobTableColumnAp_S {
            }
            type IntegerMobTableColumnAp_ST = DecimalMobTableColumnAp_S & IntegerMobTableColumnAp_S;
            interface IntegerMobTableColumnAp_C extends IntegerMobTableColumnAp_ST {
                new():IntegerMobTableColumnAp;
            }
            interface IntegerMobTableColumnAp$ {
            }
            type IntegerMobTableColumnAp_T = DecimalMobTableColumnAp & IntegerMobTableColumnAp$;
            interface IntegerMobTableColumnAp extends IntegerMobTableColumnAp_T {
            }
            interface DateMobTableColumnAp_S {
            }
            type DateMobTableColumnAp_ST = DateMobTableColumnAp_S & MobTableColumnAp_S;
            interface DateMobTableColumnAp_C extends DateMobTableColumnAp_ST {
                new():DateMobTableColumnAp;
            }
            interface DateMobTableColumnAp$ {
                /**
                 * 返回日期格式
                 * @return
                 */
                getDateFormat():string;
                /**
                 * 设置日期格式
                 * @param dateFormat
                 */
                setDateFormat(dateFormat:string):void;
            }
            type DateMobTableColumnAp_T = DateMobTableColumnAp$ & MobTableColumnAp;
            interface DateMobTableColumnAp extends DateMobTableColumnAp_T {
            }
            interface TextMobTableColumnAp_S {
            }
            type TextMobTableColumnAp_ST = MobTableColumnAp_S & TextMobTableColumnAp_S;
            interface TextMobTableColumnAp_C extends TextMobTableColumnAp_ST {
                new():TextMobTableColumnAp;
            }
            interface TextMobTableColumnAp$ {
            }
            type TextMobTableColumnAp_T = MobTableColumnAp & TextMobTableColumnAp$;
            interface TextMobTableColumnAp extends TextMobTableColumnAp_T {
            }
            interface TimeMobTableColumnAp_S {
            }
            type TimeMobTableColumnAp_ST = MobTableColumnAp_S & TimeMobTableColumnAp_S;
            interface TimeMobTableColumnAp_C extends TimeMobTableColumnAp_ST {
                new():TimeMobTableColumnAp;
            }
            interface TimeMobTableColumnAp$ {
                /**
                 * 设置移动端表格时间列时间格式
                 * @param timeFormat
                 */
                setTimeFormat(timeFormat:string):void;
                /**
                 * 返回移动端表格时间列时间格式
                 * @return
                 */
                getTimeFormat():string;
            }
            type TimeMobTableColumnAp_T = MobTableColumnAp & TimeMobTableColumnAp$;
            interface TimeMobTableColumnAp extends TimeMobTableColumnAp_T {
            }
        }
        namespace kd.bos.metadata.form.spread{
            interface SpreadAp_S {
            }
            type SpreadAp_ST = ContainerAp_S & SpreadAp_S;
            interface SpreadAp_C extends SpreadAp_ST {
                new():SpreadAp;
            }
            interface SpreadAp$ {
                /**
                 * 是否支持导出excel
                 * @return
                 */
                isExportExcel():boolean;
                /**
                 * 设置是否允许多页签
                 * @param supportMultipleTab
                 */
                setSupportMultipleTab(supportMultipleTab:boolean):void;
                /**
                 * 设置是否支持导出excel
                 * @param exportExcel
                 */
                setExportExcel(exportExcel:boolean):void;
                /**
                 * 是否显示编辑工具栏
                 * @return
                 */
                isShowEditToolBar():boolean;
                /**
                 * 是否允许多页签
                 * @return
                 */
                isSupportMultipleTab():boolean;
                /**
                 * 设置是否显示编辑工具栏
                 * @param showEditToolBar
                 */
                setShowEditToolBar(showEditToolBar:boolean):void;
            }
            type SpreadAp_T = ContainerAp & SpreadAp$;
            interface SpreadAp extends SpreadAp_T {
            }
        }
        namespace kd.bos.metadata.form.userguide{
            interface GuideItemAp_S {
            }
            type GuideItemAp_ST = ContainerAp_S & GuideItemAp_S;
            interface GuideItemAp_C extends GuideItemAp_ST {
                new():GuideItemAp;
            }
            interface GuideItemAp$ {
                /**
                 * 返回向导项的图片展示
                 * @return
                 */
                getImageKey():string;
                /**
                 * 设置向导项的图片展示
                 * @param imageKey
                 */
                setImageKey(imageKey:string):void;
            }
            type GuideItemAp_T = ContainerAp & GuideItemAp$;
            interface GuideItemAp extends GuideItemAp_T {
            }
            interface GuidePageAp_S {
            }
            type GuidePageAp_ST = ContainerAp_S & GuidePageAp_S;
            interface GuidePageAp_C extends GuidePageAp_ST {
                new():GuidePageAp;
            }
            interface GuidePageAp$ {
            }
            type GuidePageAp_T = ContainerAp & GuidePageAp$;
            interface GuidePageAp extends GuidePageAp_T {
            }
        }
        namespace kd.bos.metadata.form.widget{
            interface WidgetContainerAp_S {
            }
            type WidgetContainerAp_ST = ContainerAp_S & WidgetContainerAp_S;
            interface WidgetContainerAp_C extends WidgetContainerAp_ST {
                new():WidgetContainerAp;
            }
            interface WidgetContainerAp$ {
            }
            type WidgetContainerAp_T = ContainerAp & WidgetContainerAp$;
            interface WidgetContainerAp extends WidgetContainerAp_T {
            }
            interface WidgetAp_S {
            }
            type WidgetAp_ST = ControlAp_S & WidgetAp_S;
            interface WidgetAp_C extends WidgetAp_ST {
                new():WidgetAp;
            }
            interface WidgetAp$ {
                /**
                 * @param widgetId the widgetId to set
                 */
                setWidgetId(widgetId:string):void;
                /**
                 * 是否开启悬停阴影
                 * 属性控制容器是否鼠标悬停显示阴影效果
                 * @return
                 */
                isShadow():boolean;
                /**
                 * @return the widgetId
                 */
                getWidgetId():string;
                /**
                 * 设置卡片id
                 * @param cardId
                 */
                setCardId(cardId:string):void;
                /**
                 * 获取卡片id
                 * @return
                 */
                getCardId():string;
                /**
                 * 设置是否悬停阴影
                 * @param shadow
                 */
                setShadow(shadow:boolean):void;
            }
            type WidgetAp_T = ControlAp & WidgetAp$;
            interface WidgetAp extends WidgetAp_T {
            }
            interface WidgetGroupPanelAp_S {
            }
            type WidgetGroupPanelAp_ST = ContainerAp_S & WidgetGroupPanelAp_S;
            interface WidgetGroupPanelAp_C extends WidgetGroupPanelAp_ST {
                new():WidgetGroupPanelAp;
            }
            interface WidgetGroupPanelAp$ {
                /**
                 * 是否显示标题
                 * @return
                 */
                isShowTitle():boolean;
                /**
                 * 设置是否显示标题
                 * @param showLabel
                 */
                setShowTitle(showLabel:boolean):void;
            }
            type WidgetGroupPanelAp_T = ContainerAp & WidgetGroupPanelAp$;
            interface WidgetGroupPanelAp extends WidgetGroupPanelAp_T {
            }
        }
        namespace kd.bos.metadata.list{
            interface MobileListFormAp_S {
            }
            type MobileListFormAp_ST = ListFormAp_S & MobileListFormAp_S;
            interface MobileListFormAp_C extends MobileListFormAp_ST {
                new():MobileListFormAp;
            }
            interface MobileListFormAp$ {
                /**
                 * @return the menuItems
                 */
                getMenuItems():$.java.util.List;
                /**
                 * @param menuItems
                 *            the menuItems to set
                 */
                setMenuItems(menuItems:$.java.util.List):void;
            }
            type MobileListFormAp_T = ListFormAp & MobileListFormAp$;
            interface MobileListFormAp extends MobileListFormAp_T {
            }
            interface MobileListAp_S {
            }
            type MobileListAp_ST = $.kd.bos.metadata.form.ControlAp & MobileListAp_S;
            interface MobileListAp_C extends MobileListAp_ST {
                new():MobileListAp;
            }
            interface MobileListAp$ {
                /**
                 * 获取分页条数
                 *
                 * @return
                 */
                getPageRow():number;
                /**
                 * 设置分页数
                 *
                 * @param pageRow 分页数
                 */
                setPageRow(pageRow:number):void;
            }
            type MobileListAp_T = $.kd.bos.metadata.form.ControlAp & MobileListAp$;
            interface MobileListAp extends MobileListAp_T {
            }
            interface FlexListColumnAp_S {
            }
            type FlexListColumnAp_ST = FlexListColumnAp_S & ListColumnAp_S;
            interface FlexListColumnAp_C extends FlexListColumnAp_ST {
                new():FlexListColumnAp;
            }
            interface FlexListColumnAp$ {
                /**
                 * 设置字段是否支持过滤
                 * @param columnFilter
                 */
                setColumnFilter(columnFilter:boolean):void;
                /**
                 * 设置最大拆分数量
                 * @param flexMaxShow
                 */
                setFlexMaxShow(flexMaxShow:number):void;
                /**
                 * 是否默认拆分
                 * @return
                 */
                isDefaultSplit():boolean;
                /**
                 * 最大拆分数量
                 * @return
                 */
                getFlexMaxShow():number;
                /**
                 * 设置是否默认拆分
                 * @param defaultSplit
                 */
                setDefaultSplit(defaultSplit:boolean):void;
                /**
                 * 字段是否支持过滤
                 * @return
                 */
                isColumnFilter():boolean;
            }
            type FlexListColumnAp_T = FlexListColumnAp$ & ListColumnAp;
            interface FlexListColumnAp extends FlexListColumnAp_T {
            }
            interface TimeListColumnAp_S {
            }
            type TimeListColumnAp_ST = ListColumnAp_S & TimeListColumnAp_S;
            interface TimeListColumnAp_C extends TimeListColumnAp_ST {
                new():TimeListColumnAp;
            }
            interface TimeListColumnAp$ {
                /**
                 * 获取格式化字符串
                 * @return
                 */
                getDisplayFormatString():string;
                /**
                 * 设置格式化字符串
                 * @param displayFormatString
                 */
                setDisplayFormatString(displayFormatString:string):void;
            }
            type TimeListColumnAp_T = ListColumnAp & TimeListColumnAp$;
            interface TimeListColumnAp extends TimeListColumnAp_T {
            }
            interface VoucherNoListColumnAp_S {
            }
            type VoucherNoListColumnAp_ST = $.kd.bos.metadata.form.ControlAp & VoucherNoListColumnAp_S;
            interface VoucherNoListColumnAp_C extends VoucherNoListColumnAp_ST {
                new():VoucherNoListColumnAp;
            }
            interface VoucherNoListColumnAp$ {
                /**
                 * 设置凭证id字段
                 * @param voucherFieldId
                 */
                setVoucherFieldId(voucherFieldId:string):void;
                /**
                 * 凭证id字段
                 *
                 * @return
                 */
                getVoucherFieldId():string;
                /**
                 * 设置字段是否支持过滤
                 * @param columnFilter
                 */
                setColumnFilter(columnFilter:boolean):void;
                /**
                 * 字段是否支持过滤
                 * @return
                 */
                isColumnFilter():boolean;
                /**
                 * 设置操作代码
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 对应的操作代码
                 *
                 * @return 操作代码
                 */
                getOperationKey():string;
            }
            type VoucherNoListColumnAp_T = $.kd.bos.metadata.form.ControlAp & VoucherNoListColumnAp$;
            interface VoucherNoListColumnAp extends VoucherNoListColumnAp_T {
            }
            interface CityListAp_S {
            }
            type CityListAp_ST = $.kd.bos.metadata.form.ControlAp & CityListAp_S;
            interface CityListAp_C extends CityListAp_ST {
                new():CityListAp;
            }
            interface CityListAp$ {
            }
            type CityListAp_T = $.kd.bos.metadata.form.ControlAp & CityListAp$;
            interface CityListAp extends CityListAp_T {
            }
            interface CardComboListColumnAp_S {
            }
            type CardComboListColumnAp_ST = CardComboListColumnAp_S & ComboListColumnAp_S;
            interface CardComboListColumnAp_C extends CardComboListColumnAp_ST {
                new():CardComboListColumnAp;
            }
            interface CardComboListColumnAp$ {
            }
            type CardComboListColumnAp_T = CardComboListColumnAp$ & ComboListColumnAp;
            interface CardComboListColumnAp extends CardComboListColumnAp_T {
            }
            interface CardDateListColumnAp_S {
            }
            type CardDateListColumnAp_ST = CardDateListColumnAp_S & DateListColumnAp_S;
            interface CardDateListColumnAp_C extends CardDateListColumnAp_ST {
                new():CardDateListColumnAp;
            }
            interface CardDateListColumnAp$ {
            }
            type CardDateListColumnAp_T = CardDateListColumnAp$ & DateListColumnAp;
            interface CardDateListColumnAp extends CardDateListColumnAp_T {
            }
            interface CardVoucherNoListColumnAp_S {
            }
            type CardVoucherNoListColumnAp_ST = CardVoucherNoListColumnAp_S & VoucherNoListColumnAp_S;
            interface CardVoucherNoListColumnAp_C extends CardVoucherNoListColumnAp_ST {
                new():CardVoucherNoListColumnAp;
            }
            interface CardVoucherNoListColumnAp$ {
            }
            type CardVoucherNoListColumnAp_T = CardVoucherNoListColumnAp$ & VoucherNoListColumnAp;
            interface CardVoucherNoListColumnAp extends CardVoucherNoListColumnAp_T {
            }
            interface CardDecimalListColumnAp_S {
            }
            type CardDecimalListColumnAp_ST = CardDecimalListColumnAp_S & DecimalListColumnAp_S;
            interface CardDecimalListColumnAp_C extends CardDecimalListColumnAp_ST {
                new():CardDecimalListColumnAp;
            }
            interface CardDecimalListColumnAp$ {
                /**
                 * 是否不显示尾零
                 * @return
                 */
                isMobNoDisplayScaleZero():boolean;
                /**
                 * 设置是否不显示尾零
                 * @param mobNoDisplayScaleZero
                 */
                setMobNoDisplayScaleZero(mobNoDisplayScaleZero:boolean):void;
            }
            type CardDecimalListColumnAp_T = CardDecimalListColumnAp$ & DecimalListColumnAp;
            interface CardDecimalListColumnAp extends CardDecimalListColumnAp_T {
            }
            interface CardListColumnAp_S {
            }
            type CardListColumnAp_ST = CardListColumnAp_S & ListColumnAp_S;
            interface CardListColumnAp_C extends CardListColumnAp_ST {
                new():CardListColumnAp;
            }
            interface CardListColumnAp$ {
            }
            type CardListColumnAp_T = CardListColumnAp$ & ListColumnAp;
            interface CardListColumnAp extends CardListColumnAp_T {
            }
            interface DynamicTextListColumnAp_S {
            }
            type DynamicTextListColumnAp_ST = $.kd.bos.metadata.form.ControlAp & DynamicTextListColumnAp_S;
            interface DynamicTextListColumnAp_C extends DynamicTextListColumnAp_ST {
                new():DynamicTextListColumnAp;
            }
            interface DynamicTextListColumnAp$ {
                /**
                 * 列表字段配置
                 * @return
                 */
                getListColumnConfig():kd.bos.list.ListColumnConfig;
                /**
                 * 设置列表字段配置
                 * @param listColumnConfig
                 */
                setListColumnConfig(listColumnConfig:kd.bos.list.ListColumnConfig):void;
            }
            type DynamicTextListColumnAp_T = $.kd.bos.metadata.form.ControlAp & DynamicTextListColumnAp$;
            interface DynamicTextListColumnAp extends DynamicTextListColumnAp_T {
            }
            interface F7SelectedListAp_S {
                readonly GENLISTID:string;
            }
            type F7SelectedListAp_ST = $.kd.bos.metadata.form.ControlAp & F7SelectedListAp_S;
            interface F7SelectedListAp_C extends F7SelectedListAp_ST {
                new():F7SelectedListAp;
            }
            interface F7SelectedListAp$ {
                /**
                 * 是否拖动排序
                 * @return
                 */
                isDragSort():boolean;
                /**
                 * 设置是否拖动排序
                 * @param dragSort
                 */
                setDragSort(dragSort:boolean):void;
            }
            type F7SelectedListAp_T = $.kd.bos.metadata.form.ControlAp & F7SelectedListAp$;
            interface F7SelectedListAp extends F7SelectedListAp_T {
            }
            interface CardTimeListColumnAp_S {
            }
            type CardTimeListColumnAp_ST = CardTimeListColumnAp_S & TimeListColumnAp_S;
            interface CardTimeListColumnAp_C extends CardTimeListColumnAp_ST {
                new():CardTimeListColumnAp;
            }
            interface CardTimeListColumnAp$ {
            }
            type CardTimeListColumnAp_T = CardTimeListColumnAp$ & TimeListColumnAp;
            interface CardTimeListColumnAp extends CardTimeListColumnAp_T {
            }
            interface UserListAp_S {
            }
            type UserListAp_ST = $.kd.bos.metadata.form.ControlAp & UserListAp_S;
            interface UserListAp_C extends UserListAp_ST {
                new():UserListAp;
            }
            interface UserListAp$ {
            }
            type UserListAp_T = $.kd.bos.metadata.form.ControlAp & UserListAp$;
            interface UserListAp extends UserListAp_T {
            }
            interface ListCardViewAp_S {
                readonly GENLISTID:string;
            }
            type ListCardViewAp_ST = $.kd.bos.metadata.form.ContainerAp & ListCardViewAp_S;
            interface ListCardViewAp_C extends ListCardViewAp_ST {
                /**
                 * 构造方法
                 */
                new():ListCardViewAp;
            }
            interface ListCardViewAp$ {
                /**
                 * 长按操作
                 * 长按数据唤起操作选项，可对当前数据进行操作
                 * @return
                 */
                getLongPressItems():$.java.util.List;
                /**
                 * 设置长按操作
                 * 长按数据唤起操作选项，可对当前数据进行操作
                 * @param longPressItems
                 */
                setLongPressItems(longPressItems:$.java.util.List):void;
                /**
                 * 无数据提示
                 * @return
                 */
                isShowNoDataTip():boolean;
                /**
                 * 设置分页类型
                 * @param type
                 */
                setPageType(type_arg:string):void;
                /**
                 * 设置列表工具栏位置
                 * @param toolbarLocation
                 */
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 设置是否显示卡片下划线
                 * @param pointer
                 */
                setPointer(pointer:boolean):void;
                /**
                 * 是否显示卡片下划线
                 * @return
                 */
                isPointer():boolean;
                /**
                 * 设置是否换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 设置布局方式1、整行布局 2、流式布局 3、时间轴
                 * @param cols
                 */
                setLayoutStyle(cols:number):void;
                /**
                 * 下拉刷新
                 * @return
                 */
                isPullRefresh():boolean;
                /**
                 * 行
                 * @return
                 */
                getDirection():string;
                /**
                 * 设置行
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 分页类型
                 * @return
                 */
                getPageType():string;
                /**
                 * 设置下拉刷新
                 * @param pullRefresh
                 */
                setPullRefresh(pullRefresh:boolean):void;
                /**
                 * 布局方式1、整行布局 2、流式布局 3、时间轴
                 *
                 * @return
                 */
                getLayoutStyle():number;
                /**
                 * 单据列表分页是否隐藏
                 * @return
                 */
                isPaginationHide():boolean;
                /**
                 * 设置单据列表分页是否隐藏
                 * @param paginationHide
                 */
                setPaginationHide(paginationHide:boolean):void;
                /**
                 * 是否换行
                 * @return
                 */
                isWrap():boolean;
                createRuntimeControl():kd.bos.list.ListCardView;
                /**
                 * 列表工具栏位置
                 * @return
                 */
                getToolbarLocation():string;
                /**
                 * 设置无数据提示
                 * @param showNoDataTip
                 */
                setShowNoDataTip(showNoDataTip:boolean):void;
            }
            type ListCardViewAp_T = $.kd.bos.metadata.form.ContainerAp & ListCardViewAp$;
            interface ListCardViewAp extends ListCardViewAp_T {
            }
            interface CardMulComboListColumnAp_S {
            }
            type CardMulComboListColumnAp_ST = CardComboListColumnAp_S & CardMulComboListColumnAp_S;
            interface CardMulComboListColumnAp_C extends CardMulComboListColumnAp_ST {
                new():CardMulComboListColumnAp;
            }
            interface CardMulComboListColumnAp$ {
            }
            type CardMulComboListColumnAp_T = CardComboListColumnAp & CardMulComboListColumnAp$;
            interface CardMulComboListColumnAp extends CardMulComboListColumnAp_T {
            }
            interface MergeListColumnAp_S {
            }
            type MergeListColumnAp_ST = $.kd.bos.metadata.form.ContainerAp & MergeListColumnAp_S;
            interface MergeListColumnAp_C extends MergeListColumnAp_ST {
                new():MergeListColumnAp;
            }
            interface MergeListColumnAp$ {
                /**
                 * 获取子控件
                 * @return
                 */
                getControls():$.java.util.List;
                /**
                 * 设置排序过滤字段
                 * @param sortFilterField
                 */
                setSortFilterField(sortFilterField:string):void;
                /**
                 * 设置子控件
                 * @param controls
                 */
                setControls(controls:$.java.util.List):void;
                /**
                 * 排序过滤字段
                 * @return
                 */
                getSortFilterField():string;
            }
            type MergeListColumnAp_T = $.kd.bos.metadata.form.ContainerAp & MergeListColumnAp$;
            interface MergeListColumnAp extends MergeListColumnAp_T {
            }
            interface CardFlexListColumnAp_S {
            }
            type CardFlexListColumnAp_ST = CardFlexListColumnAp_S & FlexListColumnAp_S;
            interface CardFlexListColumnAp_C extends CardFlexListColumnAp_ST {
                new():CardFlexListColumnAp;
            }
            interface CardFlexListColumnAp$ {
            }
            type CardFlexListColumnAp_T = CardFlexListColumnAp$ & FlexListColumnAp;
            interface CardFlexListColumnAp extends CardFlexListColumnAp_T {
            }
            interface CardCheckBoxListColumnAp_S {
            }
            type CardCheckBoxListColumnAp_ST = CardCheckBoxListColumnAp_S & CheckBoxListColumnAp_S;
            interface CardCheckBoxListColumnAp_C extends CardCheckBoxListColumnAp_ST {
                new():CardCheckBoxListColumnAp;
            }
            interface CardCheckBoxListColumnAp$ {
            }
            type CardCheckBoxListColumnAp_T = CardCheckBoxListColumnAp$ & CheckBoxListColumnAp;
            interface CardCheckBoxListColumnAp extends CardCheckBoxListColumnAp_T {
            }
            interface CardRowPanelAp_S {
            }
            type CardRowPanelAp_ST = $.kd.bos.metadata.form.ContainerAp & $.kd.bos.metadata.form.ICardRowPanelAp & CardRowPanelAp_S;
            interface CardRowPanelAp_C extends CardRowPanelAp_ST {
                new():CardRowPanelAp;
            }
            interface CardRowPanelAp$ {
                /**
                 * 设置背景图片字段
                 * @param imgFieldId
                 */
                setBKImgFieldId(imgFieldId:string):void;
                /**
                 * 设置是否在卡片上显示选择框
                 * @param isshowSelector
                 */
                setShowSelector(isshowSelector:boolean):void;
                /**
                 * 设置换行
                 * @param warp
                 */
                setWrap(warp:boolean):void;
                /**
                 * 卡片选中样式
                 * @return
                 */
                getSelectStyle():number;
                /**
                 * 设置布局方向
                 * @param direction
                 */
                setDirection(direction:string):void;
                /**
                 * 设置界面规则
                 * @param clientRules
                 */
                setClientRules(clientRules:$.java.util.List):void;
                /**
                 * 是否在卡片上显示选择框
                 * @return
                 */
                isShowSelector():boolean;
                /**
                 * 设置卡片选中样式
                 * @param selectStyle
                 */
                setSelectStyle(selectStyle:number):void;
                /**
                 * 换行
                 * @return
                 */
                isWrap():boolean;
                /**
                 * 布局方向
                 * @return
                 */
                getDirection():string;
                /**
                 * 界面规则
                 * @return
                 */
                getClientRules():$.java.util.List;
                /**
                 * 背景图片字段
                 * @return
                 */
                getBKImgFieldId():string;
            }
            type CardRowPanelAp_T = $.kd.bos.metadata.form.ContainerAp & $.kd.bos.metadata.form.ICardRowPanelAp & CardRowPanelAp$;
            interface CardRowPanelAp extends CardRowPanelAp_T {
            }
            interface DateListColumnAp_S {
            }
            type DateListColumnAp_ST = DateListColumnAp_S & ListColumnAp_S;
            interface DateListColumnAp_C extends DateListColumnAp_ST {
                new():DateListColumnAp;
            }
            interface DateListColumnAp$ {
                /**
                 * 格式化字符串
                 * @return
                 */
                getDisplayFormatString():string;
                /**
                 * 设置格式化字符串
                 * @param displayFormatString
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 设置掩码
                 * @param mask
                 */
                setMask(mask:string):void;
                /**
                 * 掩码
                 * @return
                 */
                getMask():string;
            }
            type DateListColumnAp_T = DateListColumnAp$ & ListColumnAp;
            interface DateListColumnAp extends DateListColumnAp_T {
            }
            interface ComboListColumnAp_S {
            }
            type ComboListColumnAp_ST = ComboListColumnAp_S & ListColumnAp_S;
            interface ComboListColumnAp_C extends ComboListColumnAp_ST {
                new():ComboListColumnAp;
            }
            interface ComboListColumnAp$ {
                /**
                 * 设置字段选项显示方式为下拉时，可设置选项的显示风格
                 * @param showStyle
                 */
                setShowStyle(showStyle:number):void;
                /**
                 * 字段选项显示方式为下拉时，可设置选项的显示风格
                 * @return
                 */
                getShowStyle():number;
            }
            type ComboListColumnAp_T = ComboListColumnAp$ & ListColumnAp;
            interface ComboListColumnAp extends ComboListColumnAp_T {
            }
            interface OrgListAp_S {
            }
            type OrgListAp_ST = $.kd.bos.metadata.form.ControlAp & OrgListAp_S;
            interface OrgListAp_C extends OrgListAp_ST {
                new():OrgListAp;
            }
            interface OrgListAp$ {
            }
            type OrgListAp_T = $.kd.bos.metadata.form.ControlAp & OrgListAp$;
            interface OrgListAp extends OrgListAp_T {
            }
            interface ListGridViewAp_S {
                readonly GENLISTID:string;
            }
            type ListGridViewAp_ST = $.kd.bos.metadata.form.ContainerAp & $.kd.bos.metadata.form.IListGridViewAp & ListGridViewAp_S;
            interface ListGridViewAp_C extends ListGridViewAp_ST {
                /**
                 * 构造方法
                 */
                new():ListGridViewAp;
            }
            interface ListGridViewAp$ {
                /**
                 * 设置表头高
                 * @param headHeight
                 */
                setHeadHeight(headHeight:string):void;
                /**
                 * 设置表单明细高
                 * @param formDetailHeight
                 */
                setFormDetailHeight(formDetailHeight:string):void;
                /**
                 * 设置折叠高度自适应
                 * @param formDetailAutoHeight
                 */
                setFormDetailAutoHeight(formDetailAutoHeight:boolean):void;
                /**
                 * 设置列宽显示模式
                 * @param columnWidthStyle
                 */
                setColumnWidthStyle(columnWidthStyle:string):void;
                /**
                 * 行高自适应
                 *
                 * @return 行高自适应
                 */
                isAutoRowHeight():boolean;
                /**
                 * 返回单据体的最大行高
                 *
                 * @return 单据体设置的最大行高
                 */
                getMaxRowHeight():string;
                /**
                 * 获取冻结列列表
                 * @return
                 */
                getFreezeList():$.java.util.List;
                /**
                 * 设置是否显示列表选择框
                 * @param showSelCheckbox
                 */
                setShowSelCheckbox(showSelCheckbox:boolean):void;
                /**
                 * 是否分录字段在折叠卡片中显示
                 * @return
                 */
                isDetailEntry():boolean;
                /**
                 * 设置界面规则
                 * @param clientRules
                 */
                setClientRules(clientRules:$.java.util.List):void;
                /**
                 * 列表分页类型
                 * @return
                 */
                getPageType():string;
                /**
                 * 界面规则
                 * @return
                 */
                getClientRules():$.java.util.List;
                /**
                 * 工具栏位置
                 * @return
                 */
                getToolbarLocation():string;
                /**
                 * 设置标题字号
                 * @param titleFontSize
                 */
                setTitleFontSize(titleFontSize:number):void;
                /**
                 * 列宽显示模式
                 * @return
                 */
                getColumnWidthStyle():string;
                /**
                 * 设置是否分录字段在折叠卡片中显示
                 * @param detailEntry
                 */
                setDetailEntry(detailEntry:boolean):void;
                /**
                 * 单据列表分页是否隐藏
                 * @return
                 */
                isPaginationHide():boolean;
                /**
                 * 设置是否标题自动换行
                 * @param titleAutoWrap
                 */
                setTitleAutoWrap(titleAutoWrap:boolean):void;
                /**
                 * 是否显示列表选择框
                 * @return
                 */
                isShowSelCheckbox():boolean;
                /**
                 * 设置行高自适应
                 * @param autoRowHeight
                 */
                setAutoRowHeight(autoRowHeight:boolean):void;
                /**
                 * 表单明细高
                 *
                 * @return
                 */
                getFormDetailHeight():string;
                /**
                 * 是否显示选中
                 * @return
                 */
                isShowSelectInfo():boolean;
                /**
                 * 表单明细id
                 *
                 * @return
                 */
                getFormDetailId():string;
                /**
                 * 返回单据体的行高
                 *
                 * @return 单据体设置的行高
                 */
                getRowHeight():string;
                /**
                 * 设置表单明细id
                 * @param formDetailId
                 */
                setFormDetailId(formDetailId:string):void;
                /**
                 * 设置工具栏位置
                 * @param toolbarLocation
                 */
                setToolbarLocation(toolbarLocation:string):void;
                /**
                 * 表头高
                 *
                 * @return
                 */
                getHeadHeight():string;
                /**
                 * 设置单据体的最大行高
                 * @param maxRowHeight
                 */
                setMaxRowHeight(maxRowHeight:string):void;
                /**
                 * 是否显示前端的过滤和排序
                 *
                 * @return
                 */
                getOrderAndFilter():number;
                /**
                 * 设置冻结列列表
                 * @param freezeList
                 */
                setFreezeList(freezeList:$.java.util.List):void;
                /**
                 * 设置是否显示选中
                 * @param showSelectInfo
                 */
                setShowSelectInfo(showSelectInfo:boolean):void;
                /**
                 * 设置列表分页类型
                 * @param type
                 */
                setPageType(type_arg:string):void;
                /**
                 * 设置是否显示前端的过滤和排序
                 * @param orderAndFilter
                 */
                setOrderAndFilter(orderAndFilter:number):void;
                /**
                 * 折叠高度自适应
                 *
                 * @return
                 */
                isFormDetailAutoHeight():boolean;
                /**
                 * 设置单据体的行高
                 * @param rowHeight
                 */
                setRowHeight(rowHeight:string):void;
                /**
                 * 是否标题自动换行
                 * @return
                 */
                isTitleAutoWrap():boolean;
                /**
                 * 标题字号
                 * @return
                 */
                getTitleFontSize():number;
                /**
                 * 设置单据列表分页是否隐藏
                 * @param paginationHide
                 */
                setPaginationHide(paginationHide:boolean):void;
            }
            type ListGridViewAp_T = $.kd.bos.metadata.form.ContainerAp & $.kd.bos.metadata.form.IListGridViewAp & ListGridViewAp$;
            interface ListGridViewAp extends ListGridViewAp_T {
            }
            interface MulComboListColumnAp_S {
            }
            type MulComboListColumnAp_ST = ComboListColumnAp_S & MulComboListColumnAp_S;
            interface MulComboListColumnAp_C extends MulComboListColumnAp_ST {
                new():MulComboListColumnAp;
            }
            interface MulComboListColumnAp$ {
            }
            type MulComboListColumnAp_T = ComboListColumnAp & MulComboListColumnAp$;
            interface MulComboListColumnAp extends MulComboListColumnAp_T {
            }
            interface MobF7SelectedListAp_S {
            }
            type MobF7SelectedListAp_ST = $.kd.bos.metadata.form.ControlAp & MobF7SelectedListAp_S;
            interface MobF7SelectedListAp_C extends MobF7SelectedListAp_ST {
                new():MobF7SelectedListAp;
            }
            interface MobF7SelectedListAp$ {
            }
            type MobF7SelectedListAp_T = $.kd.bos.metadata.form.ControlAp & MobF7SelectedListAp$;
            interface MobF7SelectedListAp extends MobF7SelectedListAp_T {
            }
            interface CheckBoxListColumnAp_S {
            }
            type CheckBoxListColumnAp_ST = CheckBoxListColumnAp_S & ListColumnAp_S;
            interface CheckBoxListColumnAp_C extends CheckBoxListColumnAp_ST {
                new():CheckBoxListColumnAp;
            }
            interface CheckBoxListColumnAp$ {
                /**
                 * 显示不勾选时显示内容
                 * @return
                 */
                getXTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 显示风格
                 * @return
                 */
                getCheckBoxItemShowStyle():number;
                /**
                 * 设置显示不勾选时显示内容
                 * @param xTitle
                 */
                setXTitle(xTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置显示勾选时显示内容
                 * @param oTitle
                 */
                setOTitle(oTitle:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 显示勾选时显示内容
                 * @return
                 */
                getOTitle():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置显示风格
                 * @param checkBoxItemShowStyle
                 */
                setCheckBoxItemShowStyle(checkBoxItemShowStyle:number):void;
            }
            type CheckBoxListColumnAp_T = CheckBoxListColumnAp$ & ListColumnAp;
            interface CheckBoxListColumnAp extends CheckBoxListColumnAp_T {
            }
            interface ListFormAp_S {
            }
            type ListFormAp_ST = $.kd.bos.metadata.form.FormAp & ListFormAp_S;
            interface ListFormAp_C extends ListFormAp_ST {
                new():ListFormAp;
            }
            interface ListFormAp$ {
            }
            type ListFormAp_T = $.kd.bos.metadata.form.FormAp & ListFormAp$;
            interface ListFormAp extends ListFormAp_T {
            }
            interface ListOperationColumnAp_S {
            }
            type ListOperationColumnAp_ST = $.kd.bos.metadata.form.ContainerAp & ListOperationColumnAp_S;
            interface ListOperationColumnAp_C extends ListOperationColumnAp_ST {
                new():ListOperationColumnAp;
            }
            interface ListOperationColumnAp$ {
                /**
                 * 操作项
                 * 配置列的相关操作
                 * @param operationColItems
                 */
                setOperationColItems(operationColItems:$.java.util.List):void;
                /**
                 * 操作项
                 * 配置列的相关操作
                 * @return
                 */
                getOperationColItems():$.java.util.List;
                /**
                 *  是否拆分
                 * @param split
                 */
                setSplit(split:boolean):void;
                /**
                 * 显示风格：1(下拉列表)
                 *
                 * @return
                 */
                getOperationColumnShowStyle():number;
                /**
                 *  拆分
                 * @return
                 */
                isSplit():boolean;
                /**
                 * 设置显示风格：1(下拉列表)
                 * @param showStyle
                 */
                setOperationColumnShowStyle(showStyle:number):void;
            }
            type ListOperationColumnAp_T = $.kd.bos.metadata.form.ContainerAp & ListOperationColumnAp$;
            interface ListOperationColumnAp extends ListOperationColumnAp_T {
            }
            interface QingViewAp_S {
            }
            type QingViewAp_ST = ListGridViewAp_S & QingViewAp_S;
            interface QingViewAp_C extends QingViewAp_ST {
                new():QingViewAp;
            }
            interface QingViewAp$ {
                /**
                 * 单据实体
                 * @return
                 */
                getEntityId():string;
                /**
                 * 设置单据实体
                 * @param entityId
                 */
                setEntityId(entityId:string):void;
            }
            type QingViewAp_T = ListGridViewAp & QingViewAp$;
            interface QingViewAp extends QingViewAp_T {
            }
            interface ListColumnGroupAp_S {
            }
            type ListColumnGroupAp_ST = $.kd.bos.metadata.form.ContainerAp & ListColumnGroupAp_S;
            interface ListColumnGroupAp_C extends ListColumnGroupAp_ST {
                new():ListColumnGroupAp;
            }
            interface ListColumnGroupAp$ {
                /**
                 * 显示tips
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 设置显示tips
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
            }
            type ListColumnGroupAp_T = $.kd.bos.metadata.form.ContainerAp & ListColumnGroupAp$;
            interface ListColumnGroupAp extends ListColumnGroupAp_T {
            }
            interface CardFlexPanelAp_S {
            }
            type CardFlexPanelAp_ST = $.kd.bos.metadata.form.container.FlexPanelAp & CardFlexPanelAp_S;
            interface CardFlexPanelAp_C extends CardFlexPanelAp_ST {
                new():CardFlexPanelAp;
            }
            interface CardFlexPanelAp$ {
                /**
                 * 设置停靠位置 默认 左上
                 * @param dockingPosition
                 */
                setDockingPosition(dockingPosition:string):void;
                /**
                 * 设置是否悬浮停靠 默认false
                 * @param floatingDock
                 */
                setFloatingDock(floatingDock:boolean):void;
                /**
                 * 设置是否悬停隐藏元素 默认false
                 * @param hoverHideItems
                 */
                setHoverHideItems(hoverHideItems:boolean):void;
                /**
                 * 是否悬浮停靠 默认false
                 * @return
                 */
                isFloatingDock():boolean;
                /**
                 * 是否悬停显示元素 默认false
                 * @return
                 */
                isHoverShowItems():boolean;
                /**
                 * 是否悬停隐藏元素 默认false
                 * @return
                 */
                isHoverHideItems():boolean;
                /**
                 * 停靠位置 默认 左上
                 * @return
                 */
                getDockingPosition():string;
                /**
                 * 设置是否悬停显示元素 默认false
                 * @param hoverShowItems
                 */
                setHoverShowItems(hoverShowItems:boolean):void;
            }
            type CardFlexPanelAp_T = $.kd.bos.metadata.form.container.FlexPanelAp & CardFlexPanelAp$;
            interface CardFlexPanelAp extends CardFlexPanelAp_T {
            }
            interface ApproverListColumnAp_S {
            }
            type ApproverListColumnAp_ST = $.kd.bos.metadata.form.ControlAp & ApproverListColumnAp_S;
            interface ApproverListColumnAp_C extends ApproverListColumnAp_ST {
                new():ApproverListColumnAp;
            }
            interface ApproverListColumnAp$ {
            }
            type ApproverListColumnAp_T = $.kd.bos.metadata.form.ControlAp & ApproverListColumnAp$;
            interface ApproverListColumnAp extends ApproverListColumnAp_T {
            }
            interface DecimalListColumnAp_S {
            }
            type DecimalListColumnAp_ST = DecimalListColumnAp_S & ListColumnAp_S;
            interface DecimalListColumnAp_C extends DecimalListColumnAp_ST {
                new():DecimalListColumnAp;
            }
            interface DecimalListColumnAp$ {
                /**
                 * 设置进度条颜色
                 * @param progressBarColor
                 */
                setProgressBarColor(progressBarColor:$.java.util.List):void;
                /**
                 * 汇总类型: 0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 *
                 * @return
                 */
                getSummary():number;
                /**
                 * 设置格式化字符串
                 * @param displayFormatString
                 */
                setDisplayFormatString(displayFormatString:string):void;
                /**
                 * 设置单据体小数字段显示样式
                 * @param decimalShowType
                 */
                setDecimalShowType(decimalShowType:number):void;
                /**
                 * 单据体小数字段显示样式
                 * @return
                 */
                getDecimalShowType():number;
                /**
                 * 设置汇总类型  0：无，1:合计 2：平均值 3:最大值,4:最小值,5：计数
                 * @param summary
                 */
                setSummary(summary:number):void;
                /**
                 * 是否为零显示
                 * @return
                 */
                isZeroShow():boolean;
                /**
                 * 设置是否显示进度条百分比
                 * @param showPercent
                 */
                setShowPercent(showPercent:boolean):void;
                /**
                 * 掩码
                 * @return
                 */
                getMask():string;
                /**
                 * 是否显示进度条百分比
                 * @return
                 */
                isShowPercent():boolean;
                /**
                 * 格式化字符串
                 * @return
                 */
                getDisplayFormatString():string;
                /**
                 * 设置掩码
                 * @param mask
                 */
                setMask(mask:string):void;
                /**
                 * 设置百分比小数位数
                 * @param progressBarDecimalPlaces
                 */
                setProgressBarDecimalPlaces(progressBarDecimalPlaces:number):void;
                /**
                 * 百分比小数位数
                 * @return
                 */
                getProgressBarDecimalPlaces():number;
                /**
                 * 设置是否为零显示
                 * @param zeroShow
                 */
                setZeroShow(zeroShow:boolean):void;
                /**
                 * 进度条颜色
                 * @return
                 */
                getProgressBarColor():$.java.util.List;
            }
            type DecimalListColumnAp_T = DecimalListColumnAp$ & ListColumnAp;
            interface DecimalListColumnAp extends DecimalListColumnAp_T {
            }
            interface BillListAp_S {
                readonly BOS_METADATA:string;
                readonly GENLISTID:string;
            }
            type BillListAp_ST = $.kd.bos.metadata.form.ContainerAp & $.kd.bos.metadata.form.IBillListAp & BillListAp_S;
            interface BillListAp_C extends BillListAp_ST {
                new():BillListAp;
            }
            interface BillListAp$ {
                /**
                 * 选择全部
                 * @return
                 */
                isSelectedAll():boolean;
                /**
                 * 列表包含分录字段时，分录行是否排序
                 * @param defaultOrder
                 */
                setDefaultOrder(defaultOrder:boolean):void;
                /**
                 * 获取多币别合计字段
                 *
                 * @return
                 */
                getMulCurrencyFields():kd.bos.list.MulCurrencyFields;
                /**
                 * 设置是否选择全部
                 * @param selectedAll
                 */
                setSelectedAll(selectedAll:boolean):void;
                /**
                 * 设置是否显示参数过滤信息，列表工具栏是否显示参数过滤信息
                 * @param hasFilter
                 */
                setHasFilter(hasFilter:boolean):void;
                /**
                 * 预置已选行合计字段，选中行时将自动进行合计值展示
                 * @return
                 */
                getSummaryFieldIds():kd.bos.list.SummaryFieldIds;
                /**
                 * 默认分页条数
                 * @return
                 */
                getPageRow():number;
                /**
                 * 缺省视图
                 * @return
                 */
                getDefaultView():string;
                /**
                 * 设置显示tips属性
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 已选合计字段
                 * @return
                 */
                getSummaryFieldId():string;
                /**
                 * 显示参数过滤信息，列表工具栏是否显示参数过滤信息
                 * @return
                 */
                isHasFilter():boolean;
                /**
                 * 设置缺省视图
                 * @param defaultView
                 */
                setDefaultView(defaultView:string):void;
                createRuntimeControl():kd.bos.list.BillList;
                /**
                 * 获取多币别合计字段
                 * @param mulCurrencyFields
                 */
                setMulCurrencyFields(mulCurrencyFields:kd.bos.list.MulCurrencyFields):void;
                /**
                 * 设置是否允许多选
                 * @param multi the multi to set
                 */
                setMulti(multi:boolean):void;
                /**
                 * 是否允许多选
                 * @return the multi
                 */
                isMulti():boolean;
                /**
                 * 繁忙提示
                 * @return
                 */
                getBusyTip():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置已选合计字段
                 * @param summaryFieldId
                 */
                setSummaryFieldId(summaryFieldId:string):void;
                /**
                 * 设置单据实体
                 * @param entityId
                 */
                setEntityId(entityId:string):void;
                /**
                 * 排序设置
                 * @param sortSetting
                 */
                setSortSetting(sortSetting:$.java.util.List):void;
                /**
                 * 查询方式
                 * IdQuery查询模式，这种模式会先取ID，然后再根据分页条数进行二次取数； SqlQuery查询模式，采用数据库的分页方式查询，取当页数据，这种查询方式性能相对较好
                 * @return
                 */
                getQueryType():string;
                /**
                 * 设置默认分页条数
                 * @param pageRow
                 */
                setPageRow(pageRow:number):void;
                /**
                 * 设置过滤条件
                 * @param filter
                 */
                setFilter(filter:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 过滤条件
                 * @return
                 */
                getFilter():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 列表包含分录字段时，分录行是否排序
                 * @return
                 */
                isDefaultOrder():boolean;
                /**
                 * 设置预置已选行合计字段，选中行时将自动进行合计值展示
                 * @param summaryFieldIds
                 */
                setSummaryFieldIds(summaryFieldIds:kd.bos.list.SummaryFieldIds):void;
                /**
                 * 显示tips属性
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 单据实体
                 * @return
                 */
                getEntityId():string;
                /**
                 * 设置查询方式
                 * IdQuery查询模式，这种模式会先取ID，然后再根据分页条数进行二次取数； SqlQuery查询模式，采用数据库的分页方式查询，取当页数据，这种查询方式性能相对较好
                 * @param queryType
                 */
                setQueryType(queryType:string):void;
                /**
                 * 设置繁忙提示
                 * @param busyTip
                 */
                setBusyTip(busyTip:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 排序设置
                 * @return
                 */
                getSortSetting():$.java.util.List;
            }
            type BillListAp_T = $.kd.bos.metadata.form.ContainerAp & $.kd.bos.metadata.form.IBillListAp & BillListAp$;
            interface BillListAp extends BillListAp_T {
            }
            interface ListColumnAp_S {
            }
            type ListColumnAp_ST = $.kd.bos.metadata.form.ControlAp & ListColumnAp_S & kd.bos.list.IListColumnAp_S;
            interface ListColumnAp_C extends ListColumnAp_ST {
                /**
                 * 构造方法
                 */
                new():ListColumnAp;
            }
            interface ListColumnAp$ {
                /**
                 * 设置初始排序方式
                 * @param order
                 */
                setOrder(order:string):void;
                /**
                 * 设置值域前景色
                 * @param fieldForeColor
                 */
                setFieldForeColor(fieldForeColor:string):void;
                /**
                 * 值域背景色
                 * @return
                 */
                getFieldBackColor():string;
                /**
                 * 设置值域字体大小
                 * @param fieldFontsize
                 */
                setFieldFontSize(fieldFontsize:number):void;
                /**
                 * 设计时列类型 ， 用于设计时 区分 数值/日期列 的实际数据类型
                 * @param dataType
                 */
                setDataType(dataType:string):void;
                /**
                 * 设置字段
                 * @param listFieldId
                 */
                setListFieldId(listFieldId:string):void;
                /**
                 * 设置字段显示tips，可配置 内容可以为纯文本或者单据Id
                 * @param ctlTips
                 */
                setCtlTips(ctlTips:$.kd.bos.entity.Tips):void;
                /**
                 * 值域对齐方式
                 * @return
                 */
                getFieldTextAlign():string;
                /**
                 * 设计时列类型 ， 用于设计时 区分 数值/日期列 的实际数据类型
                 * @return
                 */
                getDataType():string;
                /**
                 * 设置列表字段seq类型
                 * @param seqColumnType
                 */
                setSeqColumnType(seqColumnType:string):void;
                /**
                 * 是否显示标题
                 * @return
                 */
                isShowTitle():boolean;
                /**
                 * 0 	排序和过滤	（true）
                 * 1	不排序不过滤	（false）
                 * 2	只排序
                 * 3	只过滤
                 * true和false为历史数据
                 * @return
                 */
                getColumnOrderAndFilter():string;
                /**
                 * 是否显示为超链
                 * @return
                 */
                isHyperlink():boolean;
                /**
                 * 设置值域背景色
                 * @param fieldBackColor
                 */
                setFieldBackColor(fieldBackColor:string):void;
                /**
                 * 设置是否显示标题
                 * @param showLabel
                 */
                setShowTitle(showLabel:boolean):void;
                /**
                 * 值域前景色
                 * @return
                 */
                getFieldForeColor():string;
                /**
                 * 列表字段seq类型
                 * @return
                 */
                getSeqColumnType():string;
                /**
                 * 字段显示tips，可配置 内容可以为纯文本或者单据Id
                 * @return
                 */
                getCtlTips():$.kd.bos.entity.Tips;
                /**
                 * 设置值域对齐方式
                 * @param fieldTextAlign
                 */
                setFieldTextAlign(fieldTextAlign:string):void;
                /**
                 * 设置是否显示为超链
                 * @param hyperlink
                 */
                setHyperlink(hyperlink:boolean):void;
                /**
                 * 设置属性
                 * @param props
                 */
                setProperties(props:$.java.util.Map):void;
                /**
                 * 初始排序方式
                 * @return
                 */
                getOrder():string;
                /**
                 * 0 	排序和过滤	（true）
                 * 1	不排序不过滤	（false）
                 * 2	只排序
                 * 3	只过滤
                 * true和false为历史数据
                 * @param columnOrderAndFilter
                 */
                setColumnOrderAndFilter(columnOrderAndFilter:string):void;
                /**
                 * 值域字体大小
                 * @return
                 */
                getFieldFontSize():number;
            }
            type ListColumnAp_T = $.kd.bos.metadata.form.ControlAp & ListColumnAp$ & kd.bos.list.IListColumnAp;
            interface ListColumnAp extends ListColumnAp_T {
            }
        }
        namespace kd.bos.metadata.perm{
            interface PermissionControl_S {
            }
            type PermissionControl_ST = AbstractElement_S & PermissionControl_S;
            interface PermissionControl_C extends PermissionControl_ST {
                new():PermissionControl;
            }
            interface PermissionControl$ {
            }
            type PermissionControl_T = AbstractElement & PermissionControl$;
            interface PermissionControl extends PermissionControl_T {
            }
            interface PermissionItem_S {
            }
            type PermissionItem_ST = $.kd.bos.entity.IIsvFlag & PermissionItem_S;
            interface PermissionItem_C extends PermissionItem_ST {
                new():PermissionItem;
            }
            interface PermissionItem$ {
            }
            type PermissionItem_T = $.kd.bos.entity.IIsvFlag & PermissionItem$;
            interface PermissionItem extends PermissionItem_T {
            }
            interface PermissionDimension_S {
            }
            type PermissionDimension_ST = AbstractElement_S & PermissionDimension_S;
            interface PermissionDimension_C extends PermissionDimension_ST {
                new():PermissionDimension;
            }
            interface PermissionDimension$ {
            }
            type PermissionDimension_T = AbstractElement & PermissionDimension$;
            interface PermissionDimension extends PermissionDimension_T {
            }
        }
        namespace kd.bos.metadata.print.control{
            interface BaseContainer_S {
            }
            type BaseContainer_ST = BaseContainer_S & BaseControl_S;
            interface BaseContainer_C extends BaseContainer_ST {
                new():BaseContainer;
            }
            interface BaseContainer$ {
                get():$.java.util.List;
            }
            type BaseContainer_T = BaseContainer$ & BaseControl;
            interface BaseContainer extends BaseContainer_T {
            }
            interface BaseControl_S {
            }
            type BaseControl_ST = AbstractElement_S & BaseControl_S;
            interface BaseControl_C extends BaseControl_ST {
                new():BaseControl;
            }
            interface BaseControl$ {
                getLastScript():string;
                setX(value:$.kd.bos.dataentity.entity.LocaleString):void;
                setWrapText(value:boolean):void;
                setHeight(value:$.kd.bos.dataentity.entity.LocaleString):void;
                isWrapText():boolean;
                getCombineField():string;
                isUnderLine():boolean;
                getIndex():number;
                setCombineField(combineField:string):void;
                setBackColor(backColor:string):void;
                getFormat():string;
                getVerAlignment():string;
                setFontSize(fontsize:number):void;
                getBindText():$.kd.bos.dataentity.entity.LocaleString;
                getCustomField():string;
                getDataSource():string;
                setStyle(style:$.kd.bos.metadata.form.Style):void;
                getHeight():$.kd.bos.dataentity.entity.LocaleString;
                getForeColor():string;
                getBackColor():string;
                setVerAlignment(value:string):void;
                isHidden():boolean;
                getY():$.kd.bos.dataentity.entity.LocaleString;
                setBindField(value:string):void;
                setHidden(value:boolean):void;
                getX():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 创建前端控件元数据
                 *
                 * @return 前端控件元数据
                 */
                createDesignerControl():$.java.util.Map;
                setLastScript(str:string):void;
                setScript(str:string):void;
                setHorizontalFill(value:boolean):void;
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                getPreScript():string;
                setHorAlignment(value:string):void;
                setBold(isBold:boolean):void;
                setIndex(value:number):void;
                isItalic():boolean;
                getStyle():$.kd.bos.metadata.form.Style;
                isVerticalFill():boolean;
                getWordSpacing():number;
                isHorizontalFill():boolean;
                setWordSpacing(value:number):void;
                getBindType():string;
                setVerticalFill(value:boolean):void;
                setWidth(value:$.kd.bos.dataentity.entity.LocaleString):void;
                isBold():boolean;
                setFormat(value:string):void;
                setBindType(type_arg:string):void;
                setUnderLine(isUnderLine:boolean):void;
                setForeColor(foreColor:string):void;
                getScript():string;
                setShrink(value:boolean):void;
                isShrink():boolean;
                getBindField():string;
                getFontName():$.kd.bos.dataentity.entity.LocaleString;
                setY(value:$.kd.bos.dataentity.entity.LocaleString):void;
                getFontSize():number;
                getHorAlignment():string;
                setDataSource(value:string):void;
                setCustomField(field:string):void;
                setBindText(txt:$.kd.bos.dataentity.entity.LocaleString):void;
                setPreScript(value:string):void;
                setItalic(isItalic:boolean):void;
                setFontName(value:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type BaseControl_T = AbstractElement & BaseControl$;
            interface BaseControl extends BaseControl_T {
            }
            interface Barcode_S {
            }
            type Barcode_ST = Barcode_S & Text_S;
            interface Barcode_C extends Barcode_ST {
                new():Barcode;
            }
            interface Barcode$ {
                getSymbolShape():string;
                isDisplayText():boolean;
                getBarCodeFontSize():number;
                getPrefix():string;
                setDisplayText(value:boolean):void;
                setEncodeMode(mode:string):void;
                setBarCodeFontSize(barCodeFontSize:number):void;
                isShowSample():boolean;
                setDpi(value:number):void;
                getSuffix():string;
                setPrefix(value:string):void;
                getEncodeMode():string;
                getDisplayMode():string;
                setShowSample(value:boolean):void;
                setDisplayMode(mode:string):void;
                setSymbolShape(value:string):void;
                getSampleText():string;
                getDpi():number;
                setSuffix(value:string):void;
                setSampleText(value:string):void;
            }
            type Barcode_T = Barcode$ & Text;
            interface Barcode extends Barcode_T {
            }
            interface Text_S {
            }
            type Text_ST = BaseControl_S & Text_S;
            interface Text_C extends Text_ST {
                new():Text;
            }
            interface Text$ {
                setDivideCharNums(value:number):void;
                setDivideModel(value:boolean):void;
                getDivideCharNums():number;
                isDivideModel():boolean;
                isShowDivideLine():boolean;
                setShowDivideLine(value:boolean):void;
            }
            type Text_T = BaseControl & Text$;
            interface Text extends Text_T {
            }
        }
        namespace kd.bos.metadata.report{
            interface ReportMoreFilterPanelAp_S {
            }
            type ReportMoreFilterPanelAp_ST = $.kd.bos.metadata.form.container.FlexPanelAp & ReportMoreFilterPanelAp_S;
            interface ReportMoreFilterPanelAp_C extends ReportMoreFilterPanelAp_ST {
                new():ReportMoreFilterPanelAp;
            }
            interface ReportMoreFilterPanelAp$ {
            }
            type ReportMoreFilterPanelAp_T = $.kd.bos.metadata.form.container.FlexPanelAp & ReportMoreFilterPanelAp$;
            interface ReportMoreFilterPanelAp extends ReportMoreFilterPanelAp_T {
            }
            interface ReportListAp_S {
            }
            type ReportListAp_ST = $.kd.bos.metadata.form.control.EntryAp & ReportListAp_S & kd.bos.metadata.report.IReportListAp_S;
            interface ReportListAp_C extends ReportListAp_ST {
                new():ReportListAp;
            }
            interface ReportListAp$ {
                /**
                 * 获取数据行背景色
                 * @return
                 */
                getRowBackColor():string;
                /**
                 * 设置报表汇总
                 * @param reportSumMeta
                 */
                setReportSumMeta(reportSumMeta:string):void;
                /**
                 * 设置报表是否支持列头排序
                 * @param colSort 传入true=支持列头排序
                 */
                setColSort(colSort:boolean):void;
                /**
                 * 设置报表界面规则，可以设置字段颜色等
                 * @param clientRules {@link ClientRule}
                 */
                setClientRules(clientRules:$.java.util.List):void;
                /**
                 * 设置数据行背景色
                 * @param rowBackColor 背景色
                 */
                setRowBackColor(rowBackColor:string):void;
                /**
                 * 设置报表查询数据源，作为报表界面数据来源
                 * @param queryDataSource
                 */
                setQueryDataSource(queryDataSource:kd.bos.metadata.entity.report.QueryDataSource):void;
                /**
                 * 返回报表是否支持列头过滤（对报表结果进行二次过滤）
                 * @return 返回true=支持列头过滤
                 */
                isColFilter():boolean;
                /**
                 * 设置是否支持列头过滤
                 * @param colFilter 传入true=支持列头过滤
                 */
                setColFilter(colFilter:boolean):void;
                /**
                 * 获取报表查询扩展插件
                 * @return
                 */
                getRreportPluginExt():$.java.util.List;
                /**
                 * 获取报表查询数据源
                 * @return
                 */
                getQueryDataSource():kd.bos.metadata.entity.report.QueryDataSource;
                setReportQueryPlugin(reportQueryPlugin:$.java.util.List):void;
                /**
                 * 获取报表每页行数
                 * @return
                 */
                getPageRows():number;
                /**
                 * 设置每页的行数
                 *
                 * @param pageRows 行数目
                 */
                setPageRows(pageRows:number):void;
                getReportQueryPlugin():$.java.util.List;
                /**
                 * 设置报表查询扩展插件，可在该插件中干预{@link ReportListAp#getReportPlugin()} ()}返回的dataset
                 *
                 * @param reportPluginExt 扩展插件
                 */
                setRreportPluginExt(reportPluginExt:$.java.util.List):void;
                setReportPlugin(reportPlugin:string):void;
                /**
                 * 设置报表数据源（旧），作为报表界面数据来源
                 * 新增的报表需要通过{@link ReportListAp#setQueryDataSource(QueryDataSource)} ()}获取
                 * @param dataSource
                 */
                setDataSource(dataSource:string):void;
                /**
                 * 获取报表查询java插件
                 * @return
                 */
                getReportPlugin():string;
                /**
                 * 返回是否"选择全部"开关
                 *
                 * @return 是否"选择全部"开关
                 */
                isSelectedAll():boolean;
                /**
                 * 获取报表汇总设置
                 * @return
                 */
                getReportSumMeta():string;
                /**
                 * 返回报表是否支持列头排序（对报表结果进行二次排序）
                 * @return 返回true=支持列头排序
                 */
                isColSort():boolean;
                /**
                 * 设置"选择全部"开关
                 *
                 * @param selectedAll
                 *            "选择全部"开关
                 */
                setSelectedAll(selectedAll:boolean):void;
                /**
                 * 获取报表界面规则
                 * @return {@link ClientRule}
                 */
                getClientRules():$.java.util.List;
            }
            type ReportListAp_T = $.kd.bos.metadata.form.control.EntryAp & ReportListAp$ & kd.bos.metadata.report.IReportListAp;
            interface ReportListAp extends ReportListAp_T {
            }
            interface ReportTreeAp_S {
            }
            type ReportTreeAp_ST = $.kd.bos.metadata.form.control.TreeViewAp & ReportTreeAp_S;
            interface ReportTreeAp_C extends ReportTreeAp_ST {
                new():ReportTreeAp;
            }
            interface ReportTreeAp$ {
                /**
                 * 设置查询java插件
                 * @param reportPlugin
                 */
                setReportPlugin(reportPlugin:string):void;
                /**
                 * 获取是否只支持明细节点查询
                 * @return
                 */
                isLeafNodeQuery():boolean;
                /**
                 * 获取报表树要展示的实体
                 * @return 实体Id
                 */
                getBaseEntityId():string;
                /**
                 * 设置报表树要展示哪个实体
                 * @param baseEntityId 实体Id
                 */
                setBaseEntityId(baseEntityId:string):void;
                /**
                 * 获取查询java插件
                 * @return
                 */
                getReportPlugin():string;
                /**
                 * 设置是否只支持明细节点查询
                 * @param leafNodeQuery
                 */
                setLeafNodeQuery(leafNodeQuery:boolean):void;
            }
            type ReportTreeAp_T = $.kd.bos.metadata.form.control.TreeViewAp & ReportTreeAp$;
            interface ReportTreeAp extends ReportTreeAp_T {
            }
            interface IReportEntity_S {
            }
            interface IReportEntity_C extends IReportEntity_S {
            }
            interface IReportEntity$ {
            }
            type IReportEntity_T = IReportEntity$;
            interface IReportEntity extends IReportEntity_T {
            }
            interface IReportListAp_S {
            }
            interface IReportListAp_C extends IReportListAp_S {
            }
            interface IReportListAp$ {
                getDataSource():string;
            }
            type IReportListAp_T = IReportListAp$;
            interface IReportListAp extends IReportListAp_T {
            }
            interface ReportFilterAp_S {
            }
            type ReportFilterAp_ST = $.kd.bos.metadata.form.container.FlexPanelAp & ReportFilterAp_S;
            interface ReportFilterAp_C extends ReportFilterAp_ST {
                new():ReportFilterAp;
            }
            interface ReportFilterAp$ {
                /**
                 * 获取用户配置
                 *
                 * @return
                 */
                isUserConfiguration():boolean;
                /**
                 * 设置已选过滤字段，收起报表过滤控件面板后，任可展示设置了的过滤字段已选值
                 * @param showFilterFields 已选过滤字段
                 */
                setShowFilterFields(showFilterFields:string):void;
                /**
                 * 设置报表过滤条件设置
                 * @param reportFilterFieldConfig {@link ReportFilterFieldConfig}
                 */
                setReportFilterFieldConfig(reportFilterFieldConfig:$.kd.bos.entity.report.queryds.ReportFilterFieldConfig):void;
                /**
                 * 获取过滤面板标题
                 * @return
                 */
                getTitle():string;
                /**
                 * 获取元数据中设置已选过滤字段
                 * @return
                 */
                getShowFilterFields():string;
                /**
                 * 获取报表过滤条件设置
                 * @return {@link ReportFilterFieldConfig}
                 */
                getReportFilterFieldConfig():$.kd.bos.entity.report.queryds.ReportFilterFieldConfig;
                /**
                 * 设置过滤字段必录校验
                 * @param filterMustInput
                 */
                setFilterMustInput(filterMustInput:boolean):void;
                /**
                 * 必录校验
                 *
                 * @return
                 */
                isFilterMustInput():boolean;
                /**
                 * 设置用户配置
                 *
                 * @param userConfiguration
                 */
                setUserConfiguration(userConfiguration:boolean):void;
                /**
                 * 获取初始字段
                 *
                 * @return
                 */
                getDefaultHiddenFields():$.java.util.List;
                /**
                 * 设置过滤面板标题
                 * @param title
                 */
                setTitle(title:string):void;
                /**
                 * 设置初始字段
                 *
                 * @param defaultHiddenFields
                 */
                setDefaultHiddenFields(defaultHiddenFields:$.java.util.List):void;
            }
            type ReportFilterAp_T = $.kd.bos.metadata.form.container.FlexPanelAp & ReportFilterAp$;
            interface ReportFilterAp extends ReportFilterAp_T {
            }
            interface ReportFormAp_S {
            }
            type ReportFormAp_ST = $.kd.bos.metadata.form.FormAp & ReportFormAp_S;
            interface ReportFormAp_C extends ReportFormAp_ST {
                new():ReportFormAp;
            }
            interface ReportFormAp$ {
                /**
                 * 获取数据控件
                 * @return
                 */
                getDataControl():string;
                /**
                 * 设置是否开启异步查询，开启后启动调度任务执行查询任务，前端请求不会超时
                 * @param asynQuery
                 */
                setAsynQuery(asynQuery:boolean):void;
                /**
                 * 获取是否开启异步查询
                 *
                 * @return
                 */
                isAsynQuery():boolean;
                /**
                 * 设置数据控件
                 * @param dataControl 数据控件
                 */
                setDataControl(dataControl:string):void;
            }
            type ReportFormAp_T = $.kd.bos.metadata.form.FormAp & ReportFormAp$;
            interface ReportFormAp extends ReportFormAp_T {
            }
            interface ReportEntity_S {
            }
            type ReportEntity_ST = $.kd.bos.metadata.entity.MainEntity & ReportEntity_S & kd.bos.metadata.report.IReportEntity_S;
            interface ReportEntity_C extends ReportEntity_ST {
                new():ReportEntity;
            }
            interface ReportEntity$ {
            }
            type ReportEntity_T = $.kd.bos.metadata.entity.MainEntity & ReportEntity$ & kd.bos.metadata.report.IReportEntity;
            interface ReportEntity extends ReportEntity_T {
            }
            interface ReportCommFilterPanelAp_S {
            }
            type ReportCommFilterPanelAp_ST = $.kd.bos.metadata.form.container.FlexPanelAp & ReportCommFilterPanelAp_S;
            interface ReportCommFilterPanelAp_C extends ReportCommFilterPanelAp_ST {
                new():ReportCommFilterPanelAp;
            }
            interface ReportCommFilterPanelAp$ {
            }
            type ReportCommFilterPanelAp_T = $.kd.bos.metadata.form.container.FlexPanelAp & ReportCommFilterPanelAp$;
            interface ReportCommFilterPanelAp extends ReportCommFilterPanelAp_T {
            }
        }
        namespace kd.bos.metadata.treebuilder{
            interface ExpressionEditHelper_S {
                readonly CUSTPARAM_TREE_OPTION:string;
                readonly CUSTPARAM_EXPR:string;
                readonly FORMID_EXPRESSION_EDIT:string;
                readonly OUT_EXPR:string;
                readonly OUT_EXPR_DESC:string;
                readonly CUSTPARAM_CACHE_TREENODES:string;
                readonly CUSTPARAM_ENTITYNUMBER:string;
                /**
                 * 弹窗显示通用的表达式编辑界面
                 *
                 * 根据传入的实体编码，显示此实体的表达式编辑界面
                 *
                 * @param parentView 父视图
                 * @param entityNumber 实体
                 * @param option  字段树构造参数，可以传null，按默认参数构造字段树
                 * @param expr 已配置好的表达式：会显示在界面上，供用户浏览、修改
                 * @param closeCallBack 多选返回后的回调处理参数，指定由谁接收返回值，返回值格式为Map，内含"Expr"
                 */
                showExprEdit(parentView:$.kd.bos.form.IFormView,entityNumber:string,option:PropTreeBuildOption,expr:string,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 弹窗显示通用的表达式编辑界面
                 *
                 * 根据传入的实体编码，显示此实体的表达式编辑界面
                 *
                 * @param parentView 父视图
                 * @param entityNumber 实体
                 * @param fieldNodesJson 表达式字段树，根节点，内含所有可选的字段
                 * @param expr 已配置好的表达式：会显示在界面上，供用户浏览、修改
                 * @param closeCallBack 多选返回后的回调处理参数，指定由谁接收返回值，返回值格式为Map，内含"Expr"
                 */
                showExprEdit(parentView:$.kd.bos.form.IFormView,entityNumber:string,fieldNodesJson:string,expr:string,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 翻译表达式，输出中文译文：如果表达式语法有误，翻译过程可能会出错
                 *
                 * @param rootNode 包含了所有字段变脸的字段树。需要根据字段树上的节点标识，把变量翻译为中文名。
                 *                 表达式中的字段，类似于"a.b.c"，不是一个单一的字段标识，不能简单的通过实体属性名来翻译
                 * @param expression 表达式原文
                 * @return 返回表达式译文
                 */
                tranExpr(rootNode:$.kd.bos.entity.tree.TreeNode,expression:string):string;
                /**
                 * 弹窗显示通用的表达式编辑界面
                 *
                 * 根据传入的实体编码，显示此实体的表达式编辑界面
                 *
                 * @param parentView 父视图
                 * @param entityNumber 实体
                 * @param fieldNodes 表达式字段树，根节点，内含所有可选的字段
                 * @param expr 已配置好的表达式：会显示在界面上，供用户浏览、修改
                 * @param closeCallBack 多选返回后的回调处理参数，指定由谁接收返回值，返回值格式为Map，内含"Expr"
                 */
                showExprEdit(parentView:$.kd.bos.form.IFormView,entityNumber:string,fieldNodes:$.kd.bos.entity.tree.TreeNode,expr:string,closeCallBack:$.kd.bos.form.CloseCallBack):void;
            }
            interface ExpressionEditHelper_C extends ExpressionEditHelper_S {
                new():ExpressionEditHelper;
            }
            interface ExpressionEditHelper$ {
            }
            type ExpressionEditHelper_T = ExpressionEditHelper$;
            interface ExpressionEditHelper extends ExpressionEditHelper_T {
            }
            interface FieldTreeShowHelper_S {
            }
            interface FieldTreeShowHelper_C extends FieldTreeShowHelper_S {
                new():FieldTreeShowHelper;
            }
            interface FieldTreeShowHelper$ {
            }
            type FieldTreeShowHelper_T = FieldTreeShowHelper$;
            interface FieldTreeShowHelper extends FieldTreeShowHelper_T {
            }
            interface FilterEditHelper_S {
                readonly FORMID_FILTERCONDITIONEDIT:string;
                readonly CUSTPARAM_FILTER_JSON:string;
                readonly CUSTPARAM_FIELD_OPTION:string;
                readonly CUSTPARAM_FIELD_COLUMNS:string;
                readonly CUSTPARAM_ENTITYNUMBER:string;
                /**
                 * 显示通用的过滤条件配置界面：界面仅包含过滤条件表格和确认按钮
                 *
                 * 根据传入的实体编码，显示此实体的过滤条件配置表格
                 *
                 * @param parentView 父视图
                 * @param entityNumber 实体
                 * @param option  过滤字段挑选参数：控制过滤表格中列出什么样的过滤字段，可传null，采用默认控制
                 * @param filterCondition 过滤条件表格显示已配置好的过滤条件。可传null，显示空白的过滤条件表格
                 * @param closeCallBack 多选返回后的回调处理参数，指定由谁接收返回值
                 */
                showFilterConditionEdit(parentView:$.kd.bos.form.IFormView,entityNumber:string,option:FilterFieldBuildOption,filterCondition:$.kd.bos.entity.filter.FilterCondition,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 显示通用的过滤条件配置界面：界面仅包含过滤条件表格和确认按钮
                 *
                 * 根据传入的实体编码，显示此实体的过滤条件配置表格
                 *
                 * @param parentView 父视图
                 * @param entityNumber 实体
                 * @param filterColumns  过滤字段集合：过滤表格中可选的过滤字段
                 * @param filterCondition 过滤条件表格显示已配置好的过滤条件。可传null，显示空白的过滤条件表格
                 * @param closeCallBack 多选返回后的回调处理参数，指定由谁接收返回值
                 */
                showFilterConditionEdit(parentView:$.kd.bos.form.IFormView,entityNumber:string,filterColumns:$.java.util.List,filterCondition:$.kd.bos.entity.filter.FilterCondition,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 翻译条件配置，输出可读性比较高的译文
                 *
                 * @param mainType 主实体
                 * @param filterCondition 条件配置
                 * @return 解析条件，输出脚本表达式与表达式说明
                 */
                tranCondition(mainType:$.kd.bos.entity.MainEntityType,filterCondition:$.kd.bos.entity.filter.FilterCondition):string;
            }
            interface FilterEditHelper_C extends FilterEditHelper_S {
                new():FilterEditHelper;
            }
            interface FilterEditHelper$ {
            }
            type FilterEditHelper_T = FilterEditHelper$;
            interface FilterEditHelper extends FilterEditHelper_T {
            }
            interface EntityFieldTreeBuildOption_S {
            }
            type EntityFieldTreeBuildOption_ST = EntityFieldTreeBuildOption_S & PropTreeBuildOption_S;
            interface EntityFieldTreeBuildOption_C extends EntityFieldTreeBuildOption_ST {
                /**
                 * 构造方法
                 */
                new():EntityFieldTreeBuildOption;
            }
            interface EntityFieldTreeBuildOption$ {
            }
            type EntityFieldTreeBuildOption_T = EntityFieldTreeBuildOption$ & PropTreeBuildOption;
            interface EntityFieldTreeBuildOption extends EntityFieldTreeBuildOption_T {
            }
            interface BuildOption_S {
            }
            interface BuildOption_C extends BuildOption_S {
                new():BuildOption;
            }
            interface BuildOption$ {
            }
            type BuildOption_T = BuildOption$;
            interface BuildOption extends BuildOption_T {
            }
            interface ControlsTreeBuildOption_S {
            }
            type ControlsTreeBuildOption_ST = BuildOption_S & ControlsTreeBuildOption_S;
            interface ControlsTreeBuildOption_C extends ControlsTreeBuildOption_ST {
                new():ControlsTreeBuildOption;
            }
            interface ControlsTreeBuildOption$ {
            }
            type ControlsTreeBuildOption_T = BuildOption & ControlsTreeBuildOption$;
            interface ControlsTreeBuildOption extends ControlsTreeBuildOption_T {
            }
            interface FormFieldTreeBuildOption_S {
            }
            type FormFieldTreeBuildOption_ST = BuildOption_S & FormFieldTreeBuildOption_S;
            interface FormFieldTreeBuildOption_C extends FormFieldTreeBuildOption_ST {
                new():FormFieldTreeBuildOption;
            }
            interface FormFieldTreeBuildOption$ {
            }
            type FormFieldTreeBuildOption_T = BuildOption & FormFieldTreeBuildOption$;
            interface FormFieldTreeBuildOption extends FormFieldTreeBuildOption_T {
            }
            interface FormTreeBuilder_S {
            }
            interface FormTreeBuilder_C extends FormTreeBuilder_S {
                new():FormTreeBuilder;
            }
            interface FormTreeBuilder$ {
            }
            type FormTreeBuilder_T = FormTreeBuilder$;
            interface FormTreeBuilder extends FormTreeBuilder_T {
            }
            interface FilterFieldBuildOption_S {
            }
            type FilterFieldBuildOption_ST = BuildOption_S & FilterFieldBuildOption_S;
            interface FilterFieldBuildOption_C extends FilterFieldBuildOption_ST {
                /**
                 * 构造方法
                 */
                new():FilterFieldBuildOption;
                /**
                 * 构造函数：限定实体、源字段，找与源字段类型匹配的字段清单
                 *
                 * @param selectedEntity 传入的实体字段集合
                 */
                new(selectedEntity:$.java.util.HashSet):FilterFieldBuildOption;
            }
            interface FilterFieldBuildOption$ {
            }
            type FilterFieldBuildOption_T = BuildOption & FilterFieldBuildOption$;
            interface FilterFieldBuildOption extends FilterFieldBuildOption_T {
            }
            interface PropTreeBuildOption_S {
            }
            type PropTreeBuildOption_ST = BuildOption_S & PropTreeBuildOption_S;
            interface PropTreeBuildOption_C extends PropTreeBuildOption_ST {
                /**
                 * 构造方法
                 */
                new():PropTreeBuildOption;
                /**
                 * 构造函数：限定实体、源字段，找与源字段类型匹配的字段清单
                 *
                 * @param selectedEntity 实体字段集合
                 * @param matchedProperty 实体字段属性
                 */
                new(selectedEntity:$.java.util.HashSet,matchedProperty:$.kd.bos.dataentity.metadata.IDataEntityProperty):PropTreeBuildOption;
                /**
                 * 构造函数：限定实体，字段类型，找同类型(或子类型)的字段
                 *
                 * @param selectedEntity 实体字段集合
                 * @param matchedClassType 匹配字段类型
                 */
                new(selectedEntity:$.java.util.HashSet,matchedClassType:$.java.lang.Class):PropTreeBuildOption;
            }
            interface PropTreeBuildOption$ {
            }
            type PropTreeBuildOption_T = BuildOption & PropTreeBuildOption$;
            interface PropTreeBuildOption extends PropTreeBuildOption_T {
            }
        }
        namespace kd.bos.mq{
            interface MessageConsumer_S {
            }
            interface MessageConsumer_C extends MessageConsumer_S {
            }
            interface MessageConsumer$ {
                /**
                 * 若生产者发送db事务消息，发送方和消费方不在同一个库时，需要设置消费方的数据库路由标识RouteKey
                 * @return 数据库路由标识RouteKey
                 */
                getRouteKey?():string;
                /**
                 * 消费生产者发送的消息
                 * @param message 消息内容，Object类型，需自行强转为生产者发送的类型
                 * @param messageId 消息id，用于消息确认，非全局唯一
                 * @param resend 是否重新发送，此参数不准确，禁止用于幂等性判定。场景如下：1、前面发送的没有确认成功，mq服务器会重复发送过来；2、mq服务器不稳定也可能重复推送
                 * @param acker 消息确认器，支持消息确认ack、拒绝deny和丢弃discard
                 * @see kd.bos.mq.MessageAcker
                 */
                onMessage(message:any,messageId:string,resend:boolean,acker:MessageAcker):void;
            }
            type MessageConsumer_T = MessageConsumer$;
            interface MessageConsumer extends MessageConsumer_T {
            }
            interface MessageServiceModule_S {
            }
            type MessageServiceModule_ST = $.kd.sdk.module.Module & MessageServiceModule_S;
            interface MessageServiceModule_C extends MessageServiceModule_ST {
                new():MessageServiceModule;
            }
            interface MessageServiceModule$ {
            }
            type MessageServiceModule_T = $.kd.sdk.module.Module & MessageServiceModule$;
            interface MessageServiceModule extends MessageServiceModule_T {
            }
            interface MessagePublisher_S {
            }
            interface MessagePublisher_C extends MessagePublisher_S {
            }
            interface MessagePublisher$ {
                /**
                 * 发送普通消息，消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message 消息内容，类型：Object，建议小于512Kb
                 */
                publish(message:any):void;
                /**
                 * 发送普通消息，消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message 消息内容，类型：String，建议小于512Kb
                 */
                publish(message:string):void;
                /**
                 * 以事务状态，发送分区消息，保障业务的db事务和生产者发送mq消息的原子性和一致性
                 * 消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param routeKey 数据库路由标识
                 * @param message 消息内容，建议小于512Kb
                 * @param partitionKey 分区标识
                 */
                publishInDbTranscation(routeKey:string,message:any,partitionKey:string):void;
                /**
                 * 发送延迟消息，最小延迟5秒，最大延迟7200秒
                 * 消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message  消息内容，建议小于512Kb
                 * @param seconds  延迟时间，单位秒
                 */
                publishDelay(message:any,seconds:number):void;
                /**
                 * 关闭IO资源，编写在finally块
                 * 创建完生产者，可发送1条或n条消息，发送完毕后须立即关闭生产者释放IO资源
                 */
                close():void;
                /**
                 * 发送延迟数据库事务消息，保障业务的db事务和生产者发送mq消息的原子性和一致性
                 * 消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message 消息内容，建议小于512Kb
                 * @param seconds 延迟时间，单位秒，最长支持延迟7200秒
                 */
                publishDelayInDbTranscation(message:any,seconds:number):void;
                /**
                 * 发送普通消息，消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message 消息内容，类型：byte[]，建议小于512Kb
                 */
                publish(message:number[]):void;
                /**
                 * 发送具有延迟效果的分区消息，最小延迟5秒，最大延迟7200秒
                 * 消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message  消息内容，建议小于512Kb
                 * @param seconds  延迟时间，单位秒，最长支持延迟7200秒
                 * @param partitionKey  分区标识
                 */
                publishDelay(message:any,seconds:number,partitionKey:string):void;
                /**
                 * 发送数据库事务消息，保障业务的db事务和生产者发送mq消息的原子性和一致性
                 * 消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param routKey 数据库路由标识
                 * @param message 消息内容，建议小于512Kb
                 */
                publishInDbTranscation(routKey:string,message:any):void;
                /**
                 * 发送数据库事务消息，保障业务的db事务和生产者发送mq消息的原子性和一致性
                 * 消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message 消息内容，建议小于512Kb
                 */
                publishInDbTranscation(message:any):void;
                /**
                 * 发送分区消息，消息过大会抛异常，这是为了避免因消息过大导致系统性能下降或出现其他问题
                 * @param message 消息内容，类型：Object，建议小于512Kb
                 * @param partitionKey 分区标识，如appId
                 * <pre><code>
                 *  背景：普通MQ队列是不支持跨应用的，正常场景中每个队列的消息都由同一个应用发布，并由固定的应
                 *       用节点消费；这种背景下如果MQ队列跨应用的话，会变成多个应用的消息都发送到同一个队列，并由
                 *       一个应用消费，每个应用业务繁忙程度不一样，很大概率会造成个应用消息积压、消息相互阻塞的问题；
                 *  解决：MQ队列存在跨应用的消息，则通过分区，把消息根据appId发送到指定应用的队列，并由指定应用消费；
                 *  使用：
                 *   MessagePublisher pub=MQFactory.get().createPartitionPublisher(“workflow”,“kd.bos.bec.engine.job_queue”,PartitionStrategy.APP_ID);
                 *   pub.publish(message,appid)//按appid发布-即发布到workflow.kd.bos.bec.engine.job_queue.appid队列，由appid应用的消费者消费
                 * </code></pre>
                 */
                publish(message:any,partitionKey:string):void;
            }
            type MessagePublisher_T = MessagePublisher$;
            interface MessagePublisher extends MessagePublisher_T {
            }
            interface MessageAcker_S {
            }
            interface MessageAcker_C extends MessageAcker_S {
            }
            interface MessageAcker$ {
                /**
                 * 确认消息已成功处理完毕。
                 * 调用此方法表示消息已经被正确处理，不需要再次消费。
                 * 消息队列系统在接收到此确认后，通常会将该消息标记为已处理并从队列中移除。
                 *
                 * @param messageId 消息的标识符，此标识符并非全局唯一
                 */
                ack(messageId:string):void;
                /**
                 * 拒绝处理消息，将消息返回队列以便重新被消费。
                 * 当消息处理过程中出现暂时的异常或错误，导致消息无法立即处理时，可以调用此方法。
                 * 消息队列系统会将该消息重新放回队列尾部，等待后续的消费尝试。
                 *
                 * @param messageId 消息的标识符，此标识符并非全局唯一
                 */
                deny(messageId:string):void;
                /**
                 * 直接丢弃消息，不再进行后续处理。
                 * 当消息被判定为无效、过期或者不需要处理时，可以调用此方法。
                 * 消息队列系统在接收到此操作后，会将该消息从队列中移除，不再进行消费。
                 *
                 * @param messageId 消息的标识符，此标识符并非全局唯一
                 */
                discard(messageId:string):void;
            }
            type MessageAcker_T = MessageAcker$;
            interface MessageAcker extends MessageAcker_T {
            }
            interface MQFactory_S {
                /**
                 * 获取MQ生产者工厂，用于创建生产者
                 * @return kd.bos.mq.MQFactory
                 */
                get():MQFactory;
            }
            interface MQFactory_C extends MQFactory_S {
                new():MQFactory;
            }
            interface MQFactory$ {
                /**
                 * 创建分区发送者，可发送分区普通消息，分区延迟消息，分区数据库事务消息
                 * @param region 领域，可按领域部署MQ服务
                 * @param queue 队列名
                 * @param partitionStrategy 分区发布使用的策略，仅支持appId分区策略
                 *
                 * @return kd.bos.mq.MessagePublisher
                 */
                createPartitionPublisher(region:string,queue:string,partitionStrategy:kd.bos.mq.support.partition.PartitionStrategy):MessagePublisher;
                /**
                 * 创建常规消息发送者，可发送普通消息，延迟消息，数据库事务消息
                 * @param region 领域，可按领域部署MQ服务
                 * @param queue 队列名
                 * @return kd.bos.mq.MessagePublisher
                 */
                createSimplePublisher(region:string,queue:string):MessagePublisher;
            }
            type MQFactory_T = MQFactory$;
            interface MQFactory extends MQFactory_T {
            }
        }
        namespace kd.bos.mq.broadcast{
            interface BroadcastService_S {
                /**
                 * 发送广播消息到系统中的其他实例，当前实例会主动过滤该消息，不会接收
                 * 调用该方法时，会根据传入的类全限定名、方法名和方法参数，构建一个消息并广播出去。
                 * 其他实例接收到消息后，会尝试根据消息中的信息反射调用相应的类和方法。
                 *
                 * @param className 目标方法所在类的全限定名，例如 "com.example.MyClass"。
                 *                  此参数用于定位要调用的目标类，必须是完整的包名加类名，
                 *                  以确保能准确找到对应的类。如果传入的类名无效，
                 *                  可能会导致其他实例在反射调用时抛出 ClassNotFoundException。
                 * @param methodName 要调用的目标方法的名称，例如 "doSomething"。
                 *                   此参数用于指定要执行的具体方法，其他实例会根据该名称在指定类中查找方法。
                 *                   如果传入的方法名在指定类中不存在，会导致反射调用失败。
                 * @param params 调用目标方法所需的参数数组。参数的类型和顺序必须与目标方法的定义一致。
                 *               为了避免因消息过大导致传输性能下降或出现异常，建议参数数组序列化后的总大小小于512Kb。
                 *               如果参数数组包含复杂对象，要注意对象的序列化大小。
                 *               若参数数组过大，可能会在广播过程中抛出异常，导致消息无法正常发送。
                 */
                broadcastMessage(className:string,methodName:string,params:any[]):void;
                /**
                 * 发送广播消息到系统中的其他实例，当前实例会主动过滤该消息，不会接收
                 * 调用该方法时，会根据传入的类全限定名、方法名和方法参数，构建一个消息并广播出去。
                 * 其他实例接收到消息后，会尝试根据消息中的信息反射调用相应的类和方法。
                 *
                 * @param appId 应用编码
                 * @param className 目标方法所在类的全限定名，例如 "com.example.MyClass"。
                 *                  此参数用于定位要调用的目标类，必须是完整的包名加类名，
                 *                  以确保能准确找到对应的类。如果传入的类名无效，
                 *                  可能会导致其他实例在反射调用时抛出 ClassNotFoundException。
                 * @param methodName 要调用的目标方法的名称，例如 "doSomething"。
                 *                   此参数用于指定要执行的具体方法，其他实例会根据该名称在指定类中查找方法。
                 *                   如果传入的方法名在指定类中不存在，会导致反射调用失败。
                 * @param params 调用目标方法所需的参数数组。参数的类型和顺序必须与目标方法的定义一致。
                 *               为了避免因消息过大导致传输性能下降或出现异常，建议参数数组序列化后的总大小小于512Kb。
                 *               如果参数数组包含复杂对象，要注意对象的序列化大小。
                 *               若参数数组过大，可能会在广播过程中抛出异常，导致消息无法正常发送。
                 */
                broadcastMessageWithApp(appId:string,className:string,methodName:string,params:any[]):void;
                /**
                 * 发送广播消息到系统中的其他实例，包含当前实例
                 * 调用该方法时，会根据传入的类全限定名、方法名和方法参数，构建一个消息并广播出去。
                 * 其他实例接收到消息后，会尝试根据消息中的信息反射调用相应的类和方法。
                 *
                 * @param appId 应用编码
                 * @param className 目标方法所在类的全限定名，例如 "com.example.MyClass"。
                 *                  此参数用于定位要调用的目标类，必须是完整的包名加类名，
                 *                  以确保能准确找到对应的类。如果传入的类名无效，
                 *                  可能会导致其他实例在反射调用时抛出 ClassNotFoundException。
                 * @param methodName 要调用的目标方法的名称，例如 "doSomething"。
                 *                   此参数用于指定要执行的具体方法，其他实例会根据该名称在指定类中查找方法。
                 *                   如果传入的方法名在指定类中不存在，会导致反射调用失败。
                 * @param params 调用目标方法所需的参数数组。参数的类型和顺序必须与目标方法的定义一致。
                 *               为了避免因消息过大导致传输性能下降或出现异常，建议参数数组序列化后的总大小小于512Kb。
                 *               如果参数数组包含复杂对象，要注意对象的序列化大小。
                 *               若参数数组过大，可能会在广播过程中抛出异常，导致消息无法正常发送。
                 */
                broadcastMessageContainSelfWithApp(appId:string,className:string,methodName:string,params:any[]):void;
                /**
                 * 发送广播消息到系统中的其他实例，包含当前实例
                 * 调用该方法时，会根据传入的类全限定名、方法名和方法参数，构建一个消息并广播出去。
                 * 其他实例接收到消息后，会尝试根据消息中的信息反射调用相应的类和方法。
                 *
                 * @param className 目标方法所在类的全限定名，例如 "com.example.MyClass"。
                 *                  此参数用于定位要调用的目标类，必须是完整的包名加类名，
                 *                  以确保能准确找到对应的类。如果传入的类名无效，
                 *                  可能会导致其他实例在反射调用时抛出 ClassNotFoundException。
                 * @param methodName 要调用的目标方法的名称，例如 "doSomething"。
                 *                   此参数用于指定要执行的具体方法，其他实例会根据该名称在指定类中查找方法。
                 *                   如果传入的方法名在指定类中不存在，会导致反射调用失败。
                 * @param params 调用目标方法所需的参数数组。参数的类型和顺序必须与目标方法的定义一致。
                 *               为了避免因消息过大导致传输性能下降或出现异常，建议参数数组序列化后的总大小小于512Kb。
                 *               如果参数数组包含复杂对象，要注意对象的序列化大小。
                 *               若参数数组过大，可能会在广播过程中抛出异常，导致消息无法正常发送。
                 */
                broadcastMessageContainSelf(className:string,methodName:string,params:any[]):void;
            }
            interface BroadcastService_C extends BroadcastService_S {
                new():BroadcastService;
            }
            interface BroadcastService$ {
            }
            type BroadcastService_T = BroadcastService$;
            interface BroadcastService extends BroadcastService_T {
            }
        }
        namespace kd.bos.mq.support{
            interface MQCreateFactory_S {
            }
            type MQCreateFactory_ST = MQCreateFactory_S & MQFactory_S;
            interface MQCreateFactory_C extends MQCreateFactory_ST {
                new():MQCreateFactory;
            }
            interface MQCreateFactory$ {
            }
            type MQCreateFactory_T = MQCreateFactory$ & MQFactory;
            interface MQCreateFactory extends MQCreateFactory_T {
            }
        }
        namespace kd.bos.mq.support.partition{
            class PartitionStrategy {
                static readonly APP_ID:kd.bos.mq.support.partition.PartitionStrategy;
                static valueOf(arg0:string):kd.bos.mq.support.partition.PartitionStrategy;
                static values():kd.bos.mq.support.partition.PartitionStrategy[];
            }
        }
        namespace kd.bos.mservice.attachment{
            class AttachmentType {
                static readonly attachmentfield:kd.bos.mservice.attachment.AttachmentType;
                static readonly image:kd.bos.mservice.attachment.AttachmentType;
                static readonly attachmenturl:kd.bos.mservice.attachment.AttachmentType;
                static readonly toolbar:kd.bos.mservice.attachment.AttachmentType;
                static readonly attachmentpanel:kd.bos.mservice.attachment.AttachmentType;
                static values():kd.bos.mservice.attachment.AttachmentType[];
                static getTypeByValue(arg0:string):kd.bos.mservice.attachment.AttachmentType;
                static valueOf(arg0:string):kd.bos.mservice.attachment.AttachmentType;
                getValue():string;
            }
            interface IAttachmentService_S {
            }
            interface IAttachmentService_C extends IAttachmentService_S {
            }
            interface IAttachmentService$ {
                isEncrptyPath?():boolean;
                getAttachmentWaterMark(arg0:string):any;
                newAndCarryAttachmentField(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty,arg2:string):$.java.util.List;
                isImageEncrptyPath?():boolean;
                getAttSetting():$.java.util.Map;
                checkFilePermission?():boolean;
                hasWF?(arg0:string):boolean;
                checkTempFilePermission?():boolean;
                copyAttachmentField(arg0:$.kd.bos.dataentity.entity.DynamicObjectCollection,arg1:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                copyAttachmentField(arg0:$.kd.bos.dataentity.entity.DynamicObjectCollection,arg1:$.kd.bos.dataentity.entity.DynamicObjectCollection,arg2:string):void;
                getAttachmentInfoById(arg0:AttachmentType,arg1:string):$.java.util.Map;
                createAttFilePath?(arg0:string):string;
                writeBillFileMapping?(arg0:$.java.util.List):void;
                newAndCarryAttachmentField(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:$.kd.bos.dataentity.metadata.dynamicobject.DynamicProperty):$.java.util.List;
            }
            type IAttachmentService_T = IAttachmentService$;
            interface IAttachmentService extends IAttachmentService_T {
            }
        }
        namespace kd.bos.mservice.common{
            class HttpStatusCode {
                static readonly CREATED:kd.bos.mservice.common.HttpStatusCode;
                static readonly PAYMENT_REQUIRED:kd.bos.mservice.common.HttpStatusCode;
                static readonly PROCESSING:kd.bos.mservice.common.HttpStatusCode;
                static readonly FOUND:kd.bos.mservice.common.HttpStatusCode;
                static readonly CONTINUE:kd.bos.mservice.common.HttpStatusCode;
                static readonly SWITCHING_PROTOCOLS:kd.bos.mservice.common.HttpStatusCode;
                static readonly TEMPORARY_REDIRECT:kd.bos.mservice.common.HttpStatusCode;
                static readonly SEE_OTHER:kd.bos.mservice.common.HttpStatusCode;
                static readonly INSUFFICIENT_STORAGE:kd.bos.mservice.common.HttpStatusCode;
                static readonly FORBIDDEN:kd.bos.mservice.common.HttpStatusCode;
                static readonly RESET_CONTENT:kd.bos.mservice.common.HttpStatusCode;
                static readonly PROXY_AUTHENTICATION_REQUIRED:kd.bos.mservice.common.HttpStatusCode;
                static readonly REQUESTED_RANGE_NOT_SATISFIABLE:kd.bos.mservice.common.HttpStatusCode;
                static readonly ALREADY_REPORTED:kd.bos.mservice.common.HttpStatusCode;
                static readonly INTERNAL_SERVER_ERROR:kd.bos.mservice.common.HttpStatusCode;
                static readonly REQUEST_TIMEOUT:kd.bos.mservice.common.HttpStatusCode;
                static readonly LOOP_DETECTED:kd.bos.mservice.common.HttpStatusCode;
                static readonly SERVICE_UNAVAILABLE:kd.bos.mservice.common.HttpStatusCode;
                static readonly MOVED_PERMANENTLY:kd.bos.mservice.common.HttpStatusCode;
                static readonly OK:kd.bos.mservice.common.HttpStatusCode;
                static readonly UNPROCESSABLE_ENTITY:kd.bos.mservice.common.HttpStatusCode;
                static readonly EXPECTATION_FAILED:kd.bos.mservice.common.HttpStatusCode;
                static readonly NOT_ACCEPTABLE:kd.bos.mservice.common.HttpStatusCode;
                static readonly UPGRADE_REQUIRED:kd.bos.mservice.common.HttpStatusCode;
                static readonly GATEWAY_TIMEOUT:kd.bos.mservice.common.HttpStatusCode;
                static readonly PARTIAL_CONTENT:kd.bos.mservice.common.HttpStatusCode;
                static readonly UNAUTHORIZED:kd.bos.mservice.common.HttpStatusCode;
                static readonly NOT_EXTENDED:kd.bos.mservice.common.HttpStatusCode;
                static readonly UNSUPPORTED_MEDIA_TYPE:kd.bos.mservice.common.HttpStatusCode;
                static readonly EARLY_HINTS:kd.bos.mservice.common.HttpStatusCode;
                static readonly BANDWIDTH_LIMIT_EXCEEDED:kd.bos.mservice.common.HttpStatusCode;
                static readonly I_AM_A_TEAPOT:kd.bos.mservice.common.HttpStatusCode;
                static readonly BAD_REQUEST:kd.bos.mservice.common.HttpStatusCode;
                static readonly METHOD_NOT_ALLOWED:kd.bos.mservice.common.HttpStatusCode;
                static readonly NOT_MODIFIED:kd.bos.mservice.common.HttpStatusCode;
                static readonly HTTP_VERSION_NOT_SUPPORTED:kd.bos.mservice.common.HttpStatusCode;
                static readonly GONE:kd.bos.mservice.common.HttpStatusCode;
                static readonly PRECONDITION_REQUIRED:kd.bos.mservice.common.HttpStatusCode;
                static readonly IM_USED:kd.bos.mservice.common.HttpStatusCode;
                static readonly LOCKED:kd.bos.mservice.common.HttpStatusCode;
                static readonly NOT_IMPLEMENTED:kd.bos.mservice.common.HttpStatusCode;
                static readonly UNAVAILABLE_FOR_LEGAL_REASONS:kd.bos.mservice.common.HttpStatusCode;
                static readonly VARIANT_ALSO_NEGOTIATES:kd.bos.mservice.common.HttpStatusCode;
                static readonly TOO_MANY_REQUESTS:kd.bos.mservice.common.HttpStatusCode;
                static readonly NON_AUTHORITATIVE_INFORMATION:kd.bos.mservice.common.HttpStatusCode;
                static readonly CONFLICT:kd.bos.mservice.common.HttpStatusCode;
                static readonly ACCEPTED:kd.bos.mservice.common.HttpStatusCode;
                static readonly LENGTH_REQUIRED:kd.bos.mservice.common.HttpStatusCode;
                static readonly PAYLOAD_TOO_LARGE:kd.bos.mservice.common.HttpStatusCode;
                static readonly PERMANENT_REDIRECT:kd.bos.mservice.common.HttpStatusCode;
                static readonly URI_TOO_LONG:kd.bos.mservice.common.HttpStatusCode;
                static readonly NO_CONTENT:kd.bos.mservice.common.HttpStatusCode;
                static readonly MULTI_STATUS:kd.bos.mservice.common.HttpStatusCode;
                static readonly NOT_FOUND:kd.bos.mservice.common.HttpStatusCode;
                static readonly FAILED_DEPENDENCY:kd.bos.mservice.common.HttpStatusCode;
                static readonly NETWORK_AUTHENTICATION_REQUIRED:kd.bos.mservice.common.HttpStatusCode;
                static readonly TOO_EARLY:kd.bos.mservice.common.HttpStatusCode;
                static readonly PRECONDITION_FAILED:kd.bos.mservice.common.HttpStatusCode;
                static readonly REQUEST_HEADER_FIELDS_TOO_LARGE:kd.bos.mservice.common.HttpStatusCode;
                static readonly BAD_GATEWAY:kd.bos.mservice.common.HttpStatusCode;
                static readonly MULTIPLE_CHOICES:kd.bos.mservice.common.HttpStatusCode;
                static values():kd.bos.mservice.common.HttpStatusCode[];
                static valueOf(arg0:string):kd.bos.mservice.common.HttpStatusCode;
                getValue():number;
                getDescription():string;
            }
        }
        namespace kd.bos.mservice.list{
            interface ListService_S {
            }
            interface ListService_C extends ListService_S {
            }
            interface ListService$ {
            }
            type ListService_T = ListService$;
            interface ListService extends ListService_T {
            }
            interface ListServiceResult_S {
            }
            type ListServiceResult_ST = $.java.io.Serializable & ListServiceResult_S;
            interface ListServiceResult_C extends ListServiceResult_ST {
                new():ListServiceResult;
            }
            interface ListServiceResult$ {
            }
            type ListServiceResult_T = $.java.io.Serializable & ListServiceResult$;
            interface ListServiceResult extends ListServiceResult_T {
            }
            interface ListQueryParameter_S {
            }
            type ListQueryParameter_ST = $.java.io.Serializable & ListQueryParameter_S;
            interface ListQueryParameter_C extends ListQueryParameter_ST {
                /**
                 * 无参构造函数
                 */
                new():ListQueryParameter;
            }
            interface ListQueryParameter$ {
            }
            type ListQueryParameter_T = $.java.io.Serializable & ListQueryParameter$;
            interface ListQueryParameter extends ListQueryParameter_T {
            }
        }
        namespace kd.bos.mservice.print{
            interface IPrintService_S {
            }
            interface IPrintService_C extends IPrintService_S {
            }
            interface IPrintService$ {
                createPdfUrl(arg0:string,arg1:string,arg2:string,arg3:any,arg4:$.java.util.Map):string;
                UpdatePrintCount?(arg0:string,arg1:string,arg2:string):boolean;
                createPrintCommand(arg0:string,arg1:any,arg2:any):string;
                updateStatus(arg0:string,arg1:string):boolean;
                createSinglePdf(arg0:string,arg1:string,arg2:string,arg3:any):number[];
                createXlsUrl(arg0:$.java.util.List,arg1:$.java.util.Map):string;
                createPdfBytes(arg0:string,arg1:string,arg2:string,arg3:any,arg4:$.java.util.Map):number[];
                syncPrinter(arg0:string,arg1:$.java.util.Map):boolean;
                createScriptPrintJob(arg0:string,arg1:any,arg2:string,arg3:string,arg4:string,arg5:boolean,arg6:boolean):boolean;
                createCrossPdf(arg0:$.java.util.List):number[];
                syncConfig(arg0:string,arg1:string,arg2:$.java.util.Map):boolean;
                createPrintJob(arg0:$.java.util.List):boolean;
                createPdfUrl(arg0:$.java.util.List):string;
                getPrintJobs(arg0:string,arg1:string):$.java.util.List;
                registerService(arg0:string,arg1:string,arg2:string):string;
                readPrintSetting(arg0:string,arg1:string,arg2:$.java.util.List):$.java.util.Map;
                createEasyScriptPrintJob(arg0:string,arg1:any,arg2:any,arg3:$.java.util.Map):boolean;
                doPrint(arg0:string,arg1:string,arg2:$.java.util.List,arg3:$.java.util.Map):string;
                createScriptPrintJob(arg0:string,arg1:any,arg2:string,arg3:string,arg4:string,arg5:boolean):boolean;
            }
            type IPrintService_T = IPrintService$;
            interface IPrintService extends IPrintService_T {
            }
            interface PrintServiceImp_S {
            }
            type PrintServiceImp_ST = PrintServiceImp_S & kd.bos.mservice.print.IPrintService_S;
            interface PrintServiceImp_C extends PrintServiceImp_ST {
                new():PrintServiceImp;
            }
            interface PrintServiceImp$ {
            }
            type PrintServiceImp_T = PrintServiceImp$ & kd.bos.mservice.print.IPrintService;
            interface PrintServiceImp extends PrintServiceImp_T {
            }
        }
        namespace kd.bos.mservice.report{
            interface ReportProgressRecorder_S {
            }
            type ReportProgressRecorder_ST = ReportProgressRecorder_S & kd.bos.entity.report.IProgressRecorder_S;
            interface ReportProgressRecorder_C extends ReportProgressRecorder_ST {
                new():ReportProgressRecorder;
            }
            interface ReportProgressRecorder$ {
            }
            type ReportProgressRecorder_T = ReportProgressRecorder$ & kd.bos.entity.report.IProgressRecorder;
            interface ReportProgressRecorder extends ReportProgressRecorder_T {
            }
        }
        namespace kd.bos.mservice.runmode{
            class ProductModelType {
                static readonly COSMIC:kd.bos.mservice.runmode.ProductModelType;
                static readonly GALAXY:kd.bos.mservice.runmode.ProductModelType;
                static values():kd.bos.mservice.runmode.ProductModelType[];
                static valueOf(arg0:string):kd.bos.mservice.runmode.ProductModelType;
                static convert(arg0:number):kd.bos.mservice.runmode.ProductModelType;
                getProduct():number;
            }
        }
        namespace kd.bos.mservice.svc.attach{
            interface IAttachmentProp_S {
            }
            interface IAttachmentProp_C extends IAttachmentProp_S {
            }
            interface IAttachmentProp$ {
            }
            type IAttachmentProp_T = IAttachmentProp$;
            interface IAttachmentProp extends IAttachmentProp_T {
            }
            interface IAttachmentField_S {
            }
            interface IAttachmentField_C extends IAttachmentField_S {
            }
            interface IAttachmentField$ {
                getName():$.kd.bos.dataentity.entity.LocaleString;
                getTableName():string;
            }
            type IAttachmentField_T = IAttachmentField$;
            interface IAttachmentField extends IAttachmentField_T {
            }
            interface IAttachmentPanel_S {
            }
            interface IAttachmentPanel_C extends IAttachmentPanel_S {
            }
            interface IAttachmentPanel$ {
                bindData(arg0:$.java.util.List):void;
                addUploadListener(arg0:$.kd.bos.form.control.events.UploadListener):void;
            }
            type IAttachmentPanel_T = IAttachmentPanel$;
            interface IAttachmentPanel extends IAttachmentPanel_T {
            }
            interface IAttachmentCountField_S {
            }
            interface IAttachmentCountField_C extends IAttachmentCountField_S {
            }
            interface IAttachmentCountField$ {
                getFieldName():string;
            }
            type IAttachmentCountField_T = IAttachmentCountField$;
            interface IAttachmentCountField extends IAttachmentCountField_T {
            }
            interface IAttachmentMobTableColumn_S {
            }
            interface IAttachmentMobTableColumn_C extends IAttachmentMobTableColumn_S {
            }
            interface IAttachmentMobTableColumn$ {
                openMobEntryUploadView(arg0:number,arg1:boolean):void;
            }
            type IAttachmentMobTableColumn_T = IAttachmentMobTableColumn$;
            interface IAttachmentMobTableColumn extends IAttachmentMobTableColumn_T {
            }
            interface IAttachmentEdit_S {
            }
            interface IAttachmentEdit_C extends IAttachmentEdit_S {
            }
            interface IAttachmentEdit$ {
                openEntryUploadView(arg0:number,arg1:boolean):void;
            }
            type IAttachmentEdit_T = IAttachmentEdit$;
            interface IAttachmentEdit extends IAttachmentEdit_T {
            }
        }
        namespace kd.bos.mservice.svc.earlywarn{
            interface IDeployFile_S {
            }
            interface IDeployFile_C extends IDeployFile_S {
            }
            interface IDeployFile$ {
            }
            type IDeployFile_T = IDeployFile$;
            interface IDeployFile extends IDeployFile_T {
            }
        }
        namespace kd.bos.mservice.svc.picture{
            interface IPictureField_S {
            }
            interface IPictureField_C extends IPictureField_S {
            }
            interface IPictureField$ {
            }
            type IPictureField_T = IPictureField$;
            interface IPictureField extends IPictureField_T {
            }
            interface IImage_S {
            }
            interface IImage_C extends IImage_S {
            }
            interface IImage$ {
                addUploadListener(arg0:$.kd.bos.form.control.events.UploadListener):void;
                setUrl(arg0:string):void;
            }
            type IImage_T = IImage$;
            interface IImage extends IImage_T {
            }
            interface IPictureProp_S {
            }
            interface IPictureProp_C extends IPictureProp_S {
            }
            interface IPictureProp$ {
                getDefaultImgKey?():string;
            }
            type IPictureProp_T = IPictureProp$;
            interface IPictureProp extends IPictureProp_T {
            }
        }
        namespace kd.bos.mutex{
            interface MutexModule_S {
            }
            type MutexModule_ST = $.kd.sdk.module.Module & MutexModule_S;
            interface MutexModule_C extends MutexModule_ST {
                new():MutexModule;
            }
            interface MutexModule$ {
            }
            type MutexModule_T = $.kd.sdk.module.Module & MutexModule$;
            interface MutexModule extends MutexModule_T {
            }
            interface MutexFactory_S {
                /**
                 * 创建数据互斥锁
                 * @return
                 */
                createDataMutex():DataMutex;
                /**
                 * 创建功能互斥锁，指定基于何种模式实现分布式互斥锁（不同模式之间性能上可能会有差异）
                 * @param lockType 分布式互斥锁实现模式，包括zk, db等方案
                 * @return 返回功能互斥锁实现类
                 */
                createFunctionMutex(lockType:LockType):FunctionMutex;
                /**
                 * 创建共享锁，指定基于何种模式实现分布式互斥锁（不同模式之间性能上可能会有差异）
                 * @param lockType 分布式互斥锁实现模式，包括zk, db等方案
                 * @return 返回共享互斥锁实现类
                 */
                createSharkLock(lockType:LockType):ShareLock;
            }
            interface MutexFactory_C extends MutexFactory_S {
                new():MutexFactory;
            }
            interface MutexFactory$ {
            }
            type MutexFactory_T = MutexFactory$;
            interface MutexFactory extends MutexFactory_T {
            }
            interface ShareLock_S {
            }
            interface ShareLock_C extends ShareLock_S {
            }
            interface ShareLock$ {
                /**
                 * 释放共享、独占锁
                 */
                release():void;
                /**
                 * 强制解锁
                 * @param key 锁标识
                 */
                forceRelease?(key:string):void;
                /**
                 * 在申请锁之前，设置互斥锁保留时长（单位秒）
                 * @param keeptime_s 锁保留时长，单位秒
                 */
                setTimeout(keeptime_s:long):void;
                /**
                 * 获取共享、独占锁
                 *
                 * @param key 锁标识
                 * @param shared true：共享锁，false：独占锁
                 * @return
                 */
                requireLock(key:string,shared:boolean):boolean;
                /**
                 * 在申请锁之后，设置超期时长，延迟超时
                 * @param key 锁标识
                 * @param keeptime_s 锁保留时长，单位秒
                 * @param refreshLock 是否同时刷新锁申请时间（相当于从此刻重新计时）
                 * @return 重置成功返回true
                 */
                setTimeout(key:string,keeptime_s:long,refreshLock:boolean):boolean;
                /**
                 * 重置锁申请时间（此刻），重新计时
                 * @param key 锁标识
                 * @return 重置成功返回true
                 */
                refreshLock?(key:string):boolean;
            }
            type ShareLock_T = ShareLock$;
            interface ShareLock extends ShareLock_T {
            }
            interface DataMutex_S {
                readonly KEY_CLIENT:string;
                readonly KEY_USERID:string;
                readonly PARAMNAME_IGNOREMODIFY:string;
                readonly PARAMNAME_ISOPENINTENTLOCKS:string;
                readonly PARAMNAME_DATA_CALL_SOURCE:string;
                readonly PARAMNAME_OPERATIONKEY:string;
                readonly PARAMNAME_RECORDID:string;
                readonly KEY_OPKEY:string;
                readonly KEY_SESSION:string;
                readonly PARAMNAME_DATA_OBJ_NUMBER:string;
                readonly PARAMNAME_ISSTRICT:string;
                readonly PARAMNAME_GROUPID:string;
                readonly DEFAULT_GROUPID:string;
                readonly PARAMNAME_DATAOBJID:string;
                readonly KEY_LOCKEDTIME:string;
                readonly PARAMNAME_ENTITYKEY:string;
                /**
                 * 创建数据互斥接口实现类
                 *
                 * @return DataMutex
                 */
                create():DataMutex;
            }
            type DataMutex_ST = $.java.io.Closeable & DataMutex_S;
            interface DataMutex_C extends DataMutex_ST {
            }
            interface DataMutex$ {
                /**
                 * 更新网络互斥锁，清理Redis和数据库中不一致的的锁记录，清除垃圾数据
                 */
                refreshLocks():void;
                /**
                 * 自动清除超时的网控
                 */
                releaseTimeoutLock():void;
                /**
                 * 根据 实体-操作-数据ID 释放该数据上的互斥锁
                 *
                 * @param dataObjId    数据ID 唯一性ID，可使用数据库中的fid
                 * @param entityKey    实体编码
                 * @param operationKey 操作key
                 * @return true：释放成功，false：释放失败
                 * <p>
                 * 使用示例：<pre>{@code
                 * try (DataMutex dataMutex = DataMutex.create()) {
                 *     String dataObjId = "1488499792815457280";
                 *     String operationKey = "modify";
                 *     String entityKey = "bos_user";
                 *     boolean isRelease = dataMutex.release(dataObjId,entityKey, operationKey);
                 *     if(isRelease){
                 *         //释放成功
                 *     }else{
                 *         //释放失败
                 *     }
                 * } catch (Exception e) {
                 *     Log.error(e);
                 * }
                 * }</pre>
                 */
                release(dataObjId:string,entityKey:string,operationKey:string):boolean;
                /**
                 * 按实体-互斥组-操作-数据ID申请锁；
                 * 目前一个实体只有一个互斥组
                 *
                 * @param mutexLockInfo 网络互斥锁申请操作 必须参数  {@link MutexLockInfo}
                 * @return
                 * <p>
                 * 使用示例：<pre>{@code
                 * try (DataMutex dataMutex = DataMutex.create()) {
                 *     MutexLockInfo lockInfo = new MutexLockInfo("1488499792815457280","00001","default_netctrl","bos_user","modify",true,"test");
                 *     boolean isLocked = dataMutex.require(lockInfo);
                 *     if(isLocked){
                 *         //执行具体业务逻辑
                 *     }else{
                 *        //提示用户获取锁失败，请稍后重试
                 *     }
                 * } catch (IOException e) {
                 *     Log.error(e);
                 * }
                 * }</pre>
                 */
                require(mutexLockInfo:kd.bos.mutex.impl.MutexLockInfo):boolean;
                /**
                 * 批量释放互斥锁
                 *
                 * @param data <p>
                 *             [
                 *             {"dataObjId":"","entityKey":"","operationKey":"","groupId":"","isStrict":true/false},…
                 *             ]
                 * @return
                 * <p>
                 * 使用示例：<pre>{@code
                 * try (DataMutex dataMutex = DataMutex.create()) {
                 *     String groupId = "default_netctrl";
                 *     String entityKey = "bos_user";
                 *     List<Map<String, Object>> mutexRequireList = new ArrayList<>(1);
                 *     Map<String, Object> requireParam = new HashMap<>();
                 *
                 *     requireParam.put(DataMutex.PARAMNAME_DATAOBJID, "1488499792815457280");
                 *     requireParam.put(DataMutex.PARAMNAME_GROUPID, groupId);
                 *     requireParam.put(DataMutex.PARAMNAME_ENTITYKEY, entityKey);
                 *     requireParam.put(DataMutex.PARAMNAME_OPERATIONKEY, "modify");
                 *     mutexRequireList.add(requireParam);
                 *
                 *     Map<String, Boolean> mutexResult = dataMutex.batchRelease(mutexRequireList);
                 *
                 *     // 分析网控申请结果
                 *     for (Map.Entry<String, Boolean> mutexItem : mutexResult.entrySet()) {
                 *         String objId = mutexItem.getKey();
                 *         Boolean ret = mutexItem.getValue();
                 *
                 *         if (ret) {
                 *             //申请互斥成功的
                 *         } else {
                 *             Map<String, String> lockInfo = dataMutex.getLockInfo(objId, groupId, entityKey);
                 *             if (lockInfo != null) {
                 *                 //提示锁信息
                 *             }
                 *         }
                 *     }
                 * } catch (Exception e) {
                 *     Log.error(e);
                 * }
                 * }</pre>
                 */
                batchRelease(data:$.java.util.List):$.java.util.Map;
                /**
                 * 根据 实体-互斥组-数据 获取获取指定的数据锁信息
                 *
                 * @param lockInfo 需要获取的锁信息{@link MutexBaseInfo}
                 * @return {@link MutexLockDataInfo}
                 */
                getLockInfo(lockInfo:$.java.util.List):$.java.util.List;
                /**
                 * 强制根据 实体-操作-数据ID 释放该数据上的互斥锁
                 * 可在用户退出登录，或者定期刷新失效锁等情景下调用
                 * 删除成功后会留下强制删除锁的数据库记录可追溯
                 *
                 * @param dataObjId    数据ID 唯一性ID，可使用数据库中的fid
                 * @param entityKey    实体编码
                 * @param operationKey 操作key
                 * @return true：释放成功，false：释放失败
                 */
                forcerelease(dataObjId:string,entityKey:string,operationKey:string):boolean;
                /**
                 * 根据 实体-互斥组-数据 获取获取指定的数据锁信息
                 *
                 * @param dataObjId 数据ID 唯一性ID，可使用数据库中的fid
                 * @param groupId   网控分组
                 * @param entityKey 实体编码
                 * @return
                 * <p>
                 * 使用示例：<pre>{@code
                 * try (DataMutex dataMutex = DataMutex.create()) {
                 *     String dataObjId = "1488499792815457280";
                 *     String groupId = "default_netctrl";
                 *     String operationKey = "modify";
                 *     Map<String, String> lockInfo = dataMutex.getLockInfo(dataObjId, groupId, operationKey);
                 *     if (CollectionUtils.isEmpty(lockInfo)) {
                 *         //无锁，执行具体业务逻辑
                 *     }else{
                 *        //提示用户锁信息
                 *     }
                 * } catch (IOException e) {
                 *     Log.error(e);
                 * }
                 * }</pre>
                 */
                getLockInfo(dataObjId:string,groupId:string,entityKey:string):$.java.util.Map;
                /**
                 * 批量申请互斥锁
                 *
                 * @param data [
                 *             {"dataObjId":"","entityKey":"","operationKey":"","groupId":"","isStrict":true/false},…
                 *             ]
                 * @return
                 * <p>
                 * 使用示例：<pre>{@code
                 * try (DataMutex dataMutex = DataMutex.create()) {
                 *     //如果需要和标准操作（如保存、提交、审核...）互斥，则可使用default_netctrl(默认分组)，不需要和标准操作互斥则需要用自定义的groupId
                 *     String groupId = "default_netctrl";
                 *     String entityKey = "bos_user";
                 *     List<Map<String, Object>> mutexRequireList = new ArrayList<>(1);
                 *     Map<String, Object> requireParam = new HashMap<>();
                 *     requireParam.put(DataMutex.PARAMNAME_DATAOBJID, "1488499792815457280");
                 *     requireParam.put(DataMutex.PARAMNAME_DATA_OBJ_NUMBER, "billNo");
                 *     requireParam.put(DataMutex.PARAMNAME_GROUPID, groupId);
                 *     requireParam.put(DataMutex.PARAMNAME_ENTITYKEY, entityKey);
                 *     requireParam.put(DataMutex.PARAMNAME_OPERATIONKEY, "modify");
                 *     requireParam.put(DataMutex.PARAMNAME_ISSTRICT, true);
                 *     //建议设置自定义标识，用于后续区分标准操作和自定义申请的网控
                 *     requireParam.put(DataMutex.PARAMNAME_DATA_CALL_SOURCE, "test");
                 *     mutexRequireList.add(requireParam);
                 *     Map<String, Boolean> mutexResult = dataMutex.batchrequire(mutexRequireList);
                 *
                 *     // 分析网控申请结果
                 *     for (Map.Entry<String, Boolean> mutexItem : mutexResult.entrySet()) {
                 *         String objId = mutexItem.getKey();
                 *         Boolean ret = mutexItem.getValue();
                 *
                 *         if (ret) {
                 *             //申请互斥成功的
                 *         } else {
                 *             Map<String, String> lockInfo = dataMutex.getLockInfo(objId, groupId, entityKey);
                 *             if (lockInfo != null) {
                 *                 //申请锁失败，提示已经存在的锁信息
                 *             }
                 *         }
                 *     }
                 * } catch (Exception e) {
                 *     Log.error(e);
                 * }
                 * }</pre>
                 */
                batchrequire(data:$.java.util.List):$.java.util.Map;
                /**
                 * 获取数据锁信息，只适用于同个线程前面已经申请了单条数据网控的情况
                 *
                 * @return
                 */
                getLockInfo():$.java.util.Map;
            }
            type DataMutex_T = $.java.io.Closeable & DataMutex$;
            interface DataMutex extends DataMutex_T {
            }
            interface FunctionMutex_S {
            }
            type FunctionMutex_ST = $.java.io.Closeable & FunctionMutex_S;
            interface FunctionMutex_C extends FunctionMutex_ST {
            }
            interface FunctionMutex$ {
                /**
                 * 申请功能互斥锁
                 *
                 * @param orgId 组织ID
                 * @param funId 功能ID
                 * @return true：申请锁成功；false：申请锁失败
                 */
                require(orgId:long,funId:string):boolean;
            }
            type FunctionMutex_T = $.java.io.Closeable & FunctionMutex$;
            interface FunctionMutex extends FunctionMutex_T {
            }
            class LockType {
                static readonly Auto:kd.bos.mutex.LockType;
                static readonly DB:kd.bos.mutex.LockType;
                static readonly ZK:kd.bos.mutex.LockType;
                static values():kd.bos.mutex.LockType[];
                static valueOf(arg0:string):kd.bos.mutex.LockType;
                /**
                 * 获取当前互斥锁类型
                 *
                 * @return 0：根据统一参数自动确定采用何种分布式互斥锁，1：采用zk实现分布式互斥锁，2：采用数据库实现分布式互斥锁
                 */
                getValue():number;
            }
        }
        namespace kd.bos.mutex.impl{
            interface MutexLockInfo_S {
            }
            type MutexLockInfo_ST = MutexBaseInfo_S & MutexLockInfo_S;
            interface MutexLockInfo_C extends MutexLockInfo_ST {
                /**
                 * 构造函数
                 */
                new():MutexLockInfo;
                /**
                 * 构造函数
                 *
                 * @param dataObjId     数据ID 唯一性ID，可使用数据库中的fid
                 * @param dataObjNumber 数据编码：单据为单据编号、基础资料为编码
                 * @param groupId       互斥组ID
                 *                      平台标准操作（如修改、提交、审核等）的互斥组为default_netctrl
                 *                      业务操作可以根据是否需要和平台操作互斥设置互斥组
                 * @param entityNumber  实体编码
                 * @param operationKey  操作key
                 * @param isStrict      是否可重入:
                 *                      true:不可重入，即只要有锁就失败，无论是否是自己的
                 *                      false: 1.同sessionId允许重入
                 *                             2.同userId允许重入
                 * @param callSource    调用来源
                 */
                new(dataObjId:string,dataObjNumber:string,groupId:string,entityNumber:string,operationKey:string,isStrict:boolean,callSource:string):MutexLockInfo;
                /**
                 * 构造函数
                 *
                 * @param dataObjId         数据ID 唯一性ID，可使用数据库中的fid
                 * @param dataObjNumber     数据编码：单据为单据编号、基础资料为编码
                 * @param groupId           互斥组ID
                 *                          平台标准操作（如修改、提交、审核等）的互斥组为default_netctrl
                 *                          业务操作可以根据是否需要和平台操作互斥设置互斥组
                 * @param entityNumber      实体编码
                 * @param operationKey      操作key
                 * @param isStrict          是否可重入:
                 *                          true:不可重入，即只要有锁就失败，无论是否是自己的
                 *                          false: 1.同sessionId允许重入
                 *                          2.同userId允许重入
                 * @param callSource        调用来源(区分平台[default]/业务[自定义标识])
                 * @param autoClearLostLock 是否清除实例失联超过最大存活时间的锁（适用于服务器重启导致锁未释放等情况）
                 * @param maxLockTime       失联锁的最大存活时间 值需要大于0
                 */
                new(dataObjId:string,dataObjNumber:string,groupId:string,entityNumber:string,operationKey:string,isStrict:boolean,callSource:string,autoClearLostLock:boolean,maxLockTime:long):MutexLockInfo;
            }
            interface MutexLockInfo$ {
                /**
                 * 获取是否清除实例失联超过最大存活时间的锁
                 *
                 * @return
                 */
                isAutoClearLostLock():boolean;
                /**
                 * 获取操作Key
                 *
                 * @return
                 */
                getOperationKey():string;
                /**
                 * 设置调用来源
                 * 后续用于区分是平台标准锁，还是业务自定义锁
                 *
                 * @param callSource 调用来源
                 */
                setCallSource(callSource:string):void;
                /**
                 * 获取调用来源
                 * 后续用于区分是平台标准锁，还是业务自定义锁
                 *
                 * @return
                 */
                getCallSource():string;
                /**
                 * 设置是否可重入
                 * true:不可重入，即只要有锁就失败，无论是否是自己的
                 * false: 1.同sessionId允许重入、2.同userId允许重入
                 *
                 * @param strict 是否可重入
                 */
                setStrict(strict:boolean):void;
                /**
                 * 获取数据编码
                 * 单据为单据编号、基础资料为编码
                 *
                 * @return
                 */
                getDataObjNumber():string;
                /**
                 * 设置失联锁的存活时间
                 *
                 * @param maxLockTime
                 */
                setMaxLockTime(maxLockTime:long):void;
                /**
                 * 设置操作Key
                 *
                 * @param operationKey
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置数据编码
                 * 单据为单据编号、基础资料为编码
                 *
                 * @param dataObjNumber 数据编码
                 */
                setDataObjNumber(dataObjNumber:string):void;
                /**
                 * 获取失联锁的存活时间
                 *
                 * @return
                 */
                getMaxLockTime():long;
                /**
                 * 设置是否清除实例失联超过最大存活时间的锁
                 * （适用于服务器重启导致锁未释放等情况）
                 *
                 * @return
                 */
                setAutoClearLostLock(autoClearLostLock:boolean):void;
                /**
                 * 获取是否可重入：
                 * true:不可重入，即只要有锁就失败，无论是否是自己的
                 * false: 1.同sessionId允许重入、2.同userId允许重入
                 *
                 * @return
                 */
                isStrict():boolean;
            }
            type MutexLockInfo_T = MutexBaseInfo & MutexLockInfo$;
            interface MutexLockInfo extends MutexLockInfo_T {
            }
            interface MutexLockDataInfo_S {
            }
            type MutexLockDataInfo_ST = $.java.io.Serializable & MutexBaseInfo_S & MutexLockDataInfo_S;
            interface MutexLockDataInfo_C extends MutexLockDataInfo_ST {
                /**
                 * 无参构造函数
                 */
                new():MutexLockDataInfo;
                /**
                 * 构造函数
                 *
                 * @param dataObjId    数据ID
                 * @param entityKey    实体标识
                 * @param groupId      互斥组ID
                 * @param operationKey 操作编码
                 */
                new(dataObjId:string,entityKey:string,groupId:string,operationKey:string):MutexLockDataInfo;
            }
            interface MutexLockDataInfo$ {
                /**
                 * 获取失联锁的存活时间
                 *
                 * @return
                 */
                getMaxLockTime():string;
                /**
                 * 设置是否清理失联锁
                 *
                 * @param autoClearLostLock
                 */
                setAutoClearLostLock(autoClearLostLock:string):void;
                /**
                 * 获取客户端类型
                 *
                 * @return
                 */
                getClient():string;
                /**
                 * 设置操作Key
                 *
                 * @param operationKey 操作key
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 获取操作Key
                 *
                 * @return
                 */
                getOperationKey():string;
                /**
                 * 获取会话ID
                 *
                 * @return
                 */
                getGlobalSession():string;
                /**
                 * 设置客户端类型
                 *
                 * @param client
                 */
                setClient(client:string):void;
                /**
                 * 获取用户ID
                 *
                 * @return
                 */
                getUserId():string;
                /**
                 * 获取是否清理失联锁
                 *
                 * @return
                 */
                getAutoClearLostLock():string;
                /**
                 * 获取实例ID
                 *
                 * @return
                 */
                getInstanceId():string;
                /**
                 * 设置用户ID
                 *
                 * @param userId
                 */
                setUserId(userId:string):void;
                /**
                 * 设置实例ID
                 *
                 * @param instanceId 实例ID
                 */
                setInstanceId(instanceId:string):void;
                /**
                 * 设置会话ID
                 *
                 * @param globalSession
                 */
                setGlobalSession(globalSession:string):void;
                /**
                 * 设置上锁时间
                 *
                 * @param lockedTime
                 */
                setLockedTime(lockedTime:string):void;
                /**
                 * 获取上锁时间
                 *
                 * @return
                 */
                getLockedTime():string;
                /**
                 * 设置失联锁的存活时间
                 *
                 * @param maxLockTime
                 */
                setMaxLockTime(maxLockTime:string):void;
            }
            type MutexLockDataInfo_T = $.java.io.Serializable & MutexBaseInfo & MutexLockDataInfo$;
            interface MutexLockDataInfo extends MutexLockDataInfo_T {
            }
            interface IntentLockInfo_S {
            }
            interface IntentLockInfo_C extends IntentLockInfo_S {
                /**
                 * 空构造函数
                 */
                new():IntentLockInfo;
                /**
                 * 构造函数
                 *
                 * @param entityKey  实体编码
                 * @param pkId       数据ID
                 * @param lockedTime 上锁时间
                 * @param userId     用户ID
                 */
                new(entityKey:string,pkId:string,lockedTime:string,userId:string):IntentLockInfo;
            }
            interface IntentLockInfo$ {
                /**
                 * 设置数据ID
                 *
                 * @param pkId 数据ID
                 */
                setPkId(pkId:string):void;
                /**
                 * 获取上锁时间
                 *
                 * @return
                 */
                getLockedTime():string;
                /**
                 * 获取实体编码
                 *
                 * @return
                 */
                getEntityKey():string;
                /**
                 * 获取用户ID
                 *
                 * @return
                 */
                getUserId():string;
                /**
                 * 设置上锁时间
                 *
                 * @param lockedTime 上锁时间
                 */
                setLockedTime(lockedTime:string):void;
                /**
                 * 设置用户ID
                 *
                 * @param userId 用户ID
                 */
                setUserId(userId:string):void;
                /**
                 * 获取数据ID
                 *
                 * @return
                 */
                getPkId():string;
                /**
                 * 设置实体编码
                 *
                 * @param entityKey 实体编码
                 */
                setEntityKey(entityKey:string):void;
            }
            type IntentLockInfo_T = IntentLockInfo$;
            interface IntentLockInfo extends IntentLockInfo_T {
            }
            interface MutexBaseInfo_S {
            }
            type MutexBaseInfo_ST = $.java.io.Serializable & MutexBaseInfo_S;
            interface MutexBaseInfo_C extends MutexBaseInfo_ST {
                /**
                 * 无参构造函数
                 */
                new():MutexBaseInfo;
                /**
                 * 构造函数
                 *
                 * @param dataObjId    数据ID
                 * @param entityNumber 实体编码
                 * @param groupId      互斥组ID
                 */
                new(dataObjId:string,entityNumber:string,groupId:string):MutexBaseInfo;
            }
            interface MutexBaseInfo$ {
                /**
                 * 获取实体编码
                 *
                 * @return
                 */
                getEntityNumber():string;
                /**
                 * 设置互斥组ID
                 * 平台标准操作（如修改、提交、审核等）的互斥组为default_netctrl
                 * 业务操作可以根据是否需要和平台操作互斥设置互斥组
                 *
                 * @param groupId
                 */
                setGroupId(groupId:string):void;
                /**
                 * 设置数据ID
                 * 唯一性ID，可使用数据库中的fid
                 *
                 * @param dataObjId 数据ID
                 */
                setDataObjId(dataObjId:string):void;
                /**
                 * 设置实体编码
                 *
                 * @param entityNumber 实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取数据ID
                 * 唯一性ID，可使用数据库中的fid
                 *
                 * @return
                 */
                getDataObjId():string;
                /**
                 * 获取互斥组ID
                 * 平台标准操作（如修改、提交、审核等）的互斥组为default_netctrl
                 * 业务操作可以根据是否需要和平台操作互斥设置互斥组
                 *
                 * @return
                 */
                getGroupId():string;
            }
            type MutexBaseInfo_T = $.java.io.Serializable & MutexBaseInfo$;
            interface MutexBaseInfo extends MutexBaseInfo_T {
            }
        }
        namespace kd.bos.mvc{
            interface SessionManager_S {
            }
            interface SessionManager_C extends SessionManager_S {
                /**
                 * 构造函数
                 */
                new():SessionManager;
            }
            interface SessionManager$ {
            }
            type SessionManager_T = SessionManager$;
            interface SessionManager extends SessionManager_T {
            }
        }
        namespace kd.bos.mvc.base{
            interface BaseModel_S {
            }
            type BaseModel_ST = BaseModel_S & kd.bos.entity.datamodel.IBaseModel_S & kd.bos.mvc.bill.BillModel_S;
            interface BaseModel_C extends BaseModel_ST {
                /**
                 * 构造函数
                 * @param entityNumber 实体编码
                 * @param pageId 页面id
                 * @param services 服务map
                 */
                new(entityNumber:string,pageId:string,services:$.java.util.Map):BaseModel;
            }
            interface BaseModel$ {
            }
            type BaseModel_T = BaseModel$ & kd.bos.entity.datamodel.IBaseModel & kd.bos.mvc.bill.BillModel;
            interface BaseModel extends BaseModel_T {
            }
            interface BaseView_S {
            }
            type BaseView_ST = BaseView_S & kd.bos.mvc.bill.BillView_S;
            interface BaseView_C extends BaseView_ST {
                new():BaseView;
            }
            interface BaseView$ {
            }
            type BaseView_T = BaseView$ & kd.bos.mvc.bill.BillView;
            interface BaseView extends BaseView_T {
            }
        }
        namespace kd.bos.mvc.bill{
            interface BillViewForWebApi_S {
            }
            type BillViewForWebApi_ST = BillViewForWebApi_S & BillView_S;
            interface BillViewForWebApi_C extends BillViewForWebApi_ST {
                new():BillViewForWebApi;
            }
            interface BillViewForWebApi$ {
            }
            type BillViewForWebApi_T = BillView & BillViewForWebApi$;
            interface BillViewForWebApi extends BillViewForWebApi_T {
            }
            interface BillTypeApHelper_S {
            }
            interface BillTypeApHelper_C extends BillTypeApHelper_S {
                new():BillTypeApHelper;
            }
            interface BillTypeApHelper$ {
            }
            type BillTypeApHelper_T = BillTypeApHelper$;
            interface BillTypeApHelper extends BillTypeApHelper_T {
            }
            interface BillView_S {
            }
            type BillView_ST = $.kd.bos.bill.IBillView & $.kd.bos.form.IConfirmCallBack & BillView_S & kd.bos.mvc.form.FormView_S;
            interface BillView_C extends BillView_ST {
                new():BillView;
            }
            interface BillView$ {
            }
            type BillView_T = $.kd.bos.bill.IBillView & $.kd.bos.form.IConfirmCallBack & BillView$ & kd.bos.mvc.form.FormView;
            interface BillView extends BillView_T {
            }
            interface BillModel_S {
            }
            type BillModel_ST = $.kd.bos.entity.datamodel.IBillModel & BillModel_S & kd.bos.mvc.form.FormDataModel_S;
            interface BillModel_C extends BillModel_ST {
                /**
                 * 构造函数
                 * @param entityNumber 实体编码
                 * @param pageId 页面ID
                 * @param services 服务map
                 */
                new(entityNumber:string,pageId:string,services:$.java.util.Map):BillModel;
                /**
                 * 构造函数
                 * @param entityNumber 实体编码
                 * @param pageId 页面ID
                 * @param services 服务map
                 * @param appId appId
                 * @param permissionItem 权限项
                 */
                new(entityNumber:string,pageId:string,services:$.java.util.Map,appId:string,permissionItem:string):BillModel;
            }
            interface BillModel$ {
            }
            type BillModel_T = $.kd.bos.entity.datamodel.IBillModel & BillModel$ & kd.bos.mvc.form.FormDataModel;
            interface BillModel extends BillModel_T {
            }
        }
        namespace kd.bos.mvc.cache{
            interface PageCache_S {
            }
            type PageCache_ST = $.kd.bos.form.IPageCache & PageCache_S;
            interface PageCache_C extends PageCache_ST {
                /**
                 * 构造函数
                 * @param pageId 页面id
                 */
                new(pageId:string):PageCache;
                /**
                 * 构造函数
                 * @param pageId 页面id
                 * @param batchSave 是否批量操作
                 */
                new(pageId:string,batchSave:boolean):PageCache;
            }
            interface PageCache$ {
            }
            type PageCache_T = $.kd.bos.form.IPageCache & PageCache$;
            interface PageCache extends PageCache_T {
            }
        }
        namespace kd.bos.mvc.export_{
            interface ExportProgress_S {
            }
            interface ExportProgress_C extends ExportProgress_S {
            }
            interface ExportProgress$ {
            }
            type ExportProgress_T = ExportProgress$;
            interface ExportProgress extends ExportProgress_T {
            }
        }
        namespace kd.bos.mvc.form{
            interface FormController_S {
            }
            type FormController_ST = FormController_S & IFormController_S;
            interface FormController_C extends FormController_ST {
                /**
                 * 构造函数
                 * @param view 表单视图
                 */
                new(view:$.kd.bos.form.IFormView):FormController;
            }
            interface FormController$ {
            }
            type FormController_T = FormController$ & IFormController;
            interface FormController extends FormController_T {
            }
            interface FormRuleContainer_S {
            }
            type FormRuleContainer_ST = FormRuleContainer_S & kd.bos.entity.rule.RuleContainer_S;
            interface FormRuleContainer_C extends FormRuleContainer_ST {
                /**
                 * 构造函数
                 * @param view
                 */
                new(view:$.kd.bos.form.IFormView):FormRuleContainer;
            }
            interface FormRuleContainer$ {
            }
            type FormRuleContainer_T = FormRuleContainer$ & kd.bos.entity.rule.RuleContainer;
            interface FormRuleContainer extends FormRuleContainer_T {
            }
            interface ClientViewProxy_S {
            }
            type ClientViewProxy_ST = $.kd.bos.form.IClientViewProxy & ClientViewProxy_S;
            interface ClientViewProxy_C extends ClientViewProxy_ST {
                /**
                 * 数据字典, 便于快速查找客户端指令
                 */
                new(pageCache:$.kd.bos.form.IPageCache):ClientViewProxy;
                /**
                 * 构造函数
                 * @param pageCache 页面缓存
                 * @param formView
                 */
                new(pageCache:$.kd.bos.form.IPageCache,formView:$.kd.bos.form.IFormView):ClientViewProxy;
            }
            interface ClientViewProxy$ {
            }
            type ClientViewProxy_T = $.kd.bos.form.IClientViewProxy & ClientViewProxy$;
            interface ClientViewProxy extends ClientViewProxy_T {
            }
            interface FormDataModel_S {
            }
            type FormDataModel_ST = $.kd.bos.entity.datamodel.AbstractFormDataModel & FormDataModel_S;
            interface FormDataModel_C extends FormDataModel_ST {
                /**
                 * 构造函数
                 * @param entityName
                 * @param pageId
                 * @param services
                 */
                new(entityName:string,pageId:string,services:$.java.util.Map):FormDataModel;
                /**
                 * 构造函数
                 * @param entityName
                 * @param pageId
                 * @param services
                 * @param appId
                 * @param permissionItem
                 */
                new(entityName:string,pageId:string,services:$.java.util.Map,appId:string,permissionItem:string):FormDataModel;
            }
            interface FormDataModel$ {
            }
            type FormDataModel_T = $.kd.bos.entity.datamodel.AbstractFormDataModel & FormDataModel$;
            interface FormDataModel extends FormDataModel_T {
            }
            interface IFormController_S {
            }
            interface IFormController_C extends IFormController_S {
            }
            interface IFormController$ {
                /**
                 * 加载表单数据
                 */
                loadData():void;
                /**
                 * 检查csrf
                 * @param csrfToken 请求的token
                 * @return 1:成功，0：失败，-1：不需要检查
                 */
                checkCsrfToken(csrfToken:string):void;
                /**
                 * 更新csrf
                 * @return 新的csrf
                 */
                updateCsrfToken():string;
                /**
                 * 客户端回传事件
                 * @param postDatas 界面数据录入数据回传给后端
                 */
                postData(postDatas:$.java.util.List):void;
                /**
                 * 表单关闭回调
                 *
                 * @param scorceView 回调参数
                 */
                formClosedCallBack(scorceView:$.kd.bos.form.IFormView):void;
                /**
                 * 未知方法
                 */
                showSelectPicWindow():void;
                /**
                 * 回收内部资源。
                 */
                destory():void;
                /**
                 * 注册监听器
                 */
                registerListener():void;
                /**
                 * 上下文菜单点击事件
                 * @param source   上下文菜单来源标识
                 * @param itemKey  上下文菜单项标识
                 */
                contextMenuClick(source:string,itemKey:string):void;
                /**
                 * 表单关闭回调
                 *
                 * @param closeCallBackWraper 回调参数
                 */
                formClosedCallBack(closeCallBackWraper:$.kd.bos.form.CloseCallBackWraper):void;
                /**
                 * 更新值
                 */
                updateValue():void;
                /**
                 * 执行请求
                 * @param dataParams
                 * @param actionParams
                 * @return
                 */
                batchInvokeAction?(dataParams:string,actionParams:$.java.util.Map):string;
            }
            type IFormController_T = IFormController$;
            interface IFormController extends IFormController_T {
            }
            interface MobileFormView_S {
            }
            type MobileFormView_ST = $.kd.bos.form.IMobileView & FormView_S & MobileFormView_S;
            interface MobileFormView_C extends MobileFormView_ST {
                new():MobileFormView;
            }
            interface MobileFormView$ {
            }
            type MobileFormView_T = $.kd.bos.form.IMobileView & FormView & MobileFormView$;
            interface MobileFormView extends MobileFormView_T {
            }
            interface FormView_S {
            }
            type FormView_ST = $.kd.bos.form.AbstractFormView & FormView_S;
            interface FormView_C extends FormView_ST {
                new():FormView;
            }
            interface FormView$ {
            }
            type FormView_T = $.kd.bos.form.AbstractFormView & FormView$;
            interface FormView extends FormView_T {
            }
        }
        namespace kd.bos.mvc.form.helper{
            interface WebOfficeBrowserHelper_S {
                /**
                 * 构建打开参数
                 * @param param 参数
                 * @return 链接地址
                 */
                buildUrl(param:WebOfficeBrowserParam):string;
            }
            interface WebOfficeBrowserHelper_C extends WebOfficeBrowserHelper_S {
                new():WebOfficeBrowserHelper;
            }
            interface WebOfficeBrowserHelper$ {
            }
            type WebOfficeBrowserHelper_T = WebOfficeBrowserHelper$;
            interface WebOfficeBrowserHelper extends WebOfficeBrowserHelper_T {
            }
            interface WebOfficeBrowserParam_S {
            }
            interface WebOfficeBrowserParam_C extends WebOfficeBrowserParam_S {
                /**
                 * 构造器
                 * @param formId 表单标识
                 */
                new(formId:string):WebOfficeBrowserParam;
                /**
                 * 构造器
                 * @param formId 表单标识
                 * @param billFormId 实体标识
                 * @param params 自定义参数
                 */
                new(formId:string,billFormId:string,params:$.java.util.Map):WebOfficeBrowserParam;
            }
            interface WebOfficeBrowserParam$ {
                /**
                 * 获取浏览器宽
                 * @return
                 */
                getWidth():number;
                /**
                 * 获取实体标识
                 * @return
                 */
                getBillFormId():string;
                /**
                 * 获取协议
                 * @return
                 */
                getProtocol():string;
                /**
                 * 获取是否隐藏地址栏
                 * @return
                 */
                isHideAddressBar():boolean;
                /**
                 * 获取浏览器高
                 * @return
                 */
                getHeight():number;
                /**
                 * 设置浏览器大小
                 * @param width 宽
                 * @param height 高
                 * @return
                 */
                setBrowserSize(width:number,height:number):this;
                /**
                 * 获取浏览器位置Y轴
                 * @return
                 */
                getTopY():number;
                /**
                 * 获取浏览器位置X轴
                 * @return
                 */
                getTopX():number;
                /**
                 * 自定义参数
                 * @param params
                 * @return WebOfficeBrowserParam
                 */
                setParams(params:$.java.util.Map):this;
                /**
                 * 是否隐藏地址栏
                 * @param hideAddressBar
                 * @return WebOfficeBrowserParam
                 */
                setHideAddressBar(hideAddressBar:boolean):this;
                /**
                 * 获取自定义参数
                 * @return
                 */
                getParams():$.java.util.Map;
                /**
                 * 设置浏览器位置
                 * @param topX X轴
                 * @param topY Y轴
                 * @return
                 */
                setBrowserPosition(topX:number,topY:number):this;
                /**
                 * 获取主键
                 * @return
                 */
                getPkId():string;
                /**
                 * 获取表单标识
                 * @return
                 */
                getFormId():string;
                /**
                 * 设置模式
                 * @param status
                 * @return
                 */
                setStatus(status:$.kd.bos.bill.BillOperationStatus):this;
            }
            type WebOfficeBrowserParam_T = WebOfficeBrowserParam$;
            interface WebOfficeBrowserParam extends WebOfficeBrowserParam_T {
            }
        }
        namespace kd.bos.mvc.list{
            interface AbstractListView_S {
            }
            type AbstractListView_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.list.IListView & AbstractListView_S & kd.bos.mvc.form.FormView_S;
            interface AbstractListView_C extends AbstractListView_ST {
                new():AbstractListView;
            }
            interface AbstractListView$ {
            }
            type AbstractListView_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.list.IListView & AbstractListView$ & kd.bos.mvc.form.FormView;
            interface AbstractListView extends AbstractListView_T {
            }
            interface ListDataProvider_S {
            }
            type ListDataProvider_ST = $.kd.bos.entity.list.IListDataProvider & ListDataProvider_S;
            interface ListDataProvider_C extends ListDataProvider_ST {
                /**
                 * 构造函数
                 */
                new():ListDataProvider;
                /**
                 * 构造函数
                 *
                 * @param entityType 列表实体
                 * @param listFields 列表查询字段集合
                 * @param pkFields   列表主键字段集合
                 * @param keyFields  列表关键字段集合
                 */
                new(entityType:$.kd.bos.entity.EntityType,listFields:$.java.util.List,pkFields:$.java.util.List,keyFields:$.java.util.List):ListDataProvider;
            }
            interface ListDataProvider$ {
            }
            type ListDataProvider_T = $.kd.bos.entity.list.IListDataProvider & ListDataProvider$;
            interface ListDataProvider extends ListDataProvider_T {
            }
            interface QueryBuilderFactory_S {
            }
            interface QueryBuilderFactory_C extends QueryBuilderFactory_S {
                /**
                 * 构造函数
                 *
                 * @param listFields         列表字段集合
                 * @param entityType         实体类型
                 * @param isRegisterProperty 是否需要动态注册实体对象属性
                 */
                new(listFields:$.java.util.List,entityType:$.kd.bos.entity.EntityType,isRegisterProperty:boolean):QueryBuilderFactory;
            }
            interface QueryBuilderFactory$ {
            }
            type QueryBuilderFactory_T = QueryBuilderFactory$;
            interface QueryBuilderFactory extends QueryBuilderFactory_T {
            }
            interface ListView_S {
            }
            type ListView_ST = AbstractListView_S & ListView_S;
            interface ListView_C extends ListView_ST {
                new():ListView;
            }
            interface ListView$ {
            }
            type ListView_T = AbstractListView & ListView$;
            interface ListView extends ListView_T {
            }
            interface ListModel_S {
            }
            type ListModel_ST = $.kd.bos.entity.datamodel.IListModel & ListModel_S;
            interface ListModel_C extends ListModel_ST {
                /**
                 * 构造函数
                 */
                new():ListModel;
            }
            interface ListModel$ {
            }
            type ListModel_T = $.kd.bos.entity.datamodel.IListModel & ListModel$;
            interface ListModel extends ListModel_T {
            }
            interface TreeListModel_S {
            }
            type TreeListModel_ST = $.kd.bos.entity.datamodel.ITreeModel & TreeListModel_S;
            interface TreeListModel_C extends TreeListModel_ST {
                /**
                 * 构造函数
                 *
                 * @param pageId
                 * @param dataEntityType
                 */
                new(pageId:string,dataEntityType:$.kd.bos.entity.EntityType):TreeListModel;
            }
            interface TreeListModel$ {
            }
            type TreeListModel_T = $.kd.bos.entity.datamodel.ITreeModel & TreeListModel$;
            interface TreeListModel extends TreeListModel_T {
            }
            interface MobileListView_S {
            }
            type MobileListView_ST = $.kd.bos.list.IMobileListView & AbstractListView_S & MobileListView_S;
            interface MobileListView_C extends MobileListView_ST {
                new():MobileListView;
            }
            interface MobileListView$ {
            }
            type MobileListView_T = $.kd.bos.list.IMobileListView & AbstractListView & MobileListView$;
            interface MobileListView extends MobileListView_T {
            }
            interface TreeListView_S {
            }
            type TreeListView_ST = $.kd.bos.form.control.events.ClickListener & $.kd.bos.form.control.events.TreeNodeDragListener & $.kd.bos.form.control.events.TreeNodeQueryListener & $.kd.bos.list.AbstractTreeListView & TreeListView_S;
            interface TreeListView_C extends TreeListView_ST {
                new():TreeListView;
            }
            interface TreeListView$ {
            }
            type TreeListView_T = $.kd.bos.form.control.events.ClickListener & $.kd.bos.form.control.events.TreeNodeDragListener & $.kd.bos.form.control.events.TreeNodeQueryListener & $.kd.bos.list.AbstractTreeListView & TreeListView$;
            interface TreeListView extends TreeListView_T {
            }
            interface ListUserConfig_S {
                /**
                 * 获取
                 *
                 * @param profileKey
                 *            缓存key
                 * @return
                 */
                retrieve(profileKey:string):ListUserConfig;
            }
            type ListUserConfig_ST = $.java.io.Serializable & ListUserConfig_S;
            interface ListUserConfig_C extends ListUserConfig_ST {
                new():ListUserConfig;
            }
            interface ListUserConfig$ {
                /**
                 * 0:旧版过滤 1：新版过滤
                 *
                 * @return
                 */
                getFilterMode():number;
                /**
                 * 设置过滤模式，新版，旧版
                 *
                 * @param filterMode
                 */
                setFilterMode(filterMode:number):void;
                /**
                 * 分页条数
                 *
                 * @return
                 */
                getPageRows():number;
                /**
                 * 设置分页条数
                 *
                 * @param pageRows
                 */
                setPageRows(pageRows:number):void;
                /**
                 * 存储
                 *
                 * @param profileKey
                 *            缓存key
                 */
                store(profileKey:string):void;
            }
            type ListUserConfig_T = $.java.io.Serializable & ListUserConfig$;
            interface ListUserConfig extends ListUserConfig_T {
            }
        }
        namespace kd.bos.mvc.report{
            interface ReportView_S {
            }
            type ReportView_ST = $.kd.bos.export_.IExportExcelOperate & $.kd.bos.form.IConfirmCallBack & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.report.IReportView & ReportView_S & kd.bos.mvc.form.FormView_S;
            interface ReportView_C extends ReportView_ST {
                new():ReportView;
            }
            interface ReportView$ {
                /**
                 * 设置可用性
                 *
                 * @param policy  客户端视图代理
                 * @param value   可用or不可用，true or false
                 * @param ctlKeys 控件标识
                 */
                setEnable(policy:string,value:boolean,...ctlKeys:string[]):void;
                /**
                 * 获取自定义过滤面板
                 * @return
                 */
                getCustomFilterContainer():$.kd.bos.report.filter.ReportFilter;
                /**
                 * 获取报表列表控件
                 * @return
                 */
                getReportList():$.kd.bos.report.ReportList;
                /**
                 * 设置导出进度条
                 * @param exportProgress
                 */
                setExportProgress(exportProgress:kd.bos.mvc.export_.ExportProgress):void;
                /**
                 * 获取是否有初始查询参数
                 * @return
                 */
                hasQueryParam():boolean;
                /**
                 * 获取报表缓存
                 * @return
                 */
                getReportCache():$.kd.bos.entity.report.IReportCache;
                /**
                 * 获取报表实体中的所有控件
                 * @return
                 */
                getControls():$.java.util.List;
                /**
                 * 获取报表插件代理
                 * @return
                 */
                getReportViewPluginProxy():$.kd.bos.report.plugin.ReportViewPluginProxy;
                /**
                 * 获取右表控件
                 * @return
                 */
                getLeftList():$.kd.bos.report.ReportList;
                /**
                 * 获取左树控件
                 * @return
                 */
                getReportTree():$.kd.bos.report.ReportTree;
                /**
                 * 设置是否有初始查询参数
                 * @param hasQueryParam
                 */
                setHasQueryParam(hasQueryParam:boolean):void;
                /**
                 * 设置可见性
                 * @param policy 客户端视图代理
                 * @param value   可见or不可见，true or false
                 * @param ctlKeys 控件标识
                 */
                setVisible(policy:string,value:boolean,...ctlKeys:string[]):void;
                /**
                 * 获取通用过滤容器
                 * @return
                 */
                getFilterContainer():$.kd.bos.filter.FilterContainer;
                /**
                 * 设置报表查询参数
                 * @param queryParam
                 */
                setQueryParam(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 查出报表列表数据
                 *
                 * @param ctrlId   控件标识
                 * @param rowIndex 行号
                 */
                queryRightList(ctrlId:string,rowIndex:number):void;
                /**
                 * 报表查询
                 */
                fireQuery():void;
                /**
                 * 是否大数据模式
                 * @return
                 */
                isLargeData():boolean;
            }
            type ReportView_T = $.kd.bos.export_.IExportExcelOperate & $.kd.bos.form.IConfirmCallBack & $.kd.bos.form.control.events.RowClickEventListener & $.kd.bos.form.control.events.TreeNodeClickListener & $.kd.bos.report.IReportView & ReportView$ & kd.bos.mvc.form.FormView;
            interface ReportView extends ReportView_T {
            }
            interface ReportListModel_S {
            }
            type ReportListModel_ST = $.kd.bos.report.AbstractReportListModel & ReportListModel_S;
            interface ReportListModel_C extends ReportListModel_ST {
                new():ReportListModel;
            }
            interface ReportListModel$ {
                /**
                 * 获取报表某行数据
                 *
                 * @param startIndex 数据开始下标
                 * @param length 数据长度
                 *
                 * @return 报表数据
                 */
                getRowData(startIndex:number,length:number,parentId:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            type ReportListModel_T = $.kd.bos.report.AbstractReportListModel & ReportListModel$;
            interface ReportListModel extends ReportListModel_T {
            }
            interface ReportPropUtil_S {
                /**
                 * 拷贝原实体，并将报表列字段注册到新的实体中
                 *
                 * @param itemType 报表实体
                 * @param columns  报表列信息
                 * @return 注册报表列后的新实体
                 */
                createReportType(itemType:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,columns:$.java.util.List):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
            }
            interface ReportPropUtil_C extends ReportPropUtil_S {
                new():ReportPropUtil;
            }
            interface ReportPropUtil$ {
            }
            type ReportPropUtil_T = ReportPropUtil$;
            interface ReportPropUtil extends ReportPropUtil_T {
            }
        }
        namespace kd.bos.notification{
            interface NotificationClientCache_S {
            }
            interface NotificationClientCache_C extends NotificationClientCache_S {
                new():NotificationClientCache;
            }
            interface NotificationClientCache$ {
            }
            type NotificationClientCache_T = NotificationClientCache$;
            interface NotificationClientCache extends NotificationClientCache_T {
            }
            interface AbstractNotificationClick_S {
            }
            type AbstractNotificationClick_ST = AbstractNotificationClick_S & INotificationClick_S;
            interface AbstractNotificationClick_C extends AbstractNotificationClick_ST {
                new():AbstractNotificationClick;
            }
            interface AbstractNotificationClick$ {
                /**
                 * 获取消息id
                 * @return
                 */
                getNotificationId():string;
                /**
                 * 获取页面实例，
                 * @return
                 */
                getFormView():kd.bos.form.IFormView;
                /**
                 * 获取全局通知提醒弹窗界面信息
                 * @return
                 */
                getNotificationFormInfo():NotificationFormInfo;
            }
            type AbstractNotificationClick_T = AbstractNotificationClick$ & INotificationClick;
            interface AbstractNotificationClick extends AbstractNotificationClick_T {
            }
            interface NotificationBody_S {
            }
            interface NotificationBody_C extends NotificationBody_S {
                new():NotificationBody;
            }
            interface NotificationBody$ {
                /**
                 * 弹窗风格
                 */
                getMode():number;
                setParams(params:$.java.util.Map):void;
                setContent(content:string):void;
                setButtonInfo(buttonInfo:$.java.util.List):void;
                setNotificationId(notificationId:string):void;
                getIconType():string;
                getClickClassName():string;
                setTitle(title:string):void;
                getTenantId():string;
                getLevel():number;
                setClickClassName(clickClassName:string):void;
                getButtonInfo():$.java.util.List;
                getContent():string;
                getDuration():number;
                setMode(mode:number):void;
                addButtonInfo(buttonInfo:NotificationBody$ButtonInfo):void;
                setCreateTime(createTime:long):void;
                getParams():$.java.util.Map;
                getAppId():string;
                getNotificationId():string;
                setIconType(iconType:string):void;
                setTenantId(tenantId:string):void;
                setLevel(level:number):void;
                getTitle():string;
                getCreateTime():long;
                setAppId(appId:string):void;
                setDuration(duration:number):void;
            }
            type NotificationBody_T = NotificationBody$;
            interface NotificationBody extends NotificationBody_T {
            }
            interface NotificationFormInfo_S {
            }
            interface NotificationFormInfo_C extends NotificationFormInfo_S {
                new():NotificationFormInfo;
            }
            interface NotificationFormInfo$ {
                getNotification():NotificationBody;
                setMsgType(msgType:string):void;
                getDuration():number;
                setNotification(notification:NotificationBody):void;
                setDuration(duration:number):void;
                /**
                 * 消息类型:activity运营类消息，notice公告类消息
                 * @return
                 */
                getMsgType():string;
            }
            type NotificationFormInfo_T = NotificationFormInfo$;
            interface NotificationFormInfo extends NotificationFormInfo_T {
            }
            interface NotificationBody$ButtonInfo_S {
            }
            interface NotificationBody$ButtonInfo_C extends NotificationBody$ButtonInfo_S {
                new():NotificationBody$ButtonInfo;
            }
            interface NotificationBody$ButtonInfo$ {
                setText(arg0:string):void;
                getKey():string;
                setKey(arg0:string):void;
                getText():string;
            }
            type NotificationBody$ButtonInfo_T = NotificationBody$ButtonInfo$;
            interface NotificationBody$ButtonInfo extends NotificationBody$ButtonInfo_T {
            }
            interface INotificationClick_S {
            }
            interface INotificationClick_C extends INotificationClick_S {
            }
            interface INotificationClick$ {
                /**
                 * 消息弹窗按钮点击事件
                 */
                buttonClick(e:kd.bos.notification.events.ButtonClickEventArgs):void;
                /**
                 * 消息弹窗关闭事件回调
                 */
                closeCallBack():void;
                /**
                 * 处理点击事件前，传入上下文信息
                 *
                 * @param formView  当前页面
                 * @param notificationFormInfo  通知消息界面参数
                 * @param notificationId  消息标识
                 */
                setContext(formView:kd.bos.form.IFormView,notificationFormInfo:NotificationFormInfo,notificationId:string):void;
            }
            type INotificationClick_T = INotificationClick$;
            interface INotificationClick extends INotificationClick_T {
            }
        }
        namespace kd.bos.notification.events{
            interface ButtonClickEventArgs_S {
            }
            interface ButtonClickEventArgs_C extends ButtonClickEventArgs_S {
                new(buttonKey:string):ButtonClickEventArgs;
            }
            interface ButtonClickEventArgs$ {
                getButtonKey():string;
                setButtonKey(buttonKey:string):void;
            }
            type ButtonClickEventArgs_T = ButtonClickEventArgs$;
            interface ButtonClickEventArgs extends ButtonClickEventArgs_T {
            }
        }
        namespace kd.bos.open.api{
            interface OpenApiModule_S {
            }
            type OpenApiModule_ST = $.kd.sdk.module.Module & OpenApiModule_S;
            interface OpenApiModule_C extends OpenApiModule_ST {
                new():OpenApiModule;
            }
            interface OpenApiModule$ {
            }
            type OpenApiModule_T = $.kd.sdk.module.Module & OpenApiModule$;
            interface OpenApiModule extends OpenApiModule_T {
            }
        }
        namespace kd.bos.open.auth{
            interface OpenAuthModule_S {
            }
            type OpenAuthModule_ST = $.kd.sdk.module.Module & OpenAuthModule_S;
            interface OpenAuthModule_C extends OpenAuthModule_ST {
                new():OpenAuthModule;
            }
            interface OpenAuthModule$ {
            }
            type OpenAuthModule_T = $.kd.sdk.module.Module & OpenAuthModule$;
            interface OpenAuthModule extends OpenAuthModule_T {
            }
        }
        namespace kd.bos.open.customapi{
            interface OpenCustomModule_S {
            }
            type OpenCustomModule_ST = $.kd.sdk.module.Module & OpenCustomModule_S;
            interface OpenCustomModule_C extends OpenCustomModule_ST {
                new():OpenCustomModule;
            }
            interface OpenCustomModule$ {
            }
            type OpenCustomModule_T = $.kd.sdk.module.Module & OpenCustomModule$;
            interface OpenCustomModule extends OpenCustomModule_T {
            }
        }
        namespace kd.bos.openapi.api.model{
            class ApiSerializerVersion {
                static readonly MODEL:kd.bos.openapi.api.model.ApiSerializerVersion;
                static readonly DEFAULT:kd.bos.openapi.api.model.ApiSerializerVersion;
                static values():kd.bos.openapi.api.model.ApiSerializerVersion[];
                static valueOf(arg0:string):kd.bos.openapi.api.model.ApiSerializerVersion;
            }
            interface ApiSerializerModel_S {
            }
            type ApiSerializerModel_ST = $.java.io.Serializable & ApiSerializerModel_S;
            interface ApiSerializerModel_C extends ApiSerializerModel_ST {
                new(map:$.java.util.Map):ApiSerializerModel;
            }
            interface ApiSerializerModel$ {
                getContentType():string;
                getResponse():any;
                getAccept():string;
                getReqData():$.java.util.Map;
            }
            type ApiSerializerModel_T = $.java.io.Serializable & ApiSerializerModel$;
            interface ApiSerializerModel extends ApiSerializerModel_T {
            }
            interface OpenApiRequest_S {
            }
            type OpenApiRequest_ST = $.java.io.Serializable & OpenApiRequest_S;
            interface OpenApiRequest_C extends OpenApiRequest_ST {
            }
            interface OpenApiRequest$ {
                getServiceApiData():ServiceApiData;
                getData():any;
                /**
                 * 用户请求的原始URL(包括host主机头，并非API相对URL)。如：http://www.kingdee.com/ierp/kapi/v2/open/openapi_demo/query
                 */
                getHttpRequestUrl():string;
                getRequestHeaders():$.java.util.Map;
                getHttpMethod():string;
                /**
                 * Http请求是的参数部分字符串，如：username=tinyhu&age=30
                 */
                getHttpQueryString():$.java.util.Map;
            }
            type OpenApiRequest_T = $.java.io.Serializable & OpenApiRequest$;
            interface OpenApiRequest extends OpenApiRequest_T {
            }
            interface ServiceApiData_S {
            }
            type ServiceApiData_ST = $.java.io.Serializable & ServiceApiData_S;
            interface ServiceApiData_C extends ServiceApiData_ST {
                new():ServiceApiData;
            }
            interface ServiceApiData$ {
                setApiOperationType(apiOperationType:string):void;
                setWsMethodName(wsMethodName:string):void;
                getBizObject():string;
                setAppRealId(appRealId:string):void;
                setApiDefType(apiDefType:string):void;
                setSupportsMultipleTimeZone(supportsMultipleTimeZone:string):void;
                setMethodName(methodName:string):void;
                isMuliLang():boolean;
                setSaveopNeedCheckPerm(saveopNeedCheckPerm:boolean):void;
                getAppRealId():string;
                setApiServiceType(apiServiceType:string):void;
                getClassName():string;
                getApiId():long;
                getHttpMethod():string;
                getSupportsMultipleTimeZone():string;
                setOutParaWithoutStatus(outParaWithoutStatus:boolean):void;
                getMethodName():string;
                getAppId():string;
                setApiId(apiId:long):void;
                getApiServiceType():string;
                setMuliLang(muliLang:boolean):void;
                setCloudId(cloudId:string):void;
                setHttpMethod(httpMethod:string):void;
                setNamespace(namespace_arg:string):void;
                setClassName(className:string):void;
                isOutParaWithoutStatus():boolean;
                setUrl(url:string):void;
                isDesensitize():boolean;
                setBizObject(bizObject:string):void;
                getUrl():string;
                getNamespace():string;
                getWsMethodName():string;
                getApiDefType():string;
                isSaveopNeedCheckPerm():boolean;
                setDesensitize(desensitize:boolean):void;
                setApiNumber(apiNumber:string):void;
                getApiOperationType():string;
                getApiNumber():string;
                setAppId(appId:string):void;
                getCloudId():string;
            }
            type ServiceApiData_T = $.java.io.Serializable & ServiceApiData$;
            interface ServiceApiData extends ServiceApiData_T {
            }
            interface ApiQueryOrderByModel_S {
            }
            type ApiQueryOrderByModel_ST = $.java.io.Serializable & ApiQueryOrderByModel_S;
            interface ApiQueryOrderByModel_C extends ApiQueryOrderByModel_ST {
                new(map:$.java.util.Map):ApiQueryOrderByModel;
            }
            interface ApiQueryOrderByModel$ {
                getReqData():$.java.util.Map;
                getOrderBy():string;
                getReqHeaders():$.java.util.Map;
            }
            type ApiQueryOrderByModel_T = $.java.io.Serializable & ApiQueryOrderByModel$;
            interface ApiQueryOrderByModel extends ApiQueryOrderByModel_T {
            }
            interface OpenApiResponse_S {
            }
            type OpenApiResponse_ST = $.java.io.Serializable & OpenApiResponse_S;
            interface OpenApiResponse_C extends OpenApiResponse_ST {
            }
            interface OpenApiResponse$ {
                getData():any;
                getHttpStatus():number;
                getResponseHeaders():$.java.util.Map;
            }
            type OpenApiResponse_T = $.java.io.Serializable & OpenApiResponse$;
            interface OpenApiResponse extends OpenApiResponse_T {
            }
        }
        namespace kd.bos.openapi.api.plugin{
            interface ApiDeleteEntryRowsPlugin_S {
            }
            type ApiDeleteEntryRowsPlugin_ST = ApiDeleteEntryRowsPlugin_S & kd.bos.openapi.api.plugin.upper.ApiPlugin_S;
            interface ApiDeleteEntryRowsPlugin_C extends ApiDeleteEntryRowsPlugin_ST {
            }
            interface ApiDeleteEntryRowsPlugin$ {
            }
            type ApiDeleteEntryRowsPlugin_T = ApiDeleteEntryRowsPlugin$ & kd.bos.openapi.api.plugin.upper.ApiPlugin;
            interface ApiDeleteEntryRowsPlugin extends ApiDeleteEntryRowsPlugin_T {
            }
            interface ApiAuditPlugin_S {
            }
            type ApiAuditPlugin_ST = ApiAuditPlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiAuditPlugin_C extends ApiAuditPlugin_ST {
            }
            interface ApiAuditPlugin$ {
            }
            type ApiAuditPlugin_T = ApiAuditPlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiAuditPlugin extends ApiAuditPlugin_T {
            }
            interface ApiUnSubmitPlugin_S {
            }
            type ApiUnSubmitPlugin_ST = ApiUnSubmitPlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiUnSubmitPlugin_C extends ApiUnSubmitPlugin_ST {
            }
            interface ApiUnSubmitPlugin$ {
            }
            type ApiUnSubmitPlugin_T = ApiUnSubmitPlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiUnSubmitPlugin extends ApiUnSubmitPlugin_T {
            }
            interface ApiAppendEntryRowsPlugin_S {
            }
            type ApiAppendEntryRowsPlugin_ST = ApiAppendEntryRowsPlugin_S & kd.bos.openapi.api.plugin.upper.ApiPlugin_S;
            interface ApiAppendEntryRowsPlugin_C extends ApiAppendEntryRowsPlugin_ST {
            }
            interface ApiAppendEntryRowsPlugin$ {
            }
            type ApiAppendEntryRowsPlugin_T = ApiAppendEntryRowsPlugin$ & kd.bos.openapi.api.plugin.upper.ApiPlugin;
            interface ApiAppendEntryRowsPlugin extends ApiAppendEntryRowsPlugin_T {
            }
            interface ApiDisablePlugin_S {
            }
            type ApiDisablePlugin_ST = ApiDisablePlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiDisablePlugin_C extends ApiDisablePlugin_ST {
            }
            interface ApiDisablePlugin$ {
            }
            type ApiDisablePlugin_T = ApiDisablePlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiDisablePlugin extends ApiDisablePlugin_T {
            }
            interface ApiCommonPlugin_S {
            }
            type ApiCommonPlugin_ST = ApiCommonPlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiCommonPlugin_C extends ApiCommonPlugin_ST {
            }
            interface ApiCommonPlugin$ {
            }
            type ApiCommonPlugin_T = ApiCommonPlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiCommonPlugin extends ApiCommonPlugin_T {
            }
            interface ApiQueryPlugin_S {
            }
            type ApiQueryPlugin_ST = ApiQueryPlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiQueryPlugin_C extends ApiQueryPlugin_ST {
            }
            interface ApiQueryPlugin$ {
                getOrderBy?(model:kd.bos.openapi.api.model.ApiQueryOrderByModel):string;
            }
            type ApiQueryPlugin_T = ApiQueryPlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiQueryPlugin extends ApiQueryPlugin_T {
            }
            interface ApiSerializerPlugin_S {
            }
            type ApiSerializerPlugin_ST = $.java.io.Serializable & ApiSerializerPlugin_S;
            interface ApiSerializerPlugin_C extends ApiSerializerPlugin_ST {
            }
            interface ApiSerializerPlugin$ {
                /**
                 * 响应结果序列化（obj -> json）<br/>
                 * !!!==严禁方法抛异常==!!!
                 * @param response 响应结果
                 * @param accept 响应类型
                 * @param contentType 内容类型
                 * @return 序列化结果
                 * @verson ApiSerializerVersion.DEFAULT 使用
                 */
                serialize(response:any,accept:string,contentType:string):SerializerResult;
                /**
                 * 响应结果序列化（obj -> json）<br/>
                 * !!==严禁方法抛异常==!!!
                 * @param model 参数
                 * @return 序列化结果
                 * @verson ApiSerializerVersion.MODEL 使用
                 */
                serializeByModel?(model:kd.bos.openapi.api.model.ApiSerializerModel):SerializerResult;
                getVersion?():kd.bos.openapi.api.model.ApiSerializerVersion;
            }
            type ApiSerializerPlugin_T = $.java.io.Serializable & ApiSerializerPlugin$;
            interface ApiSerializerPlugin extends ApiSerializerPlugin_T {
            }
            interface ApiSubmitPlugin_S {
            }
            type ApiSubmitPlugin_ST = ApiSubmitPlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiSubmitPlugin_C extends ApiSubmitPlugin_ST {
            }
            interface ApiSubmitPlugin$ {
            }
            type ApiSubmitPlugin_T = ApiSubmitPlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiSubmitPlugin extends ApiSubmitPlugin_T {
            }
            interface ApiDeletePlugin_S {
            }
            type ApiDeletePlugin_ST = ApiDeletePlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiDeletePlugin_C extends ApiDeletePlugin_ST {
            }
            interface ApiDeletePlugin$ {
            }
            type ApiDeletePlugin_T = ApiDeletePlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiDeletePlugin extends ApiDeletePlugin_T {
            }
            interface ApiDeserializerPlugin_S {
            }
            type ApiDeserializerPlugin_ST = $.java.io.Serializable & ApiDeserializerPlugin_S;
            interface ApiDeserializerPlugin_C extends ApiDeserializerPlugin_ST {
            }
            interface ApiDeserializerPlugin$ {
                /**
                 * 求参数反序列化(request -> map)<br/>
                 * !!!==严禁方法抛异常==!!!
                 * @param request 请求参数
                 * @param contentType 请求参数
                 * @return 反序列化结果
                 */
                deserializer(request:string,contentType:string):$.java.util.Map;
            }
            type ApiDeserializerPlugin_T = $.java.io.Serializable & ApiDeserializerPlugin$;
            interface ApiDeserializerPlugin extends ApiDeserializerPlugin_T {
            }
            interface ApiUnAuditPlugin_S {
            }
            type ApiUnAuditPlugin_ST = ApiUnAuditPlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiUnAuditPlugin_C extends ApiUnAuditPlugin_ST {
            }
            interface ApiUnAuditPlugin$ {
            }
            type ApiUnAuditPlugin_T = ApiUnAuditPlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiUnAuditPlugin extends ApiUnAuditPlugin_T {
            }
            interface ApiEnablePlugin_S {
            }
            type ApiEnablePlugin_ST = ApiEnablePlugin_S & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin_S;
            interface ApiEnablePlugin_C extends ApiEnablePlugin_ST {
            }
            interface ApiEnablePlugin$ {
            }
            type ApiEnablePlugin_T = ApiEnablePlugin$ & kd.bos.openapi.api.plugin.upper.ApiFilterPlugin;
            interface ApiEnablePlugin extends ApiEnablePlugin_T {
            }
            interface SerializerResult_S {
            }
            type SerializerResult_ST = $.java.io.Serializable & SerializerResult_S;
            interface SerializerResult_C extends SerializerResult_ST {
                new(contentType:string,result:string):SerializerResult;
            }
            interface SerializerResult$ {
                getResult():string;
                getContentType():string;
            }
            type SerializerResult_T = $.java.io.Serializable & SerializerResult$;
            interface SerializerResult extends SerializerResult_T {
            }
            interface ApiSavePlugin_S {
            }
            type ApiSavePlugin_ST = ApiSavePlugin_S & kd.bos.openapi.api.plugin.upper.ApiPlugin_S;
            interface ApiSavePlugin_C extends ApiSavePlugin_ST {
            }
            interface ApiSavePlugin$ {
                /**
                 * 请求参数处理
                 * @param reqData 原请求参数
                 * @return 处理后参数
                 */
                preHandleRequestData?(reqData:$.java.util.List):$.java.util.List;
            }
            type ApiSavePlugin_T = ApiSavePlugin$ & kd.bos.openapi.api.plugin.upper.ApiPlugin;
            interface ApiSavePlugin extends ApiSavePlugin_T {
            }
        }
        namespace kd.bos.openapi.api.plugin.upper{
            interface ApiPlugin_S {
            }
            type ApiPlugin_ST = $.java.io.Serializable & ApiPlugin_S;
            interface ApiPlugin_C extends ApiPlugin_ST {
            }
            interface ApiPlugin$ {
            }
            type ApiPlugin_T = $.java.io.Serializable & ApiPlugin$;
            interface ApiPlugin extends ApiPlugin_T {
            }
            interface ApiFilterPlugin_S {
            }
            type ApiFilterPlugin_ST = ApiFilterPlugin_S & ApiPlugin_S;
            interface ApiFilterPlugin_C extends ApiFilterPlugin_ST {
            }
            interface ApiFilterPlugin$ {
                /**
                 * 查询条件
                 * @param filter 原条件
                 * @param reqData 请求参数
                 * @return QFilter 目标条件
                 */
                getFilter?(filter:$.kd.bos.orm.query.QFilter,reqData:$.java.util.Map):$.kd.bos.orm.query.QFilter;
            }
            type ApiFilterPlugin_T = ApiFilterPlugin$ & ApiPlugin;
            interface ApiFilterPlugin extends ApiFilterPlugin_T {
            }
        }
        namespace kd.bos.openapi.common.constant{
            class ApiErrorCode {
                static readonly HTTP_BODY_TOO_LARGE:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Save_Data_Repeat_Execute:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_FOUND:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_BAD_REQUEST:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Data_NotFound:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_INTERNAL_ERROR:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_NOT_FOUND:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_NOCONTENT:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Data_Duplicate:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly SIGN_ERROR:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_OK:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_NOT_ACCEPTABLE:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_UNSUPPORTED_MEDIA_TYPE:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_FORBIDDEN:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Data_NoAuth:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_CREATED:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly LOGIN_BIZ_ERROR:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Data_UpdateFail:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_BREAK_REQUEST:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_NOT_ALLOWED:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_REQUEST_TIMEOUT:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly PLUGIN_ERROR:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_TOO_MANY_REQUEST:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly SCRIPT_ERROR:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly OK:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Data_Repeat_Execute:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly ERROR:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_ACCEPTED:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_MOVED:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly Data_Invalid:kd.bos.openapi.common.constant.ApiErrorCode;
                static readonly HTTP_UNAUTHORIZED:kd.bos.openapi.common.constant.ApiErrorCode;
                static values():kd.bos.openapi.common.constant.ApiErrorCode[];
                static valueOf(arg0:string):kd.bos.openapi.common.constant.ApiErrorCode;
                static fromStatusCode(errorCode:string):kd.bos.openapi.common.constant.ApiErrorCode;
                getStatusCode():string;
            }
        }
        namespace kd.bos.openapi.common.custom.annotation{
            interface ApiMapping_S {
            }
            type ApiMapping_ST = $.java.lang.annotation.Annotation & ApiMapping_S;
            interface ApiMapping_C extends ApiMapping_ST {
            }
            interface ApiMapping$ {
                value():string;
            }
            type ApiMapping_T = $.java.lang.annotation.Annotation & ApiMapping$;
            interface ApiMapping extends ApiMapping_T {
            }
            interface ApiGetMapping_S {
            }
            type ApiGetMapping_ST = $.java.lang.annotation.Annotation & ApiGetMapping_S;
            interface ApiGetMapping_C extends ApiGetMapping_ST {
            }
            interface ApiGetMapping$ {
                value():string;
                desc():string;
                methodParamNames():string[];
            }
            type ApiGetMapping_T = $.java.lang.annotation.Annotation & ApiGetMapping$;
            interface ApiGetMapping extends ApiGetMapping_T {
            }
            interface ApiRequestBody_S {
            }
            type ApiRequestBody_ST = $.java.lang.annotation.Annotation & ApiRequestBody_S;
            interface ApiRequestBody_C extends ApiRequestBody_ST {
            }
            interface ApiRequestBody$ {
                message():string;
                required():boolean;
                payload():$.java.lang.Class[];
                groups():$.java.lang.Class[];
                value():string;
            }
            type ApiRequestBody_T = $.java.lang.annotation.Annotation & ApiRequestBody$;
            interface ApiRequestBody extends ApiRequestBody_T {
            }
            interface ApiResponseBody_S {
            }
            type ApiResponseBody_ST = $.java.lang.annotation.Annotation & ApiResponseBody_S;
            interface ApiResponseBody_C extends ApiResponseBody_ST {
            }
            interface ApiResponseBody$ {
                value():string;
                example():string;
            }
            type ApiResponseBody_T = $.java.lang.annotation.Annotation & ApiResponseBody$;
            interface ApiResponseBody extends ApiResponseBody_T {
            }
            interface ApiModel_S {
            }
            type ApiModel_ST = $.java.lang.annotation.Annotation & ApiModel_S;
            interface ApiModel_C extends ApiModel_ST {
            }
            interface ApiModel$ {
            }
            type ApiModel_T = $.java.lang.annotation.Annotation & ApiModel$;
            interface ApiModel extends ApiModel_T {
            }
            interface ApiParam_S {
            }
            type ApiParam_ST = $.java.lang.annotation.Annotation & ApiParam_S;
            interface ApiParam_C extends ApiParam_ST {
            }
            interface ApiParam$ {
                example():string;
                value():string;
                isPathVariable():boolean;
                message():string;
                position():number;
                groups():$.java.lang.Class[];
                required():boolean;
                payload():$.java.lang.Class[];
            }
            type ApiParam_T = $.java.lang.annotation.Annotation & ApiParam$;
            interface ApiParam extends ApiParam_T {
            }
            interface ApiController_S {
            }
            type ApiController_ST = $.java.lang.annotation.Annotation & ApiController_S;
            interface ApiController_C extends ApiController_ST {
            }
            interface ApiController$ {
                desc():string;
                value():string;
            }
            type ApiController_T = $.java.lang.annotation.Annotation & ApiController$;
            interface ApiController extends ApiController_T {
            }
            interface ApiErrorCode_S {
            }
            type ApiErrorCode_ST = $.java.lang.annotation.Annotation & ApiErrorCode_S;
            interface ApiErrorCode_C extends ApiErrorCode_ST {
            }
            interface ApiErrorCode$ {
                desc():string;
                code():string;
            }
            type ApiErrorCode_T = $.java.lang.annotation.Annotation & ApiErrorCode$;
            interface ApiErrorCode extends ApiErrorCode_T {
            }
            interface ApiHeader_S {
            }
            type ApiHeader_ST = $.java.lang.annotation.Annotation & ApiHeader_S;
            interface ApiHeader_C extends ApiHeader_ST {
            }
            interface ApiHeader$ {
                desc():string;
                name():string;
                example():string;
            }
            type ApiHeader_T = $.java.lang.annotation.Annotation & ApiHeader$;
            interface ApiHeader extends ApiHeader_T {
            }
            interface ApiErrorCodes_S {
            }
            type ApiErrorCodes_ST = $.java.lang.annotation.Annotation & ApiErrorCodes_S;
            interface ApiErrorCodes_C extends ApiErrorCodes_ST {
            }
            interface ApiErrorCodes$ {
                value():ApiErrorCode[];
            }
            type ApiErrorCodes_T = $.java.lang.annotation.Annotation & ApiErrorCodes$;
            interface ApiErrorCodes extends ApiErrorCodes_T {
            }
            interface ApiHeaders_S {
            }
            type ApiHeaders_ST = $.java.lang.annotation.Annotation & ApiHeaders_S;
            interface ApiHeaders_C extends ApiHeaders_ST {
            }
            interface ApiHeaders$ {
                value():ApiHeader[];
            }
            type ApiHeaders_T = $.java.lang.annotation.Annotation & ApiHeaders$;
            interface ApiHeaders extends ApiHeaders_T {
            }
            interface ApiPostMapping_S {
            }
            type ApiPostMapping_ST = $.java.lang.annotation.Annotation & ApiPostMapping_S;
            interface ApiPostMapping_C extends ApiPostMapping_ST {
            }
            interface ApiPostMapping$ {
                value():string;
                methodParamNames():string[];
                desc():string;
            }
            type ApiPostMapping_T = $.java.lang.annotation.Annotation & ApiPostMapping$;
            interface ApiPostMapping extends ApiPostMapping_T {
            }
        }
        namespace kd.bos.openapi.common.custom.model{
            interface CustomApiBaseModel_S {
            }
            type CustomApiBaseModel_ST = $.java.io.Serializable & CustomApiBaseModel_S;
            interface CustomApiBaseModel_C extends CustomApiBaseModel_ST {
                new():CustomApiBaseModel;
            }
            interface CustomApiBaseModel$ {
            }
            type CustomApiBaseModel_T = $.java.io.Serializable & CustomApiBaseModel$;
            interface CustomApiBaseModel extends CustomApiBaseModel_T {
            }
        }
        namespace kd.bos.openapi.common.result{
            interface CustomApiResult_S {
                /**
                 * 接口返回失败，状态false, 入参包括errorCode， errorMessage
                 * @param errorCode 错误编码
                 * @param errorMessage 错误信息
                 * @return 返回CustomApiResult类型，支持泛型data
                 */
                fail(errorCode:string,errorMessage:string):CustomApiResult;
                success(arg0:any):CustomApiResult;
            }
            type CustomApiResult_ST = $.java.io.Serializable & CustomApiResult_S;
            interface CustomApiResult_C extends CustomApiResult_ST {
                new():CustomApiResult;
            }
            interface CustomApiResult$ {
                /**
                 * 获取状态
                 * @return 状态
                 */
                isStatus():boolean;
                /**
                 * 获取返回消息
                 * @return 消息
                 */
                getMessage():string;
                /**
                 * 获取错误码
                 * @return 错误码
                 */
                getErrorCode():string;
                setData(arg0:any):void;
                /**
                 * 接口返回数据，支持泛型
                 * @return 返回数据
                 */
                getData():any;
                /**
                 * 设置返回消息
                 * @param message 返回消息
                 */
                setMessage(message:string):void;
                /**
                 * 设置错误编码
                 * @param errorCode 错误编码
                 */
                setErrorCode(errorCode:string):void;
                /**
                 * 设置状态
                 * @param status 状态
                 */
                setStatus(status:boolean):void;
            }
            type CustomApiResult_T = $.java.io.Serializable & CustomApiResult$;
            interface CustomApiResult extends CustomApiResult_T {
            }
            interface OpenApiResult_S {
                ok(data:any):OpenApiResult;
                builder():OpenApiResult;
                fail(errorCode:kd.bos.openapi.common.constant.ApiErrorCode,data:any):OpenApiResult;
            }
            type OpenApiResult_ST = $.java.io.Serializable & OpenApiResult_S;
            interface OpenApiResult_C extends OpenApiResult_ST {
                new():OpenApiResult;
                new(status:boolean,errorCode:string,message:string,data:any):OpenApiResult;
            }
            interface OpenApiResult$ {
                setData(data:any):void;
                getErrorCode():string;
                getData():any;
                fromMap(obj:$.java.util.Map):void;
                isStatus():boolean;
                getMessage():string;
                fail(msg:string):this;
                setErrorCode(errorCode:string):void;
                fail(msg:string,errorCode:string):this;
                success(data:any):this;
                setMessage(message:string):void;
                setStatus(status:boolean):void;
                toMap():$.java.util.Map;
            }
            type OpenApiResult_T = $.java.io.Serializable & OpenApiResult$;
            interface OpenApiResult extends OpenApiResult_T {
            }
        }
        namespace kd.bos.openapi.common.spi{
            interface ICustomApiServlet_S {
            }
            interface ICustomApiServlet_C extends ICustomApiServlet_S {
            }
            interface ICustomApiServlet$ {
                /**
                 * 获取出参参数，用于API日志
                 */
                getOutputParameter():string;
                /**
                 * 获取入参参数，用于API日志
                 */
                getInputParameter():string;
                /**
                 * 执行HttpServlet的doAction()操作
                 *
                 * @param req
                 * @param resp
                 */
                doAction(req:$.javax.servlet.http.HttpServletRequest,resp:$.javax.servlet.http.HttpServletResponse):void;
            }
            type ICustomApiServlet_T = ICustomApiServlet$;
            interface ICustomApiServlet extends ICustomApiServlet_T {
            }
        }
        namespace kd.bos.openapi.common.util{
            interface McConfigUtil_S {
                /**
                 * 根据租户ID获取系统属性，如果没有租户配置，直接取集群，如果都没有配置，取默认值
                 *
                 * @param tenantId
                 * @param key
                 * @param defaultStr
                 * @return
                 */
                getPropertyByTenantWithDefault(tenantId:string,key:string,defaultStr:string):string;
                isSecurityLogOpen(tenantId:string):boolean;
                getPropertyGlobal(arg0:string,arg1:$.java.lang.Class,arg2:any):any;
                getPropertyByCurrTenant(key:string,defaultStr:string):string;
                /**
                 * 根据租户id获得系统属性，如果没有租户配置，直接取集群配置
                 *
                 * @param tenantId
                 * @param key
                 * @return
                 */
                getPropertyByTenant(tenantId:string,key:string):string;
                /**
                 * 获取当前租户-系统MC配置参数
                 */
                getPropertyByCurrent(key:string,defaultStr:string):string;
                getPropertyByCurrent(arg0:string,arg1:$.java.lang.Class,arg2:any):any;
                needWriteLogDetail():boolean;
            }
            interface McConfigUtil_C extends McConfigUtil_S {
                new():McConfigUtil;
            }
            interface McConfigUtil$ {
            }
            type McConfigUtil_T = McConfigUtil$;
            interface McConfigUtil extends McConfigUtil_T {
            }
            interface OpenApiSdkUtil_S {
                /**
                 * 调用API接口
                 *
                 * @param apiUrl      ApiUrl-不包括hostName：如：/v2/open/order/queryByName
                 * @param requestData 入参数据
                 * @param header      自定义HttpHeader，可以为NULL
                 * @return API执行结果
                 */
                invoke(apiUrl:string,requestData:$.java.util.Map,header:$.java.util.Map):kd.bos.openapi.common.result.OpenApiResult;
                /**
                 * 调用API接口
                 *
                 * @param apiUrl      ApiUrl-不包括hostName：如：/v2/open/order/queryByName
                 * @param requestData 入参数据
                 * @return API执行结果
                 */
                invoke(apiUrl:string,requestData:$.java.util.Map):kd.bos.openapi.common.result.OpenApiResult;
                invokeOpenApi(apiUrl:string,requestData:$.java.util.Map,header:$.java.util.Map):any;
                /**
                 * 调用API查询服务
                 *
                 * @param apiUrl   ApiUrl-不包括hostName：如：/v2/open/order/queryByName
                 * @param data     入参数据
                 * @param pageSize 页大小
                 * @param pageNo   第几页
                 * @return API执行结果
                 */
                query(apiUrl:string,data:$.java.util.Map,pageSize:number,pageNo:number):kd.bos.openapi.common.result.OpenApiResult;
            }
            interface OpenApiSdkUtil_C extends OpenApiSdkUtil_S {
                new():OpenApiSdkUtil;
            }
            interface OpenApiSdkUtil$ {
            }
            type OpenApiSdkUtil_T = OpenApiSdkUtil$;
            interface OpenApiSdkUtil extends OpenApiSdkUtil_T {
            }
        }
        namespace kd.bos.openapi.security.model{
            class EncryptionEnum {
                static readonly AES:kd.bos.openapi.security.model.EncryptionEnum;
                static readonly SM4:kd.bos.openapi.security.model.EncryptionEnum;
                static readonly SM4_ID:number;
                static readonly AES_ID:number;
                static values():kd.bos.openapi.security.model.EncryptionEnum[];
                /**
                 * 根据encryptionId 获取加密策略名称
                 * @param encryptionId 加密策略ID
                 * @return 加密策略名称
                 */
                static getEncryption(encryptionId:long):string;
                static valueOf(arg0:string):kd.bos.openapi.security.model.EncryptionEnum;
                /**
                 * 获取加密策略名称
                 * @return 加密策略名称
                 */
                getName():string;
                /**
                 * 获取加密策略ID
                 * @return 加密策略ID
                 */
                getId():number;
            }
            interface RequestSecurityDto_S {
            }
            type RequestSecurityDto_ST = $.java.io.Serializable & CommonSecurityDto_S & RequestSecurityDto_S;
            interface RequestSecurityDto_C extends RequestSecurityDto_ST {
                /**
                 * 默认构造方法
                 */
                new():RequestSecurityDto;
            }
            interface RequestSecurityDto$ {
                setData(arg0:any):void;
                /**
                 * 获取加密内容
                 * @return 加密内容
                 */
                getData():any;
            }
            type RequestSecurityDto_T = $.java.io.Serializable & CommonSecurityDto & RequestSecurityDto$;
            interface RequestSecurityDto extends RequestSecurityDto_T {
            }
            interface CommonSecurityDto_S {
                /**
                 * 根据加密数据encryptData，信封dgtlEnvlp和签名signature实例化对象
                 * @param encryptData 加密数据
                 * @param dgtlEnvlp 信封
                 * @param signature 签名
                 * @return 实例化对象
                 */
                valueOf(encryptData:string,dgtlEnvlp:string,signature:string):CommonSecurityDto;
            }
            type CommonSecurityDto_ST = $.java.io.Serializable & CommDataDto_S & CommonSecurityDto_S;
            interface CommonSecurityDto_C extends CommonSecurityDto_ST {
                /**
                 * 默认构造方法
                 */
                new():CommonSecurityDto;
            }
            interface CommonSecurityDto$ {
                /**
                 * 获取加密内容
                 * @return 加密内容
                 */
                getEncryptData():string;
                /**
                 * 获取信封
                 * @return 信封
                 */
                getDgtlEnvlp():string;
                /**
                 * 获取签名随机数
                 * @return 签名随机数
                 */
                getSignatureNonce():string;
                /**
                 * 获取时间戳
                 * @return 时间戳
                 */
                getTimestamp():string;
                /**
                 * 获取签名
                 * @return  签名
                 */
                getSignature():string;
                /**
                 * 设置签名随机数
                 * @param signatureNonce 签名随机数
                 */
                setSignatureNonce(signatureNonce:string):void;
                /**
                 * 设置信封
                 * @param dgtlEnvlp 信封
                 */
                setDgtlEnvlp(dgtlEnvlp:string):void;
                /**
                 * 设置加密内容
                 * @param encryptData 加密内容
                 */
                setEncryptData(encryptData:string):void;
                /**
                 * 设置时间戳
                 * @param timestamp 时间戳
                 */
                setTimestamp(timestamp:string):void;
                /**
                 * 设置签名
                 * @param signature 签名
                 */
                setSignature(signature:string):void;
            }
            type CommonSecurityDto_T = $.java.io.Serializable & CommDataDto & CommonSecurityDto$;
            interface CommonSecurityDto extends CommonSecurityDto_T {
            }
            interface EncryptInfo_S {
                /**
                 * 根据加密数据和信封实例化对象
                 * @param encryptInfoStr 加密数据
                 * @param dgtlEnvlp 信封
                 * @return 实例化对象
                 */
                valueOf(encryptInfoStr:string,dgtlEnvlp:string):EncryptInfo;
            }
            type EncryptInfo_ST = $.java.io.Serializable & EncryptInfo_S;
            interface EncryptInfo_C extends EncryptInfo_ST {
                /**
                 * 默认构造方法
                 */
                new():EncryptInfo;
            }
            interface EncryptInfo$ {
                /**
                 * 获取加密内容
                 * @return 加密内容
                 */
                getEncryptInfo():string;
                /**
                 * 设置信封
                 * @param dgtlEnvlp 信封
                 */
                setDgtlEnvlp(dgtlEnvlp:string):void;
                /**
                 * 获取信封
                 * @return 信封
                 */
                getDgtlEnvlp():string;
                /**
                 * 设置加密内容
                 * @param encryptInfo 加密内容
                 */
                setEncryptInfo(encryptInfo:string):void;
            }
            type EncryptInfo_T = $.java.io.Serializable & EncryptInfo$;
            interface EncryptInfo extends EncryptInfo_T {
            }
            interface SignInfoDto_S {
                /**
                 * 根据第三方应用编码，数据中心ID， 租户ID创建签名对象SignInfoDto
                 * @param thirdAppNumber 第三方应用编码
                 * @param accountId 数据中心ID
                 * @param tenantId 租户ID
                 * @return 对象SignInfoDto
                 */
                of(thirdAppNumber:string,accountId:string,tenantId:string):SignInfoDto;
            }
            type SignInfoDto_ST = $.java.io.Serializable & CommDataDto_S & SignInfoDto_S;
            interface SignInfoDto_C extends SignInfoDto_ST {
                /**
                 * 默认构造方法
                 */
                new():SignInfoDto;
            }
            interface SignInfoDto$ {
                /**
                 * 设置签名随机数
                 * @param signatureNonce 设置签名随机数
                 */
                setSignatureNonce(signatureNonce:string):void;
                /**
                 * 设置时间戳
                 * @param dateTime 时间戳
                 */
                setDateTime(dateTime:string):void;
                /**
                 * 获取时间戳
                 * @return 时间戳
                 */
                getDateTime():string;
                /**
                 * 设置签名内容
                 * @param content 签名内容
                 */
                setContent(content:string):void;
                /**
                 * 获取签名
                 * @return 签名
                 */
                getSignature():string;
                /**
                 * 获取签名内容
                 * @return 签名内容
                 */
                getContent():string;
                /**
                 * 获取签名随机数
                 * @return 签名随机数
                 */
                getSignatureNonce():string;
                /**
                 * 设置签名
                 * @param signature 签名
                 */
                setSignature(signature:string):void;
            }
            type SignInfoDto_T = $.java.io.Serializable & CommDataDto & SignInfoDto$;
            interface SignInfoDto extends SignInfoDto_T {
            }
            interface CommDataDto_S {
            }
            type CommDataDto_ST = $.java.io.Serializable & CommDataDto_S;
            interface CommDataDto_C extends CommDataDto_ST {
                /**
                 * 默认构造方法
                 */
                new():CommDataDto;
                /**
                 * 根据第三方应用编码thirdAppNumber，数据中心accountId和租户ID tenantId实例化对象
                 * @param thirdAppNumber 第三方应用编码
                 * @param accountId 数据中心
                 * @param tenantId 租户ID
                 */
                new(thirdAppNumber:string,accountId:string,tenantId:string):CommDataDto;
            }
            interface CommDataDto$ {
                /**
                 * 获取第三方应用ID
                 * @return 第三方应用ID
                 */
                getThirdId():long;
                /**
                 * 获取租户ID
                 * @return 租户ID
                 */
                getTenantId():string;
                /**
                 * 获取认证类型
                 * @return 认证类型
                 */
                getAuthType():string;
                /**
                 * 设置认证类型
                 * @param authType 认证类型
                 */
                setAuthType(authType:string):void;
                /**
                 * 设置第三方应用编码
                 * @param thirdAppNumber 第三方应用编码
                 */
                setThirdAppNumber(thirdAppNumber:string):void;
                /**
                 * 设置租户ID
                 * @param tenantId 租户ID
                 */
                setTenantId(tenantId:string):void;
                /**
                 * 获取第三方应用编码
                 * @return 第三方应用编码
                 */
                getThirdAppNumber():string;
                /**
                 * 设置请求URL
                 * @param url 请求URL
                 */
                setUrl(url:string):void;
                /**
                 * 设置请求参数
                 * @param params 请求参数
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 设置第三方应用ID
                 * @param thirdId 第三方应用ID
                 */
                setThirdId(thirdId:long):void;
                /**
                 * 获取数据中心ID
                 * @return 数据中心ID
                 */
                getAccountId():string;
                /**
                 * 获取请求URL
                 * @return 请求URL
                 */
                getUrl():string;
                /**
                 * 获取请求参数
                 * @return 请求参数
                 */
                getParams():$.java.util.Map;
                /**
                 * 设置数据中心ID
                 * @param accountId 数据中心ID
                 */
                setAccountId(accountId:string):void;
            }
            type CommDataDto_T = $.java.io.Serializable & CommDataDto$;
            interface CommDataDto extends CommDataDto_T {
            }
            interface ResponseSecurityDto_S {
                /**
                 * 根据认证类型，返回数据，第三方应用ID，场景，数据中心ID，URL实例化对象
                 * @param auth 认证类型
                 * @param data 返回数据
                 * @param thirdId 第三方应用ID
                 * @param sense 场景
                 * @param accountId 数据中心ID
                 * @param url URL
                 * @return 实例化对象
                 */
                valueOf(auth:string,data:any,thirdId:string,sense:string,accountId:string,url:string):ResponseSecurityDto;
            }
            type ResponseSecurityDto_ST = $.java.io.Serializable & CommonSecurityDto_S & ResponseSecurityDto_S;
            interface ResponseSecurityDto_C extends ResponseSecurityDto_ST {
                /**
                 * 默认构造方法
                 */
                new():ResponseSecurityDto;
            }
            interface ResponseSecurityDto$ {
                /**
                 * 获取 data
                 * @return data
                 */
                getData():any;
                getHeaders():$.java.util.Map;
                setData(arg0:any):void;
                setHeaders(headers:$.java.util.Map):void;
            }
            type ResponseSecurityDto_T = $.java.io.Serializable & CommonSecurityDto & ResponseSecurityDto$;
            interface ResponseSecurityDto extends ResponseSecurityDto_T {
            }
        }
        namespace kd.bos.openapi.service.context{
            interface ServiceApiContext_S {
                getContext():ServiceApiContext;
                getResponse(arg0:any):kd.bos.openapi.api.model.OpenApiResponse;
                getResponse():kd.bos.openapi.api.model.OpenApiResponse;
                getRequest():kd.bos.openapi.api.model.OpenApiRequest;
            }
            interface ServiceApiContext_C extends ServiceApiContext_S {
            }
            interface ServiceApiContext$ {
            }
            type ServiceApiContext_T = ServiceApiContext$;
            interface ServiceApiContext extends ServiceApiContext_T {
            }
        }
        namespace kd.bos.openapi.service.custom.validation{
            interface ValidatorUtil_S {
                validateProperty(arg0:any,arg1:string,...arg2:$.java.lang.Class[]):$.java.util.Set;
                toMap(set_arg:$.java.util.Set):$.java.util.Map;
                validateValue(beanType:$.java.lang.Class,propertyName:string,value:any,...groups:$.java.lang.Class[]):$.java.util.Set;
                forExecutables():any;
                validate(arg0:any,...arg1:$.java.lang.Class[]):$.java.util.Set;
                getConstraintsForClass(clazz:$.java.lang.Class):any;
            }
            interface ValidatorUtil_C extends ValidatorUtil_S {
                new():ValidatorUtil;
            }
            interface ValidatorUtil$ {
            }
            type ValidatorUtil_T = ValidatorUtil$;
            interface ValidatorUtil extends ValidatorUtil_T {
            }
        }
        namespace kd.bos.org{
            interface OrgModule_S {
            }
            type OrgModule_ST = $.kd.sdk.module.Module & OrgModule_S;
            interface OrgModule_C extends OrgModule_ST {
                new():OrgModule;
            }
            interface OrgModule$ {
            }
            type OrgModule_T = $.kd.sdk.module.Module & OrgModule$;
            interface OrgModule extends OrgModule_T {
            }
        }
        namespace kd.bos.org.history{
            interface UserHistoryUtils_S {
                /**
                 * @param userIds
                 * @method saveUserHistory
                 * @description 保存用户历史记录
                 */
                saveUserHistory(userIds:$.java.util.List):void;
                /**
                 * @param userIds
                 * @return
                 * @method genUserHistoryObject
                 * @description 根据用户ID生成用户历史记录
                 */
                genUserHistoryObject(userIds:$.java.util.List):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * @param userIds
                 * @method saveUserHistory
                 * @description 保存用户历史记录
                 */
                saveUserHistory(userIds:$.java.util.List,asynchronous:boolean):void;
                /**
                 * @param userIds
                 * @method saveUserDeleteHistory
                 * @description 保存删除人员的历史记录：只更新修改日期（结束日期）
                 */
                saveUserDeleteHistory(userIds:$.java.util.List):void;
                /**
                 * @param userArr
                 * @param userIds
                 * @return
                 * @method copyUserToHistory
                 * @description 复制生成人员历史记录
                 */
                copyUserToHistory(userArr:$.kd.bos.dataentity.entity.DynamicObject[],userIds:$.java.util.List):$.kd.bos.dataentity.entity.DynamicObject[];
            }
            interface UserHistoryUtils_C extends UserHistoryUtils_S {
                new():UserHistoryUtils;
            }
            interface UserHistoryUtils$ {
            }
            type UserHistoryUtils_T = UserHistoryUtils$;
            interface UserHistoryUtils extends UserHistoryUtils_T {
            }
        }
        namespace kd.bos.org.model{
            interface ViewSchemaParam_S {
            }
            interface ViewSchemaParam_C extends ViewSchemaParam_S {
                new():ViewSchemaParam;
            }
            interface ViewSchemaParam$ {
                setStartDate(arg0:Date):void;
                getId():long;
                setViewTypeId(arg0:long):void;
                getNumber():string;
                setEndDate(arg0:Date):void;
                getName():string;
                setNumber(arg0:string):void;
                setCustomId(arg0:long):void;
                getEndDate():Date;
                setName(arg0:string):void;
                getStartDate():Date;
                getCustomId():long;
                getViewTypeId():long;
                setViewType(arg0:string):void;
                setId(arg0:long):void;
                getViewType():string;
            }
            type ViewSchemaParam_T = ViewSchemaParam$;
            interface ViewSchemaParam extends ViewSchemaParam_T {
            }
            interface OrgRelationParam_S {
                readonly DIRECT_VIEW_TYPE_GET_FROMORG:string;
                readonly DIRECT_VIEW_TYPE_GET_TOORG:string;
            }
            interface OrgRelationParam_C extends OrgRelationParam_S {
                new():OrgRelationParam;
            }
            interface OrgRelationParam$ {
                setNumber(arg0:string):void;
                setIncludeSelf(arg0:boolean):void;
                setFromViewType(arg0:string):void;
                getToViewType():string;
                getNumber():string;
                setToViewType(arg0:string):void;
                getFromViewType():string;
                getId():long;
                setId(arg0:long):void;
                isIncludeSelf():boolean;
                setOrgId(arg0:long):void;
                getDirectViewType():string;
                getOrgId():long;
                getOrgIds():$.java.util.List;
                setDirectViewType(arg0:string):void;
                setOrgIds(arg0:$.java.util.List):void;
            }
            type OrgRelationParam_T = OrgRelationParam$;
            interface OrgRelationParam extends OrgRelationParam_T {
            }
            class OrgTreeBuildType {
                static readonly SKIP_HIDDEN_PARENT_ALL:kd.bos.org.model.OrgTreeBuildType;
                static readonly FILL_HIDDEN_PARENT_ALL:kd.bos.org.model.OrgTreeBuildType;
                static readonly QUERY_ALL_AS_LIST:kd.bos.org.model.OrgTreeBuildType;
                static readonly FILL_HIDDEN_PARENT_DIRECT:kd.bos.org.model.OrgTreeBuildType;
                static values():kd.bos.org.model.OrgTreeBuildType[];
                static valueOf(arg0:string):kd.bos.org.model.OrgTreeBuildType;
            }
            interface BizViewQueryParam_S {
            }
            interface BizViewQueryParam_C extends BizViewQueryParam_S {
                new():BizViewQueryParam;
            }
            interface BizViewQueryParam$ {
                getCategory():string;
                setOnlyBaseType(arg0:boolean):void;
                setOnlyEnable(arg0:boolean):void;
                isOnlyEnable():boolean;
                setOnlyDefault(arg0:boolean):void;
                isOnlyDefault():boolean;
                isOnlyBaseMaintain():boolean;
                isOnlyBaseType():boolean;
                setCategory(arg0:string):void;
                isOnlyVisible():boolean;
                setOnlyVisible(arg0:boolean):void;
                getCustomFilter():$.kd.bos.orm.query.QFilter;
                setCustomFilter(arg0:$.kd.bos.orm.query.QFilter):void;
                setOnlyBaseMaintain(arg0:boolean):void;
            }
            type BizViewQueryParam_T = BizViewQueryParam$;
            interface BizViewQueryParam extends BizViewQueryParam_T {
            }
            interface OrgApiResult_S {
            }
            interface OrgApiResult_C extends OrgApiResult_S {
                new():OrgApiResult;
                new(arg0:boolean):OrgApiResult;
                new(arg0:boolean,arg1:string):OrgApiResult;
            }
            interface OrgApiResult$ {
                setCommitId(arg0:string):void;
                setResultList(arg0:$.java.util.List):void;
                getResultList():$.java.util.List;
                setNumber(arg0:string):void;
                setName(arg0:string):void;
                getId():long;
                setId(arg0:long):void;
                setErrorMsg(arg0:string):void;
                getErrorMsg():string;
                setSuccess(arg0:boolean):void;
                getNumber():string;
                isSuccess():boolean;
                getName():string;
                getCommitId():string;
            }
            type OrgApiResult_T = OrgApiResult$;
            interface OrgApiResult extends OrgApiResult_T {
            }
            interface OrgSeparation_S {
            }
            interface OrgSeparation_C extends OrgSeparation_S {
                new():OrgSeparation;
            }
            interface OrgSeparation$ {
                getFullNameSep():string;
                setLongNumberSep(arg0:string):void;
                setFullNameSep(arg0:string):void;
                getLongNumberSep():string;
            }
            type OrgSeparation_T = OrgSeparation$;
            interface OrgSeparation extends OrgSeparation_T {
            }
            interface OrgTreeParam_S {
            }
            interface OrgTreeParam_C extends OrgTreeParam_S {
                new():OrgTreeParam;
            }
            interface OrgTreeParam$ {
                getTreeBuildType():OrgTreeBuildType;
                getCustomLabelList():$.java.util.List;
                getCustomFilterList():$.java.util.List;
                isBuildRootNodeInRange():boolean;
                isCheckAbleInRange():boolean;
                getOrgViewId():long;
                setOrgViewType(arg0:string):void;
                setOrgRangeList(arg0:$.java.util.List):void;
                isMarkFreeze():boolean;
                setMarkNameMap(arg0:$.java.util.Map):void;
                setBuildRootNodeInRange(arg0:boolean):void;
                getDefaultLabelList():$.java.util.List;
                getOrgRangeList():$.java.util.List;
                setMarkFreeze(arg0:boolean):void;
                setTreeBuildType(arg0:OrgTreeBuildType):void;
                getId():long;
                setLockDisableType(arg0:boolean):void;
                setNameProperty(arg0:string):void;
                setOrgViewNumber(arg0:string):void;
                getOrderBy():string;
                setId(arg0:long):void;
                isLockDisableType():boolean;
                isIncludeDisable():boolean;
                isShowFullName():boolean;
                setOrderBy(arg0:string):void;
                getOrgViewType():string;
                setCheckAbleInRange(arg0:boolean):void;
                getMarkNameMap():$.java.util.Map;
                isReturnTreeNodeOrMap():boolean;
                setOrgViewId(arg0:long):void;
                getOrgViewNumber():string;
                setIncludeDisable(arg0:boolean):void;
                setCustomFilterList(arg0:$.java.util.List):void;
                isIncludeFreeze():boolean;
                isAddPermissionFilter():boolean;
                setAddPermissionFilter(arg0:boolean):void;
                setReturnTreeNodeOrMap(arg0:boolean):void;
                getNameProperty():string;
                setIncludeFreeze(arg0:boolean):void;
                setShowFullName(arg0:boolean):void;
            }
            type OrgTreeParam_T = OrgTreeParam$;
            interface OrgTreeParam extends OrgTreeParam_T {
            }
            interface OrgStructureEntity_S {
            }
            type OrgStructureEntity_ST = BaseEntity_S & OrgStructureEntity_S;
            interface OrgStructureEntity_C extends OrgStructureEntity_ST {
                new():OrgStructureEntity;
            }
            interface OrgStructureEntity$ {
                getOldFullname():string;
                getYzjParentId():string;
                setOrgId(arg0:long):void;
                isHR():boolean;
                getLevel():number;
                setLevel(arg0:number):void;
                setLongNumber(arg0:string):void;
                getYzjOrgId():string;
                getOldSortCode():long;
                setFreeze(arg0:boolean):void;
                isCtrlUnit():boolean;
                getFullname():string;
                getViewTreeType():string;
                isLeaf():boolean;
                setHR(arg0:boolean):void;
                setOldFullname(arg0:string):void;
                setParentId(arg0:long):void;
                setViewTreeType(arg0:string):void;
                getOrgId():long;
                setViewId(arg0:long):void;
                getLongNumber():string;
                setCtrlUnit(arg0:boolean):void;
                setStatSum(arg0:boolean):void;
                setYzjParentId(arg0:string):void;
                getSortCode():long;
                setYzjOrgId(arg0:string):void;
                getOldLongNumber():string;
                isFreeze():boolean;
                setFreezeTime(arg0:Date):void;
                setLeaf(arg0:boolean):void;
                setOldParentId(arg0:long):void;
                isStatSum():boolean;
                setSortCode(arg0:long):void;
                setOldLongNumber(arg0:string):void;
                setFullname(arg0:string):void;
                getViewId():long;
                getFreezeTime():Date;
                getOldParentId():long;
                getParentId():long;
                setOldSortCode(arg0:long):void;
            }
            type OrgStructureEntity_T = BaseEntity & OrgStructureEntity$;
            interface OrgStructureEntity extends OrgStructureEntity_T {
            }
            interface BaseEntity_S {
            }
            interface BaseEntity_C extends BaseEntity_S {
                new():BaseEntity;
            }
            interface BaseEntity$ {
                setId(arg0:long):void;
                getName():string;
                getId():long;
                getStatus():string;
                getCreatorId():long;
                getCreateTime():Date;
                getDisablerId():long;
                isEnable():boolean;
                setStartDate(arg0:Date):void;
                setModifyTime(arg0:Date):void;
                setDisablerId(arg0:long):void;
                setCreateTime(arg0:Date):void;
                setStatus(arg0:string):void;
                setModifierId(arg0:long):void;
                getEndDate():Date;
                setEndDate(arg0:Date):void;
                setCreatorId(arg0:long):void;
                setEnable(arg0:boolean):void;
                getStartDate():Date;
                setNumber(arg0:string):void;
                getDisableDate():Date;
                getModifierId():long;
                setName(arg0:string):void;
                getModifyTime():Date;
                getNumber():string;
                setDisableDate(arg0:Date):void;
            }
            type BaseEntity_T = BaseEntity$;
            interface BaseEntity extends BaseEntity_T {
            }
            interface OrgDuty_S {
            }
            interface OrgDuty_C extends OrgDuty_S {
                new():OrgDuty;
            }
            interface OrgDuty$ {
                isUserDefine():boolean;
                setTreeType(arg0:string):void;
                setVisiable(arg0:boolean):void;
                getFieldName():string;
                getId():long;
                setId(arg0:long):void;
                setFieldName(arg0:string):void;
                isVisiable():boolean;
                setName(arg0:string):void;
                setPropertyName(arg0:string):void;
                setCategory(arg0:string):void;
                getTreeType():string;
                getCategory():string;
                setUserDefine(arg0:boolean):void;
                isDefault():boolean;
                setEnable(arg0:boolean):void;
                isEnable():boolean;
                setNumber(arg0:string):void;
                getName():string;
                setDefault(arg0:boolean):void;
                getNumber():string;
                getPropertyName():string;
            }
            type OrgDuty_T = OrgDuty$;
            interface OrgDuty extends OrgDuty_T {
            }
            interface CompanyParam_S {
            }
            interface CompanyParam_C extends CompanyParam_S {
                new():CompanyParam;
            }
            interface CompanyParam$ {
                getUniformSocialCreditCode():string;
                getAddress():string;
                setBankAccount(arg0:string):void;
                getName():string;
                getTaxRegNum():string;
                getBizScope():string;
                setEstablishmentDate(arg0:Date):void;
                setBizScope(arg0:string):void;
                getPhone():string;
                getRegisteredCapital():number;
                setBusinessTerm(arg0:Date):void;
                setName(arg0:string):void;
                setAddress(arg0:string):void;
                setType(arg0:string):void;
                getRepresentative():string;
                getBankAccount():string;
                getEstablishmentDate():Date;
                setRegisteredCapital(arg0:number):void;
                getBusinessTerm():Date;
                getType():string;
                getDepositBank():string;
                setPhone(arg0:string):void;
                setTaxRegNum(arg0:string):void;
                setRepresentative(arg0:string):void;
                setDepositBank(arg0:string):void;
                setUniformSocialCreditCode(arg0:string):void;
            }
            type CompanyParam_T = CompanyParam$;
            interface CompanyParam extends CompanyParam_T {
            }
            interface OrgEntity_S {
            }
            type OrgEntity_ST = BaseEntity_S & OrgEntity_S;
            interface OrgEntity_C extends OrgEntity_ST {
                new():OrgEntity;
            }
            interface OrgEntity$ {
                setBudget(arg0:boolean):void;
                setYzjOrgId(arg0:string):void;
                getCustomOrgId():long;
                isAdministrative():boolean;
                setCustomOrgId(arg0:long):void;
                getMsg():string;
                isBudget():boolean;
                setOrgUnitStru(arg0:OrgStructureEntity):void;
                setAsset(arg0:boolean):void;
                getSimpleName():string;
                getOrgViewStru():OrgStructureEntity;
                setBankroll(arg0:boolean):void;
                setControlUnit(arg0:boolean):void;
                setOrgPatternId(arg0:long):void;
                setSettlement(arg0:boolean):void;
                isQC():boolean;
                isAsset():boolean;
                getCompany():CompanyParam;
                isSCC():boolean;
                getOldName():string;
                getOldNumber():string;
                setOldName(arg0:string):void;
                setInventory(arg0:boolean):void;
                isAccounting():boolean;
                isPurchase():boolean;
                setSimpleName(arg0:string):void;
                setPurchase(arg0:boolean):void;
                setMsg(arg0:string):void;
                getYzjOrgId():string;
                setSale(arg0:boolean):void;
                isSettlement():boolean;
                getPropertyMap():$.java.util.Map;
                setPropertyMap(arg0:$.java.util.Map):void;
                getDuty():OrgDuty;
                setHR(arg0:boolean):void;
                isYzjImorted():boolean;
                getOrgUnitStru():OrgStructureEntity;
                getDescription():string;
                isSuccess():boolean;
                setDescription(arg0:string):void;
                getOrgPatternId():long;
                isHR():boolean;
                isBankroll():boolean;
                setYzjImorted(arg0:boolean):void;
                isControlUnit():boolean;
                isProduce():boolean;
                setDuty(arg0:OrgDuty):void;
                setOldNumber(arg0:string):void;
                setProduce(arg0:boolean):void;
                isInventory():boolean;
                setAdministrative(arg0:boolean):void;
                setOrgViewStru(arg0:OrgStructureEntity):void;
                isSale():boolean;
                setAccounting(arg0:boolean):void;
                setCompany(arg0:CompanyParam):void;
                setSuccess(arg0:boolean):void;
                setSCC(arg0:boolean):void;
                setQC(arg0:boolean):void;
            }
            type OrgEntity_T = BaseEntity & OrgEntity$;
            interface OrgEntity extends OrgEntity_T {
            }
            class StatusEnum {
                static readonly TempSave:kd.bos.org.model.StatusEnum;
                static readonly UnChecked:kd.bos.org.model.StatusEnum;
                static readonly Checked:kd.bos.org.model.StatusEnum;
                static valueOf(arg0:string):kd.bos.org.model.StatusEnum;
                static values():kd.bos.org.model.StatusEnum[];
            }
            class EnableEnum {
                static readonly Enable:kd.bos.org.model.EnableEnum;
                static readonly Disable:kd.bos.org.model.EnableEnum;
                static values():kd.bos.org.model.EnableEnum[];
                static valueOf(arg0:string):kd.bos.org.model.EnableEnum;
            }
            interface OrgTreeSearchParam_S {
                readonly CACHE_KEY_RESULT_TOTAL:string;
                readonly CACHE_KEY_OLD_SEARCH_TEXT:string;
                readonly CACHE_KEY_OLD_VIEW_SCHEMA:string;
                readonly CACHE_KEY_SEARCH_NODES:string;
                readonly CACHE_KEY_PARENTID:string;
            }
            interface OrgTreeSearchParam_C extends OrgTreeSearchParam_S {
                new(searchText:string,listView:$.kd.bos.mvc.list.ListView,orgViewNumber:string):OrgTreeSearchParam;
                new(searchText:string,formView:$.kd.bos.form.IFormView,treeView:$.kd.bos.form.control.TreeView,rootNode:$.kd.bos.entity.tree.TreeNode,orgViewSchemaId:long):OrgTreeSearchParam;
                new(searchText:string,formView:$.kd.bos.form.IFormView,treeView:$.kd.bos.form.control.TreeView,rootNodeCacheKey:string,orgViewSchemaId:long):OrgTreeSearchParam;
                new(searchText:string,formView:$.kd.bos.form.IFormView,treeView:$.kd.bos.form.control.TreeView,rootNodeCacheKey:string,orgViewNumber:string):OrgTreeSearchParam;
            }
            interface OrgTreeSearchParam$ {
                isSearchById():boolean;
                getTreeView():$.kd.bos.form.control.TreeView;
                getPageCache():$.kd.bos.form.IPageCache;
                setQueryBeforeExpend(queryBeforeExpend:boolean):void;
                setOrgViewNumber(orgViewNumber:string):void;
                getRootNodeCacheKey():string;
                isClickNode():boolean;
                getFormView():$.kd.bos.form.IFormView;
                setOrgRangeList(orgRangeList:$.java.util.List):void;
                setSearchById(searchById:boolean):void;
                setSearchText(searchText:string):void;
                getOrgRangeList():$.java.util.List;
                getSearchText():string;
                getOrgFilterList():$.java.util.List;
                setOrgFilterList(orgFilterList:$.java.util.List):void;
                setFormView(formView:$.kd.bos.form.IFormView):void;
                setTreeView(treeView:$.kd.bos.form.control.TreeView):void;
                setPageCache(pageCache:$.kd.bos.form.IPageCache):void;
                getOrgViewNumber():string;
                setRootNodeCacheKey(rootNodeCacheKey:string):void;
                setClickNode(clickNode:boolean):void;
                getRootNode():$.kd.bos.entity.tree.TreeNode;
                isQueryBeforeExpend():boolean;
                getCheckNodeIds():$.java.util.List;
            }
            type OrgTreeSearchParam_T = OrgTreeSearchParam$;
            interface OrgTreeSearchParam extends OrgTreeSearchParam_T {
            }
        }
        namespace kd.bos.org.service.common{
            interface OrgManagerUtils_S {
                /**
                 * @param obj
                 * @method genCommonField
                 * @description 数据库新增共通信息
                 */
                genCommonField(obj:$.kd.bos.dataentity.entity.DynamicObject,isAddnew:boolean):void;
                /**
                 * @param obj
                 * @method genCommonField
                 * @description 数据库新增共通信息
                 */
                genCommonField(obj:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * @param orgIds
                 * @method saveHistory
                 * @description 保存历史数据
                 */
                saveHistory(orgIds:$.java.util.List):void;
                /**
                 * @return
                 * @method getAllDuty
                 * @description 获取所有的组织职能
                 */
                getAllDuty():$.java.util.Map;
                /**
                 * @return
                 * @method getOrgStrucSelectFields
                 * @description 获取通用的组织结构查询字段
                 */
                getOrgStrucSelectFields():string;
                /**
                 * 保存组织结构历史
                 *
                 * @param orgViewNumber
                 * @param orgIds
                 */
                saveOrgStructureHistory(orgViewNumber:string,orgIds:$.java.util.List):void;
                /**
                 * @param orgStru
                 * @param propertyMap
                 * @return
                 * @method genOrgStructure
                 * @description 生成组织视图结构信息
                 */
                genOrgStructure(orgStru:$.kd.bos.dataentity.entity.DynamicObject,propertyMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * @param srcNumber
                 * @param isAdminOrg
                 * @return
                 * @method getOrgNumber
                 * @description 源编码为空时根据编码规则获得编码
                 */
                getOrgNumber(srcNumber:string,isAdminOrg:boolean):string;
                /**
                 * @param orgEntityList
                 * @method deleteOrgStructure
                 * @description 删除组织组织能力
                 */
                deleteOrgStructure(orgEntityList:$.java.util.List):void;
                /**
                 * @param srcNumber
                 * @return
                 * @method getOrgNumber
                 * @description 源编码为空时根据编码规则获得编码
                 */
                getOrgNumber(srcNumber:string):string;
                /**
                 * 保存组织结构历史
                 *
                 * @param orgViewNumber
                 * @param orgIds
                 */
                saveOrgStructureDeleteHistory(orgViewNumber:string,orgIds:$.java.util.List):void;
                /**
                 * @param orgUnitObj
                 * @param propertyMap
                 * @method genOrgUnit
                 * @description 生成业务单元信息
                 */
                genOrgUnit(orgUnitObj:$.kd.bos.dataentity.entity.DynamicObject,propertyMap:$.java.util.Map):void;
                /**
                 * @param fullname
                 * @return
                 * @method getOrgUnitByFullname
                 * @description 根据组织长名称获取业务单元组织结构信息
                 */
                getOrgUnitByFullname(fullname:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * @param orgId
                 * @method saveHistory
                 * @description 保存历史数据
                 */
                saveHistory(orgId:long):void;
                /**
                 * @param obj
                 * @param isAddnew
                 * @method genOrgCommonField
                 * @description 数据库新增组织共通信息
                 */
                genOrgCommonField(obj:$.kd.bos.dataentity.entity.DynamicObject,isAddnew:boolean):void;
                /**
                 * @param orgIds
                 * @method saveHistory
                 * @description 保存历史数据
                 */
                saveHistory(orgViewNumber:string,orgIds:$.java.util.List):void;
                /**
                 * @param orgIds 组织ID列表
                 * @return
                 * @method freezeOrg
                 * @description 封存组织
                 */
                freezeOrg(orgIds:$.java.util.List,errorMsg:$.java.util.List):boolean;
                /**
                 * 更新组织职能
                 *
                 * @param orgEntity
                 * @param isChecked
                 */
                updateOrgDuty(orgEntity:kd.bos.org.model.OrgEntity,isChecked:boolean):void;
                /**
                 * @param orgIds
                 * @param isEnable
                 * @method updateOrgEnable
                 * @description 更新组织单元使用状态
                 */
                updateOrgEnable(orgIds:$.java.util.List,isEnable:boolean):void;
                /**
                 * @return
                 * @method getOrgSelectFields
                 * @description 获取通用的组织查询字段
                 */
                getOrgSelectFields():string;
                /**
                 * @return
                 * @method getAllViewSchema
                 * @description 获取所有视图维护方案
                 */
                getAllViewSchema():$.java.util.Map;
            }
            interface OrgManagerUtils_C extends OrgManagerUtils_S {
                new():OrgManagerUtils;
            }
            interface OrgManagerUtils$ {
            }
            type OrgManagerUtils_T = OrgManagerUtils$;
            interface OrgManagerUtils extends OrgManagerUtils_T {
            }
        }
        namespace kd.bos.org.utils{
            interface OrgViewUtils_S {
                /**
                 * @param parentIds
                 * @param isLeaf
                 * @method doUpdateParentIsLeaf
                 * @description 更新上级组织为叶子节点
                 */
                doUpdateParentIsLeaf(parentIds:$.java.util.List,isLeaf:boolean):void;
                /**
                 * @param orgIds     组织ID
                 * @param newNameMap 组织新名称集合：组织ID-新名称
                 * @method updateOrgName
                 * @description 更新组织名称
                 */
                updateOrgName(orgIds:$.java.util.List,newNameMap:$.java.util.Map):void;
                /**
                 * 判断组织编码是否存在
                 *
                 * @param orgId
                 * @param number
                 * @return
                 */
                isOrgNumberExists(orgId:long,number_arg:string):string;
                /**
                 * @param orgViewType      组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param selectProperties 查询的属性
                 * @param longNumberList   组织长编码集合
                 * @param isIncludeCurOrg  结果是否包含当前组织
                 * @return
                 * @method getSubOrgByLongNumber
                 * @description 根据组织长编码获取下级组织对象集合(包括孙子组织)
                 */
                getSubOrgByLongNumber(orgViewType:string,longNumberList:$.java.util.List,selectProperties:string,orderBy:string,isIncludeCurOrg:boolean):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 校验名称分隔符是否包含系统保留字符
                 *
                 * @param name
                 * @param currentFullNameSep
                 * @param checkCurrent
                 * @return
                 */
                getOrgNameReserveChar(name:string,currentFullNameSep:string,checkCurrent:boolean):$.java.util.List;
                /**
                 * @return
                 * @method getRootOrgFullNameByParentId
                 * @description 获取根组织的长名称
                 */
                getRootOrgFullNameByParentId():string;
                /**
                 * @param orgIds
                 * @return Map<组织ID ， 云之家格式的长名称>
                 * @method getOrgYzjFullname
                 * @description 获取组织云之家长名称
                 */
                getOrgYzjFullname(orgIds:$.java.util.List):$.java.util.Map;
                /**
                 * @param orgViewType     组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param longNumberList  长编码集合
                 * @param isIncludeCurOrg 结果是否包含当前组织
                 * @param otherFilter     其他过滤条件
                 * @return
                 * @method getSubOrgIdByLongNumber
                 * @description 根据组织长编码获取所有下级组织的ID集合(包括孙子组织)
                 */
                getSubOrgIdByLongNumber(orgViewType:string,longNumberList:$.java.util.List,isIncludeCurOrg:boolean,otherFilter:$.kd.bos.orm.query.QFilter):$.java.util.List;
                /**
                 * @param name
                 * @return
                 * @method isOrgNameValid
                 * @method fullNameSep
                 * @description 判断组织名称的有效性
                 */
                isOrgNameValid(name:string,fullNameSep:string):string;
                /**
                 * @param orgIds      组织ID列表
                 * @param isDeleteYzj 是否删除云之家的组织
                 * @return
                 * @method freezeOrg
                 * @description 封存组织
                 */
                freezeOrg(orgIds:$.java.util.List,isDeleteYzj:boolean,errorMsg:$.java.util.List):boolean;
                /**
                 * @param view
                 * @param str
                 * @return
                 * @method isOrgNameValid
                 * @description 判断组织名称的有效性
                 */
                isOrgNameValid(view:$.kd.bos.form.IFormView,str:string):boolean;
                /**
                 * @param orgViewType      组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param selectProperties 查询的属性
                 * @param orgIds           组织ID集合
                 * @param isIncludeCurOrg  结果是否包含当前组织
                 * @return
                 * @method getSubOrgIncludeGrand
                 * @description 根据组织ID获取下级组织对象集合(包括孙子组织)
                 */
                getSubOrgIncludeGrand(orgViewType:string,orgIds:$.java.util.List,selectProperties:string,orderBy:string,isIncludeCurOrg:boolean):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * @param longNumberList
                 * @param isIncludeCurOrg
                 * @return
                 * @method genSoleLongNumberFilter
                 * @description 生成去重复后的长编码的过滤条件
                 */
                genSoleLongNumberFilter(longNumberList:$.java.util.List,isIncludeCurOrg:boolean):$.kd.bos.orm.query.QFilter;
                /**
                 * @param orgViewType 组织视图类型
                 * @return
                 * @method getOrgViewFilter
                 * @description 根据组织视图类型获取查询条件
                 */
                getOrgViewFilter(orgViewType:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 判断组织名称的有效性
                 *
                 * @param name
                 * @param separation
                 * @param enableLangMap
                 * @param currentLang
                 * @return
                 */
                isOrgNameValid(name:$.kd.bos.dataentity.entity.ILocaleString,separation:string,enableLangMap:$.java.util.Map,currentLang:$.kd.bos.lang.Lang):string;
                /**
                 * @param longnumber
                 * @return
                 * @method getAllSuperiorLongnumber
                 * @description 获取所有上级组织的长编码
                 */
                getAllSuperiorLongnumber(longnumber:string):$.java.util.List;
                /**
                 * @param orgIds     组织ID
                 * @param newNameMap 组织新名称集合：组织ID-新名称
                 * @method updateOrgFullName
                 * @description 更新组织长名称
                 */
                updateOrgFullName(orgIds:$.java.util.List,newNameMap:$.java.util.Map):void;
                /**
                 * @param orgIds
                 * @method updateParentIsLeaf
                 * @description 更新上级组织信息：如果当前删除组织的上级组织没有其他的下级组织，则将该上级组织的是否叶子节点更新为“是”
                 */
                updateParentIsLeaf(orgIds:$.java.util.List):void;
                /**
                 * @param orgViewType
                 * @param isAllEnable
                 * @param isUnFreeze
                 * @return
                 * @method getAllOrgId
                 * @description 根据视图类型查询所有的组织
                 */
                getAllOrgId(orgViewType:string,isAllEnable:boolean,isUnFreeze:boolean):$.java.util.List;
                /**
                 * @param orgViewType      组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param selectProperties 查询的属性
                 * @param orgIds           组织ID集合
                 * @param isIncludeCurOrg  结果是否包含当前组织
                 * @return
                 * @method getSubOrg
                 * @description 根据组织ID获取下级组织对象集合
                 */
                getSubOrg(orgViewType:string,orgIds:$.java.util.List,selectProperties:string,orderBy:string,isIncludeCurOrg:boolean):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * @param orgViewNumber
                 * @return
                 * @method getOrgViewNumberFilter
                 * @description 根据组织视图方案编码获取查询条件
                 */
                getOrgViewNumberFilter(orgViewNumber:string):$.kd.bos.orm.query.QFilter;
                /**
                 * @param str
                 * @return
                 * @method isOrgNumberValid
                 * @description 判断组织编码的有效性
                 */
                isOrgNumberValid(str:string):string;
                /**
                 * @param view
                 * @param str
                 * @return
                 * @method isOrgNumberValid
                 * @description 判断组织编码的有效性
                 */
                isOrgNumberValid(view:$.kd.bos.form.IFormView,str:string):boolean;
                /**
                 * @param parentIds
                 * @param orgIds
                 * @param isIncludeCurOrg 是否包含上级组织
                 * @method updateParentIsLeaf
                 * @description 更新上级组织信息：如果当前删除组织的上级组织没有其他的下级组织，则将该上级组织的是否叶子节点更新为“是”
                 */
                updateParentIsLeaf(parentIds:$.java.util.List,orgIds:$.java.util.List,isIncludeCurOrg:boolean):void;
                /**
                 * @param orgViewType
                 * @throws Exception
                 * @method updateViewParent
                 * @description 更新组织视图的上级
                 */
                updateViewParent(orgViewType:string):void;
                /**
                 * @param level 组织级数
                 * @param sort  组织顺序码
                 * @return
                 * @method getOrgSortCode
                 * @description 获取组织的排序码：组织级数*排序系数+组织顺序码
                 */
                getOrgSortCode(level:number,sort:number):number;
                /**
                 * 校验名称分隔符是否包含系统保留字符
                 *
                 * @param name
                 * @param enableLangMap
                 * @param separation
                 * @param checkCurrent
                 * @return
                 */
                getOrgNameReserveChar(name:$.kd.bos.dataentity.entity.ILocaleString,enableLangMap:$.java.util.Map,separation:string,checkCurrent:boolean):$.java.util.Map;
                /**
                 * 判断编码是否合法
                 *
                 * @return
                 */
                isNumberUnSupport(view:$.kd.bos.form.IFormView,number_arg:string,check:boolean):boolean;
                /**
                 * @param orgIds
                 * @return Map<组织ID ， 云之家组织ID>
                 * @method getOrgYzjId
                 * @description 获取组织云之家长名称
                 */
                getOrgYzjId(orgIds:$.java.util.List):$.java.util.Map;
                /**
                 * @param orgViewType     组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param orgIds          组织ID集合
                 * @param isIncludeCurOrg 结果是否包含当前组织
                 * @param otherFilter     其他过滤条件
                 * @return
                 * @method getSubOrgId
                 * @description 根据组织ID获取下一级组织的ID集合
                 */
                getSubOrgId(orgViewType:string,orgIds:$.java.util.List,isIncludeCurOrg:boolean,otherFilter:$.kd.bos.orm.query.QFilter):$.java.util.List;
                /**
                 * @param level 组织级数
                 * @return
                 * @method getNewOrgSortCode
                 * @description 获取组织的排序码：组织级数*排序系数+组织顺序码
                 */
                getNewOrgSortCode(level:number):number;
                /**
                 * @param number
                 * @return
                 * @method isOrgNumberValid
                 * @method longNumberSep
                 * @description 判断组织编码的有效性
                 */
                isOrgNumberValid(number_arg:string,longNumberSep:string):string;
                /**
                 * @param obj
                 * @param isHasCreator
                 * @method genCommonField
                 * @description 数据库新增通用信息
                 */
                genCommonField(obj:$.kd.bos.dataentity.entity.DynamicObject,isHasCreator:boolean):void;
                /**
                 * @param str
                 * @return
                 * @method isOrgNameValid
                 * @description 判断组织名称的有效性
                 */
                isOrgNameValid(str:string):string;
                /**
                 * @param longNumberList  组织长编码集合
                 * @param isIncludeCurOrg 是否包含当前组织
                 * @return
                 * @method genLongNumberFilter
                 * @description 生成长编码的过滤条件
                 */
                genLongNumberFilter(longNumberList:$.java.util.List,isIncludeCurOrg:boolean):$.kd.bos.orm.query.QFilter;
                /**
                 * @param orgViewType      组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param selectProperties 查询的属性
                 * @param orgIds           组织ID集合
                 * @param isIncludeCurOrg  结果是否包含当前组织
                 * @param isIncludeGrand   是否包含孙子组织
                 * @return
                 * @method getSubOrg
                 * @description 根据组织ID获取下级组织对象集合
                 */
                getSubOrg(orgViewType:string,orgIds:$.java.util.List,selectProperties:string,orderBy:string,isIncludeCurOrg:boolean,isIncludeGrand:boolean):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 判断组织编码的有效性
                 *
                 * @param orgId
                 * @param number
                 * @return
                 */
                isOrgNumberValid(orgId:long,number_arg:string):string;
                /**
                 * @param orgViewType
                 * @return
                 * @method getOrgBiz
                 * @description 根据视图编码获取视图类型对象
                 */
                getOrgBiz(orgViewType:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * @param orgViewType     组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param orgIds          组织ID集合
                 * @param isIncludeCurOrg 结果是否包含当前组织
                 * @param otherFilter     其他过滤条件
                 * @return
                 * @method getSubOrgIdIncludeGrand
                 * @description 根据组织ID获取所有下级组织的ID集合(包括孙子组织)
                 */
                getSubOrgIdIncludeGrand(orgViewType:string,orgIds:$.java.util.List,isIncludeCurOrg:boolean,otherFilter:$.kd.bos.orm.query.QFilter):$.java.util.List;
                /**
                 * @return
                 * @method getRootOrgFullName
                 * @description 获取根组织的长名称
                 */
                getRootOrgFullName():string;
                /**
                 * @param orgViewType     组织视图类型（ kd.bos.orgview.model.OrgViewType ）
                 * @param orgIds          组织ID集合
                 * @param isIncludeCurOrg 结果是否包含当前组织
                 * @param isIncludeGrand  是否包含孙子组织
                 * @param otherFilter     其他过滤条件
                 * @return
                 * @method getSubOrgId
                 * @description 根据组织ID获取下级组织的ID集合
                 */
                getSubOrgId(orgViewType:string,orgIds:$.java.util.List,isIncludeCurOrg:boolean,isIncludeGrand:boolean,otherFilter:$.kd.bos.orm.query.QFilter):$.java.util.List;
                /**
                 * @param orgViewType
                 * @return
                 * @method getOrgBizProName
                 * @description 根据视图编码获取视图类型的属性名
                 */
                getOrgBizProName(orgViewType:string):string;
            }
            interface OrgViewUtils_C extends OrgViewUtils_S {
                new():OrgViewUtils;
            }
            interface OrgViewUtils$ {
            }
            type OrgViewUtils_T = OrgViewUtils$;
            interface OrgViewUtils extends OrgViewUtils_T {
            }
            interface DynamicObjectUtils_S {
                /**
                 * 历史保存处理
                 *
                 * @param entityNumber
                 * @param ids
                 * @param copyHandler
                 */
                saveHistory(entityNumber:string,ids:$.java.util.List,copyHandler:kd.bos.base.utils.IBaseCallbackHandler):void;
                /**
                 * @param fromObj 源动态对象
                 * @param toObj   目标动态对象
                 * @method copy
                 * @description 复制动态对象（主键不复制）
                 */
                copy(fromObj:$.kd.bos.dataentity.entity.DynamicObject,toObj:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 获取元数据出厂对象类型
                 *
                 * @param entityNumber      元数据编码
                 * @param includeExtendProp 是否包含扩展字段
                 * @return
                 */
                getDynamicObjectType(entityNumber:string,includeExtendProp:boolean):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
                /**
                 * 历史保存处理
                 *
                 * @param entityNumber
                 * @param ids
                 * @param copyHandler
                 * @param historyHandler
                 */
                saveHistory(entityNumber:string,ids:$.java.util.List,copyHandler:kd.bos.base.utils.IBaseCallbackHandler,historyHandler:kd.bos.base.utils.IBaseCallbackHandler):void;
                /**
                 * @param fromObj     源动态对象
                 * @param toObj       目标动态对象
                 * @param ignoreKeys  排除的属性标识
                 * @param transKeyMap 要转换的属性标识<源ID,目标ID>，将源ID的值复制到目标ID属性上
                 * @method copy
                 * @description 复制动态对象（主键不复制）
                 */
                copy(fromObj:$.kd.bos.dataentity.entity.DynamicObject,toObj:$.kd.bos.dataentity.entity.DynamicObject,ignoreKeys:$.java.util.Set,transKeyMap:$.java.util.Map):void;
                /**
                 * @param fromObj     源动态对象
                 * @param toObj       目标动态对象
                 * @param transKeyMap 要转换的属性标识<源ID,目标ID>，将源ID的值复制到目标ID属性上
                 * @method copy
                 * @description 复制动态对象（主键不复制）
                 */
                copy(fromObj:$.kd.bos.dataentity.entity.DynamicObject,toObj:$.kd.bos.dataentity.entity.DynamicObject,transKeyMap:$.java.util.Map):void;
                /**
                 * 获取实体元数据
                 *
                 * @param entityNumber
                 * @return
                 */
                getEntityMetadata(entityNumber:string):$.kd.bos.metadata.entity.EntityMetadata;
                /**
                 * @param fromObj    源动态对象
                 * @param toObj      目标动态对象
                 * @param ignoreKeys 排除的属性标识
                 * @method copy
                 * @description 复制动态对象（主键不复制）
                 */
                copy(fromObj:$.kd.bos.dataentity.entity.DynamicObject,toObj:$.kd.bos.dataentity.entity.DynamicObject,ignoreKeys:$.java.util.Set):void;
            }
            interface DynamicObjectUtils_C extends DynamicObjectUtils_S {
                new():DynamicObjectUtils;
            }
            interface DynamicObjectUtils$ {
            }
            type DynamicObjectUtils_T = DynamicObjectUtils$;
            interface DynamicObjectUtils extends DynamicObjectUtils_T {
            }
            interface OrgTreeUtils_S {
                readonly PARAM_INIT_ROOT_ORG_ID:string;
                readonly CUSTOM_ROOT_ID:string;
                readonly CHECKBOX_SHOWALLORG:string;
                readonly ORG_TREE_TRIGGER_BY_SEARCH:string;
                readonly PARAM_INIT_ORG_ID:string;
                /**
                 * @param pageCache
                 * @param key
                 * @method removeSearchTreeNodeCache
                 * @description 清理搜索节点的缓存
                 */
                removeSearchTreeNodeCache(pageCache:$.kd.bos.form.IPageCache,key:string):void;
                /**
                 * 格式化组织树节点名称
                 *
                 * @param number
                 * @param name
                 * @return
                 */
                formatOrgTreeNodeName(number_arg:string,name:string):string;
                /**
                 * @param pageCache
                 * @method removeLoopSearchTreeNodeCache
                 * @description 清理循环搜索的缓存
                 */
                removeLoopSearchTreeNodeCache(pageCache:$.kd.bos.form.IPageCache):void;
                /**
                 * 展开上级节点
                 *
                 * @param treeView
                 * @param treeModel
                 * @param nodeId
                 */
                expandParentNode(treeView:$.kd.bos.form.control.TreeView,treeModel:$.kd.bos.entity.datamodel.ITreeModel,nodeId:string,loopController:$.java.util.List):void;
                /**
                 * @param rootNode
                 * @param nodeId
                 * @return
                 * @method getNode
                 * @description 根据节点ID获取节点
                 */
                getNode(rootNode:$.kd.bos.entity.tree.TreeNode,nodeId:any):$.kd.bos.entity.tree.TreeNode;
                /**
                 * @param parentId    上级节点ID
                 * @param orgViewType 组织视图类型
                 * @param otherFilter 其他过滤条件
                 * @param orderBy     排序
                 * @return
                 * @method queryChildNodesForUser
                 * @description 人员左树查询下级节点
                 */
                queryChildNodesForUser(parentId:string,orgViewType:string,otherFilter:$.kd.bos.orm.query.QFilter,orderBy:string):$.java.util.List;
                /**
                 * 判断是否需要定位左树节点
                 *
                 * @param evt
                 * @param pageCache
                 * @return
                 */
                focusTreeNodeAfterListRowClick(evt:$.kd.bos.list.events.ListRowClickEvent,pageCache:$.kd.bos.form.IPageCache):boolean;
                /**
                 * @param parentId    根节点的上级ID
                 * @param orgViewType 组织视图类型
                 * @return
                 * @method queryRootNode
                 * @description 查询根节点
                 */
                queryRootNode(parentId:string,orgViewType:string):$.kd.bos.entity.tree.TreeNode;
                /**
                 * @param pageCache
                 * @method removeAllSearchTreeNodeCache
                 * @description 清理所有搜索节点的缓存
                 */
                removeAllSearchTreeNodeCache(pageCache:$.kd.bos.form.IPageCache):void;
                /**
                 * @param formView
                 * @param key
                 * @method removeSearchTreeNodeCache
                 * @description 清理搜索节点的缓存
                 */
                removeSearchTreeNodeCache(formView:$.kd.bos.form.IFormView,key:string):void;
                /**
                 * 移除行数据点击的页面缓存
                 *
                 * @param pageCache
                 */
                removeListRowClickCache(pageCache:$.kd.bos.form.IPageCache):void;
                /**
                 * 执行“全部组织”复选框的点击操作
                 *
                 * @param view
                 * @param orgTreeParam
                 */
                fireClickShowAllOrgCheckBox(view:$.kd.bos.mvc.list.ListView,orgTreeParam:$.kd.bos.org.model.OrgTreeParam):void;
                /**
                 * @param nodeId
                 * @return
                 * @method getOrgNameByNodeId
                 * @description 根据节点ID获取组织名称
                 */
                getOrgNameByNodeId(nodeId:long):string;
                /**
                 * 从懒加载的组织树搜索
                 *
                 * @param searchParam
                 */
                searchFromLazyOrgTree(searchParam:kd.bos.org.model.OrgTreeSearchParam):void;
                /**
                 * 获取所有节点的ID
                 *
                 * @param node
                 * @param includeChild
                 * @param allNodeIds
                 */
                getAllNodeId(node:$.kd.bos.entity.tree.TreeNode,includeChild:boolean,allNodeIds:$.java.util.List):void;
                /**
                 * @param nodeId
                 * @param orgViewType
                 * @return
                 * @method genRootNodeByNodeId
                 * @description 根据节点ID生成根节点信息
                 */
                genRootNodeByNodeId(nodeId:string,orgViewType:string):$.kd.bos.entity.tree.TreeNode;
                /**
                 * 格式化组织树节点名称
                 *
                 * @param number
                 * @param name
                 * @param format
                 * @return
                 */
                formatOrgTreeNodeName(number_arg:string,name:string,format:string):string;
                /**
                 * @param parentId     上级节点ID
                 * @param orgViewType  组织视图类型
                 * @param otherFilter  其他过滤条件
                 * @param orderBy      排序
                 * @param isIncludeCur 是否包含当前节点
                 * @return
                 * @method getSubOrgByParentId
                 * @description 根据上级组织ID获取所有下级
                 */
                getSubOrgByParentId(parentId:string,orgViewType:string,otherFilter:$.kd.bos.orm.query.QFilter,orderBy:string,isIncludeCur:boolean):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 展开上级节点
                 *
                 * @param searchParam
                 * @param nodeId
                 * @param loopController
                 */
                expandParentNode(searchParam:kd.bos.org.model.OrgTreeSearchParam,nodeId:string,loopController:$.java.util.List):void;
                /**
                 * @param nodeId
                 * @param treeModel
                 * @return
                 * @method getNode
                 * @description 根据节点ID获取节点
                 */
                getNode(nodeId:any,treeModel:$.kd.bos.entity.datamodel.ITreeModel):$.kd.bos.entity.tree.TreeNode;
                /**
                 * 定位自定义的组织初始节点
                 *
                 * @param view
                 * @param viewNumber
                 */
                focusInitOrgTreeNode(view:$.kd.bos.mvc.list.ListView,viewNumber:string):void;
                /**
                 * 获取组织树节点名称显示格式
                 *
                 * @return
                 */
                getOrgTreeNodeFormat():string;
            }
            interface OrgTreeUtils_C extends OrgTreeUtils_S {
                new():OrgTreeUtils;
            }
            interface OrgTreeUtils$ {
            }
            type OrgTreeUtils_T = OrgTreeUtils$;
            interface OrgTreeUtils extends OrgTreeUtils_T {
            }
        }
        namespace kd.bos.orm{
            interface ORMHint_S {
            }
            interface ORMHint_C extends ORMHint_S {
                new():ORMHint;
            }
            interface ORMHint$ {
            }
            type ORMHint_T = ORMHint$;
            interface ORMHint extends ORMHint_T {
            }
            interface ORMHint$JoinHinter_S {
            }
            interface ORMHint$JoinHinter_C extends ORMHint$JoinHinter_S {
            }
            interface ORMHint$JoinHinter$ {
                hint(arg0:string):ORMHint$JoinHint;
            }
            type ORMHint$JoinHinter_T = ORMHint$JoinHinter$;
            interface ORMHint$JoinHinter extends ORMHint$JoinHinter_T {
            }
            interface ORMModule_S {
            }
            type ORMModule_ST = $.kd.sdk.module.Module & ORMModule_S;
            interface ORMModule_C extends ORMModule_ST {
                new():ORMModule;
            }
            interface ORMModule$ {
            }
            type ORMModule_T = $.kd.sdk.module.Module & ORMModule$;
            interface ORMModule extends ORMModule_T {
            }
            interface ORM_S {
            }
            interface ORM_C extends ORM_S {
            }
            interface ORM$ {
            }
            type ORM_T = ORM$;
            interface ORM extends ORM_T {
            }
            class ORMHint$JoinHint {
                static readonly DEFAULT:kd.bos.orm.ORMHint$JoinHint;
                static readonly INNER:kd.bos.orm.ORMHint$JoinHint;
                static readonly LEFT:kd.bos.orm.ORMHint$JoinHint;
                static values():kd.bos.orm.ORMHint$JoinHint[];
                static valueOf(arg0:string):kd.bos.orm.ORMHint$JoinHint;
            }
        }
        namespace kd.bos.orm.datamanager{
            interface IDataEntityCacheManager_S {
            }
            interface IDataEntityCacheManager_C extends IDataEntityCacheManager_S {
            }
            interface IDataEntityCacheManager$ {
                get(pks:any[]):$.java.util.Map;
                getDataEntityType():$.kd.bos.dataentity.metadata.IDataEntityType;
                /**
                 * 判断指定的数据内码，是否已经确认在数据库不存在（之前未加载成功）
                 * @param pk
                 * @return
                 */
                isNotExistPK?(pk:any):boolean;
            }
            type IDataEntityCacheManager_T = IDataEntityCacheManager$;
            interface IDataEntityCacheManager extends IDataEntityCacheManager_T {
            }
            interface DataManagerUtils_S {
            }
            interface DataManagerUtils_C extends DataManagerUtils_S {
                new():DataManagerUtils;
            }
            interface DataManagerUtils$ {
            }
            type DataManagerUtils_T = DataManagerUtils$;
            interface DataManagerUtils extends DataManagerUtils_T {
            }
            interface IDataManager_S {
            }
            interface IDataManager_C extends IDataManager_S {
            }
            interface IDataManager$ {
            }
            type IDataManager_T = IDataManager$;
            interface IDataManager extends IDataManager_T {
            }
            interface DataEntityCacheManager_S {
            }
            type DataEntityCacheManager_ST = DataEntityCacheManager_S & IDataEntityCacheManager_S;
            interface DataEntityCacheManager_C extends DataEntityCacheManager_ST {
                new(tableName:string):DataEntityCacheManager;
                new(dt:$.kd.bos.dataentity.metadata.IDataEntityType):DataEntityCacheManager;
            }
            interface DataEntityCacheManager$ {
            }
            type DataEntityCacheManager_T = DataEntityCacheManager$ & IDataEntityCacheManager;
            interface DataEntityCacheManager extends DataEntityCacheManager_T {
            }
            interface ReadWhere_S {
            }
            interface ReadWhere_C extends ReadWhere_S {
                /**
                 *     通过Where子句构建条件对象
                 *
                 *     @param where
                 */
                new(where:string):ReadWhere;
                /**
                 *     通过编号列表构建条件
                 *
                 *     @param ids
                 */
                new(ids:any[]):ReadWhere;
                /**
                 *     通过Where子句构建条件对象
                 *
                 *     @param where
                 *     @param where
                 */
                new(where:string,sqlParams:$.java.util.List):ReadWhere;
            }
            interface ReadWhere$ {
            }
            type ReadWhere_T = ReadWhere$;
            interface ReadWhere extends ReadWhere_T {
            }
        }
        namespace kd.bos.orm.datasync{
            interface DtsAccountPower_S {
                /**
                 * 返回当前上下文账套是否开启了数据传输功能
                 * @return
                 */
                isAccountDtsEnable():boolean;
            }
            interface DtsAccountPower_C extends DtsAccountPower_S {
                new():DtsAccountPower;
            }
            interface DtsAccountPower$ {
            }
            type DtsAccountPower_T = DtsAccountPower$;
            interface DtsAccountPower extends DtsAccountPower_T {
            }
        }
        namespace kd.bos.orm.query{
            interface WithEntityEntryDistinctable_S {
                /**
                 *  获取实例
                 * @return
                 */
                get():WithEntityEntryDistinctable;
            }
            type WithEntityEntryDistinctable_ST = Distinctable_S & WithEntityEntryDistinctable_S;
            interface WithEntityEntryDistinctable_C extends WithEntityEntryDistinctable_ST {
                new():WithEntityEntryDistinctable;
            }
            interface WithEntityEntryDistinctable$ {
            }
            type WithEntityEntryDistinctable_T = Distinctable & WithEntityEntryDistinctable$;
            interface WithEntityEntryDistinctable extends WithEntityEntryDistinctable_T {
            }
            interface EntityNotExistsException_S {
            }
            type EntityNotExistsException_ST = $.java.lang.RuntimeException & EntityNotExistsException_S;
            interface EntityNotExistsException_C extends EntityNotExistsException_ST {
                /**
                 * 实体不存在
                 * @param msg 详细消息（保存以供稍后通过getMessage（）方法检索）。
                 */
                new(msg:string):EntityNotExistsException;
                /**
                 * 实体不存在异常
                 * @param msg 详细消息（保存以供稍后通过getMessage（）方法检索）。
                 * @param cause 原因（由getCause（）方法保存以供以后检索）。（允许为空值，表示原因不存在或未知。）
                 */
                new(msg:string,cause:$.java.lang.Exception):EntityNotExistsException;
            }
            interface EntityNotExistsException$ {
            }
            type EntityNotExistsException_T = $.java.lang.RuntimeException & EntityNotExistsException$;
            interface EntityNotExistsException extends EntityNotExistsException_T {
            }
            interface QFilterHint_S {
                readonly NOT_CONTAINS:NotLikeHint;
                readonly ENDWITH:LikeHint;
                readonly STARTWITH:LikeHint;
                readonly FTLIKE_STARTWITH:FTLikeHint;
                readonly FTLIKE_CONTAINS:FTLikeHint;
                readonly CONTAINS:LikeHint;
            }
            type QFilterHint_ST = $.java.io.Serializable & QFilterHint_S;
            interface QFilterHint_C extends QFilterHint_ST {
            }
            interface QFilterHint$ {
                equals(hint:any):boolean;
            }
            type QFilterHint_T = $.java.io.Serializable & QFilterHint$;
            interface QFilterHint extends QFilterHint_T {
            }
            interface NotLikeHint_S {
                NOT_CONTAINS:NotLikeHint;
            }
            type NotLikeHint_ST = NotLikeHint_S & QFilterHint_S;
            interface NotLikeHint_C extends NotLikeHint_ST {
                new():NotLikeHint;
            }
            interface NotLikeHint$ {
                isEscape():boolean;
                isAppendRightPercent():boolean;
                isAppendLeftPercent():boolean;
                reverse():LikeHint;
            }
            type NotLikeHint_T = NotLikeHint$ & QFilterHint;
            interface NotLikeHint extends NotLikeHint_T {
            }
            interface ORMException_S {
                readonly tableEmpty:$.kd.bos.exception.ErrorCode;
                readonly exceedToDynamicMaxSize:$.kd.bos.exception.ErrorCode;
                readonly entityNotExists:$.kd.bos.exception.ErrorCode;
                readonly excessiveInParameters:$.kd.bos.exception.ErrorCode;
                readonly allNullQFilter:$.kd.bos.exception.ErrorCode;
                readonly crossDBOrDeepth:$.kd.bos.exception.ErrorCode;
                readonly excessiveDataFromEs:$.kd.bos.exception.ErrorCode;
                readonly fieldNotExists:$.kd.bos.exception.ErrorCode;
            }
            type ORMException_ST = $.kd.bos.exception.KDException & ORMException_S;
            interface ORMException_C extends ORMException_ST {
                /**
                 * 构造函数
                 * @param errorCode 错误码
                 * @param args 错误信息参数
                 */
                new(errorCode:$.kd.bos.exception.ErrorCode,args:any[]):ORMException;
                /**
                 * 构造函数
                 * @param errorCode 错误码
                 * @param oql orm中的oql信息
                 * @param arg 错误信息参数
                 * @param cause 异常
                 */
                new(errorCode:$.kd.bos.exception.ErrorCode,oql:string,arg:string,cause:$.java.lang.Throwable):ORMException;
            }
            interface ORMException$ {
                /**
                 * 获取oql信息
                 * @return oql
                 */
                getOql():string;
            }
            type ORMException_T = $.kd.bos.exception.KDException & ORMException$;
            interface ORMException extends ORMException_T {
            }
            interface QFilter_S {
                /**
                 * 3.join on by filter：纯用QFilter指定join关系和on条件。
                 * <p>
                 * <p>
                 * 不可与其他Filter拼连：joinFilter务必独自一条链(否则会导致join
                 * on条件失效，与在where的语义是不一样的)，本身的条件用本方法的filter过滤。
                 *
                 * <pre>
                 * {@code
                 *
                 * Join的用法：
                 *
                 * f1=QFilter.join("a","B.b",QFilter.of("B.number='abc'"));
                 *
                 * f2=QFilter.of("billno like ?","N%");
                 *
                 * orm.queryDataSet("","A","id,B.status",new QFilter[]{f1,f2});
                 *
                 * 翻译出SQL：
                 *
                 * select A.id,B.status from A
                 *
                 * inner join B on B.b=A.a and B.number='abc'
                 *
                 * where A.billno like 'N%'
                 *
                 * }
                 *
                 * @param filter
                 *            不支持嵌套join条件
                 */
                join(property:string,joinEntityProperty:string,filter:QFilter):QFilter;
                /**
                 * 生成is null的条件
                 *
                 * @param property 属性
                 * @return QFilter
                 */
                isNull(property:string):QFilter;
                /**
                 * 创建 like 过滤条件，如果值没有加 `%`、`_` 通配符则自动在值的前后加 `%`
                 *
                 * @param property 属性
                 * @param value    值
                 * @return 过滤条件 QFilter
                 */
                like(property:string,value:string):QFilter;
                /**
                 * <p>
                 * 生成not exists  QFilter。
                 * 其中refObjectFilter默认为子查询QFilter，主查询的条件就只有where not exists
                 *
                 * @param fkProperty      来接字段
                 * @param refObjectFilter 默认为子查询filter,不需要再写子实体前缀
                 * @return QFilter
                 */
                notExists(fkProperty:string,refObjectFilter:QFilter):QFilter;
                /**
                 * 全文检索匹配多值 ，多值用空格分隔，值之间为and关系。
                 * @param values 快速搜索的值集合
                 * @param properties 属性集合
                 * @return QFilter
                 */
                ftlikeMultiValue(values:string[],...properties:string[]):QFilter;
                /**
                 * 全文检索方式过滤，properties之间为or关系，每个property为单据或分录或子分录的属性，或为其引用基础资料的属性(一级)。
                 * @param values 快速搜索的值结合，可以同时匹配多个值
                 * @param properties 属性集合
                 * @return QFilter
                 */
                ftlike(values:string[],...properties:string[]):QFilter;
                /**
                 * 生成is not null的条件
                 *
                 * @param property 属性
                 * @return QFilter
                 */
                isNotNull(property:string):QFilter;
                /**
                 * 创建 not like 过滤条件，如果值没有加 `%`、`_` 通配符则自动在值的前后加 `%`
                 *
                 * @param property 属性
                 * @param value    值
                 * @return 过滤条件 QFilter
                 */
                notLike(property:string,value:string):QFilter;
                /**
                 * 多层级分录或者基础资料 属性不包含 xxx 查询结果包含空的情况
                 *
                 * @param property 属性字段 eg: entry.name
                 * @param value    所选属性不包含的值
                 * @return QFilter
                 */
                notLikeContainsEmpty(property:string,value:string):QFilter;
                /**
                 * 多层级分录或者基础资料 属性不等于 xxx 查询结果包含空的情况
                 *
                 * @param property 属性字段 eg: entry.name
                 * @param value    所选属性不等于的值
                 * @return QFilter
                 */
                notEqualsContainsEmpty(property:string,value:string):QFilter;
                /**
                 * 多层级分录或者基础资料 属性 not in (xxx) 查询结果包含空的情况
                 *
                 * @param property 属性字段 eg: entry.name
                 * @param value    所选属性not in的值
                 */
                notInContainsEmpty(property:string,value:any):QFilter;
                /**
                 * 1. join on by sql
                 *
                 * <pre>
                 * 使用限制：
                 *
                 * 1) join的表必须与实体对应的表在同一个数据库。
                 *
                 * 2) joinSQL中的表别名不能与orm自动产生的表别名冲突，因此应避免用别名：A-Z，T1、T2、T3..., 建议用两个字母。
                 *
                 * 3) 仅join，join的表无法在其他地方使用，如select
                 * field、filter。如果需要使用，请构造动态元数据，用QFilter.join方法。
                 *
                 * @param joinEntity
                 *            主实体名称(多级用.分割)
                 * @param joinSQL
                 *            如：inner join t_xx_xx X1 on X1.fid=joinEntity.fid and X1.fnumber
                 *            like ?
                 *
                 *            (关联条件要用：实体全名.字段名)
                 *
                 * @param params
                 *            ?的参数值
                 * @return QFilter
                 */
                joinSQL(joinEntity:string,joinSQL:string,params:any[]):QFilter;
                /**
                 * 过滤某属性不存在值的条件(is null or = ' ')或者(is null or = 0)
                 * 一般属性某基础资料，譬如查询某单据存在基础资料的数据
                 * @param refEntityPKProperty 必须为主键属性
                 * @return QFilter
                 */
                notExists(refEntityPKProperty:string):QFilter;
                /**
                 * 构建一个Join QFilter，可以构建一个inner join的表连接
                 *
                 * @param property 实体的某个字段
                 * @param joinEntityProperty 实体的某个字段
                 * @return QFilter
                 */
                join(property:string,joinEntityProperty:string):QFilter;
                /**
                 * join on by meta defined(IJoinProperty)：join关系在元数据中已定义
                 * (用IJoinProperty属性)，增加joinOnFilter条件。
                 *  @param joinOnEntityPath 设置和主实体连接的字段
                 *  @param joinOnFilter 已存在的Join QFilter
                 *  @return QFilter
                 */
                filterOnMetaJoinProperty(joinOnEntityPath:string,joinOnFilter:QFilter):QFilter;
                /**
                 *  通过表达式构建 QFilter
                 * <p>
                 *  <strong>注意：</strong>
                 *  <li>表达式中如果有字段进行比较的条件，那么两个字段之前不能跨库;</li>
                 *  </p>
                 *  @param exp    表达式
                 *  @param params 参数
                 *  @return QFilter
                 */
                of(exp:string,...params:any[]):QFilter;
                /**
                 * 从序列化的字符串构造出 QFilter 对象
                 * <p>
                 * <strong>注意：</strong>
                 * <li>QFilter的反序列化必须使用此方法！当然必须对应的序列化方法要使用QFilter.toSerializedString()。</li>
                 * </p>
                 * @param s QFilter.toSerializedString()输出的序列化字符串
                 * @return QFilter
                 */
                fromSerializedString(s:string):QFilter;
                /**
                 * 全文检索方式过滤，properties之间为or关系，每个property为单据或分录或子分录的属性，或为其引用基础资料的属性(一级)。
                 * @param value 快速搜索的值
                 * @param properties 属性集合
                 * @return QFilter
                 */
                ftlike(value:string,...properties:string[]):QFilter;
                /**
                 * 全文检索匹配多值 ，多值用空格分隔，值之间为and关系。
                 * @param value 快速搜索的值，多个值使用空格分割
                 * @param properties 属性集合
                 * @return QFilter
                 */
                ftlikeMultiValue(value:string,...properties:string[]):QFilter;
                /**
                 * 过滤某属性存在值的条件(is not null and != ' ')或者(is not null and != 0)
                 * 一般属性某基础资料，譬如查询某单据存在基础资料的数据
                 * @param refEntityPKProperty 必须为实体的主键属性
                 * @return QFilter
                 */
                exists(refEntityPKProperty:string):QFilter;
                /**
                 * <p>
                 * 子查询的过滤功能，实现对引用对象(单选基础资料、多选基础资料、分录)的子查询过滤。
                 * <p>
                 *
                 * <pre>
                 *
                 * 如： SELECT A.FId "id" FROM t_gy_order_saleorder A WHERE NOT EXISTS(select
                 * B.FId from t_gy_saleorder_signtype B where B.fid=A.fid and B.FBasedataId
                 * in(6839462954711306241))
                 *
                 * ORM过滤条件为：QFilter.notExists("signtype", new
                 * QFilter("fbasedataid","=",6839462954711306241L);
                 *
                 * @param fkProperty 引用外键属性
                 * @param refObjectFilter 不需要再写子实体前缀
                 * @return QFilter
                 */
                exists(fkProperty:string,refObjectFilter:QFilter):QFilter;
                /**
                 * 查询单据的基础资料的某属性为空null或者" "或者
                 * 根本在基础资料中不存在的数据
                 * QFilter.emptyAndNotExists("auditor.name")
                 * 表示:
                 * 1.单据的auditor在bos_user中不存在
                 * 2.或者auditor.name在bos_user中为空
                 * 3.或者auditor.name在bos_user中为空字符串
                 *
                 * @param property 基础资料属性
                 * @return QFilter
                 */
                emptyOrNotExists(property:string):QFilter;
                /**
                 * join on by filter 纯用QFilter指定join关系和on条件。
                 * 指定 join 方式
                 * 指定 join 条件是否作用本实体
                 *
                 * @param property  连接字段
                 * @param joinEntityProperty 连接字段
                 * @param filter             条件
                 * @param joinHint           join方式，left join or inner join
                 * @param joinThisEntity     join on 条件是否作用本实体
                 * @return QFilter
                 */
                join(property:string,joinEntityProperty:string,filter:QFilter,joinHint:ORMHint$JoinHint,joinThisEntity:boolean):QFilter;
            }
            type QFilter_ST = $.java.io.Serializable & QCP_S & QFilter_S;
            interface QFilter_C extends QFilter_ST {
                /**
                 * 创建一个 QFilter对象
                 * @param property 属性
                 * @param cp 操作符
                 * @param value 值
                 * eg. age = 18
                 *
                 * @see kd.bos.orm.query.QCP
                 */
                new(property:string,cp:string,value:any):QFilter;
                /**
                 * 创建一个 QFilter
                 * @param property 属性
                 * @param cp 操作符
                 * @param value 值
                 * @param qFilterHint {@link kd.bos.orm.query.QFilterHint}
                 */
                new(property:string,cp:string,value:any,qFilterHint:QFilterHint):QFilter;
            }
            interface QFilter$ {
                /**
                 * 返回数组对象，只包含自身的长度为 1 的数组
                 *
                 * @return
                 */
                toArray():QFilter[];
                /**
                 * or 关系连接 QFilter
                 *
                 * @param p 过滤条件 QFilter
                 * @return 表示 QFilter 链的对象
                 */
                or(p:QFilter):this;
                /**
                 * 评估
                 *
                 * @param evalor 评估函数
                 * @return
                 */
                eval(evalor:QFilterEvaluator):boolean;
                /**
                 * 清除当前 QFilter 的所有子链
                 */
                clearNests():void;
                /**
                 * and 关系连接 QFilter
                 *
                 * @param property 属性
                 * @param cp       比较符
                 * @param value    值
                 * @return 表示 QFilter 链的对象
                 */
                and(property:string,cp:string,value:any):this;
                /**
                 * 返回最原始的值，不进行任何处理。不会加%，或者转义处理。
                 * @return
                 */
                getOriginValue():any;
                /**
                 * or 关系连接 QFilter
                 *
                 * @param property 属性
                 * @param cp       比较符
                 * @param value    值
                 * @return 表示 QFilter 链的对象
                 */
                or(property:string,cp:string,value:any):this;
                /**
                 * 使 QFilter 当前过滤条件失效，and 条件被翻译为1=1，or 条件被翻译为 1!=1。
                 * 如果 QFilter 对象是一个 QFilter 链，则链里的其他 QFilter 仍有效。
                 */
                maskCurrent():void;
                /**
                 * 克隆条件
                 */
                copy():this;
                /**
                 * 将 QFilter 序列化为字符串
                 * <p>
                 * <strong>注意：</strong>
                 * <li>QFilter的序列化必须使用此方法！</li>
                 * </p>
                 * @return 条件序列化后的值
                 */
                toSerializedString():string;
                /**
                 * 获取QFilter 的值。当有QFilterHint时，返回的值有特别处理：
                 * 1.若是LikeHint，且是包含，会在前后加%；若是以...开始，则在后面加%；若是以...结束，则在前面加%；
                 * 2.若是NotLikeHint，在前后加%
                 * 3.若是FTLikeHint,且若是以...开始，则在后面加%。
                 * @return
                 */
                getValue():any;
                /**
                 * 当前 QFilter 的比较符号
                 *
                 * @return
                 */
                getCP():string;
                /**
                 * 属性值是否为表达式
                 *
                 * @return true 是
                 */
                isExpressValue():boolean;
                /**
                 * and 关系连接 QFilter
                 *
                 * @param p 过滤条件 QFilter
                 * @return 表示 QFilter 链的对象
                 */
                and(p:QFilter):this;
                /**
                 * 尝试将QFilter转为Algo表达式
                 *
                 * @return Algo表达式
                 * @throws IllegalArgumentException 如果无法转换，则抛出异常
                 */
                tryConvertToAlgoExpression():string;
                /**
                 * 将 QFilter 链进行重组，返回的是 QFilter 数组，数组的每个元素为不可再拆分的对象：`单个QFilter`或 `多个or关系的QFilter`
                 *
                 * @return 重组后 QFilter 数组
                 */
                recombine():QFilter[];
            }
            type QFilter_T = $.java.io.Serializable & QCP & QFilter$;
            interface QFilter extends QFilter_T {
            }
            interface Distinctable_S {
            }
            interface Distinctable_C extends Distinctable_S {
            }
            interface Distinctable$ {
            }
            type Distinctable_T = Distinctable$;
            interface Distinctable extends Distinctable_T {
            }
            interface LikeHint_S {
                CONTAINS:LikeHint;
                STARTWITH:LikeHint;
                ENDWITH:LikeHint;
            }
            type LikeHint_ST = LikeHint_S & QFilterHint_S;
            interface LikeHint_C extends LikeHint_ST {
                new():LikeHint;
            }
            interface LikeHint$ {
                isAppendLeftPercent():boolean;
                isAppendRightPercent():boolean;
                isEscape():boolean;
            }
            type LikeHint_T = LikeHint$ & QFilterHint;
            interface LikeHint extends LikeHint_T {
            }
            interface QFilterEvaluator_S {
            }
            interface QFilterEvaluator_C extends QFilterEvaluator_S {
            }
            interface QFilterEvaluator$ {
            }
            type QFilterEvaluator_T = QFilterEvaluator$;
            interface QFilterEvaluator extends QFilterEvaluator_T {
            }
            interface FTLikeHint_S {
                CONTAINS:FTLikeHint;
                STARTWITH:FTLikeHint;
            }
            type FTLikeHint_ST = FTLikeHint_S & QFilterHint_S;
            interface FTLikeHint_C extends FTLikeHint_ST {
                new():FTLikeHint;
            }
            interface FTLikeHint$ {
                isAppendLeftPercent():boolean;
                isAppendRightPercent():boolean;
                isEscape():boolean;
            }
            type FTLikeHint_T = FTLikeHint$ & QFilterHint;
            interface FTLikeHint extends FTLikeHint_T {
            }
            interface NoSuchPropertyException_S {
            }
            type NoSuchPropertyException_ST = $.java.lang.RuntimeException & NoSuchPropertyException_S;
            interface NoSuchPropertyException_C extends NoSuchPropertyException_ST {
                /**
                 * 属性不存在
                 * @param msg
                 */
                new(msg:string):NoSuchPropertyException;
            }
            interface NoSuchPropertyException$ {
            }
            type NoSuchPropertyException_T = $.java.lang.RuntimeException & NoSuchPropertyException$;
            interface NoSuchPropertyException extends NoSuchPropertyException_T {
            }
            interface QFilter$QFilterNest_S {
            }
            type QFilter$QFilterNest_ST = $.java.io.Serializable & QFilter$QFilterNest_S;
            interface QFilter$QFilterNest_C extends QFilter$QFilterNest_ST {
                new():QFilter$QFilterNest;
            }
            interface QFilter$QFilterNest$ {
                getFilter():QFilter;
                getParent():QFilter;
                getOp():string;
                maskCurrent():void;
                isAnd():boolean;
                remove():void;
            }
            type QFilter$QFilterNest_T = $.java.io.Serializable & QFilter$QFilterNest$;
            interface QFilter$QFilterNest extends QFilter$QFilterNest_T {
            }
            interface QCP_S {
                readonly large_equals:string;
                readonly not_equals:string;
                readonly less_than:string;
                readonly large_than:string;
                readonly not_equals2:string;
                readonly in:string;
                readonly less_equals:string;
                readonly equals:string;
                readonly not_in:string;
            }
            type QCP_ST = $.java.io.Serializable & QCP_S;
            interface QCP_C extends QCP_ST {
            }
            interface QCP$ {
            }
            type QCP_T = $.java.io.Serializable & QCP$;
            interface QCP extends QCP_T {
            }
        }
        namespace kd.bos.parameter{
            interface ParameterShowParameter_S {
                createSystemParameterShowParameter(parameterType:ParameterShowParameter$SystemParameterType,subsystem:string,orgId:long,acctbookId:long):ParameterShowParameter;
                createUserOptionShowParameter(entityId:string,extend:string):ParameterShowParameter;
                createBillParameterShowParameter(entityId:string):ParameterShowParameter;
                createSystemParameterShowParameter(subsystem:string,orgId:long,acctbookId:long):ParameterShowParameter;
            }
            type ParameterShowParameter_ST = ParameterShowParameter_S & kd.bos.form.FormShowParameter_S;
            interface ParameterShowParameter_C extends ParameterShowParameter_ST {
                new():ParameterShowParameter;
            }
            interface ParameterShowParameter$ {
            }
            type ParameterShowParameter_T = ParameterShowParameter$ & kd.bos.form.FormShowParameter;
            interface ParameterShowParameter extends ParameterShowParameter_T {
            }
            class ParameterShowParameter$SystemParameterType {
                static readonly APPLICATION:kd.bos.parameter.ParameterShowParameter$SystemParameterType;
                static readonly PUBLIC:kd.bos.parameter.ParameterShowParameter$SystemParameterType;
                static readonly CLOUD:kd.bos.parameter.ParameterShowParameter$SystemParameterType;
                static valueOf(arg0:string):kd.bos.parameter.ParameterShowParameter$SystemParameterType;
                static values():kd.bos.parameter.ParameterShowParameter$SystemParameterType[];
                getType():string;
            }
        }
        namespace kd.bos.permission{
            interface PermissionModule_S {
            }
            type PermissionModule_ST = $.kd.sdk.module.Module & PermissionModule_S;
            interface PermissionModule_C extends PermissionModule_ST {
                new():PermissionModule;
            }
            interface PermissionModule$ {
            }
            type PermissionModule_T = $.kd.sdk.module.Module & PermissionModule$;
            interface PermissionModule extends PermissionModule_T {
            }
        }
        namespace kd.bos.permission.api{
            interface BizRoleInfo$CommonRole_S {
            }
            type BizRoleInfo$CommonRole_ST = $.java.io.Serializable & BizRoleInfo$CommonRole_S;
            interface BizRoleInfo$CommonRole_C extends BizRoleInfo$CommonRole_ST {
                new():BizRoleInfo$CommonRole;
            }
            interface BizRoleInfo$CommonRole$ {
                getCommroleId():string;
                setCommroleId(arg0:string):void;
            }
            type BizRoleInfo$CommonRole_T = $.java.io.Serializable & BizRoleInfo$CommonRole$;
            interface BizRoleInfo$CommonRole extends BizRoleInfo$CommonRole_T {
            }
            interface AdminAppResult_S {
                /**
                 * 反序列化
                 * @param map
                 * @return
                 */
                fromSerializeStr(map:$.java.util.Map):AdminAppResult;
                /**
                 * 反序列化
                 * @param str
                 * @return
                 */
                fromSerializeStr(str:string):AdminAppResult;
            }
            type AdminAppResult_ST = $.java.io.Serializable & AdminAppResult_S;
            interface AdminAppResult_C extends AdminAppResult_ST {
                /**
                 * 构造方法
                 * @param pNeedAdminAppRange 是否控制管理员应用范围
                 * @param pAppIds 有权的应用id范围，needAdminAppRange()为true才有意义。
                 */
                new(pNeedAdminAppRange:boolean,pAppIds:$.java.util.List):AdminAppResult;
            }
            interface AdminAppResult$ {
                /**
                 * 有权的应用id范围，needAdminAppRange()为true才有意义。
                 */
                getAppIds():$.java.util.List;
                /**
                 * 是否控制管理员应用范围
                 * @return
                 */
                needAdminAppRange():boolean;
                /**
                 * 序列化
                 * @return
                 */
                toSerializeStr():string;
            }
            type AdminAppResult_T = $.java.io.Serializable & AdminAppResult$;
            interface AdminAppResult extends AdminAppResult_T {
            }
            interface BizRoleInfo$BizRolePerm_S {
            }
            type BizRoleInfo$BizRolePerm_ST = $.java.io.Serializable & BizRoleInfo$BizRolePerm_S;
            interface BizRoleInfo$BizRolePerm_C extends BizRoleInfo$BizRolePerm_ST {
                new():BizRoleInfo$BizRolePerm;
            }
            interface BizRoleInfo$BizRolePerm$ {
                getEntitytypeid():string;
                setBizappid(arg0:string):void;
                setPermitemId(arg0:string):void;
                setEntitytypeid(arg0:string):void;
                getPermitemId():string;
                getBizappid():string;
            }
            type BizRoleInfo$BizRolePerm_T = $.java.io.Serializable & BizRoleInfo$BizRolePerm$;
            interface BizRoleInfo$BizRolePerm extends BizRoleInfo$BizRolePerm_T {
            }
            interface BizRoleInfo_S {
            }
            type BizRoleInfo_ST = $.java.io.Serializable & BizRoleInfo_S;
            interface BizRoleInfo_C extends BizRoleInfo_ST {
                new():BizRoleInfo;
            }
            interface BizRoleInfo$ {
                /**
                 * 设置业务角色 - 通用角色列表
                 *
                 * @param commonRoleList 业务角色 - 通用角色列表
                 */
                setCommonRoleList(commonRoleList:$.java.util.List):void;
                /**
                 * 设置业务角色名称
                 *
                 * @param localeName 业务角色名称
                 */
                setLocaleName(localeName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取职员类型
                 *
                 * @return 职员类型
                 */
                getUserType():string;
                /**
                 * 获取业务角色id
                 *
                 * @return 业务角色id
                 */
                getId():long;
                /**
                 * 设置业务角色id
                 *
                 * @param id 业务角色id
                 */
                setId(id:long):void;
                /**
                 * 设置业务角色编码
                 *
                 * @param num 业务角色编码
                 */
                setNum(num:string):void;
                /**
                 * 获取业务角色 - 通用角色列表
                 *
                 * @return 业务角色 - 通用角色列表
                 */
                getCommonRoleList():$.java.util.List;
                /**
                 * 设置业务角色 - 组织列表
                 *
                 * @param bizRoleOrgList 业务角色 - 组织列表
                 */
                setBizRoleOrgList(bizRoleOrgList:$.java.util.List):void;
                /**
                 * 获取描述
                 *
                 * @return 描述
                 */
                getDescription():string;
                /**
                 * 设置职员类型
                 *
                 * @param userType 职员类型
                 */
                setUserType(userType:string):void;
                /**
                 * 设置描述
                 *
                 * @param description 描述
                 */
                setDescription(description:string):void;
                /**
                 * 获取业务角色 - 组织列表
                 *
                 * @return 业务角色 - 组织列表
                 */
                getBizRoleOrgList():$.java.util.List;
                /**
                 * 获取业务角色编码
                 *
                 * @return 业务角色编码
                 */
                getNum():string;
                /**
                 * 获取业务角色名称
                 *
                 * @return 业务角色名称
                 */
                getLocaleName():$.kd.bos.dataentity.entity.ILocaleString;
            }
            type BizRoleInfo_T = $.java.io.Serializable & BizRoleInfo$;
            interface BizRoleInfo extends BizRoleInfo_T {
            }
            interface BizRoleInfo$BizRoleOrg_S {
            }
            type BizRoleInfo$BizRoleOrg_ST = $.java.io.Serializable & BizRoleInfo$BizRoleOrg_S;
            interface BizRoleInfo$BizRoleOrg_C extends BizRoleInfo$BizRoleOrg_ST {
                new():BizRoleInfo$BizRoleOrg;
            }
            interface BizRoleInfo$BizRoleOrg$ {
                setOrgId(arg0:long):void;
                isIncludeSub():boolean;
                setIncludeSub(arg0:boolean):void;
                getDimType():string;
                getOrgId():long;
                setDimType(arg0:string):void;
            }
            type BizRoleInfo$BizRoleOrg_T = $.java.io.Serializable & BizRoleInfo$BizRoleOrg$;
            interface BizRoleInfo$BizRoleOrg extends BizRoleInfo$BizRoleOrg_T {
            }
            interface RoleInfo_S {
            }
            type RoleInfo_ST = $.java.io.Serializable & RoleInfo_S;
            interface RoleInfo_C extends RoleInfo_ST {
                new():RoleInfo;
            }
            interface RoleInfo$ {
                /**
                 * 获取描述（多语言对象）
                 * @return 描述多语言对象
                 */
                getRemarkLocale():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置通用角色内码
                 * @param id 通用角色内码文本
                 */
                setId(id:string):void;
                /**
                 * 设置是否系统预置
                 * @param isSystem
                 */
                setSystem(isSystem:boolean):void;
                /**
                 * 设置通用角色编码
                 * @param num 通用角色编码文本
                 */
                setNum(num:string):void;
                /**
                 * 获取所属应用id
                 * @return 所属应用id
                 */
                getBizAppId():string;
                /**
                 * 获取所属管理员组
                 * @return 所属管理员组
                 */
                getCreateAdminGrp():string;
                /**
                 * 获取通用角色分组id
                 * @return 通用角色分组id
                 */
                getGroupId():string;
                /**
                 * 设置是否启用
                 * @param isEnable 是否启用。 true：启用；false：禁用
                 */
                setEnable(isEnable:boolean):void;
                /**
                 * 设置所属管理员组
                 * @param createAdminGrp 所属管理员组
                 */
                setCreateAdminGrp(createAdminGrp:string):void;
                /**
                 * 获取公开状态
                 * @return 公开状态
                 */
                getUseScope():string;
                /**
                 * 是否系统预置
                 * @return true：是；false：否
                 */
                isSystem():boolean;
                /**
                 * 获取通用角色类型
                 * @return 同人员类型 t_sec_usertype中的fid
                 */
                getType():string;
                /**
                 * 设置所属应用ID
                 * @param appId 应用id
                 */
                setBizAppId(appId:string):void;
                /**
                 * 设置通用角色分组id
                 * @param groupid 通用角色分组id
                 */
                setGroupId(groupid:string):void;
                /**
                 * 获取通用角色内码
                 * @return 通用角色内码文本
                 */
                getId():string;
                /**
                 * 设置通用角色类型
                 * @param type 同人员类型 t_sec_usertype中的fid
                 */
                setType(type_arg:string):void;
                /**
                 * 设置公开状态
                 * @param useScope 公开状态
                 */
                setUseScope(useScope:string):void;
                /**
                 * 获取名称（多语言）
                 * @return 多语言对象
                 */
                getLocaleName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取通用角色编码
                 * @return 通用角色编码文本
                 */
                getNum():string;
                /**
                 * 设置名称（多语言）
                 * @param localeName 多语言对象
                 */
                setLocaleName(localeName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置描述（多语言）
                 * @param remarkLocale 描述多语言对象
                 */
                setRemarkLocale(remarkLocale:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取是否启用
                 * @return true：启用；false：禁用
                 */
                isEnable():boolean;
            }
            type RoleInfo_T = $.java.io.Serializable & RoleInfo$;
            interface RoleInfo extends RoleInfo_T {
            }
            interface FieldControlRule_S {
            }
            type FieldControlRule_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & FieldControlRule_S;
            interface FieldControlRule_C extends FieldControlRule_ST {
            }
            interface FieldControlRule$ {
                /**
                 * 获取不可查看字段集合
                 * @return 不可查看字段集合
                 */
                getCanNotReadFields():$.java.util.Set;
                /**
                 * 设置主键id
                 * @param 主键id
                 */
                setId(id:string):void;
                /**
                 * 获取不可编辑字段集合
                 * @return 不可编辑字段集合
                 */
                getCanNotWriteFields():$.java.util.Set;
                /**
                 * @deprecated 没有意义，直接标注过时
                 * @param canNotWriteRuleFields 无
                 */
                setCanNotWriteRuleFields(canNotWriteRuleFields:$.java.util.List):void;
                /**
                 * 设置不可编辑字段集合
                 * @param 不可编辑字段集合
                 */
                setCanNotWriteFields(canNotWriteFields:$.java.util.Set):void;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置不可查看字段集合
                 * @param 不可查看字段集合
                 */
                setCanNotReadFields(canNotReadFields:$.java.util.Set):void;
            }
            type FieldControlRule_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & FieldControlRule$;
            interface FieldControlRule extends FieldControlRule_T {
            }
            interface BizRoleInfo$BizRoleDisPerm_S {
            }
            type BizRoleInfo$BizRoleDisPerm_ST = $.java.io.Serializable & BizRoleInfo$BizRoleDisPerm_S;
            interface BizRoleInfo$BizRoleDisPerm_C extends BizRoleInfo$BizRoleDisPerm_ST {
                new():BizRoleInfo$BizRoleDisPerm;
            }
            interface BizRoleInfo$BizRoleDisPerm$ {
                setBizappid(arg0:string):void;
                setEntitytypeid(arg0:string):void;
                getEntitytypeid():string;
                getBizappid():string;
                getPermitemId():string;
                setPermitemId(arg0:string):void;
            }
            type BizRoleInfo$BizRoleDisPerm_T = $.java.io.Serializable & BizRoleInfo$BizRoleDisPerm$;
            interface BizRoleInfo$BizRoleDisPerm extends BizRoleInfo$BizRoleDisPerm_T {
            }
            interface FieldControlRuleDto_S {
            }
            type FieldControlRuleDto_ST = $.java.io.Serializable & FieldControlRuleDto_S;
            interface FieldControlRuleDto_C extends FieldControlRuleDto_ST {
                new():FieldControlRuleDto;
            }
            interface FieldControlRuleDto$ {
                /**
                 * 获取包含下级
                 * @return
                 */
                getIncludeSubOrg():boolean;
                /**
                 * 获取具体的字段权限配置内容
                 * @return 具体的字段权限配置内容
                 */
                getFieldControlRule():FieldControlRule;
                /**
                 * 获取隔离维度id
                 * @return 隔离维度id
                 */
                getMainOrgId():long;
                /**
                 * 设置包含下级
                 * @param includeSubOrg 包含下级
                 */
                setIncludeSubOrg(includeSubOrg:boolean):void;
                /**
                 * 获取下级隔离维度id
                 * @return 下级隔离维度id
                 */
                getSubOrgId():$.java.util.List;
                /**
                 * 设置具体的字段权限配置内容
                 * @param fieldControlRule 具体的字段权限配置内容
                 */
                setFieldControlRule(fieldControlRule:FieldControlRule):void;
                /**
                 * 设置隔离维度id
                 * @param mainOrgId 隔离维度id
                 */
                setMainOrgId(mainOrgId:long):void;
                /**
                 * 获取隔离维度类型
                 * @return 隔离维度类型
                 */
                getDimType():string;
                /**
                 * 设置下级隔离维度id
                 * @param subOrgId 下级隔离维度id
                 */
                setSubOrgId(subOrgId:$.java.util.List):void;
                /**
                 * 设置隔离维度类型
                 * @param dimType 隔离维度类型
                 */
                setDimType(dimType:string):void;
            }
            type FieldControlRuleDto_T = $.java.io.Serializable & FieldControlRuleDto$;
            interface FieldControlRuleDto extends FieldControlRuleDto_T {
            }
            interface DimensionPermOrgResult_S {
            }
            type DimensionPermOrgResult_ST = $.java.io.Serializable & DimensionPermOrgResult_S;
            interface DimensionPermOrgResult_C extends DimensionPermOrgResult_ST {
                new():DimensionPermOrgResult;
            }
            interface DimensionPermOrgResult$ {
                /**
                 * 设置权限控制主字段范围
                 * @param mainDimension  权限控制主字段的有权范围
                 */
                setMainDimension(mainDimension:$.kd.bos.permission.api.HasPermOrgResult):void;
                /**
                 * 设置权限控制辅字段有权范围
                 * @param assistDimension 权限控制辅字段的有权范围
                 */
                setAssistDimension(assistDimension:$.kd.bos.permission.api.HasPermOrgResult):void;
                /**
                 * 获取权限控制辅字段的有权范围
                 * @return 请参考 HasPermOrgResult的注释
                 */
                getAssistDimension():$.kd.bos.permission.api.HasPermOrgResult;
                /**
                 * 获取权限控制主字段的有权范围
                 * @return 请参考 HasPermOrgResult的注释
                 */
                getMainDimension():$.kd.bos.permission.api.HasPermOrgResult;
            }
            type DimensionPermOrgResult_T = $.java.io.Serializable & DimensionPermOrgResult$;
            interface DimensionPermOrgResult extends DimensionPermOrgResult_T {
            }
            interface FieldControlRules_S {
            }
            type FieldControlRules_ST = $.java.io.Serializable & FieldControlRules_S;
            interface FieldControlRules_C extends FieldControlRules_ST {
                new():FieldControlRules;
            }
            interface FieldControlRules$ {
                /**
                 * 获取字段权限缓存实体list
                 * @return 字段权限缓存实体list
                 */
                getFieldControlRuleDtos():$.java.util.List;
                /**
                 * 设置字段权限缓存实体list
                 * @param fieldControlRuleDtos 字段权限缓存实体list
                 */
                setFieldControlRuleDtos(fieldControlRuleDtos:$.java.util.List):void;
            }
            type FieldControlRules_T = $.java.io.Serializable & FieldControlRules$;
            interface FieldControlRules extends FieldControlRules_T {
            }
            interface UserScopeResult_S {
            }
            interface UserScopeResult_C extends UserScopeResult_S {
            }
            interface UserScopeResult$ {
                /**
                 * 返回用户的ID的集合
                 *
                 * @return 用户id的集合
                 */
                getUserIDs():$.java.util.List;
                /**
                 * 是否包含所有人员
                 * @return true：包含所有用户；false：不包含所有
                 */
                isAllUser():boolean;
            }
            type UserScopeResult_T = UserScopeResult$;
            interface UserScopeResult extends UserScopeResult_T {
            }
            interface HasPermDimObjResult_S {
            }
            interface HasPermDimObjResult_C extends HasPermDimObjResult_S {
            }
            interface HasPermDimObjResult$ {
                /**
                 * 是否所有隔离维度下有权
                 * @return true：所有隔离维度下有权；false：不是所有隔离维度下有权。
                 */
                hasAllDimObjPerm():boolean;
                /**
                 * 有权的隔离维度范围。
                 * @return 有权的隔离维度对象id的集合（例如组织id，体系id）
                 */
                getHasPermDimObjs():$.java.util.List;
            }
            type HasPermDimObjResult_T = HasPermDimObjResult$;
            interface HasPermDimObjResult extends HasPermDimObjResult_T {
            }
            interface HasPermOrgResult_S {
            }
            interface HasPermOrgResult_C extends HasPermOrgResult_S {
            }
            interface HasPermOrgResult$ {
                /**
                 * 有权的组织范围
                 * @return 有权组织id的集合
                 */
                getHasPermOrgs():$.java.util.List;
                /**
                 * 是否所有组织下都有权
                 * @return true：所有组织下有权；false：不是所有组织下有权。
                 */
                hasAllOrgPerm():boolean;
            }
            type HasPermOrgResult_T = HasPermOrgResult$;
            interface HasPermOrgResult extends HasPermOrgResult_T {
            }
        }
        namespace kd.bos.permission.enums{
            class AdminGroupPermTypeEnum {
                static readonly ORG:kd.bos.permission.enums.AdminGroupPermTypeEnum;
                static readonly APP:kd.bos.permission.enums.AdminGroupPermTypeEnum;
                static readonly ROLE:kd.bos.permission.enums.AdminGroupPermTypeEnum;
                static readonly BIZ:kd.bos.permission.enums.AdminGroupPermTypeEnum;
                static readonly SYS:kd.bos.permission.enums.AdminGroupPermTypeEnum;
                static values():kd.bos.permission.enums.AdminGroupPermTypeEnum[];
                static valueOf(arg0:string):kd.bos.permission.enums.AdminGroupPermTypeEnum;
                /**
                 * 获取枚举常量的描述
                 *
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 获取枚举常量的编码
                 *
                 * @return 编码
                 */
                getCode():string;
            }
            class EnumsFpsFieldFrom {
                static readonly FIELD_TYPE:kd.bos.permission.enums.EnumsFpsFieldFrom;
                static readonly FIELD:kd.bos.permission.enums.EnumsFpsFieldFrom;
                static valueOf(arg0:string):kd.bos.permission.enums.EnumsFpsFieldFrom;
                /**
                 * 根据类型获取描述
                 * @param type
                 * @return 描述
                 */
                static getDesc(type_arg:number):string;
                static values():kd.bos.permission.enums.EnumsFpsFieldFrom[];
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 获取描述（多语言）
                 * @return MultiLangEnumBridge 描述（多语言）
                 */
                getDescMl():kd.bos.permission.enums.MultiLangEnumBridge;
                /**
                 * 获取类型
                 * @return 类型
                 */
                getType():string;
            }
            class EnumsImportType {
                static readonly NEW:kd.bos.permission.enums.EnumsImportType;
                static readonly OVERRIDENEW:kd.bos.permission.enums.EnumsImportType;
                static readonly OVERRIDE:kd.bos.permission.enums.EnumsImportType;
                static getImportTypeEnum(importType:any):kd.bos.permission.enums.EnumsImportType;
                static valueOf(arg0:string):kd.bos.permission.enums.EnumsImportType;
                static values():kd.bos.permission.enums.EnumsImportType[];
                getType():string;
            }
            class OperationTypeEnum {
                static readonly ADD:kd.bos.permission.enums.OperationTypeEnum;
                static readonly DELETE:kd.bos.permission.enums.OperationTypeEnum;
                static readonly UPDATE:kd.bos.permission.enums.OperationTypeEnum;
                static valueOf(arg0:string):kd.bos.permission.enums.OperationTypeEnum;
                static values():kd.bos.permission.enums.OperationTypeEnum[];
                /**
                 * 获取枚举常量的描述
                 *
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 获取枚举常量的编码
                 *
                 * @return 编码
                 */
                getCode():string;
            }
            class AssignModEnum {
                static readonly ASSIGNMODE_REPLACE:kd.bos.permission.enums.AssignModEnum;
                static readonly ASSIGNMODE_INCREMENT:kd.bos.permission.enums.AssignModEnum;
                static readonly ASSIGNMODE_CANCEL:kd.bos.permission.enums.AssignModEnum;
                static values():kd.bos.permission.enums.AssignModEnum[];
                static valueOf(arg0:string):kd.bos.permission.enums.AssignModEnum;
                /**
                 * 获取枚举常量的描述
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 获取枚举常量的编码
                 * @return 编码
                 */
                getCode():string;
            }
            class EnumsDataChangeType {
                static readonly DEFAULT:kd.bos.permission.enums.EnumsDataChangeType;
                static readonly DEL:kd.bos.permission.enums.EnumsDataChangeType;
                static readonly ADD:kd.bos.permission.enums.EnumsDataChangeType;
                static readonly UPDATE:kd.bos.permission.enums.EnumsDataChangeType;
                static valueOf(arg0:string):kd.bos.permission.enums.EnumsDataChangeType;
                /**
                 * 根据数据变更类型获得枚举值
                 * @param type 数据变更类型
                 * @return
                 */
                static getEnum(type_arg:number):kd.bos.permission.enums.EnumsDataChangeType;
                /**
                 * 根据数据变更类型校验枚举正确性
                 * @param type
                 * @return
                 */
                static checkHandler(type_arg:number):boolean;
                static values():kd.bos.permission.enums.EnumsDataChangeType[];
                /**
                 * 获取数据变更类型
                 * @return 数据变更类型
                 */
                getType():number;
            }
            class EnumsFieldPermCtrlMode {
                static readonly FORBID_EDIT:kd.bos.permission.enums.EnumsFieldPermCtrlMode;
                static readonly FORBID_VIEW:kd.bos.permission.enums.EnumsFieldPermCtrlMode;
                static valueOf(arg0:string):kd.bos.permission.enums.EnumsFieldPermCtrlMode;
                static values():kd.bos.permission.enums.EnumsFieldPermCtrlMode[];
                /**
                 * 根据类型获取描述
                 * @param type
                 * @return 描述
                 */
                static getDesc(type_arg:string):string;
                /**
                 * 获取类型
                 * @return 类型
                 */
                getType():string;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDesc():string;
            }
            class GrpUsrFromTypeEnum {
                static readonly UG_HAND_SYNC:kd.bos.permission.enums.GrpUsrFromTypeEnum;
                static readonly UGTYPE_SYNC:kd.bos.permission.enums.GrpUsrFromTypeEnum;
                static readonly TIME_SYNC:kd.bos.permission.enums.GrpUsrFromTypeEnum;
                static readonly EVENT_SYNC:kd.bos.permission.enums.GrpUsrFromTypeEnum;
                static readonly HAND_ADD:kd.bos.permission.enums.GrpUsrFromTypeEnum;
                static values():kd.bos.permission.enums.GrpUsrFromTypeEnum[];
                static valueOf(arg0:string):kd.bos.permission.enums.GrpUsrFromTypeEnum;
                /**
                 * 根据类型获取描述
                 * @param type
                 * @return 描述
                 */
                static getDesc(type_arg:string):string;
                /**
                 * 获取用户组相关来源的类型list
                 * @return 来源类型list
                 */
                static getFromGroupTypeList():java.util.List;
                /**
                 * 校验用户组中用户来源类型
                 * @param fromTypeEnum
                 * @return 布尔型
                 */
                static check(fromTypeEnum:kd.bos.permission.enums.GrpUsrFromTypeEnum):boolean;
                /**
                 * 获取手动添加的来源类型list
                 * @return 来源类型list
                 */
                static getHandAddTypeList():java.util.List;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 获取类型
                 * @return 类型
                 */
                getType():string;
            }
            interface MultiLangEnumBridge_S {
            }
            interface MultiLangEnumBridge_C extends MultiLangEnumBridge_S {
                /**
                 * 全参构造方法
                 * @param description 描述描述
                 * @param resourceID 资源ID
                 * @param systemType 系统类型
                 */
                new(description:string,resourceID:string,systemType:string):MultiLangEnumBridge;
            }
            interface MultiLangEnumBridge$ {
                /**
                 * 获取对应语言环境下的语句
                 * @return 翻译后的结果
                 */
                loadKDString():string;
            }
            type MultiLangEnumBridge_T = MultiLangEnumBridge$;
            interface MultiLangEnumBridge extends MultiLangEnumBridge_T {
            }
        }
        namespace kd.bos.permission.model{
            interface DataRulesInfo_S {
            }
            type DataRulesInfo_ST = $.java.io.Serializable & DataRulesInfo_S;
            interface DataRulesInfo_C extends DataRulesInfo_ST {
                new():DataRulesInfo;
            }
            interface DataRulesInfo$ {
                /**
                 * 获取多个实体的数据规则方案id
                 * @return 多个实体的数据规则方案id
                 */
                getId():long;
                /**
                 * 设置多个实体的数据规则方案id
                 * @param id 多个实体的数据规则方案id
                 */
                setId(id:long):void;
                /**
                 * 获取名称
                 * @return 名称
                 */
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置 数据改变状态
                 * @param dataChangeType 数据改变状态
                 */
                setDataChangeType(dataChangeType:kd.bos.permission.enums.EnumsDataChangeType):void;
                /**
                 * 设置名称
                 * @param name 名称
                 */
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取多实体方案编码
                 * @return 多实体方案编码
                 */
                getNumber():string;
                /**
                 * 设置多实体方案编码
                 * @param number 多实体方案编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置不同应用下不同实体的数据规则明细
                 * @param entDataRuleInfos 不同应用下不同实体的数据规则明细
                 */
                setEntDataRuleInfos(entDataRuleInfos:$.java.util.List):void;
                /**
                 * 获取 数据改变状态
                 * @return 数据改变状态
                 */
                getDataChangeType():kd.bos.permission.enums.EnumsDataChangeType;
                /**
                 * 获取不同应用下不同实体的数据规则明细
                 * @return 不同应用下不同实体的数据规则明细
                 */
                getEntDataRuleInfos():$.java.util.List;
            }
            type DataRulesInfo_T = $.java.io.Serializable & DataRulesInfo$;
            interface DataRulesInfo extends DataRulesInfo_T {
            }
            class PersonQueryType {
                static readonly ALL:kd.bos.permission.model.PersonQueryType;
                static readonly ALL_OF_INDIRECT_SUBORDINATE:kd.bos.permission.model.PersonQueryType;
                static readonly ALL_OF_SUBORDINATE:kd.bos.permission.model.PersonQueryType;
                static readonly ALL_OF_ORG_INCLUDE_SUB:kd.bos.permission.model.PersonQueryType;
                static readonly MANAGER_OF_ORG:kd.bos.permission.model.PersonQueryType;
                static readonly ALL_INCLUDE_DISABLE:kd.bos.permission.model.PersonQueryType;
                static readonly ALL_OF_EQUATIVE:kd.bos.permission.model.PersonQueryType;
                static readonly MANAGER_OF_INDIRECT_SUPERIOR:kd.bos.permission.model.PersonQueryType;
                static readonly MANAGER_OF_SUPERIOR:kd.bos.permission.model.PersonQueryType;
                static readonly ALL_OF_ORG:kd.bos.permission.model.PersonQueryType;
                static valueOf(arg0:string):kd.bos.permission.model.PersonQueryType;
                static values():kd.bos.permission.model.PersonQueryType[];
                /**
                 * 获取构造值
                 *  @return 构造值
                 */
                getValue():number;
            }
            interface PermRes_S {
            }
            type PermRes_ST = $.java.io.Serializable & PermRes_S;
            interface PermRes_C extends PermRes_ST {
                /**
                 * 默认构造方法
                 */
                new():PermRes;
                new(arg0:number,arg1:string,arg2:any):PermRes;
            }
            interface PermRes$ {
                ok(arg0:string,arg1:any):this;
                /**
                 * 获取返回消息文本
                 * @return 返回消息文本
                 */
                getMsg():string;
                /**
                 * 结果是否成功
                 * @return 结果是否成功
                 */
                isOk():boolean;
                /**
                 * 静态方法：结果成功
                 * @return 权限接口结果对象
                 */
                ok():this;
                /**
                 * 获取结果码，0：成功，非0：失败
                 * @return 结果码
                 */
                getCode():number;
                /**
                 * 获取返回对象
                 * @return 返回对象
                 */
                getData():any;
                /**
                 * 静态方法：结果成功
                 * @param msg 返回消息文本
                 * @return 权限接口结果对象
                 */
                ok(msg:string):this;
                setData(arg0:any):void;
                ok(arg0:any):this;
                /**
                 * 设置返回消息文本
                 * @param msg 返回消息文本
                 */
                setMsg(msg:string):void;
                /**
                 * 设置结果码，0：成功，非0：失败
                 * @param code 结果码
                 */
                setCode(code:number):void;
                fail(arg0:string,arg1:any):this;
            }
            type PermRes_T = $.java.io.Serializable & PermRes$;
            interface PermRes extends PermRes_T {
            }
            class AdminType {
                static readonly Security:kd.bos.permission.model.AdminType;
                static readonly NotAdmin:kd.bos.permission.model.AdminType;
                static readonly Auditor:kd.bos.permission.model.AdminType;
                static readonly Others:kd.bos.permission.model.AdminType;
                static readonly Administrator:kd.bos.permission.model.AdminType;
                static readonly Cosmic:kd.bos.permission.model.AdminType;
                static values():kd.bos.permission.model.AdminType[];
                static valueOf(arg0:string):kd.bos.permission.model.AdminType;
                /**
                 * 根据类型编码，获取对应管理员类型
                 * @param pType  类型编码
                 * @return 管理员类型枚举
                 */
                static getAdminType(pType:string):kd.bos.permission.model.AdminType;
            }
            interface DataRuleInfo_S {
            }
            type DataRuleInfo_ST = $.java.io.Serializable & DataRuleInfo_S;
            interface DataRuleInfo_C extends DataRuleInfo_ST {
                new():DataRuleInfo;
            }
            interface DataRuleInfo$ {
                /**
                 * 获取字符串形式的name
                 * @return 字符串形式的name
                 */
                getStrName():string;
                /**
                 * 获取通用过滤控件对应的后台对象类
                 * @return 通用过滤控件对应的后台对象类
                 */
                getRule():$.kd.bos.entity.filter.FilterCondition;
                /**
                 * 设置实体表单标识
                 * @param entityNum 实体表单标识
                 */
                setEntityNum(entityNum:string):void;
                /**
                 * 获取方案名称
                 * @return 方案名称
                 */
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取状态
                 * @return 状态
                 */
                isEnable():boolean;
                /**
                 * 设置通用过滤控件对应的后台对象类
                 * @param rule 通用过滤控件对应的后台对象类
                 */
                setRule(rule:$.kd.bos.entity.filter.FilterCondition):void;
                /**
                 * 获取实体表单标识
                 * @return 实体表单标识
                 */
                getEntityNum():string;
                /**
                 * 设置字符串形式的name
                 * @param strName 字符串形式的name
                 */
                setStrName(strName:string):void;
                /**
                 * 设置方案id
                 * @param id 方案id
                 */
                setId(id:long):void;
                /**
                 * 获取方案id
                 * @return 方案id
                 */
                getId():long;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDescription():string;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 获取方案编码
                 * @return 方案编码
                 */
                getNumber():string;
                /**
                 * 设置方案名称
                 * @param name 方案名称
                 */
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置描述
                 * @param description 描述
                 */
                setDescription(description:string):void;
                /**
                 * 设置方案编码
                 * @param number 方案编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置状态
                 * @param enable 状态
                 */
                setEnable(enable:boolean):void;
            }
            type DataRuleInfo_T = $.java.io.Serializable & DataRuleInfo$;
            interface DataRuleInfo extends DataRuleInfo_T {
            }
            interface PersonQueryParam_S {
            }
            interface PersonQueryParam_C extends PersonQueryParam_S {
                new():PersonQueryParam;
            }
            interface PersonQueryParam$ {
                /**
                 * 获取是否逐级往上级查询
                 * @return 是否逐级往上级查询
                 */
                isQuerySuperior():boolean;
                /**
                 * 设置错误信息
                 * @param errorMsg 错误信息
                 */
                setErrorMsg(errorMsg:string):void;
                /**
                 * 获取组织ID
                 * @return  组织ID
                 */
                getOrgId():long;
                /**
                 * 设置查询人员是否包括多类型的情况
                 * @param includeMultipleUserTypes 查询人员是否包括多类型的情况
                 */
                setIncludeMultipleUserTypes(includeMultipleUserTypes:boolean):void;
                /**
                 * 设置人员ID
                 * @param userId 人员ID
                 */
                setUserId(userId:long):void;
                /**
                 * 设置停止查询时返回的组织
                 * @param breakOrgIds 停止查询时返回的组织
                 */
                setBreakOrgIds(breakOrgIds:$.java.util.List):void;
                /**
                 * 设置是否逐级往上级查询
                 * @param querySuperior 是否逐级往上级查询
                 */
                setQuerySuperior(querySuperior:boolean):void;
                /**
                 * 设置查询类型
                 * @param queryType 查询类型
                 */
                setQueryType(queryType:PersonQueryType):void;
                /**
                 * 获取错误信息
                 * @return 错误信息
                 */
                getErrorMsg():string;
                /**
                 * 设置组织ID
                 * @param orgId 组织ID
                 */
                setOrgId(orgId:long):void;
                /**
                 * 获取停止查询时返回的人员
                 * @return 停止查询时返回的人员
                 */
                getBreakUserIds():$.java.util.List;
                /**
                 * 获取停止查询时返回的组织
                 * @return 停止查询时返回的组织
                 */
                getBreakOrgIds():$.java.util.List;
                /**
                 * 获取查询人员是否包括多类型的情况
                 * @return boolean 查询人员是否包括多类型的情况
                 */
                isIncludeMultipleUserTypes():boolean;
                /**
                 * 获取人员ID
                 * @return 人员ID
                 */
                getUserId():long;
                /**
                 * 设置停止查询时返回的人员
                 * @param breakUserIds 停止查询时返回的人员
                 */
                setBreakUserIds(breakUserIds:$.java.util.List):void;
                /**
                 * 获取查询类型
                 * @return 查询类型
                 */
                getQueryType():PersonQueryType;
            }
            type PersonQueryParam_T = PersonQueryParam$;
            interface PersonQueryParam extends PersonQueryParam_T {
            }
            interface EntDataRuleInfo_S {
            }
            type EntDataRuleInfo_ST = $.java.io.Serializable & EntDataRuleInfo_S;
            interface EntDataRuleInfo_C extends EntDataRuleInfo_ST {
                new():EntDataRuleInfo;
            }
            interface EntDataRuleInfo$ {
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 获取基础资料属性的数据规则
                 * @return 基础资料属性的数据规则
                 */
                getBdPropsDataRule():$.java.util.List;
                /**
                 * 设置基础资料属性的数据规则
                 * @param bdPropsDataRule 基础资料属性的数据规则
                 */
                setBdPropsDataRule(bdPropsDataRule:$.java.util.List):void;
                /**
                 * 获取权限项的数据规则
                 * @return 权限项的数据规则
                 */
                getPermItemsDataRule():$.java.util.List;
                /**
                 * 设置实体表单标识
                 * @param entityNum 实体表单标识
                 */
                setEntityNum(entityNum:string):void;
                /**
                 * 设置权限项的数据规则
                 * @param permItemsDataRule 权限项的数据规则
                 */
                setPermItemsDataRule(permItemsDataRule:$.java.util.List):void;
                /**
                 * 获取 数据改变状态
                 * @return
                 */
                getDataChangeType():kd.bos.permission.enums.EnumsDataChangeType;
                /**
                 * 获取实体表单标识
                 * @return 实体表单标识
                 */
                getEntityNum():string;
                /**
                 * 设置 数据改变状态
                 * @param dataChangeType
                 */
                setDataChangeType(dataChangeType:kd.bos.permission.enums.EnumsDataChangeType):void;
            }
            type EntDataRuleInfo_T = $.java.io.Serializable & EntDataRuleInfo$;
            interface EntDataRuleInfo extends EntDataRuleInfo_T {
            }
            interface EntDataRuleInfo$BdPropsDataRule_S {
            }
            type EntDataRuleInfo$BdPropsDataRule_ST = $.java.io.Serializable & EntDataRuleInfo$BdPropsDataRule_S;
            interface EntDataRuleInfo$BdPropsDataRule_C extends EntDataRuleInfo$BdPropsDataRule_ST {
                new():EntDataRuleInfo$BdPropsDataRule;
            }
            interface EntDataRuleInfo$BdPropsDataRule$ {
                setPropEntNum(arg0:string):void;
                setPropKey(arg0:string):void;
                getPropKey():string;
                getPropEntNum():string;
                setDataRule(arg0:DataRuleInfo):void;
                getDataChangeType():kd.bos.permission.enums.EnumsDataChangeType;
                setDataChangeType(arg0:kd.bos.permission.enums.EnumsDataChangeType):void;
                getDataRule():DataRuleInfo;
            }
            type EntDataRuleInfo$BdPropsDataRule_T = $.java.io.Serializable & EntDataRuleInfo$BdPropsDataRule$;
            interface EntDataRuleInfo$BdPropsDataRule extends EntDataRuleInfo$BdPropsDataRule_T {
            }
            interface PermResult_S {
                /**
                 * 静态方法：结果失败
                 * @param errorMsg 错误信息
                 * @param data 返回对象
                 * @return 权限接口结果对象
                 */
                fail(errorMsg:string,data:any):PermResult;
                /**
                 * 静态方法：结果成功
                 * @param errorMsg 错误信息
                 * @return 权限接口结果对象
                 */
                ok(errorMsg:$.java.lang.StringBuilder):PermResult;
                /**
                 * 静态方法：结果成功
                 * @param data 返回对象
                 * @return 权限接口结果对象
                 */
                ok(data:any):PermResult;
                /**
                 * 静态方法：结果失败
                 * @param errorMsg 错误信息
                 * @return 权限接口结果对象
                 */
                fail(errorMsg:$.java.lang.StringBuilder):PermResult;
                /**
                 * 静态方法：结果失败
                 * @param errorMsg 错误信息
                 * @return 权限接口结果对象
                 */
                fail(errorMsg:string):PermResult;
                /**
                 * 静态方法：结果成功
                 * @return 权限接口结果对象
                 */
                ok():PermResult;
            }
            type PermResult_ST = $.java.io.Serializable & PermResult_S;
            interface PermResult_C extends PermResult_ST {
                /**
                 * 默认构造方法
                 */
                new():PermResult;
                /**
                 * 全参构造方法
                 * @param code 结果码，0：成功，非0：失败
                 * @param msg 返回消息文本
                 * @param data 返回对象
                 */
                new(code:number,msg:string,data:any):PermResult;
            }
            interface PermResult$ {
                /**
                 * 设置返回消息文本
                 * @param msg 返回消息文本
                 */
                setMsg(msg:string):void;
                /**
                 * 获取结果码，0：成功，非0：失败
                 * @return 结果码
                 */
                getCode():number;
                /**
                 * 获取返回消息文本
                 * @return 返回消息文本
                 */
                getMsg():string;
                /**
                 * 结果是否成功
                 * @return 结果是否成功
                 */
                isOk():boolean;
                /**
                 * 设置结果码，0：成功，非0：失败
                 * @param code 结果码
                 */
                setCode(code:number):void;
                /**
                 * 获取返回对象
                 * @return 返回对象
                 */
                getData():any;
                /**
                 * 设置返回对象
                 * @param data 返回对象
                 */
                setData(data:any):void;
            }
            type PermResult_T = $.java.io.Serializable & PermResult$;
            interface PermResult extends PermResult_T {
            }
            interface EntDataRuleInfo$PermItemsDataRule_S {
            }
            type EntDataRuleInfo$PermItemsDataRule_ST = $.java.io.Serializable & EntDataRuleInfo$PermItemsDataRule_S;
            interface EntDataRuleInfo$PermItemsDataRule_C extends EntDataRuleInfo$PermItemsDataRule_ST {
                new():EntDataRuleInfo$PermItemsDataRule;
            }
            interface EntDataRuleInfo$PermItemsDataRule$ {
                setPermItemId(arg0:string):void;
                getPermItemId():string;
                getDataRule():DataRuleInfo;
                setDataChangeType(arg0:kd.bos.permission.enums.EnumsDataChangeType):void;
                setDataRule(arg0:DataRuleInfo):void;
                getDataChangeType():kd.bos.permission.enums.EnumsDataChangeType;
            }
            type EntDataRuleInfo$PermItemsDataRule_T = $.java.io.Serializable & EntDataRuleInfo$PermItemsDataRule$;
            interface EntDataRuleInfo$PermItemsDataRule extends EntDataRuleInfo$PermItemsDataRule_T {
            }
        }
        namespace kd.bos.permission.model.perm{
            interface App_S {
            }
            type App_ST = $.java.io.Serializable & App_S & Cloud_S;
            interface App_C extends App_ST {
                /**
                 * 默认构造方法
                 */
                new():App;
                /**
                 * 构造方法
                 * @param appId 应用id
                 */
                new(appId:string):App;
                /**
                 * 带参数的构造方法
                 * @param appId 应用id
                 * @param appNumber 应用编码标识
                 * @param appName 应用名称
                 */
                new(appId:string,appNumber:string,appName:string):App;
            }
            interface App$ {
                /**
                 * 设置应用序号
                 * @param appSeq 应用序号
                 */
                setAppSeq(appSeq:number):void;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 获取应用名称
                 * @return 应用名称
                 */
                getAppName():string;
                /**
                 * 设置应用编码标识
                 * @param appNumber 应用编码标识
                 */
                setAppNumber(appNumber:string):void;
                /**
                 * 设置应用名称
                 * @param appName 应用名称
                 */
                setAppName(appName:string):void;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 获取应用编码标识
                 * @return 应用编码标识
                 */
                getAppNumber():string;
                /**
                 * 获取应用序号
                 * @return 应用序号
                 */
                getAppSeq():number;
            }
            type App_T = $.java.io.Serializable & App$ & Cloud;
            interface App extends App_T {
            }
            interface DataChangeType_S {
            }
            type DataChangeType_ST = $.java.io.Serializable & DataChangeType_S;
            interface DataChangeType_C extends DataChangeType_ST {
                new():DataChangeType;
            }
            interface DataChangeType$ {
                /**
                 * 设置来源描述
                 * @param fromTypeDesc 来源描述
                 */
                setFromTypeDesc(fromTypeDesc:string):void;
                /**
                 * 获取数据变更类型描述
                 * @return 数据变更类型描述
                 */
                getDataChangeTypeDesc():string;
                /**
                 * 设置修改人ID
                 * @param modifierid 修改人ID
                 */
                setModifierid(modifierid:long):void;
                /**
                 * 设置操作影响用户给id集合
                 * @param influenceUserIdSet 操作影响用户给id集合
                 */
                setInfluenceUserIdSet(influenceUserIdSet:$.java.util.Set):void;
                /**
                 * 获取数据变更类型描述
                 * @return 数据变更类型描述
                 */
                getOpDesc():string;
                /**
                 * 设置创建人ID
                 * @param creatorid 创建人ID
                 */
                setCreatorid(creatorid:long):void;
                /**
                 * 获取来源描述
                 * @return 来源描述
                 */
                getFromTypeDesc():string;
                /**
                 * 获取创建人ID
                 * @return 创建人ID
                 */
                getCreatorid():long;
                /**
                 * 获取创建时间
                 * @return 创建时间
                 */
                getCreateTime():string;
                /**
                 * 获取数据变更类型枚举类
                 * @return 数据变更类型枚举类
                 */
                getDataChangeType():kd.bos.permission.enums.EnumsDataChangeType;
                /**
                 * 获取修改时间
                 * @return 修改时间
                 */
                getModifytime():string;
                /**
                 * 获取修改人ID
                 * @return 修改人ID
                 */
                getModifierid():long;
                /**
                 * 设置数据变更类型描述
                 * @param dataChangeTypeDesc 数据变更类型描述
                 */
                setDataChangeTypeDesc(dataChangeTypeDesc:string):void;
                /**
                 * 设置创建时间
                 * @param createTime 创建时间
                 */
                setCreateTime(createTime:string):void;
                /**
                 * 设置修改时间
                 * @param modifytime 修改时间
                 */
                setModifytime(modifytime:string):void;
                /**
                 * 设置数据变更类型描述
                 * @param opDesc 数据变更类型描述
                 */
                setOpDesc(opDesc:string):void;
                /**
                 * 设置数据变更类型枚举类
                 * @param dataChangeType 数据变更类型枚举类
                 */
                setDataChangeType(dataChangeType:kd.bos.permission.enums.EnumsDataChangeType):void;
                /**
                 * 获取操作影响用户给id集合
                 * @return 操作影响用户给id集合
                 */
                getInfluenceUserIdSet():$.java.util.Set;
            }
            type DataChangeType_T = $.java.io.Serializable & DataChangeType$;
            interface DataChangeType extends DataChangeType_T {
            }
            interface Entity_S {
            }
            type Entity_ST = $.java.io.Serializable & App_S & Entity_S;
            interface Entity_C extends Entity_ST {
                /**
                 * 默认构造方法
                 */
                new():Entity;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 */
                new(appId:string,entityNumber:string):Entity;
            }
            interface Entity$ {
                /**
                 * 获取实体名称
                 * @return 实体名称
                 */
                getEntityName():string;
                /**
                 * 获取实体id
                 * @return 实体id
                 */
                getEntityId():string;
                /**
                 * 设置实体id
                 * @param entityId 实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取实体编码标识
                 * @return 实体编码标识
                 */
                getEntityNumber():string;
                /**
                 * 设置实体编码标识
                 * @param entityNumber 实体编码标识
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置实体名称
                 * @param entityName 实体名称
                 */
                setEntityName(entityName:string):void;
            }
            type Entity_T = $.java.io.Serializable & App & Entity$;
            interface Entity extends Entity_T {
            }
            interface ComRoleFieldPermScheme_S {
            }
            type ComRoleFieldPermScheme_ST = $.java.io.Serializable & ComRoleFieldPermScheme_S & FieldPermScheme_S;
            interface ComRoleFieldPermScheme_C extends ComRoleFieldPermScheme_ST {
                /**
                 * 默认构造方法
                 */
                new():ComRoleFieldPermScheme;
            }
            interface ComRoleFieldPermScheme$ {
                /**
                 * 获取通用角色编码
                 * @return 通用角色编码
                 */
                getRoleNumber():string;
                /**
                 * 获取通用角色名称
                 * @return 通用角色名称
                 */
                getRoleName():string;
                /**
                 * 设置通用角色id
                 * @param roleId 通用角色id
                 */
                setRoleId(roleId:string):void;
                /**
                 * 设置通用角色名称
                 * @param roleName 通用角色名称
                 */
                setRoleName(roleName:string):void;
                /**
                 * 获取通用角色id
                 * @return 通用角色id
                 */
                getRoleId():string;
                /**
                 * 设置通用角色编码
                 * @param roleNumber 通用角色编码
                 */
                setRoleNumber(roleNumber:string):void;
            }
            type ComRoleFieldPermScheme_T = $.java.io.Serializable & ComRoleFieldPermScheme$ & FieldPermScheme;
            interface ComRoleFieldPermScheme extends ComRoleFieldPermScheme_T {
            }
            interface LogDrInfo_S {
            }
            type LogDrInfo_ST = $.java.io.Serializable & LogDrInfo_S;
            interface LogDrInfo_C extends LogDrInfo_ST {
                new():LogDrInfo;
            }
            interface LogDrInfo$ {
                /**
                 * 设置方案名称
                 * @param drName 方案名称
                 */
                setDrName(drName:string):void;
                /**
                 * 设置方案编码
                 * @param drNumber 方案编码
                 */
                setDrNumber(drNumber:string):void;
                /**
                 * 获取方案编码
                 * @return 方案编码
                 */
                getDrNumber():string;
                /**
                 * 设置业务对象名称
                 * @param entityName 业务对象名称
                 */
                setEntityName(entityName:string):void;
                /**
                 * 获取规则内容文本
                 * @return 规则内容文本
                 */
                getRuleText():string;
                /**
                 * 设置规则内容文本
                 * @param ruleText 规则内容文本
                 */
                setRuleText(ruleText:string):void;
                /**
                 * 获取业务对象编码
                 * @return 业务对象编码
                 */
                getEntityId():string;
                /**
                 * 设置使用状态
                 * @param drEnable 使用状态
                 */
                setDrEnable(drEnable:string):void;
                /**
                 * 对象检查
                 * @param desc 描述文本
                 * @throws Exception
                 */
                check(desc:string):void;
                /**
                 * 获取使用状态
                 * @return 使用状态
                 */
                getDrEnable():string;
                /**
                 * 获取业务对象名称
                 * @return 业务对象名称
                 */
                getEntityName():string;
                /**
                 * 获取方案名称
                 * @return 方案名称
                 */
                getDrName():string;
                /**
                 * 设置业务对象编码
                 * @param entityId 业务对象编码
                 */
                setEntityId(entityId:string):void;
            }
            type LogDrInfo_T = $.java.io.Serializable & LogDrInfo$;
            interface LogDrInfo extends LogDrInfo_T {
            }
            interface Dim_S {
            }
            type Dim_ST = $.java.io.Serializable & Dim_S;
            interface Dim_C extends Dim_ST {
                /**
                 * 默认构造方法
                 */
                new():Dim;
                /**
                 * 构造方法
                 * @param dimType 权限控制类型
                 * @param dimId 权限控制对象id
                 * @param includeSub 包含下级，默认 false
                 */
                new(dimType:string,dimId:long,includeSub:boolean):Dim;
                /**
                 * 构造方法
                 * @param dimType 权限控制类型
                 * @param dimId 权限控制对象id，例：组织id、体系id
                 * @param dimNumber 权限控制对象编码，例：组织编码、体系编码
                 * @param includeSub 包含下级，默认 false
                 */
                new(dimType:string,dimId:long,dimNumber:string,includeSub:boolean):Dim;
            }
            interface Dim$ {
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码，例：组织编码、体系编码
                 */
                getDimNumber():string;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码，例：组织编码、体系编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
            }
            type Dim_T = $.java.io.Serializable & Dim$;
            interface Dim extends Dim_T {
            }
            interface ComRoleFieldPermSchemeDetail_S {
            }
            type ComRoleFieldPermSchemeDetail_ST = $.java.io.Serializable & ComRoleFieldPermSchemeDetail_S & FieldPermSchemeDetail_S;
            interface ComRoleFieldPermSchemeDetail_C extends ComRoleFieldPermSchemeDetail_ST {
                /**
                 * 默认构造方法
                 */
                new():ComRoleFieldPermSchemeDetail;
            }
            interface ComRoleFieldPermSchemeDetail$ {
                /**
                 * 获取通用角色id
                 * @return 通用角色id
                 */
                getRoleId():string;
                /**
                 * 获取通用角色编码
                 * @return 通用角色编码
                 */
                getRoleNumber():string;
                /**
                 * 设置通用角色id
                 * @param roleId 通用角色id
                 */
                setRoleId(roleId:string):void;
                /**
                 * 设置通用角色编码
                 * @param roleNumber 通用角色编码
                 */
                setRoleNumber(roleNumber:string):void;
                /**
                 * 获取通用角色名称
                 * @return 通用角色名称
                 */
                getRoleName():string;
                /**
                 * 设置通用角色名称
                 * @param roleName 通用角色名称
                 */
                setRoleName(roleName:string):void;
            }
            type ComRoleFieldPermSchemeDetail_T = $.java.io.Serializable & ComRoleFieldPermSchemeDetail$ & FieldPermSchemeDetail;
            interface ComRoleFieldPermSchemeDetail extends ComRoleFieldPermSchemeDetail_T {
            }
            interface FieldPermSchemeDetail_S {
            }
            type FieldPermSchemeDetail_ST = $.java.io.Serializable & FieldPermSchemeDetail_S & FieldPerm_S;
            interface FieldPermSchemeDetail_C extends FieldPermSchemeDetail_ST {
                /**
                 * 默认构造方法
                 */
                new():FieldPermSchemeDetail;
            }
            interface FieldPermSchemeDetail$ {
                /**
                 * 设置字段权限方案id
                 * @param id 字段权限方案id
                 */
                setId(id:long):void;
                /**
                 * 设置字段来源类型
                 * @param schemeType 字段来源类型
                 */
                setSchemeType(schemeType:string):void;
                /**
                 * 设置使用状态
                 * @param enable 使用状态
                 */
                setEnable(enable:string):void;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 设置控件字段类型
                 * @param controlFieldType 控件字段类型
                 */
                setControlFieldType(controlFieldType:string):void;
                /**
                 * 获取字段权限方案编码
                 * @return 字段权限方案编码
                 */
                getNumber():string;
                /**
                 * 获取控件字段类型
                 * @return 控件字段类型
                 */
                getControlFieldType():string;
                /**
                 * 设置字段权限方案编码
                 * @param number 字段权限方案编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取字段来源类型
                 * @return 字段来源类型
                 */
                getSchemeType():string;
                /**
                 * 获取使用状态
                 * @return 使用状态
                 */
                getEnable():string;
                /**
                 * 设置描述
                 * @param desc 描述
                 */
                setDesc(desc:string):void;
                /**
                 * 设置分录id
                 * @param entryId 分录id
                 */
                setEntryId(entryId:long):void;
                /**
                 * 获取字段权限方案名称
                 * @return 字段权限方案名称
                 */
                getName():string;
                /**
                 * 设置字段权限方案名称
                 * @param name 字段权限方案名称
                 */
                setName(name:string):void;
                /**
                 * 获取字段权限方案id
                 * @return 字段权限方案id
                 */
                getId():long;
                /**
                 * 获取分录id
                 * @return 分录id
                 */
                getEntryId():long;
            }
            type FieldPermSchemeDetail_T = $.java.io.Serializable & FieldPerm & FieldPermSchemeDetail$;
            interface FieldPermSchemeDetail extends FieldPermSchemeDetail_T {
            }
            interface AdmGroup_S {
            }
            type AdmGroup_ST = $.java.io.Serializable & AdmGroup_S;
            interface AdmGroup_C extends AdmGroup_ST {
                /**
                 * 默认构造方法
                 */
                new():AdmGroup;
                /**
                 * 带参数构造方法
                 * @param id 管理员组id
                 * @param name 管理员组名称
                 * @param number 管理员组编码
                 */
                new(id:long,name:string,number_arg:string):AdmGroup;
                /**
                 * 带参数构造方法
                 * @param id 管理员组id
                 * @param parent 管理员组父id
                 * @param level 层级
                 * @param longNum 长编码
                 * @param leaf 是否叶子节点
                 * @param name 管理员组名称
                 * @param number 管理员组编码
                 * @param description 描述
                 * @param adminScheme 所属权限控制策略
                 * @param adminType 管理员类型
                 * @param domainGroup 是否领域管理员分组
                 * @param domain 所属领域
                 */
                new(id:long,parent:long,level:number,longNum:string,leaf:boolean,name:string,number_arg:string,description:string,adminScheme:long,adminType:long,domainGroup:boolean,domain:long):AdmGroup;
            }
            interface AdmGroup$ {
                /**
                 * 设置是否叶子节点
                 * @param leaf 是否叶子节点
                 */
                setLeaf(leaf:boolean):void;
                /**
                 * 设置层级
                 * @param level 层级
                 */
                setLevel(level:number):void;
                /**
                 * 获取管理员组编码
                 *
                 * @return 管理员组编码
                 */
                getNumber():string;
                /**
                 * 设置管理员组名称
                 *
                 * @param name 管理员组名称
                 */
                setName(name:string):void;
                /**
                 * 设置管理员组描述
                 *
                 * @param description 管理员组描述
                 */
                setDescription(description:string):void;
                /**
                 * 设置管理员组所属权限控制策略
                 *
                 * @param adminScheme 管理员组所属权限控制策略id
                 */
                setAdminScheme(adminScheme:long):void;
                /**
                 * 设置是否领域管理员组
                 *
                 * @param domainGroup 是否领域管理员组
                 */
                setDomainGroup(domainGroup:boolean):void;
                /**
                 * 获取层级
                 * @return 层级
                 */
                getLevel():number;
                /**
                 * 设置上级管理员组id
                 *
                 * @param parent 上级管理员组id
                 */
                setParent(parent:long):void;
                /**
                 * 获取长编码
                 * @return 长编码
                 */
                getLongNum():string;
                /**
                 * 设置管理员类型
                 *
                 * @param adminType 管理员类型
                 */
                setAdminType(adminType:long):void;
                /**
                 * 获取管理员组描述
                 *
                 * @return 管理员组描述
                 */
                getDescription():string;
                /**
                 * 获取id属性
                 *
                 * @return 管理员组id
                 */
                getId():long;
                /**
                 * 设置id属性
                 *
                 * @param id 管理员组id
                 */
                setId(id:long):void;
                /**
                 * 获取是否叶子节点
                 * @return 是否叶子节点
                 */
                isLeaf():boolean;
                /**
                 * 设置领域id
                 *
                 * @param domain 领域id
                 */
                setDomain(domain:long):void;
                /**
                 * 获取上级管理员组id
                 *
                 * @return 上级管理员组id
                 */
                getParent():long;
                /**
                 * 获取是否领域管理员
                 *
                 * @return
                 */
                domainGroup():boolean;
                /**
                 * 获取领域id
                 *
                 * @return 领域id
                 */
                getDomain():long;
                /**
                 * 设置长编码
                 * @param longNum 长编码
                 */
                setLongNum(longNum:string):void;
                /**
                 * 获取管理员类型
                 *
                 * @return 管理员类型
                 */
                getAdminType():long;
                /**
                 * 设置管理员组编码
                 *
                 * @param number 管理员组编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取管理员组编码
                 *
                 * @return 管理员组编码
                 */
                getName():string;
                /**
                 * 获取管理员组所属权限控制策略
                 *
                 * @return 管理员组所属权限控制策略
                 */
                getAdminScheme():long;
            }
            type AdmGroup_T = $.java.io.Serializable & AdmGroup$;
            interface AdmGroup extends AdmGroup_T {
            }
            interface PermCtrlType_S {
            }
            type PermCtrlType_ST = $.java.io.Serializable & PermCtrlType_S;
            interface PermCtrlType_C extends PermCtrlType_ST {
                /**
                 * 默认构造方法
                 */
                new():PermCtrlType;
            }
            interface PermCtrlType$ {
                /**
                 * 设置名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 获取名称
                 * @return 名称
                 */
                getName():string;
                /**
                 * 设置是否应用于“我有权的xxx”数据规则
                 * @param myhasrightDr 是否应用于“我有权的xxx”数据规则
                 */
                setMyhasrightDr(myhasrightDr:string):void;
                /**
                 * 设置修改时间
                 * @param modifytime 修改时间
                 */
                setModifytime(modifytime:string):void;
                /**
                 * 获取权限控制类型编码（小写，如bos_org）
                 * @return 权限控制类型编码（小写，如bos_org）
                 */
                getBizobjectid():string;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置创建时间
                 * @param createtime 创建时间
                 */
                setCreatetime(createtime:string):void;
                /**
                 * 设置是否应用于系统树过滤
                 * @param sysTreeFilter 是否应用于系统树过滤
                 */
                setSysTreeFilter(sysTreeFilter:string):void;
                /**
                 * 获取创建人id
                 * @return 创建人id
                 */
                getCreatorid():string;
                /**
                 * 获取修改人id
                 * @return 修改人id
                 */
                getModifierid():string;
                /**
                 * 获取是否应用于“我有权的xxx”数据规则
                 * @return 是否应用于“我有权的xxx”数据规则
                 */
                getMyhasrightDr():string;
                /**
                 * 获取是否应用于系统树过滤
                 * @return 是否应用于系统树过滤
                 */
                getSysTreeFilter():string;
                /**
                 * 设置序号
                 * @param seq 序号
                 */
                setSeq(seq:number):void;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置创建人id
                 * @param creatorid 创建人id
                 */
                setCreatorid(creatorid:string):void;
                /**
                 * 获取创建时间
                 * @return 创建时间
                 */
                getCreatetime():string;
                /**
                 * 获取使用状态
                 * @return 使用状态
                 */
                getStatus():string;
                /**
                 * 获取序号
                 * @return 序号
                 */
                getSeq():number;
                /**
                 * 获取启用状态
                 * @return 启用状态
                 */
                getEnable():string;
                /**
                 * 设置启用状态
                 * @param enable 启用状态
                 */
                setEnable(enable:string):void;
                /**
                 * 获取masterid
                 * @return masterid
                 */
                getMasterid():string;
                /**
                 * 设置修改人id
                 * @param modifierid 修改人id
                 */
                setModifierid(modifierid:string):void;
                /**
                 * 设置权限控制类型编码（大写，如DIM_ORG）
                 * @param number 权限控制类型编码（大写，如DIM_ORG）
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取权限控制类型编码（大写，如DIM_ORG）
                 * @return 权限控制类型编码（大写，如DIM_ORG）
                 */
                getNumber():string;
                /**
                 * 设置masterid
                 * @param masterid masterid
                 */
                setMasterid(masterid:string):void;
                /**
                 * 获取系统预置
                 * @return 系统预置
                 */
                getSystem():string;
                /**
                 * 获取修改时间
                 * @return 修改时间
                 */
                getModifytime():string;
                /**
                 * 设置权限控制类型编码（小写，如bos_org）
                 * @param bizobjectid 权限控制类型编码（小写，如bos_org）
                 */
                setBizobjectid(bizobjectid:string):void;
                /**
                 * 设置系统预置
                 * @param system 系统预置
                 */
                setSystem(system:string):void;
                /**
                 * 设置使用状态
                 * @param status 使用状态
                 */
                setStatus(status:string):void;
            }
            type PermCtrlType_T = $.java.io.Serializable & PermCtrlType$;
            interface PermCtrlType extends PermCtrlType_T {
            }
            interface UserFieldPermScheme_S {
            }
            type UserFieldPermScheme_ST = $.java.io.Serializable & FieldPermScheme_S & UserFieldPermScheme_S;
            interface UserFieldPermScheme_C extends UserFieldPermScheme_ST {
                /**
                 * 默认构造方法
                 */
                new():UserFieldPermScheme;
                /**
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param id 字段权限方案id
                 * @param userId 用户id
                 * @param dimType 权限控制类型
                 * @param dimId 权限控制对象id
                 * @param includeSub 包含下级
                 * @param fromTypeDesc 来源描述
                 */
                new(appId:string,entityNumber:string,id:long,userId:long,dimType:string,dimId:long,includeSub:string,fromTypeDesc:string):UserFieldPermScheme;
            }
            interface UserFieldPermScheme$ {
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 获取包含下级
                 * @return 包含下级
                 */
                getIncludeSub():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 设置包含下级
                 * @param includeSub 包含下级
                 */
                setIncludeSub(includeSub:string):void;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
            }
            type UserFieldPermScheme_T = $.java.io.Serializable & FieldPermScheme & UserFieldPermScheme$;
            interface UserFieldPermScheme extends UserFieldPermScheme_T {
            }
            interface DimNewDrPrPerm_S {
            }
            type DimNewDrPrPerm_ST = $.java.io.Serializable & DimNewDrPrPerm_S & NewDrPrPerm_S;
            interface DimNewDrPrPerm_C extends DimNewDrPrPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():DimNewDrPrPerm;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param propKey 属性标识
                 * @param propEntNum 业务对象标识
                 * @param dataRuleId 方案id
                 * @param dimId 权限控制对象id
                 * @param includesuborg 包含下级
                 * @param dimType 权限控制类型
                 */
                new(appId:string,entityNumber:string,propKey:string,propEntNum:string,dataRuleId:long,dimId:long,includesuborg:string,dimType:string):DimNewDrPrPerm;
            }
            interface DimNewDrPrPerm$ {
                /**
                 * 设置包含下级
                 * @param includesuborg 包含下级
                 */
                setIncludesuborg(includesuborg:string):void;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludesuborgDesc():string;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
                /**
                 * 获取包含下级
                 * @return 包含下级
                 */
                getIncludesuborg():string;
                /**
                 * 设置包含下级描述
                 * @param includesuborgDesc 包含下级描述
                 */
                setIncludesuborgDesc(includesuborgDesc:string):void;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
            }
            type DimNewDrPrPerm_T = $.java.io.Serializable & DimNewDrPrPerm$ & NewDrPrPerm;
            interface DimNewDrPrPerm extends DimNewDrPrPerm_T {
            }
            interface UserFieldPermSchemeDetail_S {
            }
            type UserFieldPermSchemeDetail_ST = $.java.io.Serializable & FieldPermSchemeDetail_S & UserFieldPermSchemeDetail_S;
            interface UserFieldPermSchemeDetail_C extends UserFieldPermSchemeDetail_ST {
                /**
                 * 默认构造方法
                 */
                new():UserFieldPermSchemeDetail;
            }
            interface UserFieldPermSchemeDetail$ {
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 设置隔离维度编码
                 * @param dimNumber 隔离维度编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 获取隔离维度id
                 * @return 隔离维度id
                 */
                getDimId():long;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 设置隔离维度类型描述
                 * @param dimTypeDesc 隔离维度类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 获取隔离维度编码
                 * @return 隔离维度编码
                 */
                getDimNumber():string;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取隔离维度类型
                 * @return 隔离维度类型
                 */
                getDimType():string;
                /**
                 * 获取姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 设置隔离维度名称
                 * @param dimName 隔离维度名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置隔离维度id
                 * @param dimId 隔离维度id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置隔离维度类型
                 * @param dimType 隔离维度类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取隔离维度类型描述
                 * @return 隔离维度类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 设置包含下级
                 * @param includeSub 包含下级
                 */
                setIncludeSub(includeSub:string):void;
                /**
                 * 获取隔离维度名称
                 * @return 隔离维度名称
                 */
                getDimName():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 获取包含下级
                 * @return 包含下级
                 */
                getIncludeSub():string;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
            }
            type UserFieldPermSchemeDetail_T = $.java.io.Serializable & FieldPermSchemeDetail & UserFieldPermSchemeDetail$;
            interface UserFieldPermSchemeDetail extends UserFieldPermSchemeDetail_T {
            }
            interface FieldPerm_S {
            }
            type FieldPerm_ST = $.java.io.Serializable & Entity_S & FieldPerm_S;
            interface FieldPerm_C extends FieldPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():FieldPerm;
                /**
                 * 全参构造方法
                 * @param fieldName 字段， 如 ：billno
                 * @param fieldComment 字段名， 如 ：单据编号
                 * @param controlMode 控制模式， 10：禁止查看， 20：禁止编辑
                 * @param controlModeDesc 控制模式描述， 10：禁止查看， 20：禁止编辑
                 */
                new(fieldName:string,fieldComment:string,controlMode:string,controlModeDesc:string):FieldPerm;
            }
            interface FieldPerm$ {
                /**
                 * 设置控制模式描述， 10：禁止查看， 20：禁止编辑
                 * @param controlModeDesc 控制模式描述， 10：禁止查看， 20：禁止编辑
                 */
                setControlModeDesc(controlModeDesc:string):void;
                /**
                 * 获取字段名， 如 ：单据编号
                 * @return 字段名， 如 ：单据编号
                 */
                getFieldComment():string;
                /**
                 * 获取控制模式描述， 10：禁止查看， 20：禁止编辑
                 * @return 控制模式描述， 10：禁止查看， 20：禁止编辑
                 */
                getControlModeDesc():string;
                /**
                 * 设置控制模式， 10：禁止查看， 20：禁止编辑
                 * @param controlMode 控制模式， 10：禁止查看， 20：禁止编辑
                 */
                setControlMode(controlMode:string):void;
                /**
                 * 获取字段， 如 ：billno
                 * @return 字段， 如 ：billno
                 */
                getFieldName():string;
                /**
                 * 获取字段权限明细方案编码
                 * @return 字段权限明细方案编码
                 */
                getFieldPermNumber():string;
                /**
                 * 获取字段权限方案id（表t_perm_fieldperm的fid）
                 * @return 字段权限方案id（表t_perm_fieldperm的fid）
                 */
                getFieldPermId():string;
                /**
                 * 设置字段权限方案id（表t_perm_fieldperm的fid）
                 * @param fieldPermId 字段权限方案id（表t_perm_fieldperm的fid）
                 */
                setFieldPermId(fieldPermId:string):void;
                /**
                 * 设置字段， 如 ：billno
                 * @param fieldName 字段， 如 ：billno
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 设置字段权限明细id（表t_perm_fieldpermdetail的fentryid）
                 * @param fieldPermEntryId 字段权限明细id（表t_perm_fieldpermdetail的fentryid）
                 */
                setFieldPermEntryId(fieldPermEntryId:string):void;
                /**
                 * 设置字段权限明细方案编码
                 * @param fieldPermNumber 字段权限明细方案编码
                 */
                setFieldPermNumber(fieldPermNumber:string):void;
                /**
                 * 获取控制模式， 10：禁止查看， 20：禁止编辑
                 * @return 控制模式， 10：禁止查看， 20：禁止编辑
                 */
                getControlMode():string;
                /**
                 * 获取字段权限明细id（表t_perm_fieldpermdetail的fentryid）
                 * @return 字段权限明细id（表t_perm_fieldpermdetail的fentryid）
                 */
                getFieldPermEntryId():string;
                /**
                 * 设置字段名， 如 ：单据编号
                 * @param fieldComment 字段名， 如 ：单据编号
                 */
                setFieldComment(fieldComment:string):void;
            }
            type FieldPerm_T = $.java.io.Serializable & Entity & FieldPerm$;
            interface FieldPerm extends FieldPerm_T {
            }
            interface NewDrPerm_S {
            }
            type NewDrPerm_ST = $.java.io.Serializable & NewDrPerm_S & PermItem_S;
            interface NewDrPerm_C extends NewDrPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():NewDrPerm;
                /**
                 * 部分参数构造方法
                 * @param dataRuleId 方案id
                 * @param dataRuleName 方案名称
                 */
                new(dataRuleId:long,dataRuleName:string):NewDrPerm;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param permItemId 权限项id
                 * @param dataRuleId 方案id
                 */
                new(appId:string,entityNumber:string,permItemId:string,dataRuleId:long):NewDrPerm;
            }
            interface NewDrPerm$ {
                /**
                 * 获取方案id
                 * @return 方案id
                 */
                getDataRuleId():long;
                /**
                 * 获取方案名称
                 * @return 方案名称
                 */
                getDataRuleName():string;
                /**
                 * 设置变更前方案id
                 * @param preDataRuleId 变更前方案id
                 */
                setPreDataRuleId(preDataRuleId:long):void;
                /**
                 * 设置方案id
                 * @param dataRuleId 方案id
                 */
                setDataRuleId(dataRuleId:long):void;
                /**
                 * 获取变更后方案id
                 * @return 变更后方案id
                 */
                getAfterDataRuleId():long;
                /**
                 * 获取变更前方案id
                 * @return 变更前方案id
                 */
                getPreDataRuleId():long;
                /**
                 * 设置变更后方案id
                 * @param afterDataRuleId 变更后方案id
                 */
                setAfterDataRuleId(afterDataRuleId:long):void;
                /**
                 * 获取变更前方案名称
                 * @return 变更前方案名称
                 */
                getPreDataRuleName():string;
                /**
                 * 获取变更后方案名称
                 * @return 变更后方案名称
                 */
                getAfterDataRuleName():string;
                /**
                 * 设置变更前方案名称
                 * @param preDataRuleName 变更前方案名称
                 */
                setPreDataRuleName(preDataRuleName:string):void;
                /**
                 * 设置变更后方案名称
                 * @param afterDataRuleName 变更后方案名称
                 */
                setAfterDataRuleName(afterDataRuleName:string):void;
                /**
                 * 设置方案名称
                 * @param dataRuleName 方案名称
                 */
                setDataRuleName(dataRuleName:string):void;
            }
            type NewDrPerm_T = $.java.io.Serializable & NewDrPerm$ & PermItem;
            interface NewDrPerm extends NewDrPerm_T {
            }
            interface Cloud_S {
            }
            type Cloud_ST = $.java.io.Serializable & Cloud_S & DataChangeType_S;
            interface Cloud_C extends Cloud_ST {
                /**
                 * 默认构造方法
                 */
                new():Cloud;
            }
            interface Cloud$ {
                /**
                 * 设置云编码标识
                 * @param cloudNumber 云编码标识
                 */
                setCloudNumber(cloudNumber:string):void;
                /**
                 * 设置云序号
                 * @param cloudSeq 云序号
                 */
                setCloudSeq(cloudSeq:number):void;
                /**
                 * 设置云名称
                 * @param cloudName 云名称
                 */
                setCloudName(cloudName:string):void;
                /**
                 * 获取云编码标识
                 * @return 云编码标识
                 */
                getCloudNumber():string;
                /**
                 * 获取云名称
                 * @return 云名称
                 */
                getCloudName():string;
                /**
                 * 获取云序号
                 * @return 云序号
                 */
                getCloudSeq():number;
                /**
                 * 设置云id
                 * @param cloudId 云id
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 获取云id
                 * @return 云id
                 */
                getCloudId():string;
            }
            type Cloud_T = $.java.io.Serializable & Cloud$ & DataChangeType;
            interface Cloud extends Cloud_T {
            }
            interface DimNewDrPerm_S {
            }
            type DimNewDrPerm_ST = $.java.io.Serializable & DimNewDrPerm_S & NewDrPerm_S;
            interface DimNewDrPerm_C extends DimNewDrPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():DimNewDrPerm;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param permItemId 权限项id
                 * @param dataRuleId 方案id
                 * @param dimId 权限控制对象id
                 * @param includesuborg 包含下级
                 * @param dimType 权限控制类型
                 */
                new(appId:string,entityNumber:string,permItemId:string,dataRuleId:long,dimId:long,includesuborg:string,dimType:string):DimNewDrPerm;
            }
            interface DimNewDrPerm$ {
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludesuborgDesc():string;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置包含下级描述
                 * @param includesuborgDesc 包含下级描述
                 */
                setIncludesuborgDesc(includesuborgDesc:string):void;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 设置包含下级
                 * @param includesuborg 包含下级
                 */
                setIncludesuborg(includesuborg:string):void;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 获取包含下级
                 * @return 包含下级
                 */
                getIncludesuborg():string;
            }
            type DimNewDrPerm_T = $.java.io.Serializable & DimNewDrPerm$ & NewDrPerm;
            interface DimNewDrPerm extends DimNewDrPerm_T {
            }
            interface FieldPermScheme_S {
            }
            type FieldPermScheme_ST = $.java.io.Serializable & Entity_S & FieldPermScheme_S;
            interface FieldPermScheme_C extends FieldPermScheme_ST {
                /**
                 * 默认构造方法
                 */
                new():FieldPermScheme;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param id 字段权限方案id
                 */
                new(appId:string,entityNumber:string,id:long):FieldPermScheme;
            }
            interface FieldPermScheme$ {
                /**
                 * 获取字段权限明细集合
                 * @return 字段权限明细集合
                 */
                getFieldPermList():$.java.util.List;
                /**
                 * 设置字段权限方案编码
                 * @param number 字段权限方案编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置描述
                 * @param desc 描述
                 */
                setDesc(desc:string):void;
                /**
                 * 获取敏感字段方案
                 * @return 敏感字段方案
                 */
                getSensitive():string;
                /**
                 * 获取字段来源类型
                 * @return 字段来源类型
                 */
                getFieldFrom():string;
                /**
                 * 设置控件字段类型
                 * @param controlFieldType 控件字段类型
                 */
                setControlFieldType(controlFieldType:string):void;
                /**
                 * 设置字段来源类型
                 * @param fieldFrom 字段来源类型
                 */
                setFieldFrom(fieldFrom:string):void;
                /**
                 * 获取控制模式
                 * @return 控制模式
                 */
                getControlMode():string;
                /**
                 * 设置系统预设
                 * @param system 系统预设
                 */
                setSystem(system:string):void;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDesc():string;
                /**
                 * 获取使用状态
                 * @return 使用状态
                 */
                getEnable():string;
                /**
                 * 设置敏感字段方案
                 * @param sensitive 敏感字段方案
                 */
                setSensitive(sensitive:string):void;
                /**
                 * 获取控件字段类型
                 * @return 控件字段类型
                 */
                getControlFieldType():string;
                /**
                 * 获取字段权限方案名称
                 * @return 字段权限方案名称
                 */
                getName():string;
                /**
                 * 设置使用状态
                 * @param enable 使用状态
                 */
                setEnable(enable:string):void;
                /**
                 * 设置字段权限方案id
                 * @param id 字段权限方案id
                 */
                setId(id:long):void;
                /**
                 * 获取字段权限方案编码
                 * @return 字段权限方案编码
                 */
                getNumber():string;
                /**
                 * 设置字段权限方案名称
                 * @param name 字段权限方案名称
                 */
                setName(name:string):void;
                /**
                 * 获取字段权限方案id
                 * @return 字段权限方案id
                 */
                getId():long;
                /**
                 * 设置字段权限明细集合
                 * @param fieldPermList 字段权限明细集合
                 */
                setFieldPermList(fieldPermList:$.java.util.List):void;
                /**
                 * 设置控制模式
                 * @param controlMode 控制模式
                 */
                setControlMode(controlMode:string):void;
                /**
                 * 获取系统预设
                 * @return 系统预设
                 */
                getSystem():string;
            }
            type FieldPermScheme_T = $.java.io.Serializable & Entity & FieldPermScheme$;
            interface FieldPermScheme extends FieldPermScheme_T {
            }
            interface UserDimFieldPerm_S {
            }
            type UserDimFieldPerm_ST = $.java.io.Serializable & DimFieldPerm_S & UserDimFieldPerm_S;
            interface UserDimFieldPerm_C extends UserDimFieldPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():UserDimFieldPerm;
            }
            interface UserDimFieldPerm$ {
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取来源描述
                 * @return 来源描述
                 */
                getFromDesc():string;
                /**
                 * 设置来源描述
                 * @param fromDesc
                 */
                setFromDesc(fromDesc:string):void;
            }
            type UserDimFieldPerm_T = $.java.io.Serializable & DimFieldPerm & UserDimFieldPerm$;
            interface UserDimFieldPerm extends UserDimFieldPerm_T {
            }
            interface ComRoleGroup_S {
            }
            type ComRoleGroup_ST = $.java.io.Serializable & ComRoleGroup_S;
            interface ComRoleGroup_C extends ComRoleGroup_ST {
                new():ComRoleGroup;
            }
            interface ComRoleGroup$ {
                /**
                 * 设置描述
                 * @param description 描述
                 */
                setDescription(description:string):void;
                /**
                 * 设置层级
                 * @param level 层级
                 */
                setLevel(level:number):void;
                /**
                 * 获取通用角色分组父id
                 * @return 通用角色分组父id
                 */
                getParent():string;
                /**
                 * 获取通用角色分组id
                 * @return 通用角色分组id
                 */
                getId():string;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDescription():string;
                /**
                 * 设置通用角色分组父id
                 * @param parent 通用角色分组父id
                 */
                setParent(parent:string):void;
                /**
                 * 获取通用角色分组名
                 * @return 通用角色分组名
                 */
                getName():string;
                /**
                 * 设置通用角色分组编码
                 * @param number 通用角色分组编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置通用角色分组名
                 * @param name 通用角色分组名
                 */
                setName(name:string):void;
                /**
                 * 获取通用角色分组编码
                 * @return 通用角色分组编码
                 */
                getNumber():string;
                /**
                 * 获取层级
                 * @return 层级
                 */
                getLevel():number;
                /**
                 * 设置通用角色分组id
                 * @param id 通用角色分组id
                 */
                setId(id:string):void;
            }
            type ComRoleGroup_T = $.java.io.Serializable & ComRoleGroup$;
            interface ComRoleGroup extends ComRoleGroup_T {
            }
            interface PermLevelHash_S {
            }
            type PermLevelHash_ST = $.java.io.Serializable & PermLevelHash_S;
            interface PermLevelHash_C extends PermLevelHash_ST {
                /**
                 * 默认构造方法
                 */
                new():PermLevelHash;
                /**
                 * 构造方法
                 * @param hasIncludeSub 存在包含下级的情况
                 * @param funcDimMap Map<应用id@@表单标识@@权限项id, Set<隔离维度类型(小写)@@隔离维度id@@包含下级>>
                 */
                new(hasIncludeSub:boolean,funcDimMap:$.java.util.Map):PermLevelHash;
            }
            interface PermLevelHash$ {
                /**
                 * 设置存在包含下级的情况
                 * @param hasIncludeSub 存在包含下级的情况
                 */
                setHasIncludeSub(hasIncludeSub:boolean):void;
                /**
                 * 获取 Map<应用id@@表单标识@@权限项id, Set<隔离维度类型(小写)@@隔离维度id@@包含下级>>
                 * @return Map<应用id@@表单标识@@权限项id, Set<隔离维度类型(小写)@@隔离维度id@@包含下级>>
                 */
                getFuncDimMap():$.java.util.Map;
                /**
                 * 获取存在包含下级的情况
                 * @return 存在包含下级的情况
                 */
                isHasIncludeSub():boolean;
                /**
                 * 设置 Map<应用id@@表单标识@@权限项id, Set<隔离维度类型(小写)@@隔离维度id@@包含下级>>
                 * @param funcDimMap Map<应用id@@表单标识@@权限项id, Set<隔离维度类型(小写)@@隔离维度id@@包含下级>>
                 */
                setFuncDimMap(funcDimMap:$.java.util.Map):void;
            }
            type PermLevelHash_T = $.java.io.Serializable & PermLevelHash$;
            interface PermLevelHash extends PermLevelHash_T {
            }
            interface PermItem_S {
            }
            type PermItem_ST = $.java.io.Serializable & Entity_S & PermItem_S;
            interface PermItem_C extends PermItem_ST {
                /**
                 * 默认构造方法
                 */
                new():PermItem;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param permItemId 权限项id
                 */
                new(appId:string,entityNumber:string,permItemId:string):PermItem;
            }
            interface PermItem$ {
                /**
                 * 设置权限项编码标识
                 * @param permItemNumber 权限项编码标识
                 */
                setPermItemNumber(permItemNumber:string):void;
                /**
                 * 获取权限项名称
                 * @return 权限项名称
                 */
                getPermItemName():string;
                /**
                 * 获取权限项id
                 * @return 权限项id
                 */
                getPermItemId():string;
                /**
                 * 获取权限项编码标识
                 * @return 权限项编码标识
                 */
                getPermItemNumber():string;
                /**
                 * 设置权限项名称
                 * @param permItemName 权限项名称
                 */
                setPermItemName(permItemName:string):void;
                /**
                 * 设置权限项id
                 * @param permItemId 权限项id
                 */
                setPermItemId(permItemId:string):void;
            }
            type PermItem_T = $.java.io.Serializable & Entity & PermItem$;
            interface PermItem extends PermItem_T {
            }
            interface DimFieldPerm_S {
            }
            type DimFieldPerm_ST = $.java.io.Serializable & DimFieldPerm_S & FieldPerm_S;
            interface DimFieldPerm_C extends DimFieldPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():DimFieldPerm;
                /**
                 * 构造方法
                 * @param dimType 隔离维度类型
                 * @param dimId 隔离维度id，例：组织id、体系id
                 * @param includeSub 包含下级，默认 false
                 */
                new(dimType:string,dimId:long,includeSub:boolean):DimFieldPerm;
            }
            interface DimFieldPerm$ {
                /**
                 * 获取隔离维度编码，例：组织编码、体系编码
                 * @return 隔离维度编码，例：组织编码、体系编码
                 */
                getDimNumber():string;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 设置隔离维度类型
                 * @param dimType 隔离维度类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 设置隔离维度名称，例：组织名称、体系名称
                 * @param dimName 隔离维度名称，例：组织名称、体系名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 获取隔离维度类型
                 * @return 隔离维度类型
                 */
                getDimType():string;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 获取隔离维度id，例：组织id、体系id
                 * @return 隔离维度id，例：组织id、体系id
                 */
                getDimId():long;
                /**
                 * 设置隔离维度编码，例：组织编码、体系编码
                 * @param dimNumber 隔离维度编码，例：组织编码、体系编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 设置隔离维度id，例：组织id、体系id
                 * @param dimId 隔离维度id，例：组织id、体系id
                 */
                setDimId(dimId:long):void;
                /**
                 * 获取隔离维度类型描述
                 * @return 隔离维度类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 设置隔离维度类型描述
                 * @param dimTypeDesc 隔离维度类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 获取隔离维度名称，例：组织名称、体系名称
                 * @return 隔离维度名称，例：组织名称、体系名称
                 */
                getDimName():string;
            }
            type DimFieldPerm_T = $.java.io.Serializable & DimFieldPerm$ & FieldPerm;
            interface DimFieldPerm extends DimFieldPerm_T {
            }
            interface NewDrPrPerm_S {
            }
            type NewDrPrPerm_ST = $.java.io.Serializable & Entity_S & NewDrPrPerm_S;
            interface NewDrPrPerm_C extends NewDrPrPerm_ST {
                /**
                 * 默认构造方法
                 */
                new():NewDrPrPerm;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param propKey 属性标识
                 * @param propEntNum 业务对象标识
                 * @param dataRuleId 方案id
                 */
                new(appId:string,entityNumber:string,propKey:string,propEntNum:string,dataRuleId:long):NewDrPrPerm;
                /**
                 * 部分参数构造方法
                 * @param propKey 属性标识
                 * @param propName 属性名称
                 * @param propEntNum 业务对象标识
                 * @param propEntName 业务对象名称
                 * @param dataRuleId 方案id
                 * @param dataRuleName 方案名称
                 */
                new(propKey:string,propName:string,propEntNum:string,propEntName:string,dataRuleId:long,dataRuleName:string):NewDrPrPerm;
            }
            interface NewDrPrPerm$ {
                /**
                 * 设置方案id
                 * @param dataRuleId 方案id
                 */
                setDataRuleId(dataRuleId:long):void;
                /**
                 * 获取变更前方案id
                 * @return 变更前方案id
                 */
                getPreDataRuleId():long;
                /**
                 * 获取变更前方案名称
                 * @return 变更前方案名称
                 */
                getPreDataRuleName():string;
                /**
                 * 设置变更后方案id
                 * @param afterDataRuleId 变更后方案id
                 */
                setAfterDataRuleId(afterDataRuleId:long):void;
                /**
                 * 设置业务对象名称
                 * @param propEntName 业务对象名称
                 */
                setPropEntName(propEntName:string):void;
                /**
                 * 获取方案名称
                 * @return 方案名称
                 */
                getDataRuleName():string;
                /**
                 * 获取业务对象标识
                 * @return 业务对象标识
                 */
                getPropEntNum():string;
                /**
                 * 设置业务对象标识
                 * @param propEntNum 业务对象标识
                 */
                setPropEntNum(propEntNum:string):void;
                /**
                 * 设置方案名称
                 * @param dataRuleName 方案名称
                 */
                setDataRuleName(dataRuleName:string):void;
                /**
                 * 设置属性标识
                 * @param propKey 属性标识
                 */
                setPropKey(propKey:string):void;
                /**
                 * 获取方案id
                 * @return 方案id
                 */
                getDataRuleId():long;
                /**
                 * 获取变更后方案id
                 * @return 变更后方案id
                 */
                getAfterDataRuleId():long;
                /**
                 * 设置变更前方案id
                 * @param preDataRuleId 变更前方案id
                 */
                setPreDataRuleId(preDataRuleId:long):void;
                /**
                 * 设置变更前方案名称
                 * @param preDataRuleName 变更前方案名称
                 */
                setPreDataRuleName(preDataRuleName:string):void;
                /**
                 * 获取属性标识
                 * @return 属性标识
                 */
                getPropKey():string;
                /**
                 * 获取属性名称
                 * @return 属性名称
                 */
                getPropName():string;
                /**
                 * 获取业务对象名称
                 * @return 业务对象名称
                 */
                getPropEntName():string;
                /**
                 * 设置属性名称
                 * @param propName 属性名称
                 */
                setPropName(propName:string):void;
                /**
                 * 设置变更后方案名称
                 * @param afterDataRuleName 变更后方案名称
                 */
                setAfterDataRuleName(afterDataRuleName:string):void;
                /**
                 * 获取变更后方案名称
                 * @return 变更后方案名称
                 */
                getAfterDataRuleName():string;
            }
            type NewDrPrPerm_T = $.java.io.Serializable & Entity & NewDrPrPerm$;
            interface NewDrPrPerm extends NewDrPrPerm_T {
            }
        }
        namespace kd.bos.permission.model.perm.busirole{
            interface BusiRoleGroup_S {
            }
            type BusiRoleGroup_ST = $.java.io.Serializable & BusiRoleGroup_S;
            interface BusiRoleGroup_C extends BusiRoleGroup_ST {
                new():BusiRoleGroup;
            }
            interface BusiRoleGroup$ {
                /**
                 * 设置业务角色分组父id
                 * @param parent 业务角色分组父id
                 */
                setParent(parent:string):void;
                /**
                 * 获取业务角色分组编码
                 * @return 业务角色分组编码
                 */
                getNumber():string;
                /**
                 * 设置描述
                 * @param description 描述
                 */
                setDescription(description:string):void;
                /**
                 * 获取层级
                 * @return 层级
                 */
                getLevel():number;
                /**
                 * 设置业务角色分组编码
                 * @param number 业务角色分组编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取业务角色分组名
                 * @return 业务角色分组名
                 */
                getName():string;
                /**
                 * 获取描述
                 * @return 描述
                 */
                getDescription():string;
                /**
                 * 设置层级
                 * @param level 层级
                 */
                setLevel(level:number):void;
                /**
                 * 获取业务角色分组父id
                 * @return 业务角色分组父id
                 */
                getParent():string;
                /**
                 * 设置业务角色分组id
                 * @param id 业务角色分组id
                 */
                setId(id:string):void;
                /**
                 * 获取业务角色分组id
                 * @return 业务角色分组id
                 */
                getId():string;
                /**
                 * 设置业务角色分组名
                 * @param name 业务角色分组名
                 */
                setName(name:string):void;
            }
            type BusiRoleGroup_T = $.java.io.Serializable & BusiRoleGroup$;
            interface BusiRoleGroup extends BusiRoleGroup_T {
            }
        }
        namespace kd.bos.permission.model.perm.req{
            interface UserDimReq_S {
            }
            type UserDimReq_ST = $.java.io.Serializable & UserDimReq_S;
            interface UserDimReq_C extends UserDimReq_ST {
                new():UserDimReq;
            }
            interface UserDimReq$ {
                /**
                 * 设置来源类型描述
                 * @param fromTypeDesc 来源类型描述
                 */
                setFromTypeDesc(fromTypeDesc:string):void;
                /**
                 * 获取来源类型描述
                 * @return 来源类型描述
                 */
                getFromTypeDesc():string;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 设置失效时间
                 * @param endTime 失效时间
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 获取隔离维度id，例：组织id、体系id
                 * @return 隔离维度id，例：组织id、体系id
                 */
                getDimId():long;
                /**
                 * 获取生效时间
                 * @return 生效时间
                 */
                getStartTime():Date;
                /**
                 * 获取失效时间
                 * @return 失效时间
                 */
                getEndTime():Date;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 设置生效时间
                 * @param startTime 生效时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置隔离维度id，例：组织id、体系id
                 * @param dimId 隔离维度id，例：组织id、体系id
                 */
                setDimId(dimId:long):void;
            }
            type UserDimReq_T = $.java.io.Serializable & UserDimReq$;
            interface UserDimReq extends UserDimReq_T {
            }
            interface UserAssignDimRoleReq_S {
            }
            type UserAssignDimRoleReq_ST = $.java.io.Serializable & UserAssignDimRoleReq_S;
            interface UserAssignDimRoleReq_C extends UserAssignDimRoleReq_ST {
                new():UserAssignDimRoleReq;
            }
            interface UserAssignDimRoleReq$ {
                /**
                 * 获取增加的隔离维度-通用角色列表
                 * 例如：组织-角色列表
                 * @return 增加的隔离维度-通用角色列表
                 */
                getAddList():$.java.util.List;
                /**
                 * 获取隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值，
                 * 或 预览表单 perm_ctrltype 列表 ，名称不为空的记录的业务对象.编码
                 * @return 隔离维度类型
                 */
                getDimType():string;
                /**
                 * 获取删除的隔离维度-通用角色列表
                 * 例如：组织-角色列表
                 * @return 删除的隔离维度-通用角色列表
                 */
                getDelList():$.java.util.List;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值，
                 * 或 预览表单 perm_ctrltype 列表 ，名称不为空的记录的业务对象.编码
                 * @param dimType 隔离维度类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 设置增加的隔离维度-通用角色列表
                 * 例如：组织-角色列表
                 * @param addList 增加的隔离维度-通用角色列表
                 */
                setAddList(addList:$.java.util.List):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置删除的隔离维度-通用角色列表
                 * 例如：组织-角色列表
                 * @param delList 删除的隔离维度-通用角色列表
                 */
                setDelList(delList:$.java.util.List):void;
            }
            type UserAssignDimRoleReq_T = $.java.io.Serializable & UserAssignDimRoleReq$;
            interface UserAssignDimRoleReq extends UserAssignDimRoleReq_T {
            }
            interface UserAssignUserGroupReq_S {
            }
            type UserAssignUserGroupReq_ST = $.java.io.Serializable & UserAssignUserGroupReq_S;
            interface UserAssignUserGroupReq_C extends UserAssignUserGroupReq_ST {
                /**
                 * 全参构造方法
                 * @param userIdAndGroupIdsMap Map<用户id, Set<用户组id>>
                 * @param mode 授权的分配模式枚举
                 * @param grpUsrFromTypeEnum 用户组中用户来源类型枚举
                 * @param reason 调用原因，可以传null
                 */
                new(userIdAndGroupIdsMap:$.java.util.Map,mode:kd.bos.permission.enums.AssignModEnum,grpUsrFromTypeEnum:kd.bos.permission.enums.GrpUsrFromTypeEnum,reason:string):UserAssignUserGroupReq;
            }
            interface UserAssignUserGroupReq$ {
                /**
                 * 设置调用原因，可以传null
                 * @param reason 调用原因，可以传null
                 */
                setReason(reason:string):void;
                /**
                 * 设置授权的分配模式枚举
                 * @param mode 授权的分配模式枚举
                 */
                setMode(mode:kd.bos.permission.enums.AssignModEnum):void;
                /**
                 * 获取Map<用户id, Set<用户组id>>
                 * @return Map<用户id, Set<用户组id>>
                 */
                getUserIdAndGroupIdsMap():$.java.util.Map;
                /**
                 * 获取授权的分配模式枚举
                 * @return 授权的分配模式枚举
                 */
                getMode():kd.bos.permission.enums.AssignModEnum;
                /**
                 * 获取用户组中用户来源类型枚举
                 * @return 用户组中用户来源类型枚举
                 */
                getGrpUsrFromTypeEnum():kd.bos.permission.enums.GrpUsrFromTypeEnum;
                /**
                 * 设置用户组中用户来源类型枚举
                 * @param grpUsrFromTypeEnum 用户组中用户来源类型枚举
                 */
                setGrpUsrFromTypeEnum(grpUsrFromTypeEnum:kd.bos.permission.enums.GrpUsrFromTypeEnum):void;
                /**
                 * 设置Map<用户id, Set<用户组id>>
                 * @param userIdAndGroupIdsMap Map<用户id, Set<用户组id>>
                 */
                setUserIdAndGroupIdsMap(userIdAndGroupIdsMap:$.java.util.Map):void;
                /**
                 * 获取调用原因，可以传null
                 * @return 调用原因，可以传null
                 */
                getReason():string;
            }
            type UserAssignUserGroupReq_T = $.java.io.Serializable & UserAssignUserGroupReq$;
            interface UserAssignUserGroupReq extends UserAssignUserGroupReq_T {
            }
            interface PermLogReq_S {
            }
            type PermLogReq_ST = $.java.io.Serializable & PermLogReq_S;
            interface PermLogReq_C extends PermLogReq_ST {
                new():PermLogReq;
            }
            interface PermLogReq$ {
                /**
                 * 获取表单标识
                 * @return 表单标识
                 */
                getFormIdentity():string;
                /**
                 * 设置查询分录
                 * @param queryFL 查询分录
                 */
                setQueryFL(queryFL:boolean):void;
                /**
                 * 设置客户端地址， 可通过 RequestContext.get().getLoginIP() 获取
                 * @param clientIp 客户端地址
                 */
                setClientIp(clientIp:string):void;
                /**
                 * 设置操作前数据快照
                 * @param preDataMap 操作前数据快照
                 */
                setPreDataMap(preDataMap:$.java.util.Map):void;
                /**
                 * 设置操作项ID（操作的数据的ID），如：角色id。多个可以不传值
                 * @param opItemId 操作项ID
                 */
                setOpItemId(opItemId:string):void;
                /**
                 * 设置操作项编码，如： Role-000015。多个可以不传值
                 * @param opItemNumber 操作项编码
                 */
                setOpItemNumber(opItemNumber:string):void;
                /**
                 * 获取操作项名称，如： 测试角色。多个可以不传值
                 * @return 操作项名称
                 */
                getOpItemName():string;
                /**
                 * 获取客户端类型， 可通过 RequestContext.get().getClient() 获取
                 * @return 客户端类型
                 */
                getClientType():string;
                /**
                 * 设置操作日志编码， permNumberSelfGen 为 true 时， 不能为空
                 * @param permNumber 操作日志编码， permNumberSelfGen 为 true 时， 不能为空
                 */
                setPermNumber(permNumber:string):void;
                /**
                 * 获取操作项编码，如： Role-000015。多个可以不传值
                 * @return 操作项编码
                 */
                getOpItemNumber():string;
                /**
                 * 获取操作描述
                 * @return 操作描述
                 */
                getOpDesc():string;
                /**
                 * 设置是否记录权限日志， 默认为true， 即记录权限日志
                 * @param signPermLog 是否记录权限日志， 默认为true， 即记录权限日志
                 */
                setSignPermLog(signPermLog:boolean):void;
                /**
                 * 获取操作项ID（操作的数据的ID），如：角色id。多个可以不传值
                 * @return 操作项ID
                 */
                getOpItemId():string;
                /**
                 * 获取操作前数据快照
                 * @return 操作前数据快照
                 */
                getPreDataMap():$.java.util.Map;
                /**
                 * 获取云id
                 * @return 云id
                 */
                getCloudId():string;
                /**
                 * 获取接口方法，用于记录触发点，方便排查，最好填全限定包名
                 * @return 接口方法
                 */
                getInterfaceMethod():string;
                /**
                 * 设置操作日志编码是否自己产生， 默认为false， 即由平台产生， 如果自己产生，需要传 permNumber
                 * @param permNumberSelfGen 操作日志编码是否自己产生， 默认为false， 即由平台产生， 如果自己产生，需要传 permNumber
                 */
                setPermNumberSelfGen(permNumberSelfGen:boolean):void;
                /**
                 * 权限日志请求参数检查
                 * @param neeCheckPreAfterDiff 是否需要检查  preData、afterData、diffContent
                 * @throws Exception
                 */
                check(neeCheckPreAfterDiff:boolean):void;
                /**
                 * 获取是否记录权限日志， 默认为true， 即记录权限日志
                 * @return 是否记录权限日志， 默认为true， 即记录权限日志
                 */
                getSignPermLog():boolean;
                /**
                 * 获取操作后数据
                 * @return 操作后数据
                 */
                getAfterData():string;
                /**
                 * 设置操作时间， 可通过 kd.bos.servicehelper.TimeServiceHelper.now() 获取
                 * @param operTime 操作时间
                 */
                setOperTime(operTime:Date):void;
                /**
                 * 设置表单标识
                 * @param formIdentity 表单标识
                 */
                setFormIdentity(formIdentity:string):void;
                /**
                 * 设置操作标识，用于记录触发点，方便排查, 如 保存操作：bar_save
                 * @param op 操作标识
                 */
                setOp(op:string):void;
                /**
                 * 获取操作日志编码， permNumberSelfGen 为 true 时， 不能为空
                 * @return 操作日志编码， permNumberSelfGen 为 true 时， 不能为空
                 */
                getPermNumber():string;
                /**
                 * 设置接口方法，用于记录触发点，方便排查，最好填全限定包名
                 * @param interfaceMethod 接口方法
                 */
                setInterfaceMethod(interfaceMethod:string):void;
                /**
                 * 获取差异内容
                 * @return 差异内容
                 */
                getDiffContent():string;
                /**
                 * 获取客户端地址， 可通过 RequestContext.get().getLoginIP() 获取
                 * @return 客户端地址
                 */
                getClientIp():string;
                /**
                 * 设置业务来源，如:通用角色。
                 * 若非平台权限系统拥有的模块，请自行赋值
                 * @param busiFrom 业务来源
                 */
                setBusiFrom(busiFrom:string):void;
                /**
                 * 设置客户端类型， 可通过 RequestContext.get().getClient() 获取
                 * @param clientType 客户端类型
                 */
                setClientType(clientType:string):void;
                /**
                 * 获取操作日志编码是否自己产生， 默认为false， 即由平台产生， 如果自己产生，需要传 permNumber
                 * @return 操作日志编码是否自己产生， 默认为false， 即由平台产生， 如果自己产生，需要传 permNumber
                 */
                getPermNumberSelfGen():boolean;
                /**
                 * 获取操作时间， 可通过 kd.bos.servicehelper.TimeServiceHelper.now() 获取
                 * @return 操作时间
                 */
                getOperTime():Date;
                /**
                 * 设置操作按钮名称，用于记录触发点，方便排查, 如 保存操作：保存
                 * 若 kd.bos.permission.cache.helper.ConstantsHelper 中没有，需要自行赋值
                 * @param opbtn 操作按钮名称
                 */
                setOpbtn(opbtn:string):void;
                /**
                 * 设置操作项名称，如： 测试角色。多个可以不传值
                 * @param opItemName 操作项名称
                 */
                setOpItemName(opItemName:string):void;
                /**
                 * 设置云id
                 * @param cloudId 云id
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 获取操作标识，用于记录触发点，方便排查, 如 保存操作：bar_save
                 * @return 操作标识
                 */
                getOp():string;
                /**
                 * 获取查询分录
                 * @return 查询分录
                 */
                isQueryFL():boolean;
                /**
                 * 设置操作后数据
                 * @param afterData 操作后数据
                 */
                setAfterData(afterData:string):void;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置业务类型，如:common_role_save。 业务类型确定了对应的日志消费解析方式。
                 * 若是平台权限系统拥有的模块，则赋值为表 t_permlog_busitype 中 fbusitype 列值（也可查看表单 permlog_busitype 列表 中 业务类型），平台会进行相应日志明细解析。
                 * 否则，平台权限系统不会解析日志明细内容，此时 permNumberSelfGen=true 时，只会入一条权限日志列表记录
                 * @param busiType 业务类型
                 */
                setBusiType(busiType:string):void;
                /**
                 * 设置操作前数据
                 * @param preData 操作前数据
                 */
                setPreData(preData:string):void;
                /**
                 * 获取业务来源，如:通用角色。
                 * 若非平台权限系统拥有的模块，请自行赋值
                 * @return 业务来源
                 */
                getBusiFrom():string;
                /**
                 * 获取操作按钮名称，用于记录触发点，方便排查, 如 保存操作：保存
                 * 若 kd.bos.permission.cache.helper.ConstantsHelper 中没有，需要自行赋值
                 * @return 操作按钮名称
                 */
                getOpbtn():string;
                /**
                 * 获取操作前数据
                 * @return 操作前数据
                 */
                getPreData():string;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 设置操作描述
                 * @param opDesc 操作描述
                 */
                setOpDesc(opDesc:string):void;
                /**
                 * 获取业务类型，如:common_role_save。 业务类型确定了对应的日志消费解析方式。
                 * 若是平台权限系统拥有的模块，则赋值为表 t_permlog_busitype 中 fbusitype 列值（也可查看表单 permlog_busitype 列表 中 业务类型），平台会进行相应日志明细解析。
                 * 否则，平台权限系统不会解析日志明细内容，此时 permNumberSelfGen=true 时，只会入一条权限日志列表记录
                 * @return 业务类型
                 */
                getBusiType():string;
                /**
                 * 设置差异内容
                 * @param diffContent 差异内容
                 */
                setDiffContent(diffContent:string):void;
            }
            type PermLogReq_T = $.java.io.Serializable & PermLogReq$;
            interface PermLogReq extends PermLogReq_T {
            }
            interface RoleAssignUserDimReq_S {
            }
            type RoleAssignUserDimReq_ST = $.java.io.Serializable & RoleAssignUserDimReq_S;
            interface RoleAssignUserDimReq_C extends RoleAssignUserDimReq_ST {
                new():RoleAssignUserDimReq;
            }
            interface RoleAssignUserDimReq$ {
                /**
                 * 获取隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值，
                 * 或 预览表单 perm_ctrltype 列表 ，名称不为空的记录的业务对象.编码
                 * @return 隔离维度类型
                 */
                getDimType():string;
                /**
                 * 获取角色id
                 * @return 角色id
                 */
                getRoleId():string;
                /**
                 * 设置角色id
                 * @param roleId 角色id
                 */
                setRoleId(roleId:string):void;
                /**
                 * 获取删除的用户-隔离维度列表
                 * 例如：用户-组织 列表、组织-用户 列表
                 * @return 删除的用户-隔离维度列表
                 */
                getDelList():$.java.util.List;
                /**
                 * 获取增加的用户-隔离维度列表
                 * 例如：用户-组织 列表、组织-用户 列表
                 * @return 增加的用户-隔离维度列表
                 */
                getAddList():$.java.util.List;
                /**
                 * 设置隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值，
                 * 或 预览表单 perm_ctrltype 列表 ，名称不为空的记录的业务对象.编码
                 * @param dimType 隔离维度类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 设置删除的用户-隔离维度列表
                 * 例如：用户-组织 列表、组织-用户 列表
                 * @param delList 删除的用户-隔离维度列表
                 */
                setDelList(delList:$.java.util.List):void;
                /**
                 * 设置增加的用户-隔离维度列表
                 * 例如：用户-组织 列表、组织-用户 列表
                 * @param addList 增加的用户-隔离维度列表
                 */
                setAddList(addList:$.java.util.List):void;
            }
            type RoleAssignUserDimReq_T = $.java.io.Serializable & RoleAssignUserDimReq$;
            interface RoleAssignUserDimReq extends RoleAssignUserDimReq_T {
            }
            interface AdminGroupReq_S {
            }
            type AdminGroupReq_ST = $.java.io.Serializable & AdminGroupReq_S;
            interface AdminGroupReq_C extends AdminGroupReq_ST {
                new():AdminGroupReq;
            }
            interface AdminGroupReq$ {
                /**
                 * 获取上级管理员组id
                 *
                 * @return 上级管理员组id
                 */
                getParent():long;
                /**
                 * 获取管理员组所属权限控制策略
                 *
                 * @return 管理员组所属权限控制策略
                 */
                getAdminScheme():long;
                /**
                 * 设置管理员组编码
                 *
                 * @param number 管理员组编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置id属性
                 *
                 * @param id 管理员组id
                 */
                setId(id:long):void;
                /**
                 * 获取管理员类型
                 *
                 * @return 管理员类型
                 */
                getAdminType():long;
                /**
                 * 获取管理员组编码
                 *
                 * @return 管理员组编码
                 */
                getNumber():string;
                /**
                 * 获取管理员组编码
                 *
                 * @return 管理员组编码
                 */
                getName():string;
                /**
                 * 设置上级管理员组id
                 *
                 * @param parent 上级管理员组id
                 */
                setParent(parent:long):void;
                /**
                 * 获取管理员组描述
                 *
                 * @return 管理员组描述
                 */
                getDescription():string;
                /**
                 * 设置管理员组描述
                 *
                 * @param description 管理员组描述
                 */
                setDescription(description:string):void;
                /**
                 * 设置管理员组名称
                 *
                 * @param name 管理员组名称
                 */
                setName(name:string):void;
                /**
                 * 获取是否领域管理员
                 *
                 * @return
                 */
                domainGroup():boolean;
                /**
                 * 设置管理员类型
                 *
                 * @param adminType 管理员类型
                 */
                setAdminType(adminType:long):void;
                /**
                 * 获取id属性
                 *
                 * @return 管理员组id
                 */
                getId():long;
                /**
                 * 获取领域id
                 *
                 * @return 领域id
                 */
                getDomain():long;
                /**
                 * 设置领域id
                 *
                 * @param domain 领域id
                 */
                setDomain(domain:long):void;
                /**
                 * 设置管理员组所属权限控制策略
                 *
                 * @param adminScheme 管理员组所属权限控制策略id
                 */
                setAdminScheme(adminScheme:long):void;
                /**
                 * 设置是否领域管理员组
                 *
                 * @param domainGroup 是否领域管理员组
                 */
                setDomainGroup(domainGroup:boolean):void;
            }
            type AdminGroupReq_T = $.java.io.Serializable & AdminGroupReq$;
            interface AdminGroupReq extends AdminGroupReq_T {
            }
            interface CheckPermissionReq_S {
            }
            type CheckPermissionReq_ST = $.java.io.Serializable & CheckPermissionReq_S;
            interface CheckPermissionReq_C extends CheckPermissionReq_ST {
                /**
                 * 默认构造方法
                 */
                new():CheckPermissionReq;
                /**
                 * 构造方法
                 * @param userId 用户id
                 * @param orgViewType 业务单元职能类型(可以传null，传null意味着不考虑具体职能类型的限定)
                 * @param appId 应用id
                 * @param entityNum 实体编码标识
                 * @param permItemId 权限项id
                 */
                new(userId:long,orgViewType:string,appId:string,entityNum:string,permItemId:string):CheckPermissionReq;
            }
            interface CheckPermissionReq$ {
                /**
                 * 获取业务单元职能类型
                 * @return 业务单元职能类型
                 */
                getOrgViewType():string;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置实体编码标识
                 * @param entityNum 实体编码标识
                 */
                setEntityNum(entityNum:string):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 设置权限项id
                 * @param permItemId 权限项id
                 */
                setPermItemId(permItemId:string):void;
                /**
                 * 设置业务单元职能类型(可以传null，传null意味着不考虑具体职能类型的限定)
                 * @param orgViewType 业务单元职能类型
                 */
                setOrgViewType(orgViewType:string):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取实体编码标识
                 * @return 实体编码标识
                 */
                getEntityNum():string;
                /**
                 * 获取权限项id
                 * @return 权限项id
                 */
                getPermItemId():string;
            }
            type CheckPermissionReq_T = $.java.io.Serializable & CheckPermissionReq$;
            interface CheckPermissionReq extends CheckPermissionReq_T {
            }
            interface DimFuncPermReq_S {
            }
            type DimFuncPermReq_ST = $.java.io.Serializable & DimFuncPermReq_S & PermItem_S;
            interface DimFuncPermReq_C extends DimFuncPermReq_ST {
                new():DimFuncPermReq;
            }
            interface DimFuncPermReq$ {
                /**
                 * 设置权限控制对象id，例：组织id、体系id
                 * @param dimId 权限控制对象id，例：组织id、体系id
                 */
                setDimId(dimId:long):void;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 获取权限控制对象id，例：组织id、体系id
                 * @return 权限控制对象id，例：组织id、体系id
                 */
                getDimId():long;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
            }
            type DimFuncPermReq_T = $.java.io.Serializable & DimFuncPermReq$ & PermItem;
            interface DimFuncPermReq extends DimFuncPermReq_T {
            }
            interface GetPermLevelHashReq_S {
            }
            type GetPermLevelHashReq_ST = $.java.io.Serializable & GetPermLevelHashReq_S;
            interface GetPermLevelHashReq_C extends GetPermLevelHashReq_ST {
                /**
                 * 默认构造方法
                 */
                new():GetPermLevelHashReq;
                /**
                 * 构造方法
                 * @param userId 用户id
                 * @param appId 应用id
                 * @param busiRoleIdSet 业务角色id集合
                 * @param justPermItem 只计算到权限项层级
                 */
                new(userId:long,appId:string,busiRoleIdSet:$.java.util.Set,justPermItem:boolean):GetPermLevelHashReq;
            }
            interface GetPermLevelHashReq$ {
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置业务角色id集合
                 * @param busiRoleIdSet 业务角色id集合
                 */
                setBusiRoleIdSet(busiRoleIdSet:$.java.util.Set):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取只计算到权限项层级
                 * @return 只计算到权限项层级
                 */
                isJustPermItem():boolean;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 设置只计算到权限项层级
                 * @param justPermItem 只计算到权限项层级
                 */
                setJustPermItem(justPermItem:boolean):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取业务角色id集合
                 * @return 业务角色id集合
                 */
                getBusiRoleIdSet():$.java.util.Set;
            }
            type GetPermLevelHashReq_T = $.java.io.Serializable & GetPermLevelHashReq$;
            interface GetPermLevelHashReq extends GetPermLevelHashReq_T {
            }
            interface UserGroupAssignUserReq_S {
            }
            type UserGroupAssignUserReq_ST = $.java.io.Serializable & UserGroupAssignUserReq_S;
            interface UserGroupAssignUserReq_C extends UserGroupAssignUserReq_ST {
                /**
                 * 全参构造方法
                 * @param groupIdAndUserIdsMap Map<用户组id, Set<用户id>>
                 * @param mode 授权的分配模式枚举
                 * @param grpUsrFromTypeEnum 用户组中用户来源类型枚举
                 * @param reason 调用原因，可以传null
                 */
                new(groupIdAndUserIdsMap:$.java.util.Map,mode:kd.bos.permission.enums.AssignModEnum,grpUsrFromTypeEnum:kd.bos.permission.enums.GrpUsrFromTypeEnum,reason:string):UserGroupAssignUserReq;
            }
            interface UserGroupAssignUserReq$ {
                /**
                 * 获取授权的分配模式枚举
                 * @return 授权的分配模式枚举
                 */
                getMode():kd.bos.permission.enums.AssignModEnum;
                /**
                 * 获取用户组中用户来源类型枚举
                 * @return 用户组中用户来源类型枚举
                 */
                getGrpUsrFromTypeEnum():kd.bos.permission.enums.GrpUsrFromTypeEnum;
                /**
                 * 设置授权的分配模式枚举
                 * @param mode 授权的分配模式枚举
                 */
                setMode(mode:kd.bos.permission.enums.AssignModEnum):void;
                /**
                 * 设置调用原因，可以传null
                 * @param reason 调用原因，可以传null
                 */
                setReason(reason:string):void;
                /**
                 * 获取Map<用户组id, Set<用户id>>
                 * @return Map<用户组id, Set<用户id>>
                 */
                getGroupIdAndUserIdsMap():$.java.util.Map;
                /**
                 * 设置用户组中用户来源类型枚举
                 * @param grpUsrFromTypeEnum 用户组中用户来源类型枚举
                 */
                setGrpUsrFromTypeEnum(grpUsrFromTypeEnum:kd.bos.permission.enums.GrpUsrFromTypeEnum):void;
                /**
                 * 设置Map<用户组id, Set<用户id>>
                 * @param groupIdAndUserIdsMap Map<用户组id, Set<用户id>>
                 */
                setGroupIdAndUserIdsMap(groupIdAndUserIdsMap:$.java.util.Map):void;
                /**
                 * 获取调用原因，可以传null
                 * @return 调用原因，可以传null
                 */
                getReason():string;
            }
            type UserGroupAssignUserReq_T = $.java.io.Serializable & UserGroupAssignUserReq$;
            interface UserGroupAssignUserReq extends UserGroupAssignUserReq_T {
            }
            interface DimRoleReq_S {
            }
            type DimRoleReq_ST = $.java.io.Serializable & DimRoleReq_S;
            interface DimRoleReq_C extends DimRoleReq_ST {
                new():DimRoleReq;
            }
            interface DimRoleReq$ {
                /**
                 * 设置隔离维度id，例：组织id、体系id
                 * @param dimId 隔离维度id，例：组织id、体系id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置失效时间
                 * @param endTime 失效时间
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 获取角色id
                 * @return 通用角色id
                 */
                getRoleId():string;
                /**
                 * 设置来源类型描述
                 * @param fromTypeDesc 来源类型描述
                 */
                setFromTypeDesc(fromTypeDesc:string):void;
                /**
                 * 获取生效时间
                 * @return 生效时间
                 */
                getStartTime():Date;
                /**
                 * 获取来源类型描述
                 * @return 来源类型描述
                 */
                getFromTypeDesc():string;
                /**
                 * 获取隔离维度id，例：组织id、体系id
                 * @return 隔离维度id，例：组织id、体系id
                 */
                getDimId():long;
                /**
                 * 设置通用角色id
                 * @param roleId 通用角色id
                 */
                setRoleId(roleId:string):void;
                /**
                 * 获取失效时间
                 * @return 失效时间
                 */
                getEndTime():Date;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 设置生效时间
                 * @param startTime 生效时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
            }
            type DimRoleReq_T = $.java.io.Serializable & DimRoleReq$;
            interface DimRoleReq extends DimRoleReq_T {
            }
            interface PermOperationReq_S {
            }
            type PermOperationReq_ST = $.java.io.Serializable & PermOperationReq_S;
            interface PermOperationReq_C extends PermOperationReq_ST {
                /**
                 * 默认构造方法
                 */
                new():PermOperationReq;
                /**
                 * 带参数构造方法
                 * @param curAppNum 当前应用编码
                 * @param curFormNum 当前表单编码
                 * @param permLogReq 权限日志请求参数
                 * @param entSavePermlog 实体保存记录权限日志标识
                 * @param needClearAllCache 是否清理权限缓存
                 * @param alreadyCheckBusiParam 是否已校验业务参数
                 */
                new(curAppNum:string,curFormNum:string,permLogReq:PermLogReq,entSavePermlog:boolean,needClearAllCache:string,alreadyCheckBusiParam:string):PermOperationReq;
            }
            interface PermOperationReq$ {
                /**
                 * 获取是否已校验业务参数
                 * @return 是否已校验业务参数
                 */
                getAlreadyCheckBusiParam():string;
                /**
                 * 设置业务扩展标识
                 * @param extIdentity 业务扩展标识
                 */
                setExtIdentity(extIdentity:string):void;
                /**
                 * 获取接口方法，用于记录触发点，方便排查，最好填全限定包名
                 * @return 接口方法，用于记录触发点，方便排查，最好填全限定包名
                 */
                getPermLogInterfaceMethod():string;
                /**
                 * 设置当前应用编码
                 * @param curAppNum 当前应用编码
                 */
                setCurAppNum(curAppNum:string):void;
                /**
                 * 设置当前表单编码
                 * @param curFormNum 当前表单编码
                 */
                setCurFormNum(curFormNum:string):void;
                /**
                 * 获取操作的实体标识
                 * @return 操作的实体标识
                 */
                getOperEntnum():string;
                /**
                 * 设置操作参数对象
                 * @param option 操作参数对象
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 获取操作key
                 * @return 操作key
                 */
                getOperationKey():string;
                /**
                 * 设置差异内容Map<主实体id, Map<差异项，差异内容>>
                 * @param diffContentMap 差异内容Map<主实体id, Map<差异项，差异内容>>
                 */
                setDiffContentMap(diffContentMap:$.java.util.Map):void;
                /**
                 * 获取是否清理权限缓存
                 * @return 是否清理权限缓存
                 */
                getNeedClearAllCache():string;
                /**
                 * 获取当前应用编码
                 * @return 当前应用编码
                 */
                getCurAppNum():string;
                /**
                 * 设置引入方式枚举
                 * @param enumsImportType 引入方式枚举
                 */
                setEnumsImportType(enumsImportType:kd.bos.permission.enums.EnumsImportType):void;
                /**
                 * 获取DB中数据Json串（前置快照）
                 * @return DB中数据Json串（前置快照）
                 */
                getPreDataMapStr():string;
                /**
                 * 获取操作参数对象
                 * @return 操作参数对象
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 获取业务扩展标识
                 * @return 业务扩展标识
                 */
                getExtIdentity():string;
                /**
                 * 获取差异内容Map<主实体id, Map<差异项，差异内容>>
                 * @return 差异内容Map<主实体id, Map<差异项，差异内容>>
                 */
                getDiffContentMap():$.java.util.Map;
                /**
                 * 获取操作标识，用于记录触发点，方便排查, 如 保存操作：bar_save
                 * @return 操作标识，用于记录触发点，方便排查, 如 保存操作：bar_save
                 */
                getPermLogOp():string;
                /**
                 * 获取引入方式枚举
                 * @return 引入方式枚举
                 */
                getEnumsImportType():kd.bos.permission.enums.EnumsImportType;
                /**
                 * 获取实体保存记录权限日志标识
                 * @return 实体保存记录权限日志标识
                 */
                getEntSavePermlog():boolean;
                /**
                 * 设置实体保存记录权限日志标识
                 * @param entSavePermlog 实体保存记录权限日志标识
                 */
                setEntSavePermlog(entSavePermlog:boolean):void;
                /**
                 * 设置是否执行越权数据删除（上级删除了，下级也要删除）
                 * @param doDelExcessData 是否执行越权数据删除（上级删除了，下级也要删除）
                 */
                setDoDelExcessData(doDelExcessData:string):void;
                /**
                 * 获取权限日志请求参数
                 * @return 权限日志请求参数
                 */
                getPermLogReq():PermLogReq;
                /**
                 * 设置权限日志请求参数
                 * @param permLogReq 权限日志请求参数
                 */
                setPermLogReq(permLogReq:PermLogReq):void;
                /**
                 * 获取操作按钮名称，用于记录触发点，方便排查, 如 保存操作：保存
                 * @return 操作按钮名称，用于记录触发点，方便排查, 如 保存操作：保存
                 */
                getPermLogOpbtn():string;
                /**
                 * 获取主实体id
                 * @return 主实体id，如通用角色id、业务角色id
                 */
                getMainIdSet():$.java.util.Set;
                /**
                 * 获取是否执行越权数据删除（上级删除了，下级也要删除）
                 * @return 是否执行越权数据删除（上级删除了，下级也要删除）
                 */
                getDoDelExcessData():string;
                /**
                 * 设置主实体id
                 * @param mainIdSet 主实体id，如通用角色id、业务角色id
                 */
                setMainIdSet(mainIdSet:$.java.util.Set):void;
                /**
                 * 设置操作key
                 * @param operationKey 操作key
                 */
                setOperationKey(operationKey:string):void;
                /**
                 * 设置是否已校验业务参数
                 * @param alreadyCheckBusiParam 是否已校验业务参数
                 */
                setAlreadyCheckBusiParam(alreadyCheckBusiParam:string):void;
                /**
                 * 设置是否清理权限缓存
                 * @param needClearAllCache 是否清理权限缓存
                 */
                setNeedClearAllCache(needClearAllCache:string):void;
                /**
                 * 获取当前表单编码
                 * @return 当前表单编码
                 */
                getCurFormNum():string;
                /**
                 * 设置操作按钮名称，用于记录触发点，方便排查, 如 保存操作：保存
                 * @param permLogOpbtn 操作按钮名称，用于记录触发点，方便排查, 如 保存操作：保存
                 */
                setPermLogOpbtn(permLogOpbtn:string):void;
                /**
                 * 设置接口方法，用于记录触发点，方便排查，最好填全限定包名
                 * @param permLogInterfaceMethod 接口方法，用于记录触发点，方便排查，最好填全限定包名
                 */
                setPermLogInterfaceMethod(permLogInterfaceMethod:string):void;
                /**
                 * 获取基础资料Map<Object, DynamicObject> 响应结果
                 * @return 基础资料Map<Object, DynamicObject> 响应结果
                 */
                getBaseDataDynMapResp():kd.bos.permission.model.perm.resp.common.GetBaseDataDynMapResp;
                /**
                 * 设置业务类型，如:common_role_save。 业务类型确定了对应的日志消费解析方式。
                 * @param permLogBusiType 业务类型，如:common_role_save。 业务类型确定了对应的日志消费解析方式。
                 */
                setPermLogBusiType(permLogBusiType:string):void;
                /**
                 * 设置操作标识，用于记录触发点，方便排查, 如 保存操作：bar_save
                 * @param permLogOp 操作标识，用于记录触发点，方便排查, 如 保存操作：bar_save
                 */
                setPermLogOp(permLogOp:string):void;
                /**
                 * 设置数据包
                 * @param dataEntities 数据包
                 */
                setDataEntities(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 设置DB中数据Json串（前置快照）
                 * @param preDataMapStr DB中数据Json串（前置快照）
                 */
                setPreDataMapStr(preDataMapStr:string):void;
                /**
                 * 设置操作的实体标识
                 * @param operEntnum 操作的实体标识
                 */
                setOperEntnum(operEntnum:string):void;
                /**
                 * 设置基础资料Map<Object, DynamicObject> 响应结果
                 * @param baseDataDynMapResp 基础资料Map<Object, DynamicObject> 响应结果
                 */
                setBaseDataDynMapResp(baseDataDynMapResp:kd.bos.permission.model.perm.resp.common.GetBaseDataDynMapResp):void;
                /**
                 * 获取业务类型，如:common_role_save。 业务类型确定了对应的日志消费解析方式。
                 * @return 业务类型，如:common_role_save。 业务类型确定了对应的日志消费解析方式。
                 */
                getPermLogBusiType():string;
                /**
                 * 获取数据包
                 * @return 数据包
                 */
                getDataEntities():$.kd.bos.dataentity.entity.DynamicObject[];
            }
            type PermOperationReq_T = $.java.io.Serializable & PermOperationReq$;
            interface PermOperationReq extends PermOperationReq_T {
            }
        }
        namespace kd.bos.permission.model.perm.req.admin{
            interface GetAdminChargeUserReq_S {
            }
            type GetAdminChargeUserReq_ST = $.java.io.Serializable & GetAdminChargeUserReq_S;
            interface GetAdminChargeUserReq_C extends GetAdminChargeUserReq_ST {
                /**
                 * 默认构造方法
                 */
                new():GetAdminChargeUserReq;
                /**
                 * 构造方法
                 * @param adminUserId 管理员的用户ID
                 * @param mustQueryAll 当人员范围为所有人员时，是否需要在结果中返回所有人员ID
                 * @param inUserIdSet in查询的用户id集合（缩小查询的用户范围）
                 */
                new(adminUserId:long,mustQueryAll:boolean,inUserIdSet:$.java.util.Set):GetAdminChargeUserReq;
            }
            interface GetAdminChargeUserReq$ {
                /**
                 * 获取当人员范围为所有人员时，是否需要在结果中返回所有人员ID
                 * @return 当人员范围为所有人员时，是否需要在结果中返回所有人员ID
                 */
                isMustQueryAll():boolean;
                /**
                 * 设置当人员范围为所有人员时，是否需要在结果中返回所有人员ID
                 * @param mustQueryAll 当人员范围为所有人员时，是否需要在结果中返回所有人员ID
                 */
                setMustQueryAll(mustQueryAll:boolean):void;
                /**
                 * 设置管理员的用户ID
                 * @param adminUserId 管理员的用户ID
                 */
                setAdminUserId(adminUserId:long):void;
                /**
                 * 获取管理员的用户ID
                 * @return 管理员的用户ID
                 */
                getAdminUserId():long;
                /**
                 * 获取in查询的用户id集合（缩小查询的用户范围）
                 * @return in查询的用户id集合（缩小查询的用户范围）
                 */
                getInUserIdSet():$.java.util.Set;
                /**
                 * 设置in查询的用户id集合（缩小查询的用户范围）
                 * @param inUserIdSet in查询的用户id集合（缩小查询的用户范围）
                 */
                setInUserIdSet(inUserIdSet:$.java.util.Set):void;
            }
            type GetAdminChargeUserReq_T = $.java.io.Serializable & GetAdminChargeUserReq$;
            interface GetAdminChargeUserReq extends GetAdminChargeUserReq_T {
            }
        }
        namespace kd.bos.permission.model.perm.req.bat.afterdel{
            interface UsrGrpBusiRoleAfterDelReq_S {
            }
            type UsrGrpBusiRoleAfterDelReq_ST = PermOperationReq_S & UsrGrpBusiRoleAfterDelReq_S;
            interface UsrGrpBusiRoleAfterDelReq_C extends UsrGrpBusiRoleAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UsrGrpBusiRoleAfterDelReq;
            }
            interface UsrGrpBusiRoleAfterDelReq$ {
                /**
                 * 设置 删除的Map<t_perm_usrgrpbizrole的主键fid, 用户组业务角色关系>
                 * @param delUsrGrpBusiRoleMap 删除的Map<t_perm_usrgrpbizrole的主键fid, 用户组业务角色关系>
                 */
                setDelUsrGrpBusiRoleMap(delUsrGrpBusiRoleMap:$.java.util.Map):void;
                /**
                 * 获取 删除的Map<t_perm_usrgrpbizrole的主键fid, 用户组业务角色关系>
                 * @return 删除的Map<t_perm_usrgrpbizrole的主键fid, 用户组业务角色关系>
                 */
                getDelUsrGrpBusiRoleMap():$.java.util.Map;
            }
            type UsrGrpBusiRoleAfterDelReq_T = PermOperationReq & UsrGrpBusiRoleAfterDelReq$;
            interface UsrGrpBusiRoleAfterDelReq extends UsrGrpBusiRoleAfterDelReq_T {
            }
            interface UsrGrpUserAfterDelReq_S {
            }
            type UsrGrpUserAfterDelReq_ST = PermOperationReq_S & UsrGrpUserAfterDelReq_S;
            interface UsrGrpUserAfterDelReq_C extends UsrGrpUserAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UsrGrpUserAfterDelReq;
            }
            interface UsrGrpUserAfterDelReq$ {
                /**
                 * 获取 删除的Map<t_sec_usergroupstaff的主键fid, 用户组用户关系>
                 * @return 删除的Map<t_sec_usergroupstaff的主键fid, 用户组用户关系>
                 */
                getDelUsrGrpUserMap():$.java.util.Map;
                /**
                 * 设置 删除的Map<t_sec_usergroupstaff的主键fid, 用户组用户关系>
                 * @param delUsrGrpUserMap 删除的Map<t_sec_usergroupstaff的主键fid, 用户组用户关系>
                 */
                setDelUsrGrpUserMap(delUsrGrpUserMap:$.java.util.Map):void;
            }
            type UsrGrpUserAfterDelReq_T = PermOperationReq & UsrGrpUserAfterDelReq$;
            interface UsrGrpUserAfterDelReq extends UsrGrpUserAfterDelReq_T {
            }
            interface UserComRoleAfterDelReq_S {
            }
            type UserComRoleAfterDelReq_ST = PermOperationReq_S & UserComRoleAfterDelReq_S;
            interface UserComRoleAfterDelReq_C extends UserComRoleAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UserComRoleAfterDelReq;
            }
            interface UserComRoleAfterDelReq$ {
                /**
                 * 设置删除的Map<t_perm_userrole的主键fid, 用户通用角色关系>
                 * @param delUserRoleDimMap 删除的Map<t_perm_userrole的主键fid, 用户通用角色关系>
                 */
                setDelUserRoleDimMap(delUserRoleDimMap:$.java.util.Map):void;
                /**
                 * 获取删除的Map<t_perm_userrole的主键fid, 用户通用角色关系>
                 * @return 删除的Map<t_perm_userrole的主键fid, 用户通用角色关系>
                 */
                getDelUserRoleDimMap():$.java.util.Map;
            }
            type UserComRoleAfterDelReq_T = PermOperationReq & UserComRoleAfterDelReq$;
            interface UserComRoleAfterDelReq extends UserComRoleAfterDelReq_T {
            }
            interface UserDirectDisPermAfterDelReq_S {
            }
            type UserDirectDisPermAfterDelReq_ST = PermOperationReq_S & UserDirectDisPermAfterDelReq_S;
            interface UserDirectDisPermAfterDelReq_C extends UserDirectDisPermAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UserDirectDisPermAfterDelReq;
            }
            interface UserDirectDisPermAfterDelReq$ {
                /**
                 * 设置删除的Map<用户id, 用户功能权限关系>
                 * @param delUserUFDMap 删除的Map<用户id, 用户功能权限关系>
                 */
                setDelUserUFDMap(delUserUFDMap:$.java.util.Map):void;
                /**
                 * 获取删除的Map<用户id, 用户功能权限关系>
                 * @return 删除的Map<用户id, 用户功能权限关系>
                 */
                getDelUserUFDMap():$.java.util.Map;
            }
            type UserDirectDisPermAfterDelReq_T = PermOperationReq & UserDirectDisPermAfterDelReq$;
            interface UserDirectDisPermAfterDelReq extends UserDirectDisPermAfterDelReq_T {
            }
            interface ComRoleAfterDelReq_S {
            }
            type ComRoleAfterDelReq_ST = ComRoleAfterDelReq_S & PermOperationReq_S;
            interface ComRoleAfterDelReq_C extends ComRoleAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():ComRoleAfterDelReq;
            }
            interface ComRoleAfterDelReq$ {
            }
            type ComRoleAfterDelReq_T = ComRoleAfterDelReq$ & PermOperationReq;
            interface ComRoleAfterDelReq extends ComRoleAfterDelReq_T {
            }
            interface UsrGrpComRoleAfterDelReq_S {
            }
            type UsrGrpComRoleAfterDelReq_ST = PermOperationReq_S & UsrGrpComRoleAfterDelReq_S;
            interface UsrGrpComRoleAfterDelReq_C extends UsrGrpComRoleAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UsrGrpComRoleAfterDelReq;
            }
            interface UsrGrpComRoleAfterDelReq$ {
                /**
                 * 获取 删除的Map<t_perm_usrgrprole的主键fid, 用户组通用角色关系>
                 * @return 删除的Map<t_perm_usrgrprole的主键fid, 用户组通用角色关系>
                 */
                getDelUsrGrpRoleDimMap():$.java.util.Map;
                /**
                 * 设置 删除的Map<t_perm_usrgrprole的主键fid, 用户组通用角色关系>
                 * @param delUsrGrpRoleDimMap 删除的Map<t_perm_usrgrprole的主键fid, 用户组通用角色关系>
                 */
                setDelUsrGrpRoleDimMap(delUsrGrpRoleDimMap:$.java.util.Map):void;
            }
            type UsrGrpComRoleAfterDelReq_T = PermOperationReq & UsrGrpComRoleAfterDelReq$;
            interface UsrGrpComRoleAfterDelReq extends UsrGrpComRoleAfterDelReq_T {
            }
            interface BusiRoleAfterDelReq_S {
            }
            type BusiRoleAfterDelReq_ST = BusiRoleAfterDelReq_S & PermOperationReq_S;
            interface BusiRoleAfterDelReq_C extends BusiRoleAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():BusiRoleAfterDelReq;
            }
            interface BusiRoleAfterDelReq$ {
            }
            type BusiRoleAfterDelReq_T = BusiRoleAfterDelReq$ & PermOperationReq;
            interface BusiRoleAfterDelReq extends BusiRoleAfterDelReq_T {
            }
            interface UserBusiRoleAfterDelReq_S {
            }
            type UserBusiRoleAfterDelReq_ST = PermOperationReq_S & UserBusiRoleAfterDelReq_S;
            interface UserBusiRoleAfterDelReq_C extends UserBusiRoleAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UserBusiRoleAfterDelReq;
            }
            interface UserBusiRoleAfterDelReq$ {
                /**
                 * 设置删除的Map<t_perm_userbizrole的主键fid, 用户业务角色关系>
                 * @param delUserBusiRoleMap 删除的Map<t_perm_userbizrole的主键fid, 用户业务角色关系>
                 */
                setDelUserBusiRoleMap(delUserBusiRoleMap:$.java.util.Map):void;
                /**
                 * 获取删除的Map<t_perm_userbizrole的主键fid, 用户业务角色关系>
                 * @return 删除的Map<t_perm_userbizrole的主键fid, 用户业务角色关系>
                 */
                getDelUserBusiRoleMap():$.java.util.Map;
            }
            type UserBusiRoleAfterDelReq_T = PermOperationReq & UserBusiRoleAfterDelReq$;
            interface UserBusiRoleAfterDelReq extends UserBusiRoleAfterDelReq_T {
            }
            interface UserDirectPermAfterDelReq_S {
            }
            type UserDirectPermAfterDelReq_ST = PermOperationReq_S & UserDirectPermAfterDelReq_S;
            interface UserDirectPermAfterDelReq_C extends UserDirectPermAfterDelReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UserDirectPermAfterDelReq;
            }
            interface UserDirectPermAfterDelReq$ {
                /**
                 * 设置删除的Map<用户id, 用户功能权限关系>
                 * @param delUserUFDMap 删除的Map<用户id, 用户功能权限关系>
                 */
                setDelUserUFDMap(delUserUFDMap:$.java.util.Map):void;
                /**
                 * 获取删除的Map<用户id, 用户功能权限关系>
                 * @return 删除的Map<用户id, 用户功能权限关系>
                 */
                getDelUserUFDMap():$.java.util.Map;
            }
            type UserDirectPermAfterDelReq_T = PermOperationReq & UserDirectPermAfterDelReq$;
            interface UserDirectPermAfterDelReq extends UserDirectPermAfterDelReq_T {
            }
        }
        namespace kd.bos.permission.model.perm.req.field{
            interface GetFieldControlRulesReq_S {
            }
            type GetFieldControlRulesReq_ST = $.java.io.Serializable & GetFieldControlRulesReq_S;
            interface GetFieldControlRulesReq_C extends GetFieldControlRulesReq_ST {
                /**
                 * 默认构造方法
                 */
                new():GetFieldControlRulesReq;
                /**
                 * 带参数构造方法
                 * @param userId 用户id
                 * @param appId 应用id
                 * @param entNum 实体标识
                 * @param dimId 权限控制对象id
                 */
                new(userId:long,appId:string,entNum:string,dimId:long):GetFieldControlRulesReq;
            }
            interface GetFieldControlRulesReq$ {
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 设置实体标识
                 * @param entNum 实体标识
                 */
                setEntNum(entNum:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 获取实体标识
                 * @return 实体标识
                 */
                getEntNum():string;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
            }
            type GetFieldControlRulesReq_T = $.java.io.Serializable & GetFieldControlRulesReq$;
            interface GetFieldControlRulesReq extends GetFieldControlRulesReq_T {
            }
            interface ComRoleFieldPermSchemeReq_S {
            }
            type ComRoleFieldPermSchemeReq_ST = $.java.io.Serializable & ComRoleFieldPermSchemeReq_S;
            interface ComRoleFieldPermSchemeReq_C extends ComRoleFieldPermSchemeReq_ST {
                /**
                 * 默认构造方法
                 */
                new():ComRoleFieldPermSchemeReq;
                /**
                 * 全参构造方法
                 * @param roleIdSet 通用角色id集合
                 * @param fieldFromSet 字段来源类型，详见kd.bos.permission.enums.EnumsFpsFieldFrom
                 * @param appIdSet 应用id集合
                 * @param entNumSet 实体编码标识集合
                 * @param enableSet 使用状态
                 * @param sensitiveSet 敏感字段方案
                 */
                new(roleIdSet:$.java.util.Set,fieldFromSet:$.java.util.Set,appIdSet:$.java.util.Set,entNumSet:$.java.util.Set,enableSet:$.java.util.Set,sensitiveSet:$.java.util.Set):ComRoleFieldPermSchemeReq;
            }
            interface ComRoleFieldPermSchemeReq$ {
                /**
                 * 获取通用角色id集合
                 * @return 通用角色id集合
                 */
                getRoleIdSet():$.java.util.Set;
                /**
                 * 设置通用角色id集合
                 * @param roleIdSet 通用角色id集合
                 */
                setRoleIdSet(roleIdSet:$.java.util.Set):void;
                /**
                 * 设置实体编码标识集合
                 * @param entNumSet 实体编码标识集合
                 */
                setEntNumSet(entNumSet:$.java.util.Set):void;
                /**
                 * 设置应用id集合
                 * @param appIdSet 应用id集合
                 */
                setAppIdSet(appIdSet:$.java.util.Set):void;
                /**
                 * 设置敏感字段方案
                 * @param sensitiveSet 敏感字段方案
                 */
                setSensitiveSet(sensitiveSet:$.java.util.Set):void;
                /**
                 * 获取实体编码标识集合
                 * @return 实体编码标识集合
                 */
                getEntNumSet():$.java.util.Set;
                /**
                 * 获取使用状态
                 * @return 使用状态
                 */
                getEnableSet():$.java.util.Set;
                /**
                 * 设置字段来源类型
                 * @param fieldFromSet 字段来源类型
                 */
                setFieldFromSet(fieldFromSet:$.java.util.Set):void;
                /**
                 * 获取敏感字段方案
                 * @return 敏感字段方案
                 */
                getSensitiveSet():$.java.util.Set;
                /**
                 * 设置使用状态
                 * @param enableSet 使用状态
                 */
                setEnableSet(enableSet:$.java.util.Set):void;
                /**
                 * 获取字段来源类型
                 * @return 字段来源类型
                 */
                getFieldFromSet():$.java.util.Set;
                /**
                 * 获取应用id集合
                 * @return 应用id集合
                 */
                getAppIdSet():$.java.util.Set;
            }
            type ComRoleFieldPermSchemeReq_T = $.java.io.Serializable & ComRoleFieldPermSchemeReq$;
            interface ComRoleFieldPermSchemeReq extends ComRoleFieldPermSchemeReq_T {
            }
            interface FieldControlRules2RuleReq_S {
            }
            type FieldControlRules2RuleReq_ST = $.java.io.Serializable & FieldControlRules2RuleReq_S;
            interface FieldControlRules2RuleReq_C extends FieldControlRules2RuleReq_ST {
                /**
                 * 默认构造方法
                 */
                new():FieldControlRules2RuleReq;
                /**
                 * 构造方法
                 * @param doc 行数据包
                 * @param fieldControlRules 字段权限
                 * @param mainOrg 主业务组织，如：org
                 * @param dimension 权限控制类型（大写），如：DIM_ORG
                 * @param dataDimensionField 权限控制主字段
                 */
                new(doc:$.kd.bos.dataentity.entity.DynamicObjectCollection,fieldControlRules:kd.bos.permission.api.FieldControlRules,mainOrg:string,dimension:string,dataDimensionField:string):FieldControlRules2RuleReq;
            }
            interface FieldControlRules2RuleReq$ {
                /**
                 * 获取权限控制主字段
                 * @return 权限控制主字段
                 */
                getDataDimensionField():string;
                /**
                 * 设置主业务组织，如：org
                 * @param mainOrg 主业务组织，如：org
                 */
                setMainOrg(mainOrg:string):void;
                /**
                 * 设置权限控制类型（大写），如：DIM_ORG
                 * @param dimension 权限控制类型（大写），如：DIM_ORG
                 */
                setDimension(dimension:string):void;
                /**
                 * 获取主业务组织，如：org
                 * @return 主业务组织，如：org
                 */
                getMainOrg():string;
                /**
                 * 获取行数据包
                 * @return 行数据包
                 */
                getDoc():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取权限控制类型（大写），如：DIM_ORG
                 * @return 权限控制类型（大写），如：DIM_ORG
                 */
                getDimension():string;
                /**
                 * 获取字段权限
                 * @return 字段权限
                 */
                getFieldControlRules():kd.bos.permission.api.FieldControlRules;
                /**
                 * 设置字段权限
                 * @param fieldControlRules 字段权限
                 */
                setFieldControlRules(fieldControlRules:kd.bos.permission.api.FieldControlRules):void;
                /**
                 * 设置行数据包
                 * @param doc 行数据包
                 */
                setDoc(doc:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                /**
                 * 设置权限控制主字段
                 * @param dataDimensionField 权限控制主字段
                 */
                setDataDimensionField(dataDimensionField:string):void;
            }
            type FieldControlRules2RuleReq_T = $.java.io.Serializable & FieldControlRules2RuleReq$;
            interface FieldControlRules2RuleReq extends FieldControlRules2RuleReq_T {
            }
            interface UserFieldPermSchemeReq_S {
            }
            type UserFieldPermSchemeReq_ST = $.java.io.Serializable & UserFieldPermSchemeReq_S;
            interface UserFieldPermSchemeReq_C extends UserFieldPermSchemeReq_ST {
                /**
                 * 默认构造方法
                 */
                new():UserFieldPermSchemeReq;
                /**
                 * 全参构造方法
                 * @param userIdSet 用户id集合
                 * @param fieldFromSet 字段来源类型，详见kd.bos.permission.enums.EnumsFpsFieldFrom
                 * @param appIdSet 应用id集合
                 * @param entNumSet 实体编码标识集合
                 * @param enableSet 使用状态
                 * @param sensitiveSet 敏感字段方案
                 */
                new(userIdSet:$.java.util.Set,fieldFromSet:$.java.util.Set,appIdSet:$.java.util.Set,entNumSet:$.java.util.Set,enableSet:$.java.util.Set,sensitiveSet:$.java.util.Set):UserFieldPermSchemeReq;
            }
            interface UserFieldPermSchemeReq$ {
                /**
                 * 获取隔离维度类型
                 * @return 隔离维度类型
                 */
                getDimTypeSet():$.java.util.Set;
                /**
                 * 设置应用id集合
                 * @param appIdSet 应用id集合
                 */
                setAppIdSet(appIdSet:$.java.util.Set):void;
                /**
                 * 获取字段来源类型
                 * @return 字段来源类型
                 */
                getFieldFromSet():$.java.util.Set;
                /**
                 * 设置用户id集合
                 * @param userIdSet 用户id集合
                 */
                setUserIdSet(userIdSet:$.java.util.Set):void;
                /**
                 * 设置使用状态
                 * @param enableSet 使用状态
                 */
                setEnableSet(enableSet:$.java.util.Set):void;
                /**
                 * 获取应用id集合
                 * @return 应用id集合
                 */
                getAppIdSet():$.java.util.Set;
                /**
                 * 设置字段来源类型
                 * @param fieldFromSet 字段来源类型
                 */
                setFieldFromSet(fieldFromSet:$.java.util.Set):void;
                /**
                 * 获取用户id集合
                 * @return 用户id集合
                 */
                getUserIdSet():$.java.util.Set;
                /**
                 * 设置实体编码标识集合
                 * @param entNumSet 实体编码标识集合
                 */
                setEntNumSet(entNumSet:$.java.util.Set):void;
                /**
                 * 获取敏感字段方案
                 * @return 敏感字段方案
                 */
                getSensitiveSet():$.java.util.Set;
                /**
                 * 获取实体编码标识集合
                 * @return 实体编码标识集合
                 */
                getEntNumSet():$.java.util.Set;
                /**
                 * 获取使用状态
                 * @return 使用状态
                 */
                getEnableSet():$.java.util.Set;
                /**
                 * 设置敏感字段方案
                 * @param sensitiveSet 敏感字段方案
                 */
                setSensitiveSet(sensitiveSet:$.java.util.Set):void;
                /**
                 * 设置隔离维度类型
                 * @param dimTypeSet 隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值， 或 预览表单 perm_ctrltype 列表 ，名称不为“空”的记录的“业务对象.编码”
                 */
                setDimTypeSet(dimTypeSet:$.java.util.Set):void;
            }
            type UserFieldPermSchemeReq_T = $.java.io.Serializable & UserFieldPermSchemeReq$;
            interface UserFieldPermSchemeReq extends UserFieldPermSchemeReq_T {
            }
        }
        namespace kd.bos.permission.model.perm.req.permctrltype{
            interface GetTreeShowFormCtrlTypeReq_S {
            }
            type GetTreeShowFormCtrlTypeReq_ST = $.java.io.Serializable & GetTreeShowFormCtrlTypeReq_S;
            interface GetTreeShowFormCtrlTypeReq_C extends GetTreeShowFormCtrlTypeReq_ST {
                /**
                 * 默认构造
                 */
                new():GetTreeShowFormCtrlTypeReq;
                /**
                 * 带参数构造方法
                 * @param extIdentity 业务扩展标识，根据此标识，执行相应扩展插件逻辑
                 */
                new(extIdentity:string):GetTreeShowFormCtrlTypeReq;
            }
            interface GetTreeShowFormCtrlTypeReq$ {
                /**
                 * 获取业务扩展标识
                 * @return 业务扩展标识
                 */
                getExtIdentity():string;
                /**
                 * 设置业务扩展标识
                 * @param extIdentity 业务扩展标识
                 */
                setExtIdentity(extIdentity:string):void;
            }
            type GetTreeShowFormCtrlTypeReq_T = $.java.io.Serializable & GetTreeShowFormCtrlTypeReq$;
            interface GetTreeShowFormCtrlTypeReq extends GetTreeShowFormCtrlTypeReq_T {
            }
            interface GetDimTypeIdReq_S {
            }
            type GetDimTypeIdReq_ST = $.java.io.Serializable & GetDimTypeIdReq_S;
            interface GetDimTypeIdReq_C extends GetDimTypeIdReq_ST {
                /**
                 * 默认构造
                 */
                new():GetDimTypeIdReq;
                /**
                 * 带参数构造方法
                 * @param extIdentity 业务扩展标识，根据此标识，执行相应扩展插件逻辑
                 * @param dimTypeSet 权限控制类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fnumber 的值， 或 预览表单 perm_ctrltype 列表 ，名称不为“空”的记录的编码”
                 */
                new(extIdentity:string,dimTypeSet:$.java.util.Set):GetDimTypeIdReq;
            }
            interface GetDimTypeIdReq$ {
                /**
                 * 获取业务扩展标识
                 * @return 业务扩展标识
                 */
                getExtIdentity():string;
                /**
                 * 获取权限控制类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fnumber 的值， 或 预览表单 perm_ctrltype 列表 ，名称不为“空”的记录的编码”
                 * @return 权限控制类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fnumber 的值， 或 预览表单 perm_ctrltype 列表 ，名称不为“空”的记录的编码”
                 */
                getDimTypeSet():$.java.util.Set;
                /**
                 * 设置权限控制类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fnumber 的值， 或 预览表单 perm_ctrltype 列表 ，名称不为“空”的记录的编码”
                 * @param dimTypeSet 权限控制类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fnumber 的值， 或 预览表单 perm_ctrltype 列表 ，名称不为“空”的记录的编码”
                 */
                setDimTypeSet(dimTypeSet:$.java.util.Set):void;
                /**
                 * 设置业务扩展标识
                 * @param extIdentity 业务扩展标识
                 */
                setExtIdentity(extIdentity:string):void;
            }
            type GetDimTypeIdReq_T = $.java.io.Serializable & GetDimTypeIdReq$;
            interface GetDimTypeIdReq extends GetDimTypeIdReq_T {
            }
            interface GetSuitableDimTypeReq_S {
            }
            type GetSuitableDimTypeReq_ST = $.java.io.Serializable & GetSuitableDimTypeReq_S;
            interface GetSuitableDimTypeReq_C extends GetSuitableDimTypeReq_ST {
                /**
                 * 默认构造
                 */
                new():GetSuitableDimTypeReq;
                /**
                 * 带参数的构造方法
                 * @param extIdentity 业务扩展标识
                 * @param multiDim 是否多维度授权
                 */
                new(extIdentity:string,multiDim:boolean):GetSuitableDimTypeReq;
            }
            interface GetSuitableDimTypeReq$ {
                /**
                 * 设置业务扩展标识
                 * @param extIdentity 业务扩展标识
                 */
                setExtIdentity(extIdentity:string):void;
                /**
                 * 获取是否多维度授权
                 * @return 是否多维度授权
                 */
                isMultiDim():boolean;
                /**
                 * 获取业务扩展标识
                 * @return 业务扩展标识
                 */
                getExtIdentity():string;
                /**
                 * 设置是否多维度授权
                 * @param multiDim 是否多维度授权
                 */
                setMultiDim(multiDim:boolean):void;
            }
            type GetSuitableDimTypeReq_T = $.java.io.Serializable & GetSuitableDimTypeReq$;
            interface GetSuitableDimTypeReq extends GetSuitableDimTypeReq_T {
            }
            interface GetHasPermUserReq_S {
            }
            type GetHasPermUserReq_ST = $.java.io.Serializable & GetHasPermUserReq_S;
            interface GetHasPermUserReq_C extends GetHasPermUserReq_ST {
                /**
                 * 默认构造
                 */
                new():GetHasPermUserReq;
                /**
                 * 带参数构造方法
                 * @param extIdentity 业务扩展标识，根据此标识，执行相应扩展插件逻辑
                 * @param adminUserId 管理员id
                 * @param userIdSet 用户id集合
                 * @param userNumSet 用户工号集合
                 */
                new(extIdentity:string,adminUserId:long,userIdSet:$.java.util.Set,userNumSet:$.java.util.Set):GetHasPermUserReq;
            }
            interface GetHasPermUserReq$ {
                /**
                 * 设置用户工号集合
                 * @param userNumSet 用户工号集合
                 */
                setUserNumSet(userNumSet:$.java.util.Set):void;
                /**
                 * 获取用户id集合
                 * @return 用户id集合
                 */
                getUserIdSet():$.java.util.Set;
                /**
                 * 设置用户id集合
                 * @param userIdSet 用户id集合
                 */
                setUserIdSet(userIdSet:$.java.util.Set):void;
                /**
                 * 获取业务扩展标识
                 * @return 业务扩展标识
                 */
                getExtIdentity():string;
                /**
                 * 获取必须查询用户id
                 * @return 必须查询用户id
                 */
                isMustQueryAll():boolean;
                /**
                 * 设置必须查询用户id
                 * @param mustQueryAll 必须查询用户id
                 */
                setMustQueryAll(mustQueryAll:boolean):void;
                /**
                 * 设置业务扩展标识
                 * @param extIdentity 业务扩展标识
                 */
                setExtIdentity(extIdentity:string):void;
                /**
                 * 设置管理员id
                 * @param adminUserId 管理员id
                 */
                setAdminUserId(adminUserId:long):void;
                /**
                 * 获取用户工号集合
                 * @return 用户工号集合
                 */
                getUserNumSet():$.java.util.Set;
                /**
                 * 获取管理员id
                 * @return 管理员id
                 */
                getAdminUserId():long;
            }
            type GetHasPermUserReq_T = $.java.io.Serializable & GetHasPermUserReq$;
            interface GetHasPermUserReq extends GetHasPermUserReq_T {
            }
            interface GetHasPermPermCtrlObjReq_S {
            }
            type GetHasPermPermCtrlObjReq_ST = $.java.io.Serializable & GetHasPermPermCtrlObjReq_S;
            interface GetHasPermPermCtrlObjReq_C extends GetHasPermPermCtrlObjReq_ST {
                /**
                 * 默认构造
                 */
                new():GetHasPermPermCtrlObjReq;
                /**
                 * 带参数构造方法
                 * @param extIdentity 业务扩展标识，根据此标识，执行相应扩展插件逻辑
                 * @param adminUserId 管理员id
                 * @param dimIdSet 权限控制对象id集合
                 * @param dimNumSet 权限控制对象编码集合
                 */
                new(extIdentity:string,adminUserId:long,dimIdSet:$.java.util.Set,dimNumSet:$.java.util.Set):GetHasPermPermCtrlObjReq;
            }
            interface GetHasPermPermCtrlObjReq$ {
                /**
                 * 设置业务扩展标识
                 * @param extIdentity 业务扩展标识
                 */
                setExtIdentity(extIdentity:string):void;
                /**
                 * 设置权限控制对象id集合
                 * @param dimIdSet 权限控制对象id集合
                 */
                setDimIdSet(dimIdSet:$.java.util.Set):void;
                /**
                 * 设置权限控制对象编码集合
                 * @param dimNumSet 权限控制对象编码集合
                 */
                setDimNumSet(dimNumSet:$.java.util.Set):void;
                /**
                 * 获取管理员id
                 * @return 管理员id
                 */
                getAdminUserId():long;
                /**
                 * 获取权限控制对象id集合
                 * @return 权限控制对象id集合
                 */
                getDimIdSet():$.java.util.Set;
                /**
                 * 获取权限控制对象编码集合
                 * @return 权限控制对象编码集合
                 */
                getDimNumSet():$.java.util.Set;
                /**
                 * 设置管理员id
                 * @param adminUserId 管理员id
                 */
                setAdminUserId(adminUserId:long):void;
                /**
                 * 获取业务扩展标识
                 * @return 业务扩展标识
                 */
                getExtIdentity():string;
            }
            type GetHasPermPermCtrlObjReq_T = $.java.io.Serializable & GetHasPermPermCtrlObjReq$;
            interface GetHasPermPermCtrlObjReq extends GetHasPermPermCtrlObjReq_T {
            }
        }
        namespace kd.bos.permission.model.perm.req.user{
            interface UserDirectAssignReq_S {
            }
            type UserDirectAssignReq_ST = $.java.io.Serializable & UserDirectAssignReq_S;
            interface UserDirectAssignReq_C extends UserDirectAssignReq_ST {
                new():UserDirectAssignReq;
            }
            interface UserDirectAssignReq$ {
                /**
                 * 获取用户直接授权请求参数列表
                 * @return List<UserDirectAssignPermReq> 用户直接授权请求参数列表
                 */
                getReqList():$.java.util.List;
                /**
                 * 设置跳过数据权限验权
                 * @param skipCheckDataPermission 跳过数据权限验权
                 * @return void
                 */
                setSkipCheckDataPermission(skipCheckDataPermission:boolean):void;
                /**
                 *  设置用户直接授权请求参数列表
                 * @param reqList 用户直接授权请求参数列表
                 * @return void
                 */
                setReqList(reqList:$.java.util.List):void;
                /**
                 * 获取跳过功能权限验权
                 * @return boolean 跳过功能权限验权
                 */
                isSkipCheckFunPermission():boolean;
                /**
                 * 设置跳过功能权限验权
                 * @param skipCheckFunPermission 跳过功能权限验权
                 * @return void
                 */
                setSkipCheckFunPermission(skipCheckFunPermission:boolean):void;
                /**
                 * 获取跳过数据权限验权
                 * @return boolean 跳过数据权限验权
                 */
                isSkipCheckDataPermission():boolean;
                /**
                 * 设置跳过管理员数据范围验权
                 * @param skipCheckAdminDataRange 跳过管理员数据范围验权
                 * @return void
                 */
                setSkipCheckAdminDataRange(skipCheckAdminDataRange:boolean):void;
                /**
                 * 获取跳过管理员数据范围验权
                 * @return boolean
                 */
                isSkipCheckAdminDataRange():boolean;
            }
            type UserDirectAssignReq_T = $.java.io.Serializable & UserDirectAssignReq$;
            interface UserDirectAssignReq extends UserDirectAssignReq_T {
            }
            interface GetUsableEntitiesInfoReq_S {
            }
            type GetUsableEntitiesInfoReq_ST = $.java.io.Serializable & GetUsableEntitiesInfoReq_S;
            interface GetUsableEntitiesInfoReq_C extends GetUsableEntitiesInfoReq_ST {
                /**
                 * 默认构造方法
                 */
                new():GetUsableEntitiesInfoReq;
                /**
                 * 构造方法
                 * @param userId 用户id
                 * @param modelTypeSet 表单类型set集合
                 * @param cloudIdSet 云id集合
                 */
                new(userId:long,modelTypeSet:$.java.util.Set,cloudIdSet:$.java.util.Set):GetUsableEntitiesInfoReq;
            }
            interface GetUsableEntitiesInfoReq$ {
                /**
                 * 设置云id集合
                 * @param cloudIdSet 云id集合
                 */
                setCloudIdSet(cloudIdSet:$.java.util.Set):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取云id集合
                 * @return 云id集合
                 */
                getCloudIdSet():$.java.util.Set;
                /**
                 * 返回“是否需要返回不控权的表单”的标记：true：需要；false：不需要
                 * @return
                 */
                isNeedReturnNoPermCtrlEnt():boolean;
                /**
                 * 获取表单类型set集合
                 * @return 表单类型set集合
                 */
                getModelTypeSet():$.java.util.Set;
                /**
                 * 设置“是否需要返回不控权的表单”的标记
                 * @param needReturnNoPermCtrlEnt true：需要；false：不需要
                 */
                setNeedReturnNoPermCtrlEnt(needReturnNoPermCtrlEnt:boolean):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置表单类型set集合
                 * @param modelTypeSet 表单类型set集合
                 */
                setModelTypeSet(modelTypeSet:$.java.util.Set):void;
            }
            type GetUsableEntitiesInfoReq_T = $.java.io.Serializable & GetUsableEntitiesInfoReq$;
            interface GetUsableEntitiesInfoReq extends GetUsableEntitiesInfoReq_T {
            }
            interface CheckUserBizAppReq_S {
            }
            type CheckUserBizAppReq_ST = $.java.io.Serializable & CheckUserBizAppReq_S;
            interface CheckUserBizAppReq_C extends CheckUserBizAppReq_ST {
                /**
                 * 默认构造方法
                 */
                new():CheckUserBizAppReq;
                /**
                 * 构造方法
                 * @param userId 用户id
                 * @param appId 应用id
                 */
                new(userId:long,appId:string):CheckUserBizAppReq;
            }
            interface CheckUserBizAppReq$ {
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
            }
            type CheckUserBizAppReq_T = $.java.io.Serializable & CheckUserBizAppReq$;
            interface CheckUserBizAppReq extends CheckUserBizAppReq_T {
            }
            interface UserDirectAssignPermReq_S {
            }
            type UserDirectAssignPermReq_ST = $.java.io.Serializable & UserDirectAssignPermReq_S;
            interface UserDirectAssignPermReq_C extends UserDirectAssignPermReq_ST {
                new():UserDirectAssignPermReq;
            }
            interface UserDirectAssignPermReq$ {
                /**
                 * 获取增加的控制对象-功能权限列表
                 * 例如：组织-角色列表
                 * @return 增加的控制对象-功能权限列表
                 */
                getAddList():$.java.util.List;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置删除的控制对象-功能权限列表
                 * 例如：组织-角色列表
                 * @param delList 删除的控制对象-功能权限列表
                 */
                setDelList(delList:$.java.util.List):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值，
                 * 或 预览表单 perm_ctrltype 列表 ，名称不为空的记录的业务对象.编码
                 * @param dimType 隔离维度类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取删除的控制对象-功能权限列表
                 * 例如：组织-功能权限列表
                 * @return 删除的控制对象-功能权限列表
                 */
                getDelList():$.java.util.List;
                /**
                 * 获取隔离维度类型，取 t_perm_ctrltype 表 fnumber 不为 DIM_NULL 的记录 中的 fbizobjectid 的值，
                 * 或 预览表单 perm_ctrltype 列表 ，名称不为空的记录的业务对象.编码
                 * @return 隔离维度类型
                 */
                getDimType():string;
                /**
                 * 设置增加的隔离维度-通用角色列表
                 * 例如：组织-功能权限列表
                 * @param addList 增加的隔离维度-通用角色列表
                 */
                setAddList(addList:$.java.util.List):void;
            }
            type UserDirectAssignPermReq_T = $.java.io.Serializable & UserDirectAssignPermReq$;
            interface UserDirectAssignPermReq extends UserDirectAssignPermReq_T {
            }
        }
        namespace kd.bos.permission.model.perm.resp.admin{
            interface AdmGrpHasPermResp_S {
            }
            type AdmGrpHasPermResp_ST = $.java.io.Serializable & AdmGrpHasPermResp_S;
            interface AdmGrpHasPermResp_C extends AdmGrpHasPermResp_ST {
                /**
                 * 默认构造
                 */
                new():AdmGrpHasPermResp;
            }
            interface AdmGrpHasPermResp$ {
                /**
                 * 获取是否拥有所有业务单元管辖范围
                 * @return 是否拥有所有业务单元管辖范围
                 */
                isHasAllBizUnit():boolean;
                /**
                 * 设置是否拥有所有功能范围
                 * @param hasAllFunperm 是否拥有所有功能范围
                 */
                setHasAllFunperm(hasAllFunperm:boolean):void;
                /**
                 * 设置是否拥有所有的-行政组织管辖范围额外用户
                 * @param hasAllOrgAddUser 是否拥有所有的-行政组织管辖范围额外用户
                 */
                setHasAllOrgAddUser(hasAllOrgAddUser:boolean):void;
                /**
                 * 获取业务单元管辖范围set集合
                 * @return 业务单元管辖范围set集合
                 */
                getBizUnitSet():$.java.util.Set;
                /**
                 * 获取应用范围set集合
                 * @return 应用范围set集合
                 */
                getAppSet():$.java.util.Set;
                /**
                 * 设置应用范围set集合
                 * @param appSet 应用范围set集合
                 */
                setAppSet(appSet:$.java.util.Set):void;
                /**
                 * 设置是否拥有所有业务单元管辖范围
                 * @param hasAllBizUnit 是否拥有所有业务单元管辖范围
                 */
                setHasAllBizUnit(hasAllBizUnit:boolean):void;
                /**
                 * 获取行政组织管辖范围额外用户set集合
                 * @return 行政组织管辖范围额外用户set集合
                 */
                getOrgAddUserSet():$.java.util.Set;
                /**
                 * 获取行政组织管辖范围set集合
                 * @return 行政组织管辖范围set集合
                 */
                getOrgSet():$.java.util.Set;
                /**
                 * 获取是否拥有所有应用范围
                 * @return 是否拥有所有应用范围
                 */
                isHasAllApp():boolean;
                /**
                 * 设置是否拥有所有应用范围
                 * @param hasAllApp 是否拥有所有应用范围
                 */
                setHasAllApp(hasAllApp:boolean):void;
                /**
                 * 设置业务单元管辖范围set集合
                 * @param bizUnitSet 业务单元管辖范围set集合
                 */
                setBizUnitSet(bizUnitSet:$.java.util.Set):void;
                /**
                 * 获取是否拥有所有行政组织管辖范围
                 * @return 是否拥有所有行政组织管辖范围
                 */
                isHasAllOrg():boolean;
                /**
                 * 设置是否拥有所有行政组织管辖范围
                 * @param hasAllOrg 是否拥有所有行政组织管辖范围
                 */
                setHasAllOrg(hasAllOrg:boolean):void;
                /**
                 * 设置行政组织管辖范围set集合
                 * @param orgSet 行政组织管辖范围set集合
                 */
                setOrgSet(orgSet:$.java.util.Set):void;
                /**
                 * 获取是否拥有所有的-行政组织管辖范围额外用户
                 * @return 是否拥有所有的-行政组织管辖范围额外用户
                 */
                isHasAllOrgAddUser():boolean;
                /**
                 * 获取功能范围set集合
                 * @return 功能范围set集合
                 */
                getFunpermSet():$.java.util.Set;
                /**
                 * 获取是否拥有所有功能范围
                 * @return 是否拥有所有功能范围
                 */
                isHasAllFunperm():boolean;
                /**
                 * 设置功能范围set集合
                 * @param funpermSet 功能范围set集合
                 */
                setFunpermSet(funpermSet:$.java.util.Set):void;
                /**
                 * 设置行政组织管辖范围额外用户set集合
                 * @param orgAddUserSet 行政组织管辖范围额外用户set集合
                 */
                setOrgAddUserSet(orgAddUserSet:$.java.util.Set):void;
            }
            type AdmGrpHasPermResp_T = $.java.io.Serializable & AdmGrpHasPermResp$;
            interface AdmGrpHasPermResp extends AdmGrpHasPermResp_T {
            }
        }
        namespace kd.bos.permission.model.perm.resp.common{
            interface GetBaseDataDynMapResp_S {
            }
            type GetBaseDataDynMapResp_ST = $.java.io.Serializable & GetBaseDataDynMapResp_S;
            interface GetBaseDataDynMapResp_C extends GetBaseDataDynMapResp_ST {
                new():GetBaseDataDynMapResp;
            }
            interface GetBaseDataDynMapResp$ {
                /**
                 * 获取 Map<组织id, DynamicObject>
                 * @return Map<组织id, DynamicObject>
                 */
                getOrgDynMap():$.java.util.Map;
                /**
                 * 设置Map<通用角色id, DynamicObject>
                 * @param comRoleDynMap Map<通用角色id, DynamicObject>
                 */
                setComRoleDynMap(comRoleDynMap:$.java.util.Map):void;
                /**
                 * 获取 Map<权限项id, DynamicObject>
                 * @return Map<权限项id, DynamicObject>
                 */
                getPermItemDynMap():$.java.util.Map;
                /**
                 * 设置 Map<管理员组id, DynamicObject>
                 * @param admGrpDynMap Map<管理员组id, DynamicObject>
                 */
                setAdmGrpDynMap(admGrpDynMap:$.java.util.Map):void;
                /**
                 * 设置 Map<实体编码, DynamicObject>
                 * @param entDynMap Map<实体编码, DynamicObject>
                 */
                setEntDynMap(entDynMap:$.java.util.Map):void;
                /**
                 * 获取 Map<管理员组id, DynamicObject>
                 * @return Map<管理员组id, DynamicObject>
                 */
                getAdmGrpDynMap():$.java.util.Map;
                /**
                 * 设置 Map<应用id, DynamicObject>
                 * @param appDynMap Map<应用id, DynamicObject>
                 */
                setAppDynMap(appDynMap:$.java.util.Map):void;
                /**
                 * 获取Map<通用角色id, DynamicObject>
                 * @return Map<通用角色id, DynamicObject>
                 */
                getComRoleDynMap():$.java.util.Map;
                /**
                 * 设置 Map<权限项id, DynamicObject>
                 * @param permItemDynMap Map<权限项id, DynamicObject>
                 */
                setPermItemDynMap(permItemDynMap:$.java.util.Map):void;
                /**
                 * 获取 Map<实体编码, DynamicObject>
                 * @return Map<实体编码, DynamicObject>
                 */
                getEntDynMap():$.java.util.Map;
                /**
                 * 获取 Map<应用id, DynamicObject>
                 * @return Map<应用id, DynamicObject>
                 */
                getAppDynMap():$.java.util.Map;
                /**
                 * 设置 Map<组织id, DynamicObject>
                 * @param orgDynMap Map<组织id, DynamicObject>
                 */
                setOrgDynMap(orgDynMap:$.java.util.Map):void;
                /**
                 * 获取 Map<用户id, DynamicObject>
                 * @return Map<用户id, DynamicObject>
                 */
                getUserDynMap():$.java.util.Map;
                /**
                 * 设置 Map<用户id, DynamicObject>
                 * @param userDynMap Map<用户id, DynamicObject>
                 */
                setUserDynMap(userDynMap:$.java.util.Map):void;
            }
            type GetBaseDataDynMapResp_T = $.java.io.Serializable & GetBaseDataDynMapResp$;
            interface GetBaseDataDynMapResp extends GetBaseDataDynMapResp_T {
            }
        }
        namespace kd.bos.permission.model.perm.resp.field{
            interface GetUserDimFieldPermResp_S {
            }
            type GetUserDimFieldPermResp_ST = $.java.io.Serializable & GetUserDimFieldPermResp_S;
            interface GetUserDimFieldPermResp_C extends GetUserDimFieldPermResp_ST {
                /**
                 * 默认构造方法
                 */
                new():GetUserDimFieldPermResp;
                /**
                 * 构造方法
                 * @param udfpSet 用户字段权限set集合
                 */
                new(udfpSet:$.java.util.Set):GetUserDimFieldPermResp;
            }
            interface GetUserDimFieldPermResp$ {
                /**
                 * 获取用户字段权限set集合
                 * @return
                 */
                getUdfpSet():$.java.util.Set;
                /**
                 * 设置用户字段权限set集合
                 * @param udfpSet 用户字段权限set集合
                 */
                setUdfpSet(udfpSet:$.java.util.Set):void;
            }
            type GetUserDimFieldPermResp_T = $.java.io.Serializable & GetUserDimFieldPermResp$;
            interface GetUserDimFieldPermResp extends GetUserDimFieldPermResp_T {
            }
        }
        namespace kd.bos.permission.model.perm.resp.permctrltype{
            interface GetHasPermPermCtrlObjResp_S {
            }
            type GetHasPermPermCtrlObjResp_ST = $.java.io.Serializable & GetHasPermPermCtrlObjResp_S;
            interface GetHasPermPermCtrlObjResp_C extends GetHasPermPermCtrlObjResp_ST {
                /**
                 * 默认构造
                 */
                new():GetHasPermPermCtrlObjResp;
                /**
                 * 带参数的构造方法
                 * @param hasAllDimPerm 是否拥有所有某权限控制对象的权限，如：拥有所有的组织权限
                 * @param hasPermDimSet 权限控制对象set集合
                 */
                new(hasAllDimPerm:boolean,hasPermDimSet:$.java.util.Set):GetHasPermPermCtrlObjResp;
            }
            interface GetHasPermPermCtrlObjResp$ {
                /**
                 * 获取有权的权限控制对象
                 * @return 权限控制对象set集合
                 */
                getHasPermDimSet():$.java.util.Set;
                /**
                 * 设置是否拥有所有某权限控制对象的权限
                 * @param hasAllDimPerm 是否拥有所有某权限控制对象的权限，如：拥有所有的组织权限
                 */
                setHasAllDimPerm(hasAllDimPerm:boolean):void;
                /**
                 * 获取是否拥有所有某权限控制对象的权限
                 * @return 是否拥有所有某权限控制对象的权限，如：拥有所有的组织权限
                 */
                isHasAllDimPerm():boolean;
                /**
                 * 设置有权的权限控制对象
                 * @param hasPermDimSet 权限控制对象set集合
                 */
                setHasPermDimSet(hasPermDimSet:$.java.util.Set):void;
            }
            type GetHasPermPermCtrlObjResp_T = $.java.io.Serializable & GetHasPermPermCtrlObjResp$;
            interface GetHasPermPermCtrlObjResp extends GetHasPermPermCtrlObjResp_T {
            }
            interface GetHasPermUserResp_S {
            }
            type GetHasPermUserResp_ST = $.java.io.Serializable & GetHasPermUserResp_S;
            interface GetHasPermUserResp_C extends GetHasPermUserResp_ST {
                /**
                 * 默认构造
                 */
                new():GetHasPermUserResp;
                /**
                 * 带参数的构造方法
                 * @param hasAllUser 是否拥有所有用户的权限
                 * @param userSet 用户集合
                 */
                new(hasAllUser:boolean,userSet:$.java.util.Set):GetHasPermUserResp;
            }
            interface GetHasPermUserResp$ {
                /**
                 * 获取是否拥有所有用户的权限
                 * @return 是否拥有所有用户的权限
                 */
                isHasAllUser():boolean;
                /**
                 * 设置用户集合
                 * @param userSet 用户集合
                 */
                setUserSet(userSet:$.java.util.Set):void;
                /**
                 * 获取用户集合
                 * @return 用户集合
                 */
                getUserSet():$.java.util.Set;
                /**
                 * 设置是否拥有所有用户的权限
                 * @param hasAllUser 是否拥有所有用户的权限
                 */
                setHasAllUser(hasAllUser:boolean):void;
            }
            type GetHasPermUserResp_T = $.java.io.Serializable & GetHasPermUserResp$;
            interface GetHasPermUserResp extends GetHasPermUserResp_T {
            }
        }
        namespace kd.bos.permission.model.perm.user{
            interface UserDrPrDim_S {
            }
            type UserDrPrDim_ST = $.java.io.Serializable & DimNewDrPrPerm_S & UserDrPrDim_S;
            interface UserDrPrDim_C extends UserDrPrDim_ST {
                /**
                 * 默认构造方法
                 */
                new():UserDrPrDim;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param propKey 属性标识
                 * @param propEntNum 业务对象标识
                 * @param dataRuleId 方案id
                 * @param dimId 权限控制对象id
                 * @param includesuborg 包含下级
                 * @param dimType 权限控制类型
                 * @param userId 用户id
                 * @param fromTypeDesc 来源描述
                 */
                new(appId:string,entityNumber:string,propKey:string,propEntNum:string,dataRuleId:long,dimId:long,includesuborg:string,dimType:string,userId:long,fromTypeDesc:string):UserDrPrDim;
            }
            interface UserDrPrDim$ {
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
            }
            type UserDrPrDim_T = $.java.io.Serializable & DimNewDrPrPerm & UserDrPrDim$;
            interface UserDrPrDim extends UserDrPrDim_T {
            }
            interface UserFuncDim_S {
            }
            type UserFuncDim_ST = $.java.io.Serializable & DataChangeType_S & UserFuncDim_S;
            interface UserFuncDim_C extends UserFuncDim_ST {
                /**
                 * 默认构造方法
                 */
                new():UserFuncDim;
                /**
                 * @param userId 用户id
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param permItemId 权限项id
                 * @param dimType 权限控制类型
                 * @param dimId 权限控制对象id
                 * @param includeSub 包含下级
                 * @param fromTypeDesc 来源描述
                 */
                new(userId:long,appId:string,entityNumber:string,permItemId:string,dimType:string,dimId:long,includeSub:boolean,fromTypeDesc:string):UserFuncDim;
            }
            interface UserFuncDim$ {
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取应用序号
                 * @return 应用序号
                 */
                getAppSeq():number;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取实体名称
                 * @return 实体名称
                 */
                getEntityName():string;
                /**
                 * 获取实体id
                 * @return 实体id
                 */
                getEntityId():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 设置实体id
                 * @param entityId 实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取云序号
                 * @return 云序号
                 */
                getCloudSeq():number;
                /**
                 * 设置云id
                 * @param cloudId 云id
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 获取权限项编码标识
                 * @return 权限项编码标识
                 */
                getPermItemNumber():string;
                /**
                 * 获取云id
                 * @return 云id
                 */
                getCloudId():string;
                /**
                 * 获取云编码标识
                 * @return 云编码标识
                 */
                getCloudNumber():string;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置云编码标识
                 * @param cloudNumber 云编码标识
                 */
                setCloudNumber(cloudNumber:string):void;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 设置应用序号
                 * @param appSeq 应用序号
                 */
                setAppSeq(appSeq:number):void;
                /**
                 * 获取权限项id
                 * @return 权限项id
                 */
                getPermItemId():string;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取权限项名称
                 * @return 权限项名称
                 */
                getPermItemName():string;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置权限项名称
                 * @param permItemName 权限项名称
                 */
                setPermItemName(permItemName:string):void;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取应用名称
                 * @return 应用名称
                 */
                getAppName():string;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 设置云序号
                 * @param cloudSeq 云序号
                 */
                setCloudSeq(cloudSeq:number):void;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置权限项id
                 * @param permItemId 权限项id
                 */
                setPermItemId(permItemId:string):void;
                /**
                 * 获取应用编码标识
                 * @return 应用编码标识
                 */
                getAppNumber():string;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 获取实体编码标识
                 * @return 实体编码标识
                 */
                getEntityNumber():string;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置实体名称
                 * @param entityName 实体名称
                 */
                setEntityName(entityName:string):void;
                /**
                 * 设置权限项编码标识
                 * @param permItemNumber 权限项编码标识
                 */
                setPermItemNumber(permItemNumber:string):void;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 设置应用编码标识
                 * @param appNumber 应用编码标识
                 */
                setAppNumber(appNumber:string):void;
                /**
                 * 获取云名称
                 * @return 云名称
                 */
                getCloudName():string;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 设置实体编码标识
                 * @param entityNumber 实体编码标识
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 设置应用名称
                 * @param appName 应用名称
                 */
                setAppName(appName:string):void;
                /**
                 * 设置云名称
                 * @param cloudName 云名称
                 */
                setCloudName(cloudName:string):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
            }
            type UserFuncDim_T = $.java.io.Serializable & DataChangeType & UserFuncDim$;
            interface UserFuncDim extends UserFuncDim_T {
            }
            interface UserFieldPermDim_S {
            }
            type UserFieldPermDim_ST = $.java.io.Serializable & DataChangeType_S & UserFieldPermDim_S;
            interface UserFieldPermDim_C extends UserFieldPermDim_ST {
                /**
                 * 默认构造方法
                 */
                new():UserFieldPermDim;
                /**
                 * @param userId 用户id
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param fieldName 字段， 如 ：billno
                 * @param controlMode 控制模式， 10：禁止查看， 20：禁止编辑
                 * @param dimType 权限控制类型
                 * @param dimId 权限控制对象id
                 * @param includeSub 包含下级
                 * @param fromTypeDesc 来源描述
                 */
                new(userId:long,appId:string,entityNumber:string,fieldName:string,controlMode:string,dimType:string,dimId:long,includeSub:boolean,fromTypeDesc:string):UserFieldPermDim;
            }
            interface UserFieldPermDim$ {
                /**
                 * 设置实体id
                 * @param entityId 实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 设置应用名称
                 * @param appName 应用名称
                 */
                setAppName(appName:string):void;
                /**
                 * 设置云id
                 * @param cloudId 云id
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 设置字段名， 如 ：单据编号
                 * @param fieldComment 字段名， 如 ：单据编号
                 */
                setFieldComment(fieldComment:string):void;
                /**
                 * 设置控制模式， 10：禁止查看， 20：禁止编辑
                 * @param controlMode 控制模式， 10：禁止查看， 20：禁止编辑
                 */
                setControlMode(controlMode:string):void;
                /**
                 * 设置云编码标识
                 * @param cloudNumber 云编码标识
                 */
                setCloudNumber(cloudNumber:string):void;
                /**
                 * 设置云序号
                 * @param cloudSeq 云序号
                 */
                setCloudSeq(cloudSeq:number):void;
                /**
                 * 设置控制模式描述， 10：禁止查看， 20：禁止编辑
                 * @param controlModeDesc 控制模式描述， 10：禁止查看， 20：禁止编辑
                 */
                setControlModeDesc(controlModeDesc:string):void;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 获取应用编码标识
                 * @return 应用编码标识
                 */
                getAppNumber():string;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 获取云序号
                 * @return 云序号
                 */
                getCloudSeq():number;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取实体id
                 * @return 实体id
                 */
                getEntityId():string;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置应用序号
                 * @param appSeq 应用序号
                 */
                setAppSeq(appSeq:number):void;
                /**
                 * 获取应用名称
                 * @return 应用名称
                 */
                getAppName():string;
                /**
                 * 获取应用序号
                 * @return 应用序号
                 */
                getAppSeq():number;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 设置应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 获取云编码标识
                 * @return 云编码标识
                 */
                getCloudNumber():string;
                /**
                 * 获取实体编码标识
                 * @return 实体编码标识
                 */
                getEntityNumber():string;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 设置应用编码标识
                 * @param appNumber 应用编码标识
                 */
                setAppNumber(appNumber:string):void;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 设置权限项名称
                 * @param permItemName 权限项名称
                 */
                setPermItemName(permItemName:string):void;
                /**
                 * 获取控制模式， 10：禁止查看， 20：禁止编辑
                 * @return 控制模式， 10：禁止查看， 20：禁止编辑
                 */
                getControlMode():string;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 获取字段， 如 ：billno
                 * @return 字段， 如 ：billno
                 */
                getFieldName():string;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置实体名称
                 * @param entityName 实体名称
                 */
                setEntityName(entityName:string):void;
                /**
                 * 设置云名称
                 * @param cloudName 云名称
                 */
                setCloudName(cloudName:string):void;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 获取控制模式描述， 10：禁止查看， 20：禁止编辑
                 * @return 控制模式描述， 10：禁止查看， 20：禁止编辑
                 */
                getControlModeDesc():string;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 获取字段名， 如 ：单据编号
                 * @return 字段名， 如 ：单据编号
                 */
                getFieldComment():string;
                /**
                 * 设置字段， 如 ：billno
                 * @param fieldName 字段， 如 ：billno
                 */
                setFieldName(fieldName:string):void;
                /**
                 * 获取云id
                 * @return 云id
                 */
                getCloudId():string;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 获取权限项名称
                 * @return 权限项名称
                 */
                getPermItemName():string;
                /**
                 * 获取应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 获取云名称
                 * @return 云名称
                 */
                getCloudName():string;
                /**
                 * 设置实体编码标识
                 * @param entityNumber 实体编码标识
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 获取实体名称
                 * @return 实体名称
                 */
                getEntityName():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
            }
            type UserFieldPermDim_T = $.java.io.Serializable & DataChangeType & UserFieldPermDim$;
            interface UserFieldPermDim extends UserFieldPermDim_T {
            }
            interface PermUser_S {
            }
            type PermUser_ST = $.java.io.Serializable & PermUser_S;
            interface PermUser_C extends PermUser_ST {
                /**
                 * 默认构造
                 */
                new():PermUser;
                /**
                 * 带参数的构造方法
                 * @param userId 用户id
                 * @param userNumber 工号
                 * @param userName 用户名
                 */
                new(userId:long,userNumber:string,userName:string):PermUser;
            }
            interface PermUser$ {
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
            }
            type PermUser_T = $.java.io.Serializable & PermUser$;
            interface PermUser extends PermUser_T {
            }
            interface UserDrDim_S {
            }
            type UserDrDim_ST = $.java.io.Serializable & DimNewDrPerm_S & UserDrDim_S;
            interface UserDrDim_C extends UserDrDim_ST {
                /**
                 * 默认构造方法
                 */
                new():UserDrDim;
                /**
                 * 构造方法
                 * @param appId 应用id
                 * @param entityNumber 实体编码标识
                 * @param permItemId 权限项id
                 * @param dataRuleId 方案id
                 * @param dimId 权限控制对象id
                 * @param includesuborg 包含下级
                 * @param dimType 权限控制类型
                 * @param userId 用户id
                 * @param fromTypeDesc 来源描述
                 */
                new(appId:string,entityNumber:string,permItemId:string,dataRuleId:long,dimId:long,includesuborg:string,dimType:string,userId:long,fromTypeDesc:string):UserDrDim;
            }
            interface UserDrDim$ {
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
            }
            type UserDrDim_T = $.java.io.Serializable & DimNewDrPerm & UserDrDim$;
            interface UserDrDim extends UserDrDim_T {
            }
        }
        namespace kd.bos.permission.model.perm.userbusirole{
            interface UserBusiRole_S {
            }
            type UserBusiRole_ST = $.java.io.Serializable & DataChangeType_S & UserBusiRole_S;
            interface UserBusiRole_C extends UserBusiRole_ST {
                new():UserBusiRole;
            }
            interface UserBusiRole$ {
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 获取业务角色id
                 * @return 业务角色id
                 */
                getBusiRoleId():string;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 获取失效时间
                 * @return 失效时间
                 */
                getEndTime():Date;
                /**
                 * 设置生效时间
                 * @param startTime 生效时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 获取业务角色编码
                 * @return 业务角色编码
                 */
                getBusiRoleNumber():string;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 获取业务角色名称
                 * @return 业务角色名称
                 */
                getBusiRoleName():string;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 设置失效时间
                 * @param endTime 失效时间
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置业务角色名称
                 * @param busiRoleName 业务角色名称
                 */
                setBusiRoleName(busiRoleName:string):void;
                /**
                 * 设置业务角色id
                 * @param busiRoleId 业务角色id
                 */
                setBusiRoleId(busiRoleId:string):void;
                /**
                 * 获取生效时间
                 * @return 生效时间
                 */
                getStartTime():Date;
                /**
                 * 设置业务角色编码
                 * @param busiRoleNumber 业务角色编码
                 */
                setBusiRoleNumber(busiRoleNumber:string):void;
            }
            type UserBusiRole_T = $.java.io.Serializable & DataChangeType & UserBusiRole$;
            interface UserBusiRole extends UserBusiRole_T {
            }
        }
        namespace kd.bos.permission.model.perm.userrole{
            interface UserRoleDim_S {
            }
            type UserRoleDim_ST = $.java.io.Serializable & DataChangeType_S & UserRoleDim_S;
            interface UserRoleDim_C extends UserRoleDim_ST {
                new():UserRoleDim;
            }
            interface UserRoleDim$ {
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 设置生效时间
                 * @param startTime 生效时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 获取角色id
                 * @return 角色id
                 */
                getRoleId():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 获取角色名称
                 * @return 角色名称
                 */
                getRoleName():string;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置角色编码
                 * @param roleNumber 角色编码
                 */
                setRoleNumber(roleNumber:string):void;
                /**
                 * 设置失效时间
                 * @param endTime 失效时间
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 获取生效时间
                 * @return 生效时间
                 */
                getStartTime():Date;
                /**
                 * 设置角色id
                 * @param roleId 角色id
                 */
                setRoleId(roleId:string):void;
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 设置角色名称
                 * @param roleName 角色名称
                 */
                setRoleName(roleName:string):void;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 获取角色编码
                 * @return 角色编码
                 */
                getRoleNumber():string;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 获取失效时间
                 * @return 失效时间
                 */
                getEndTime():Date;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
            }
            type UserRoleDim_T = $.java.io.Serializable & DataChangeType & UserRoleDim$;
            interface UserRoleDim extends UserRoleDim_T {
            }
        }
        namespace kd.bos.permission.model.perm.usrgrp{
            interface UsrGrp_S {
            }
            type UsrGrp_ST = $.java.io.Serializable & DataChangeType_S & UsrGrp_S;
            interface UsrGrp_C extends UsrGrp_ST {
                new():UsrGrp;
            }
            interface UsrGrp$ {
                /**
                 * 设置用户组名
                 * @param userGroupName 用户组名
                 */
                setUserGroupName(userGroupName:string):void;
                /**
                 * 获取用户组名
                 * @return 用户组名
                 */
                getUserGroupName():string;
                /**
                 * 获取用户组分类id
                 * @return 用户组分类id
                 */
                getUsrGrpStdId():long;
                /**
                 * 获取用户组分类名
                 * @return 用户组分类名
                 */
                getUsrGrpStdName():string;
                /**
                 * 获取用户组分类编码
                 * @return 用户组分类编码
                 */
                getUsrGrpStdNum():string;
                /**
                 * 获取用户组id
                 * @return 用户组id
                 */
                getUserGroupId():long;
                /**
                 * 设置用户组分类id
                 * @param usrGrpStdId 用户组分类id
                 */
                setUsrGrpStdId(usrGrpStdId:long):void;
                /**
                 * 设置用户组分类编码
                 * @param usrGrpStdNum 用户组分类编码
                 */
                setUsrGrpStdNum(usrGrpStdNum:string):void;
                /**
                 * 设置用户组id
                 * @param userGroupId 用户组id
                 */
                setUserGroupId(userGroupId:long):void;
                /**
                 * 设置用户组分类名
                 * @param usrGrpStdName 用户组分类名
                 */
                setUsrGrpStdName(usrGrpStdName:string):void;
                /**
                 * 获取用户组编码
                 * @return 用户组编码
                 */
                getUserGroupNum():string;
                /**
                 * 设置用户组编码
                 * @param userGroupNum 用户组编码
                 */
                setUserGroupNum(userGroupNum:string):void;
            }
            type UsrGrp_T = $.java.io.Serializable & DataChangeType & UsrGrp$;
            interface UsrGrp extends UsrGrp_T {
            }
        }
        namespace kd.bos.permission.model.perm.usrgrpbusirole{
            interface UsrGrpBusiRole_S {
            }
            type UsrGrpBusiRole_ST = $.java.io.Serializable & DataChangeType_S & UsrGrpBusiRole_S;
            interface UsrGrpBusiRole_C extends UsrGrpBusiRole_ST {
                new():UsrGrpBusiRole;
            }
            interface UsrGrpBusiRole$ {
                /**
                 * 获取业务角色id
                 * @return 业务角色id
                 */
                getBusiRoleId():string;
                /**
                 * 获取失效时间
                 * @return 失效时间
                 */
                getEndTime():Date;
                /**
                 * 获取用户组编码
                 * @return 用户组编码
                 */
                getUserGroupNum():string;
                /**
                 * 设置用户组编码
                 * @param userGroupNum 用户组编码
                 */
                setUserGroupNum(userGroupNum:string):void;
                /**
                 * 获取业务角色名称
                 * @return 业务角色名称
                 */
                getBusiRoleName():string;
                /**
                 * 设置用户组名
                 * @param userGroupName 用户组名
                 */
                setUserGroupName(userGroupName:string):void;
                /**
                 * 设置失效时间
                 * @param endTime 失效时间
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 设置业务角色id
                 * @param busiRoleId 业务角色id
                 */
                setBusiRoleId(busiRoleId:string):void;
                /**
                 * 设置生效时间
                 * @param startTime 生效时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 设置业务角色编码
                 * @param busiRoleNumber 业务角色编码
                 */
                setBusiRoleNumber(busiRoleNumber:string):void;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 获取用户组id
                 * @return 用户组id
                 */
                getUserGroupId():long;
                /**
                 * 设置业务角色名称
                 * @param busiRoleName 业务角色名称
                 */
                setBusiRoleName(busiRoleName:string):void;
                /**
                 * 设置用户组id
                 * @param userGroupId 用户组id
                 */
                setUserGroupId(userGroupId:long):void;
                /**
                 * 获取生效时间
                 * @return 生效时间
                 */
                getStartTime():Date;
                /**
                 * 获取业务角色编码
                 * @return 业务角色编码
                 */
                getBusiRoleNumber():string;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 获取用户组名
                 * @return 用户组名
                 */
                getUserGroupName():string;
            }
            type UsrGrpBusiRole_T = $.java.io.Serializable & DataChangeType & UsrGrpBusiRole$;
            interface UsrGrpBusiRole extends UsrGrpBusiRole_T {
            }
        }
        namespace kd.bos.permission.model.perm.usrgrprole{
            interface UsrGrpRoleDim_S {
            }
            type UsrGrpRoleDim_ST = $.java.io.Serializable & DataChangeType_S & UsrGrpRoleDim_S;
            interface UsrGrpRoleDim_C extends UsrGrpRoleDim_ST {
                new():UsrGrpRoleDim;
            }
            interface UsrGrpRoleDim$ {
                /**
                 * 获取包含下级，默认 false
                 * @return 包含下级，默认 false
                 */
                getIncludeSub():boolean;
                /**
                 * 设置生效时间
                 * @param startTime 生效时间
                 */
                setStartTime(startTime:Date):void;
                /**
                 * 获取角色编码
                 * @return 角色编码
                 */
                getRoleNumber():string;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置用户组id
                 * @param userGroupId 用户组id
                 */
                setUserGroupId(userGroupId:long):void;
                /**
                 * 设置角色id
                 * @param roleId 角色id
                 */
                setRoleId(roleId:string):void;
                /**
                 * 获取权限控制类型
                 * @return 权限控制类型
                 */
                getDimType():string;
                /**
                 * 获取权限控制对象id
                 * @return 权限控制对象id
                 */
                getDimId():long;
                /**
                 * 获取生效时间
                 * @return 生效时间
                 */
                getStartTime():Date;
                /**
                 * 获取包含下级描述
                 * @return 包含下级描述
                 */
                getIncludeSubDesc():string;
                /**
                 * 设置包含下级描述
                 * @param includeSubDesc 包含下级描述
                 */
                setIncludeSubDesc(includeSubDesc:string):void;
                /**
                 * 设置包含下级，默认 false
                 * @param includeSub 包含下级，默认 false
                 */
                setIncludeSub(includeSub:boolean):void;
                /**
                 * 设置用户组名
                 * @param userGroupName 用户组名
                 */
                setUserGroupName(userGroupName:string):void;
                /**
                 * 设置用户组编码
                 * @param userGroupNum 用户组编码
                 */
                setUserGroupNum(userGroupNum:string):void;
                /**
                 * 获取角色id
                 * @return 角色id
                 */
                getRoleId():string;
                /**
                 * 获取权限控制类型描述
                 * @return 权限控制类型描述
                 */
                getDimTypeDesc():string;
                /**
                 * 获取角色名称
                 * @return 角色名称
                 */
                getRoleName():string;
                /**
                 * 设置角色名称
                 * @param roleName 角色名称
                 */
                setRoleName(roleName:string):void;
                /**
                 * 设置权限控制对象id
                 * @param dimId 权限控制对象id
                 */
                setDimId(dimId:long):void;
                /**
                 * 获取用户组名
                 * @return 用户组名
                 */
                getUserGroupName():string;
                /**
                 * 获取权限控制对象名称
                 * @return 权限控制对象名称
                 */
                getDimName():string;
                /**
                 * 获取用户组编码
                 * @return 用户组编码
                 */
                getUserGroupNum():string;
                /**
                 * 设置失效时间
                 * @param endTime 失效时间
                 */
                setEndTime(endTime:Date):void;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置权限控制对象名称
                 * @param dimName 权限控制对象名称
                 */
                setDimName(dimName:string):void;
                /**
                 * 获取失效时间
                 * @return 失效时间
                 */
                getEndTime():Date;
                /**
                 * 获取用户组id
                 * @return 用户组id
                 */
                getUserGroupId():long;
                /**
                 * 设置权限控制类型
                 * @param dimType 权限控制类型
                 */
                setDimType(dimType:string):void;
                /**
                 * 设置角色编码
                 * @param roleNumber 角色编码
                 */
                setRoleNumber(roleNumber:string):void;
                /**
                 * 设置权限控制对象编码
                 * @param dimNumber 权限控制对象编码
                 */
                setDimNumber(dimNumber:string):void;
                /**
                 * 设置权限控制类型描述
                 * @param dimTypeDesc 权限控制类型描述
                 */
                setDimTypeDesc(dimTypeDesc:string):void;
                /**
                 * 获取权限控制对象编码
                 * @return 权限控制对象编码
                 */
                getDimNumber():string;
            }
            type UsrGrpRoleDim_T = $.java.io.Serializable & DataChangeType & UsrGrpRoleDim$;
            interface UsrGrpRoleDim extends UsrGrpRoleDim_T {
            }
        }
        namespace kd.bos.permission.model.perm.usrgrpuser{
            interface UsrGrpUser_S {
            }
            type UsrGrpUser_ST = $.java.io.Serializable & DataChangeType_S & UsrGrpUser_S;
            interface UsrGrpUser_C extends UsrGrpUser_ST {
                /**
                 * 默认构造方法
                 */
                new():UsrGrpUser;
                /**
                 * 构造方法
                 * @param userGroupId 用户组id
                 * @param usrGrpStdId 用户组分类id
                 * @param userId 用户id
                 * @param fromType 用户组-用户关系来源类型，详见 kd.bos.permission.enums.GrpUsrFromTypeEnum
                 * @param fromTypeDesc 来源描述
                 */
                new(userGroupId:long,usrGrpStdId:long,userId:long,fromType:string,fromTypeDesc:string):UsrGrpUser;
            }
            interface UsrGrpUser$ {
                /**
                 * 获取用户组分类描述
                 * @return 用户组分类描述
                 */
                getUsrGrpStdDesc():string;
                /**
                 * 设置用户组分类名
                 * @param usrGrpStdName 用户组分类名
                 */
                setUsrGrpStdName(usrGrpStdName:string):void;
                /**
                 * 设置用户组分类id
                 * @param usrGrpStdId 用户组分类id
                 */
                setUsrGrpStdId(usrGrpStdId:long):void;
                /**
                 * 设置工号
                 * @param userNumber 工号
                 */
                setUserNumber(userNumber:string):void;
                /**
                 * 获取用户组描述
                 * @return 用户组描述
                 */
                getUserGroupDesc():string;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 设置主键id
                 * @param id 主键id
                 */
                setId(id:string):void;
                /**
                 * 设置用户名
                 * @param userName 用户名
                 */
                setUserName(userName:string):void;
                /**
                 * 获取 用户组-用户关系来源类型
                 * @return 用户组-用户关系来源类型，详见 kd.bos.permission.enums.GrpUsrFromTypeEnum
                 */
                getFromType():string;
                /**
                 * 设置邮箱
                 * @param email 邮箱
                 */
                setEmail(email:string):void;
                /**
                 * 获取手机号
                 * @return 手机号
                 */
                getPhone():string;
                /**
                 * 设置手机号
                 * @param phone 手机号
                 */
                setPhone(phone:string):void;
                /**
                 * 获取主键id
                 * @return 主键id
                 */
                getId():string;
                /**
                 * 设置用户组id
                 * @param userGroupId 用户组id
                 */
                setUserGroupId(userGroupId:long):void;
                /**
                 * 获取用户组编码
                 * @return 用户组编码
                 */
                getUserGroupNum():string;
                /**
                 * 设置用户组分类描述
                 * @param usrGrpStdDesc 用户组分类描述
                 */
                setUsrGrpStdDesc(usrGrpStdDesc:string):void;
                /**
                 * 设置姓名
                 * @param trueName 姓名
                 */
                setTrueName(trueName:string):void;
                /**
                 * 获取用户组id
                 * @return 用户组id
                 */
                getUserGroupId():long;
                /**
                 * 设置用户组分类编码
                 * @param usrGrpStdNum 用户组分类编码
                 */
                setUsrGrpStdNum(usrGrpStdNum:string):void;
                /**
                 * 获取工号
                 * @return 工号
                 */
                getUserNumber():string;
                /**
                 * 获取用户名
                 * @return 用户名
                 */
                getUserName():string;
                /**
                 * 获取用户组名
                 * @return 用户组名
                 */
                getUserGroupName():string;
                /**
                 * 获取用户组分类编码
                 * @return 用户组分类编码
                 */
                getUsrGrpStdNum():string;
                /**
                 * 获取用户组分类名
                 * @return 用户组分类名
                 */
                getUsrGrpStdName():string;
                /**
                 * 获取姓名
                 * @return 姓名
                 */
                getTrueName():string;
                /**
                 * 获取邮箱
                 * @return 邮箱
                 */
                getEmail():string;
                /**
                 * 设置用户组描述
                 * @param userGroupDesc 用户组描述
                 */
                setUserGroupDesc(userGroupDesc:string):void;
                /**
                 * 设置用户组编码
                 * @param userGroupNum 用户组编码
                 */
                setUserGroupNum(userGroupNum:string):void;
                /**
                 * 设置用户组名
                 * @param userGroupName 用户组名
                 */
                setUserGroupName(userGroupName:string):void;
                /**
                 * 获取用户组分类id
                 * @return 用户组分类id
                 */
                getUsrGrpStdId():long;
                /**
                 * 设置 用户组-用户关系来源类型
                 * @param fromType 用户组-用户关系来源类型，详见 kd.bos.permission.enums.GrpUsrFromTypeEnum
                 */
                setFromType(fromType:string):void;
                /**
                 * 获取用户id
                 * @return 用户id
                 */
                getUserId():long;
            }
            type UsrGrpUser_T = $.java.io.Serializable & DataChangeType & UsrGrpUser$;
            interface UsrGrpUser extends UsrGrpUser_T {
            }
        }
        namespace kd.bos.permission.nocode.api{
            interface IPermResult_S {
            }
            type IPermResult_ST = $.java.io.Serializable & IPermResult_S;
            interface IPermResult_C extends IPermResult_ST {
            }
            interface IPermResult$ {
                setSuccess(arg0:boolean):void;
                getErrors?():$.java.util.Set;
                isSuccess?():boolean;
            }
            type IPermResult_T = $.java.io.Serializable & IPermResult$;
            interface IPermResult extends IPermResult_T {
            }
        }
        namespace kd.bos.permission.nocode.model{
            interface Role_S {
            }
            type Role_ST = PermResult_S & Role_S;
            interface Role_C extends Role_ST {
                new():Role;
                new(arg0:string,arg1:string):Role;
            }
            interface Role$ {
                getAppManageType():AppManageTypeEnum;
                getRoleType():RoleTypeEnum;
                getName():string;
                setAppId(arg0:string):void;
                setSystem(arg0:boolean):void;
                isSystem():boolean;
                setName(arg0:string):void;
                getAppUseType():AppUseTypeEnum;
                getId():string;
                setRoleType(arg0:RoleTypeEnum):void;
                setAppManageType(arg0:AppManageTypeEnum):void;
                setEnable(arg0:boolean):void;
                setAppUseType(arg0:AppUseTypeEnum):void;
                setDescription(arg0:string):void;
                isEnable():boolean;
                getDescription():string;
                getAppId():string;
                getSortCode():number;
                setSortCode(arg0:number):void;
                setId(arg0:string):void;
            }
            type Role_T = PermResult & Role$;
            interface Role extends Role_T {
            }
            interface RolePerm_S {
            }
            type RolePerm_ST = RolePerm_S & Role_S;
            interface RolePerm_C extends RolePerm_ST {
                new():RolePerm;
            }
            interface RolePerm$ {
                getAssignOrgIds():$.java.util.Set;
                getAssignUserIds():$.java.util.Set;
                setAssignOrgIds(arg0:$.java.util.Set):void;
                setEntityNumberPermMap(arg0:$.java.util.Map):void;
                setAssignUserIds(arg0:$.java.util.Set):void;
                getEntityNumberPermMap():$.java.util.Map;
            }
            type RolePerm_T = Role & RolePerm$;
            interface RolePerm extends RolePerm_T {
            }
            class AppManageTypeEnum {
                static readonly NONE:kd.bos.permission.nocode.model.AppManageTypeEnum;
                static readonly ALL:kd.bos.permission.nocode.model.AppManageTypeEnum;
                static valueOf(arg0:string):kd.bos.permission.nocode.model.AppManageTypeEnum;
                static of(arg0:string):kd.bos.permission.nocode.model.AppManageTypeEnum;
                static values():kd.bos.permission.nocode.model.AppManageTypeEnum[];
                getValue():string;
            }
            class PermItemEnum {
                static readonly NEW:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly SHARE_VIEW_LOGIN:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly VIEW:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly IMPORT:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly SHARE_MODIFY_LOGIN:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly STATISTIC:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly SHARE_NEW:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly EXPORT:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly MODIFY:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly SHARE_VIEW:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly DELETE:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly PRINT:kd.bos.permission.nocode.model.PermItemEnum;
                static readonly SHARE_NEW_LOGIN:kd.bos.permission.nocode.model.PermItemEnum;
                static getIds():java.util.Set;
                static getSubPermItemMap():java.util.Map;
                static of(arg0:string):kd.bos.permission.nocode.model.PermItemEnum;
                static values():kd.bos.permission.nocode.model.PermItemEnum[];
                static valueOf(arg0:string):kd.bos.permission.nocode.model.PermItemEnum;
                getId():string;
                getPrePermItem():kd.bos.permission.nocode.model.PermItemEnum;
            }
            class AppUseTypeEnum {
                static readonly OWN:kd.bos.permission.nocode.model.AppUseTypeEnum;
                static readonly ALL:kd.bos.permission.nocode.model.AppUseTypeEnum;
                static readonly VIEW_ALL:kd.bos.permission.nocode.model.AppUseTypeEnum;
                static readonly CUSTOM:kd.bos.permission.nocode.model.AppUseTypeEnum;
                static values():kd.bos.permission.nocode.model.AppUseTypeEnum[];
                static valueOf(arg0:string):kd.bos.permission.nocode.model.AppUseTypeEnum;
                static of(arg0:string):kd.bos.permission.nocode.model.AppUseTypeEnum;
                getValue():string;
                isUsedInAllEntity():boolean;
            }
            interface PermResult_S {
            }
            type PermResult_ST = $.java.io.Serializable & PermResult_S & kd.bos.permission.nocode.api.IPermResult_S;
            interface PermResult_C extends PermResult_ST {
                new():PermResult;
            }
            interface PermResult$ {
            }
            type PermResult_T = $.java.io.Serializable & PermResult$ & kd.bos.permission.nocode.api.IPermResult;
            interface PermResult extends PermResult_T {
            }
            class RoleTypeEnum {
                static readonly APP:kd.bos.permission.nocode.model.RoleTypeEnum;
                static readonly SYSTEM:kd.bos.permission.nocode.model.RoleTypeEnum;
                static valueOf(arg0:string):kd.bos.permission.nocode.model.RoleTypeEnum;
                static of(arg0:string):kd.bos.permission.nocode.model.RoleTypeEnum;
                static values():kd.bos.permission.nocode.model.RoleTypeEnum[];
                getValue():string;
            }
        }
        namespace kd.bos.portal{
            interface PortalModule_S {
            }
            type PortalModule_ST = $.kd.sdk.module.Module & PortalModule_S;
            interface PortalModule_C extends PortalModule_ST {
                new():PortalModule;
            }
            interface PortalModule$ {
            }
            type PortalModule_T = $.kd.sdk.module.Module & PortalModule$;
            interface PortalModule extends PortalModule_T {
            }
        }
        namespace kd.bos.portal.constant{
            class SchemeType {
                static readonly SysDefScheme:kd.bos.portal.constant.SchemeType;
                static readonly UserScheme:kd.bos.portal.constant.SchemeType;
                static readonly GroupScheme:kd.bos.portal.constant.SchemeType;
                static getSchemeType(value:string):kd.bos.portal.constant.SchemeType;
                static valueOf(arg0:string):kd.bos.portal.constant.SchemeType;
                static values():kd.bos.portal.constant.SchemeType[];
                getName():string;
                getValue():string;
            }
        }
        namespace kd.bos.portal.model{
            class CountStatusEnum {
                static readonly ERROR:kd.bos.portal.model.CountStatusEnum;
                static readonly SUCCESS:kd.bos.portal.model.CountStatusEnum;
                static values():kd.bos.portal.model.CountStatusEnum[];
                static valueOf(arg0:string):kd.bos.portal.model.CountStatusEnum;
            }
            class CountErrorCode {
                static readonly SCHEMEDELETE:kd.bos.portal.model.CountErrorCode;
                static values():kd.bos.portal.model.CountErrorCode[];
                static valueOf(arg0:string):kd.bos.portal.model.CountErrorCode;
            }
            class BrandUpEnum {
                static readonly WFS:kd.bos.portal.model.BrandUpEnum;
                static readonly EIP:kd.bos.portal.model.BrandUpEnum;
                static readonly BSC:kd.bos.portal.model.BrandUpEnum;
                /**
                 * @description 获取品牌升级应用名称(多语言)
                 * @author qcc
                 * @param
                 * @createTime 2021/4/14 11:04
                 * @return
                 */
                static getLoginSourceTypeValue(appNumber:string):string;
                /**
                 * @return
                 * @description 获取所有品牌升级的所有应用编码
                 * @author qcc
                 * @createTime 2021/4/11 11:52
                 */
                static getAllAppNumbers():java.util.List;
                /**
                 * @param appNumber 应用编码
                 * @return
                 * @description 获取应用所在的云需要品牌升级的所有应用编码
                 * @author qcc
                 * @createTime 2021/4/11 11:52
                 */
                static getAppNumbers(appNumber:string):java.util.List;
                static getAllAppNumbers(controlByMcParams:boolean):java.util.List;
                static values():kd.bos.portal.model.BrandUpEnum[];
                /**
                 * @param
                 * @return
                 * @description 获取品牌升级logo地址
                 * @author qcc
                 * @createTime 2021/4/11 13:23
                 */
                static getImgUrl(appNumber:string):string;
                static valueOf(arg0:string):kd.bos.portal.model.BrandUpEnum;
                static isExist(brandUpEnum:kd.bos.portal.model.BrandUpEnum,appNumber:string):boolean;
                getImgUrl():string;
                getBridge():kd.bos.portal.model.MultiLangEnumBridge;
                getApps():string;
                getTwImgurl():string;
                getLoginSourceTypeValue():string;
                getEnImgurl():string;
            }
            interface CardInfo_S {
            }
            interface CardInfo_C extends CardInfo_S {
                new(config:$.java.util.Map,w:number,h:number):CardInfo;
            }
            interface CardInfo$ {
                getConfig():$.java.util.Map;
                setW(w:number):void;
                getW():number;
                setConfig(config:$.java.util.Map):void;
                getH():number;
                setH(h:number):void;
            }
            type CardInfo_T = CardInfo$;
            interface CardInfo extends CardInfo_T {
            }
            interface CountRst_S {
            }
            interface CountRst_C extends CountRst_S {
                new():CountRst;
                new(count:string,timeStamp:string,status:string):CountRst;
            }
            interface CountRst$ {
                getTimeStamp():string;
                getCount():string;
                getStatus():string;
                getErrorCode():string;
                setTimeStamp(timeStamp:string):void;
                setStatus(status:string):void;
                setErrorCode(errorCode:string):void;
                setCount(count:string):void;
            }
            type CountRst_T = CountRst$;
            interface CountRst extends CountRst_T {
            }
            interface BasLoginConfigParam_S {
            }
            interface BasLoginConfigParam_C extends BasLoginConfigParam_S {
                new():BasLoginConfigParam;
            }
            interface BasLoginConfigParam$ {
                getKey():string;
                setDcId(dcId:string):void;
                getValueTag():string;
                getDcId():string;
                setKey(key:string):void;
                setValueTag(valueTag:string):void;
                setLocaleid(localeid:string):void;
                setId(id:long):void;
                getIsSynCommon():string;
                getLocaleid():string;
                getId():long;
                getValue():string;
                setIsSynCommon(isSynCommon:string):void;
                setValue(value:string):void;
            }
            type BasLoginConfigParam_T = BasLoginConfigParam$;
            interface BasLoginConfigParam extends BasLoginConfigParam_T {
            }
            class CardCountType {
                static readonly SUM:kd.bos.portal.model.CardCountType;
                static readonly COUNT:kd.bos.portal.model.CardCountType;
                static valueOf(arg0:string):kd.bos.portal.model.CardCountType;
                static values():kd.bos.portal.model.CardCountType[];
                getValue():number;
            }
            interface MultiLangEnumBridge_S {
            }
            interface MultiLangEnumBridge_C extends MultiLangEnumBridge_S {
                new():MultiLangEnumBridge;
                new(description:string,resourceID:string,systemType:string):MultiLangEnumBridge;
            }
            interface MultiLangEnumBridge$ {
                getResourceID():string;
                setDescription(description:string):void;
                setResourceID(resourceID:string):void;
                getDescription():string;
                setSystemType(systemType:string):void;
                /**
                 * 获取提示语
                 *  @return
                 */
                loadKDString():string;
                getSystemType():string;
            }
            type MultiLangEnumBridge_T = MultiLangEnumBridge$;
            interface MultiLangEnumBridge extends MultiLangEnumBridge_T {
            }
        }
        namespace kd.bos.portal.plugin{
            interface BillStatsCardCustomFilter_S {
            }
            type BillStatsCardCustomFilter_ST = BillStatsCardCustomFilter_S & ICardCustomFilter_S;
            interface BillStatsCardCustomFilter_C extends BillStatsCardCustomFilter_ST {
                new():BillStatsCardCustomFilter;
            }
            interface BillStatsCardCustomFilter$ {
            }
            type BillStatsCardCustomFilter_T = BillStatsCardCustomFilter$ & ICardCustomFilter;
            interface BillStatsCardCustomFilter extends BillStatsCardCustomFilter_T {
            }
            interface ICardCustomFilter_S {
            }
            interface ICardCustomFilter_C extends ICardCustomFilter_S {
            }
            interface ICardCustomFilter$ {
                getDataModel?():$.kd.bos.entity.datamodel.IDataModel;
                getFormView?():$.kd.bos.form.IFormView;
                /**
                 * 获取自定义过滤条件List
                 * @return
                 */
                getCustomFilterList?():$.java.util.List;
                /**
                 * 设置当前方案的过滤条件
                 * @param pSchemaFilter
                 */
                setSchemaFilter?(pSchemaFilter:$.java.util.List):void;
                setDataModel?(pDataModel:$.kd.bos.entity.datamodel.IDataModel):void;
                /**
                 * 是否替换方案的过滤条件
                 * @return
                 */
                isReplaceSchemaFilter?():boolean;
                getPageCache?():$.kd.bos.form.IPageCache;
                /**
                 * 获取当前统计项的配置信息
                 * @return
                 */
                getConfigMap?():$.java.util.Map;
                /**
                 * 获取自定义过滤条件
                 * @return
                 */
                getCustomFilter?():$.kd.bos.orm.query.QFilter;
                /**
                 * 获取当前方案的过滤条件
                 */
                getSchemaFilter?():$.java.util.List;
                setPageCache?(pPageCache:$.kd.bos.form.IPageCache):void;
                setFormView?(pFormView:$.kd.bos.form.IFormView):void;
                /**
                 * 设置当前统计项的配置信息
                 */
                setConfigMap?(pConfigMap:$.java.util.Map):void;
            }
            type ICardCustomFilter_T = ICardCustomFilter$;
            interface ICardCustomFilter extends ICardCustomFilter_T {
            }
        }
        namespace kd.bos.portal.pluginnew{
            interface CardUtils_S {
                readonly CARD_NAME:string;
                readonly PAGETYPE_CUSTOM:string;
                readonly FILTERSCHEMA:string;
                readonly FORM_SERVICE:string;
                readonly ENTITYID:string;
                readonly PREFIX_FIELD:string;
                readonly CONFIG:string;
                readonly SHOWABLE_MENULIST:string;
                readonly PGCACHE_GRID_LAYOUT:string;
                readonly ID_DESC:string;
                readonly CARDINDEX_YZJ_SUBSCRIBE_CONFIG:string;
                readonly PGCACHE_HIDECARDIDS:string;
                readonly CARDINDEX_CUSTOM_CONFIG:string;
                readonly NUMTITLE:string;
                readonly CTRL_GRIDCONTAINER:string;
                readonly PAGETYPE_CUSTOM_MAINPAGE:string;
                readonly CARDINDEX_BILLSTATS_LIST:string;
                readonly EVENT_RTN_ADDCARD:string;
                readonly CARD_TITLE:string;
                readonly CARD_UTILS_3:string;
                readonly CARDINDEX_BILLSTATSCONFIG:string;
                readonly PGCACHE_CURRENT_SCHEME:string;
                readonly PGCACHE_PERMFILTERCARDINFO:string;
                readonly PGCACHE_CURRENT_SCHEME_TYPE:string;
                readonly PAGETYPE_MAINPAGE:string;
                readonly SCHEME1:string;
                readonly ZH_CN:string;
                readonly BOS_PORTAL_PLUGIN:string;
                readonly CARDINDEX_QUICKLAUNCH:string;
                readonly CARDINDEX_USERCENTER_CONFIG:string;
                readonly EN_US:string;
                readonly CARDINDEX_MSGCENTER:string;
                readonly CARDINDEX_QING_CONFIG:string;
                readonly PAGETYPE_APP:string;
                readonly PROTAL_SCHEME_GROUP_REL:string;
                readonly SCHEME:string;
                /**
                 * 根据当前存在的layout，计算新加的卡片所在的位置
                 * @param layout 当前已有的layout
                 * @param width 新卡片的宽度
                 * @param height 新卡片的高度
                 * @return
                 */
                getLayoutForNewCard(layout:string,width:number,height:number):$.java.util.HashMap;
                /**
                 * 获取用户是创建人的和所在用户组的方案
                 */
                getGroupSchemeIds(userId:long,view:$.kd.bos.form.IFormView):$.java.util.List;
                /**
                 * 获取超级管理员ID，如果存在多个就返回第一个
                 * @return
                 */
                getSuperAdmin():long;
                /**
                 * 设置当前可显示的菜单列表
                 * @param mainPageCache
                 */
                setCurShowableMenuList(mainPageCache:$.kd.bos.form.IPageCache,menuList:$.java.util.List):void;
                /**
                 * 检查是否当前方案创建者或是否可以个性化定制
                 * @param schemeId 方案ID
                 * @return
                 */
                checkCurSchemeCustomable(schemeId:string):boolean;
                /**
                 * 获取首页当前最新的布局
                 *
                 * @return
                 */
                getNewLayout(mainPageFormView:$.kd.bos.form.IFormView,gridContainerKey:string):string;
                getAppIdFromView(view:$.kd.bos.form.IFormView):string;
                /**
                 * 许可返回产品类型对应首页方案类型关系
                 * @return
                 */
                convertModeType():string;
                /**
                 * @param
                 * @return
                 * @description 查看某个方案是否存在
                 * @author qcc
                 * @createTime 2020/11/20 15:41
                 */
                isHaveSchemeRecord(schemeId:string):boolean;
                getShareSchemeIds(userId:long,view:$.kd.bos.form.IFormView,pageType:string):$.java.util.List;
                /**
                 * 判断当前表单是否自定义首页
                 * 自定义首页可能和默认首页是共存关系，不一定是替代关系
                 * @return
                 */
                isCustomMainPage(pPageCache:$.kd.bos.form.IPageCache):boolean;
                /**
                 * 检查用户是否当前方案创建人
                 * @param userId
                 * @param schemeId
                 * @return
                 */
                checkCurSchemeOwner(userId:long,schemeId:long):boolean;
                /**
                 * 加载首页的卡片布局信息
                 * 如果当前用户没有配置卡片布局信息，则获取超级管理员配置的默认卡片布局信息
                 * @param userId
                 * @return
                 */
                loadSchemeId(schemeType:kd.bos.portal.constant.SchemeType,userId:long,isMainPage:boolean,view:$.kd.bos.form.IFormView):long;
                /**
                 * 从布局信息中获取所有卡片ID
                 * @param layout
                 * @return
                 */
                getCardIdsFromLayout(layout:string):$.java.util.List;
                /**
                 * 判断是否需要组织隔离
                 * @return
                 */
                getIsolationOrg(appNum:string,menuId:string):boolean;
                /**
                 * 根据当前存在的layout，计算新加的卡片所在的位置
                 * @param layout 当前已有的layout
                 * @param width 新卡片的宽度
                 * @param height 新卡片的高度
                 * @return
                 */
                getLayoutForNewCard(layout:string,width:number,height:number,gridCols:number):$.java.util.HashMap;
                /**
                 * @param
                 * @return
                 * @description 设置默认首页方案
                 * @author qcc
                 * @createTime 2020/10/12 10:57
                 */
                setDefaultMainPageLayout(schemeId:long,pageType:string,bizappId:string,entityId:string):void;
                /**
                 * 修改卡片标题
                 */
                showModifyCaptionForm(fv:$.kd.bos.form.IFormView,formPlugin:$.kd.bos.form.plugin.IFormPlugin,cardTitleMapEntryStr:string):void;
                /**
                 * 判断当前的页面类型
                 */
                getPageType(curFormView:$.kd.bos.form.IFormView):string;
                /**
                 * 根据应用编码和实体编码，找到对应的菜单ID
                 * 用于解决旧的卡片中没有菜单ID的问题
                 * @param appNum
                 * @param entityNum
                 * @return
                 */
                findMenuId(appNum:string,entityNum:string):string;
                /**
                 * 判断当前表单是否首页表单，即主页
                 * @param mainFormView 被作为首页表单的FormView(这个首页可能是首页，自定义首页，应用首页)
                 * @return
                 */
                isMainPage(mainFormView:$.kd.bos.form.IFormView):boolean;
                /**
                 * 从QFilter列表转化为一个QFilter
                 * @param pFilters
                 * @return
                 */
                getQFilterFromFilters(pFilters:$.java.util.List):$.kd.bos.orm.query.QFilter;
                /**
                 * 判断是否外部用户管理员
                 * @return
                 */
                isOutAdmin():boolean;
                /**
                 * 把json字符串变为纯粹的json字符串
                 * @param configStr
                 * @return
                 */
                convertToPureJson(configStr:string):string;
                /**
                 * 根据表单编码获取实体编码
                 */
                getEntityNumByFormNum(formNum:string):string;
                /**
                 * 获取自定义过滤类定义的过滤条件
                 */
                getCustomFilter(logger:$.kd.bos.logging.Log,iPageCache:$.kd.bos.form.IPageCache,formView:$.kd.bos.form.IFormView,dataModel:$.kd.bos.entity.datamodel.IDataModel,filterClass:string,pSchemaFilter:$.java.util.List,pCardMap:$.java.util.Map):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取首页表单编码
                 */
                getMainViewFormId(fv:$.kd.bos.form.IFormView):string;
                /**
                 * 检查当前方案是否可以个性化定制，控制是否显示提示
                 *
                 * @return
                 */
                checkCanEditAndShowTip(formView:$.kd.bos.form.IFormView,schemeId:string,showTip:boolean):boolean;
                /**
                 * 获取自定义组方案（“共享方案”）,如果存在多个，只获取一个即可。
                 */
                getGroupSchemeId(userId:long,view:$.kd.bos.form.IFormView):long;
                /**
                 * 判断当前表单是否应用首页
                 *
                 * @param
                 * @return
                 */
                isAppPage(formView:$.kd.bos.form.IFormView):boolean;
                /**
                 * 检查方案是否允许个性化
                 * @param schemeId
                 * @return
                 */
                checkCurSchemeIsEdit(schemeId:long):boolean;
                /**
                 * 从LocaleString中获取一个特别的Map entry的字符串
                 */
                getMapEntryStrFromLocaleString(lstr:$.kd.bos.dataentity.entity.LocaleString):string;
                /**
                 * 替换掉转义字符:反斜杠
                 */
                replaceBackSlach(layout:string):string;
                /**
                 * 检查是否拥有预置方案和另存为方案的权限
                 * @return
                 */
                checkHasModifySchemeRight(userId:long):boolean;
                /**
                 * 从卡片全配置信息中获取key为config下的Map
                 */
                getDetailConfigMap(cardInfo:$.java.util.Map):$.java.util.Map;
                /**
                 * @param
                 * @return
                 * @description 获取用户当前登录组织关联的共享方案
                 * @author qcc
                 * @createTime 2021/3/19 15:46
                 */
                getOrgSchemeIds(userId:long,view:$.kd.bos.form.IFormView):$.java.util.List;
                /**
                 * 加载所有卡片配置信息
                 * @param mainPageLayoutId
                 * @return
                 */
                loadAllMainPageCardConfig(mainPageLayoutId:long):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 获取自定义过滤类定义的过滤条件List
                 */
                getCustomQFilterList(logger:$.kd.bos.logging.Log,iPageCache:$.kd.bos.form.IPageCache,formView:$.kd.bos.form.IFormView,dataModel:$.kd.bos.entity.datamodel.IDataModel,filterClass:string,pSchemaFilter:$.java.util.List,pCardMap:$.java.util.Map):$.java.util.List;
                getProductBlackMenus(appid:string):$.java.util.List;
                getHideMenus():$.java.util.List;
                getDefaultSchemeId(pageType:string,bizappId:string,entityId:string):long;
                /**
                 * @param
                 * @return
                 * @description 获取默认首页方案
                 * @author qcc
                 * @createTime 2020/10/12 10:57
                 */
                getDefaultSchemeId(pageType:string,bizappId:string,entityId:string,formView:$.kd.bos.form.IFormView):long;
                /**
                 * @method getOrgId
                 * @description 获取用户部门
                 */
                getOrgIds(userId:long):$.java.util.List;
                /**
                 * 从map的entry字符串中获取到LocaleString对象,
                 * 用于把OrmLocaleValue的序列化内容转化为LocaleString对象。
                 * @param mapEntryStr
                 * @return
                 */
                getLocaleStrFromMapEntryStr(mapEntryStr:string):$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 根据提供的参数显示一些内容到指定的卡片
                 * @param formNum 需要显示在卡片中的表单的标识
                 * @param cardId  卡片id  如果为空，表明调用者希望展现一个新的卡片，否则，是指定一个已存在的卡片
                 * @param gridContainerKey 如果这个为空，那么使用栅格容器控件的标识默认值，否则使用该标识
                 * @param ifDesignMode  栅格容器是否处于设计态， true为是， false为否。
                 */
                showCardInGridContainer(fv:$.kd.bos.form.IFormView,formNum:string,cardId:string,gridContainerKey:string,ifDesignMode:boolean):void;
                /**
                 * 通过OrmLocaleValue获取Map Entry 字符串
                 */
                getMapEntryStrFromOrmLocaleValue(olv:$.kd.bos.dataentity.entity.OrmLocaleValue):string;
                /**
                 * 获取主页缓存中的布局（此处仅供GridContainerPlugin中的dynamicAddCards方法调用）
                 *
                 * @param mainPageFormView
                 *            主页面的view
                 * @return
                 */
                getNewLayoutInMainpageCache(mainPageFormView:$.kd.bos.form.IFormView):string;
                /**
                 * 获取当前可显示的菜单列表
                 * @param mainPageCache
                 */
                getCurShowableMenuList(mainPageCache:$.kd.bos.form.IPageCache):$.java.util.List;
                /**
                 * 加载首页的卡片布局信息
                 * 如果当前用户没有配置卡片布局信息，则获取超级管理员配置的默认卡片布局信息
                 * @param userId
                 * @param isMainPage 区分系统首页和应用首页，系统首页为true
                 * @param view 这个视图模型应该是系统首页或者应用首页的那个view
                 * @return
                 */
                loadScheme(schemeType:kd.bos.portal.constant.SchemeType,userId:long,selFields:string,isMainPage:boolean,view:$.kd.bos.form.IFormView):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 判断当前的页面类型
                 */
                getPageTypeEnum(curFormView:$.kd.bos.form.IFormView):kd.bos.portal.service.enums.PortalSchemePageType;
                /**
                 * 检查是否当前方案创建者或是否可以个性化定制
                 * @param schemeId 方案ID
                 * @return
                 */
                checkCurSchemeCustomable(schemeId:string,view:$.kd.bos.form.IFormView):boolean;
                /**
                 * @description 获取当前人共享方案（包括用户组和组织）
                 * @author qcc
                 * @param
                 * @createTime 2021/3/19 16:08
                 * @return
                 */
                getShareSchemeIds(userId:long,view:$.kd.bos.form.IFormView):$.java.util.List;
                /**
                 * 加载首页的卡片布局信息
                 * 如果当前用户没有配置卡片布局信息，则获取超级管理员配置的默认卡片布局信息
                 * @param userId
                 * @param isMainPage 区分系统首页和应用首页，系统首页为true
                 * @param view 这个视图模型应该是系统首页或者应用首页的那个view
                 * @return
                 */
                loadScheme(schemeType:kd.bos.portal.constant.SchemeType,userId:long,selFields:string,otherQFilters:$.java.util.List,isMainPage:boolean,view:$.kd.bos.form.IFormView):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 检查是否当前方案创建者或是否可以个性化定制
                 * @param schemeId 方案ID
                 * @return
                 */
                checkCurSchemeCustomable(schemeId:string,view:$.kd.bos.form.IFormView,showTips:boolean):boolean;
            }
            interface CardUtils_C extends CardUtils_S {
                new():CardUtils;
                new(pFormView:$.kd.bos.form.IFormView,pPageCache:$.kd.bos.form.IPageCache,pDataModel:$.kd.bos.entity.datamodel.IDataModel,plogger:$.kd.bos.logging.Log):CardUtils;
            }
            interface CardUtils$ {
                /**
                 * 保存首页信息
                 *
                 * @param layout
                 * @return
                 */
                saveMainPageInfo(schemeType:kd.bos.portal.constant.SchemeType,layout:string,allCardConfigMap:$.java.util.Map,curSchemeId:long,saveAsObj:$.kd.bos.dataentity.entity.DynamicObject):boolean;
            }
            type CardUtils_T = CardUtils$;
            interface CardUtils extends CardUtils_T {
            }
            interface GridCardPlugin_S {
                readonly CONFIGKEY_CARDTYPE:string;
                readonly VECTOR_MODIFY_CARDTITLE:string;
                readonly LBL_CARD_TITLE:string;
                readonly CLSBCK_MODIFYCARDCAPTION:string;
                readonly BOS_PORTAL_PLUGIN:string;
                readonly CONFIGKEY_CARDTITLE:string;
                readonly PGCACHE_CARDTITLE_MAPENTRY:string;
            }
            type GridCardPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & GridCardPlugin_S;
            interface GridCardPlugin_C extends GridCardPlugin_ST {
                new():GridCardPlugin;
            }
            interface GridCardPlugin$ {
                /**
                 * 从父表单的缓存中拿到当前卡片的所有配置信息
                 * @return
                 */
                getAllCardConfigMap():$.java.util.Map;
                /**
                 * 获取当前卡片的CardId
                 * @return
                 */
                getCardId():string;
                isDesignMode():boolean;
                /**
                 * 从父表单的缓存中拿到当前卡片的所有配置信息
                 * @return
                 */
                getAllConfigMap():$.java.util.Map;
                /**
                 * 刷新父表单中的关于当前卡片的所有配置信息
                 * @param allConfigMap
                 */
                updateAllConfigMap(allConfigMap:$.java.util.Map):void;
            }
            type GridCardPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & GridCardPlugin$;
            interface GridCardPlugin extends GridCardPlugin_T {
            }
        }
        namespace kd.bos.portal.pluginnew.common{
            interface BizAppHomeAbstract_S {
            }
            type BizAppHomeAbstract_ST = $.kd.bos.form.plugin.AbstractFormPlugin & BizAppHomeAbstract_S;
            interface BizAppHomeAbstract_C extends BizAppHomeAbstract_ST {
                new():BizAppHomeAbstract;
            }
            interface BizAppHomeAbstract$ {
            }
            type BizAppHomeAbstract_T = $.kd.bos.form.plugin.AbstractFormPlugin & BizAppHomeAbstract$;
            interface BizAppHomeAbstract extends BizAppHomeAbstract_T {
            }
        }
        namespace kd.bos.portal.service{
            interface IPageHelpCustomMenuService_S {
            }
            interface IPageHelpCustomMenuService_C extends IPageHelpCustomMenuService_S {
            }
            interface IPageHelpCustomMenuService$ {
                /**
                 * 点击事件
                 * @param key
                 * @param view
                 */
                click(key:string,view:$.kd.bos.form.IFormView):void;
                /**
                 * 隐藏原有固定菜单项
                 * @return
                 */
                getHiddenItem?():$.java.util.Set;
                /**
                 * 自定义菜单，限制数量5
                 * @return
                 */
                getPageHelpCustomMenus():$.java.util.List;
            }
            type IPageHelpCustomMenuService_T = IPageHelpCustomMenuService$;
            interface IPageHelpCustomMenuService extends IPageHelpCustomMenuService_T {
            }
            interface IBasLoginConfigService_S {
            }
            interface IBasLoginConfigService_C extends IBasLoginConfigService_S {
            }
            interface IBasLoginConfigService$ {
                update(basLoginConfigParam:kd.bos.portal.model.BasLoginConfigParam):void;
                /**
                 * 保存登录页配置
                 */
                save(basLoginConfigParam:kd.bos.portal.model.BasLoginConfigParam):void;
                saveOrUpdate(basLoginConfigParam:kd.bos.portal.model.BasLoginConfigParam):void;
                get(basLoginConfigParam:kd.bos.portal.model.BasLoginConfigParam):kd.bos.portal.model.BasLoginConfigParam;
            }
            type IBasLoginConfigService_T = IBasLoginConfigService$;
            interface IBasLoginConfigService extends IBasLoginConfigService_T {
            }
        }
        namespace kd.bos.portal.service.enums{
            class PortalSchemePageType {
                static readonly MAIN:kd.bos.portal.service.enums.PortalSchemePageType;
                static readonly CUSTOM:kd.bos.portal.service.enums.PortalSchemePageType;
                static readonly APP:kd.bos.portal.service.enums.PortalSchemePageType;
                static getPageType(arg0:string):kd.bos.portal.service.enums.PortalSchemePageType;
                static valueOf(arg0:string):kd.bos.portal.service.enums.PortalSchemePageType;
                static values():kd.bos.portal.service.enums.PortalSchemePageType[];
                getType():string;
            }
        }
        namespace kd.bos.portal.util{
            interface OpenPageUtils_S {
                readonly APPIMAGEURL:string;
                readonly TIME:string;
                readonly TAB_TYPE:string;
                readonly FORMNUMBER:string;
                readonly BOS_PORTAL_PLUGIN:string;
                readonly PARAMETER:string;
                readonly APPNAME:string;
                readonly OPEN_PAGE:string;
                readonly WFTASK:string;
                readonly BILL_FORM_ID:string;
                readonly PARAMETERTYPE:string;
                readonly APPMAINNUMBER:string;
                readonly TABAP:string;
                readonly FILTER_SCHEME_ID:string;
                readonly YYY_MM_DD_HH_MM_SS:string;
                readonly MESSAGE_ID:string;
                readonly HOMEPAGE_TABAP_COUNT:string;
                readonly APPID:string;
                /**
                 * 打开应用
                 *
                 * @param appNum
                 * @param menuId
                 * @param map
                 * @param view
                 */
                openAppForCardCount(appNum:string,menuId:string,map:$.java.util.Map,view:$.kd.bos.form.IFormView,selfAppName:string):void;
                openAppLimit():number;
                openMenu(view:$.kd.bos.form.IFormView,command:kd.bos.entity.api.AICommandParameter):void;
                /**
                 * 限制应用数量
                 * @param currentView
                 * @return
                 */
                limitHomePageTabCount(currentView:$.kd.bos.form.IFormView):boolean;
                openAppTab(appID:string,markID:string,map:$.java.util.Map,myappView:$.kd.bos.form.IFormView):void;
                /**
                 * 打开菜单的业务表单
                 */
                openMenu(view:$.kd.bos.form.IFormView,menuItemId:string,bizAppId:string):void;
                /**
                 * 打开菜单的业务表单
                 */
                openMenu(view:$.kd.bos.form.IFormView,menuItemId:string,bizAppId:string,customParameters:$.java.util.Map):void;
                /**
                 * 打开应用
                 *
                 * @param appNumber
                 * @param menuId
                 * @param map
                 * @param myappView
                 */
                openApp(appNumber:string,menuId:string,map:$.java.util.Map,myappView:$.kd.bos.form.IFormView,selfAppName:string):void;
                /**
                 * 应用计数
                 * @param currentView
                 */
                homePageTabCount(currentView:$.kd.bos.form.IFormView,addOrSub:boolean):void;
                /**
                 * 获取当前数据中心是否允许根管理员进行业务操作
                 *
                 * @return
                 */
                isAllowAdminBizOperate():boolean;
                closeMenu(view:$.kd.bos.form.IFormView,menuItemId:string,appId:string):void;
                /**
                 * @param appId
                 * @param menuId
                 * @param map
                 * @param myappView
                 * @Description:打开应用
                 */
                openApp(appId:string,menuId:string,map:$.java.util.Map,myappView:$.kd.bos.form.IFormView):void;
                /**
                 * @param appId
                 * @param map
                 * @param myappView
                 * @Description:打开应用
                 */
                openAppAndPage(appId:string,pageId:string,map:$.java.util.Map,myappView:$.kd.bos.form.IFormView):void;
                /**
                 * @param schemeId 方案id
                 * @param userId   用户id
                 * @description 获取用户是否有某个方案的权限（创建者、是被分享的人、fisfixed等于1，存在这三种情况任意一种在能在首页方案添加和显示）
                 */
                isHaveSchemeAuth(schemeId:string,userId:long):boolean;
                /**
                 * @param appNum
                 * @param menuId
                 * @param map
                 * @Description:打开应用
                 */
                openAppForCardCount(appNum:string,menuId:string,map:$.java.util.Map,view:$.kd.bos.form.IFormView):void;
            }
            interface OpenPageUtils_C extends OpenPageUtils_S {
                new():OpenPageUtils;
            }
            interface OpenPageUtils$ {
            }
            type OpenPageUtils_T = OpenPageUtils$;
            interface OpenPageUtils extends OpenPageUtils_T {
            }
            interface CollectAppAndMenuUtil_S {
                readonly BOS_SMC_APPUSEDDETAILS:string;
                readonly SUMTIMES:string;
            }
            type CollectAppAndMenuUtil_ST = $.java.lang.Runnable & CollectAppAndMenuUtil_S;
            interface CollectAppAndMenuUtil_C extends CollectAppAndMenuUtil_ST {
                new(requestContext:$.kd.bos.context.RequestContext,operateInfo:any):CollectAppAndMenuUtil;
            }
            interface CollectAppAndMenuUtil$ {
            }
            type CollectAppAndMenuUtil_T = $.java.lang.Runnable & CollectAppAndMenuUtil$;
            interface CollectAppAndMenuUtil extends CollectAppAndMenuUtil_T {
            }
        }
        namespace kd.bos.print{
            interface PrintJob_S {
            }
            type PrintJob_ST = $.java.io.Serializable & PrintJob_S;
            interface PrintJob_C extends PrintJob_ST {
                new():PrintJob;
                new(pageId:string,formId:string):PrintJob;
            }
            interface PrintJob$ {
                setPageId(pageId:string):void;
                setFormId(formId:string):void;
                getWorkFlowParams():$.java.util.Map;
                isSample():boolean;
                getDataProvider():com.kingdee.bos.ctrl.reportone.r1.print.data.IPrintDataProvider;
                setBillEntityIds(billEntityIds:$.java.util.Map):void;
                setOrderBy(order:string):void;
                /**
                 * 打印类型
                 * @return
                 */
                getType():string;
                setBillIds(billIds:$.java.util.List):void;
                getBillEntityIds():$.java.util.Map;
                setName(name:string):void;
                /**
                 * 单据标识
                 * @return
                 */
                getFormId():string;
                setTemplateId(templateId:any):void;
                /**
                 * 排序
                 * @return
                 */
                getOrderBy():string;
                setPrinterId(printerId:any):void;
                setSample(sample:boolean):void;
                /**
                 * PDF名称
                 * @return
                 */
                getName():string;
                /**
                 * 打印机ID
                 * @return
                 */
                getPrinterId():any;
                getBillIds():$.java.util.List;
                setType(type_arg:string):void;
                setWorkFlowParams(arg:$.java.util.Map):void;
                /**
                 * 页面标识
                 * @return
                 */
                getPageId():string;
                /**
                 * 模板的ID
                 * @return
                 */
                getTemplateId():any;
                setDataProvider(dataProvider:com.kingdee.bos.ctrl.reportone.r1.print.data.IPrintDataProvider):void;
            }
            type PrintJob_T = $.java.io.Serializable & PrintJob$;
            interface PrintJob extends PrintJob_T {
            }
        }
        namespace kd.bos.print.api{
            class FileStorageType {
                static readonly TEMP_FILE:kd.bos.print.api.FileStorageType;
                static values():kd.bos.print.api.FileStorageType[];
                static valueOf(arg0:string):kd.bos.print.api.FileStorageType;
            }
            interface PrintTask_S {
            }
            type PrintTask_ST = $.java.io.Serializable & PrintTask_S;
            interface PrintTask_C extends PrintTask_ST {
                new():PrintTask;
            }
            interface PrintTask$ {
                /**
                 * 获取页面pageId
                 * @return 页面pageId
                 */
                getPageId():string;
                /**
                 * 设置打印任务id。
                 * @param jobId 打印任务id
                 */
                setJobId(jobId:string):void;
                /**
                 * 获取表单id。
                 * @return 表单id
                 */
                getFormId():string;
                /**
                 * 获取打印任务id。
                 * <P>
                 *     用于唯一标识一项打印任务，可在打印插件中获取该任务id。
                 * </P>
                 * @return 打印任务id
                 */
                getJobId():string;
                /**
                 * 获取打印模板id。
                 * @return 模板id
                 */
                getTplId():string;
                /**
                 * 设置打印模板id。
                 * @param tplId 模板id
                 */
                setTplId(tplId:string):void;
                /**
                 * 设置打印单据/基础资料主键集合。
                 * @param pkIds 主键集合
                 */
                setPkIds(pkIds:$.java.util.List):void;
                /**
                 * 设置表单id。
                 * @param formId 表单id
                 */
                setFormId(formId:string):void;
                /**
                 * 获取打印单据/基础资料主键集合。
                 * @return 主键集合
                 */
                getPkIds():$.java.util.List;
                getEntryPks():$.java.util.Map;
                setEntryPks(entryPks:$.java.util.Map):void;
                /**
                 * 设置页面pageId。
                 * @param pageId 页面pageId
                 */
                setPageId(pageId:string):void;
            }
            type PrintTask_T = $.java.io.Serializable & PrintTask$;
            interface PrintTask extends PrintTask_T {
            }
            interface PrintContext_S {
                setCurrent(current:any):void;
                set(rc:PrintContext):void;
                getCurrent():any;
                get():PrintContext;
            }
            interface PrintContext_C extends PrintContext_S {
                new():PrintContext;
            }
            interface PrintContext$ {
                getLang():string;
                setLang(lang:string):void;
            }
            type PrintContext_T = PrintContext$;
            interface PrintContext extends PrintContext_T {
            }
            interface PrintWork_S {
            }
            type PrintWork_ST = IPrintWorkExt_S & PrintWork_S;
            interface PrintWork_C extends PrintWork_ST {
                new():PrintWork;
            }
            interface PrintWork$ {
                /**
                 * 设置打印任务集合。
                 * @param taskList 打印任务集合
                 */
                setTaskList(taskList:$.java.util.List):void;
                /**
                 * 是否开启纵向节纸。
                 * @return 是否开启纵向节纸
                 */
                isVerEconomizePaper():boolean;
                /**
                 * 获取打印机id。
                 * @return 打印机id
                 */
                getPrinterId():string;
                /**
                 * 设置文件存贮方式。
                 * <p>
                 *     要求选择{@link kd.bos.print.api.FileStorageType#TEMP_FILE}文件存贮方式，节省磁盘空间。<strong>禁止使用{@link kd.bos.print.api.FileStorageType#ATTACHMENT_FILE}方式持久化文件存储，如若未及时清理磁盘，会导致大量磁盘占用。</strong>
                 * </p>
                 * @param fileStorageType 文件存贮方式
                 */
                setFileStorageType(fileStorageType:FileStorageType):void;
                /**
                 * 是否开启横向节纸。
                 * @return 是否开启横向节纸
                 */
                isHorEconomizePaper():boolean;
                /**
                 * 获取打印任务集合。
                 * @return 打印任务集合
                 */
                getTaskList():$.java.util.List;
                /**
                 * 获取应用编码。
                 * @return 应用编码
                 */
                getAppNumber():string;
                /**
                 * 获取文件存贮方式。
                 * @return 文件存贮方式
                 */
                getFileStorageType():FileStorageType;
                /**
                 * 获取页面pageId。
                 * @return 页面pageId
                 */
                getPageId():string;
                /**
                 * 设置输出类型。
                 * @see kd.bos.print.api.PrintWork.EXP_TYPE
                 * @param expType 输出类型
                 */
                setExpType(expType:string):void;
                /**
                 * 设置打印机id。
                 * @see kd.bos.print.service.BosPrintServiceHelper#getPrinterId(Long,String)
                 * @param printerId 打印机id
                 */
                setPrinterId(printerId:string):void;
                /**
                 * 设置页码生成类型。
                 * @param pageNumType 页码生成类型
                 */
                setPageNumType(pageNumType:string):void;
                /**
                 * 获取打印语言标识。
                 * @return 打印语言标识
                 */
                getPrintLang():string;
                /**
                 * 获取文件生成方式。
                 * <p>
                 *     1、{@code "1"}：按所选单据生成一个PDF；
                 *     2、{@code "2"}：按不同单据生成多个PDF。
                 * </p>
                 * @return 文件生成方式
                 */
                getFileCreateType():string;
                /**
                 * 添加打印任务。
                 * @param task 打印任务
                 */
                add(task:PrintTask):void;
                /**
                 * 获取扩展参数。
                 * @return 扩展参数
                 */
                getExtParam():$.java.util.Map;
                /**
                 * 设置文件生成方式。
                 * <p>
                 *     1、{@code "1"}：按所选单据生成一个PDF；
                 *     2、{@code "2"}：按不同单据生成多个PDF。
                 * </p>
                 * @param fileCreateType 文件生成方式
                 */
                setFileCreateType(fileCreateType:string):void;
                /**
                 * 设置是否开启纵向节纸。
                 * @param verEconomizePaper 是否开启纵向节纸
                 */
                setVerEconomizePaper(verEconomizePaper:boolean):void;
                /**
                 * 设置扩展参数。
                 * @see kd.bos.print.core.plugin.AbstractPrintPlugin#getExtParam()
                 * @param extParam 扩展参数
                 */
                setExtParam(extParam:$.java.util.Map):void;
                /**
                 * 设置是否按单节纸打印。
                 * <p>
                 *     1、{@code true}：开启横向节纸/纵向节纸的情况下，同一张单产生的pdf页之间节纸打印，不同单产生的pdf页节纸功能不生效；
                 *     2、{@code false}：开启横向节纸/纵向节纸的情况下，允许不同单之间节纸打印。
                 * </p>
                 * @param economizeByBill 是否按单节纸打印
                 */
                setEconomizeByBill(economizeByBill:boolean):void;
                /**
                 * 设置是否开启横向节纸。
                 * @param horEconomizePaper 是否开启横向节纸
                 */
                setHorEconomizePaper(horEconomizePaper:boolean):void;
                /**
                 * 设置应用编码。
                 * <p>
                 *     用于微服务路由及打印文件下载时权限校验。
                 * </p>
                 * @param appNumber 应用编码
                 */
                setAppNumber(appNumber:string):void;
                /**
                 * 获取输出类型。
                 * @see kd.bos.print.api.PrintWork.EXP_TYPE
                 * @return 输出类型
                 */
                getExpType():string;
                /**
                 * 设置打印语言标识。
                 * <p>
                 *     1、用于打印当前语言下模板的数据；
                 *     2、用于打印当前语言下多语言字段的值。
                 *     <strong>注意：传入的语言格式需要满足{@link kd.bos.lang.Lang#get()#toString()}。</strong>
                 * </p>
                 * @see kd.bos.print.service.BosPrintServiceHelper#getPrintLang(Long,String)
                 * @param printLang 打印语言标识
                 */
                setPrintLang(printLang:string):void;
                /**
                 * 获取页码生成类型。
                 * <p>
                 *     1、{@code "1"}：按单个单据生成页码；
                 *     2、{@code "2"}：按所选单据生成页码。
                 * </p>
                 * @return 页码生成类型
                 */
                getPageNumType():string;
                /**
                 * 设置页面pageId。
                 * <p>
                 *     适用于报表打印的场景下，获取已查询出的报表数据。
                 * </p>
                 * @param pageId 页面pageId
                 */
                setPageId(pageId:string):void;
                /**
                 * 是否按单节纸打印。
                 * <p>
                 *     1、{@code true}：开启横向节纸/纵向节纸的情况下，同一张单产生的pdf页之间节纸打印，不同单产生的pdf页节纸功能不生效；
                 *     2、{@code false}：开启横向节纸/纵向节纸的情况下，允许不同单之间节纸打印。
                 * </p>
                 * @return 是否按单节纸打印
                 */
                isEconomizeByBill():boolean;
            }
            type PrintWork_T = IPrintWorkExt & PrintWork$;
            interface PrintWork extends PrintWork_T {
            }
            interface IPrintWorkExt_S {
            }
            type IPrintWorkExt_ST = $.java.io.Serializable & IPrintWorkExt_S;
            interface IPrintWorkExt_C extends IPrintWorkExt_ST {
            }
            interface IPrintWorkExt$ {
            }
            type IPrintWorkExt_T = $.java.io.Serializable & IPrintWorkExt$;
            interface IPrintWorkExt extends IPrintWorkExt_T {
            }
            class PrintWork$EXP_TYPE {
                static readonly EXP_CLIENT:kd.bos.print.api.PrintWork$EXP_TYPE;
                static readonly EXP_XLS:kd.bos.print.api.PrintWork$EXP_TYPE;
                static readonly EXP_PDF:kd.bos.print.api.PrintWork$EXP_TYPE;
                static readonly EXP_PNG:kd.bos.print.api.PrintWork$EXP_TYPE;
                static values():kd.bos.print.api.PrintWork$EXP_TYPE[];
                static valueOf(arg0:string):kd.bos.print.api.PrintWork$EXP_TYPE;
                getCode():string;
            }
            interface PrintParam_S {
            }
            type PrintParam_ST = $.java.io.Serializable & PrintParam_S & PrintWork_S;
            interface PrintParam_C extends PrintParam_ST {
                new():PrintParam;
            }
            interface PrintParam$ {
                getCopyNum():number;
                getBillFormId():string;
                setBillFormId(billFormId:string):void;
                setPrinterName(printerName:string):void;
                setCopyNum(copyNum:number):void;
                setServiceN(serviceN:string):void;
            }
            type PrintParam_T = $.java.io.Serializable & PrintParam$ & PrintWork;
            interface PrintParam extends PrintParam_T {
            }
        }
        namespace kd.bos.print.api.metedata{
            interface WFParam_S {
            }
            type WFParam_ST = $.java.io.Serializable & WFParam_S;
            interface WFParam_C extends WFParam_ST {
                new():WFParam;
            }
            interface WFParam$ {
                setIncludeCall(includeCall:boolean):void;
                setPrintScope(printScope:string):void;
                setIncludeUserNode(includeUserNode:boolean):void;
                getApproveLineSort():string;
                isIncludeImg():boolean;
                getApproveLineType():string;
                setIncludeImg(includeImg:boolean):void;
                isIncludeCall():boolean;
                setApproveLineSort(approveLineSort:string):void;
                isIncludeUserNode():boolean;
                getPrintScope():string;
                setApproveLineType(approveLineType:string):void;
            }
            type WFParam_T = $.java.io.Serializable & WFParam$;
            interface WFParam extends WFParam_T {
            }
            interface LocaleValue_S {
                readonly DEFAULT_LANG:string;
            }
            type LocaleValue_ST = $.java.util.Map & LocaleValue_S;
            interface LocaleValue_C extends LocaleValue_ST {
                new():LocaleValue;
                new(arg0:any):LocaleValue;
                new(arg0:string,arg1:any,arg2:string):LocaleValue;
            }
            interface LocaleValue$ {
                setDefaultLang(defaultLang:string):void;
                /**
                 * localValue去重
                 */
                trimSample():void;
                getDefaultValue():any;
                putDefault():any;
                put(arg0:string,arg1:any):any;
                getLocaleValue():any;
                getValueIfPresent():any;
                putTrimSample(arg0:string,arg1:any):void;
            }
            type LocaleValue_T = $.java.util.Map & LocaleValue$;
            interface LocaleValue extends LocaleValue_T {
            }
            interface PrintMetadata_S {
            }
            type PrintMetadata_ST = PrintMetadata_S & kd.bos.print.api.metedata.control.Control_S;
            interface PrintMetadata_C extends PrintMetadata_ST {
                new():PrintMetadata;
            }
            interface PrintMetadata$ {
                getFormId():string;
                setBizappId(bizappId:string):void;
                setFormId(formId:string):void;
                getPaper():kd.bos.print.api.metedata.control.Paper;
                setOriLang(oriLang:string):void;
                getBizappId():string;
                getEntityId():string;
                getStplId():string;
                getVersion():string;
                setPages(pages:$.java.util.List):void;
                setRefDs(refDs:string):void;
                getOriLang():string;
                getBizType():string;
                getCustomDs():string;
                getWfParam():WFParam;
                getPages():$.java.util.List;
                setStplId(stplId:string):void;
                setWfParam(wfParam:WFParam):void;
                setVersion(version:string):void;
                getPlugins():string;
                setPaper(paper:kd.bos.print.api.metedata.control.Paper):void;
                setPlugins(plugins:string):void;
                setEntityId(entityId:string):void;
                setBizType(bizType:string):void;
                getRefDs():string;
                setCustomDs(customDs:string):void;
            }
            type PrintMetadata_T = PrintMetadata$ & kd.bos.print.api.metedata.control.Control;
            interface PrintMetadata extends PrintMetadata_T {
            }
            interface DesignerMetadata_S {
            }
            interface DesignerMetadata_C extends DesignerMetadata_S {
                new():DesignerMetadata;
            }
            interface DesignerMetadata$ {
                setLocaleValueMap(arg0:$.java.util.Map):void;
                getLocaleValueMap():$.java.util.Map;
                getMetadata():$.java.util.Map;
                setMetadata(arg0:$.java.util.Map):void;
            }
            type DesignerMetadata_T = DesignerMetadata$;
            interface DesignerMetadata extends DesignerMetadata_T {
            }
        }
        namespace kd.bos.print.api.metedata.control{
            interface BaseControl_S {
            }
            type BaseControl_ST = BaseControl_S & Control_S;
            interface BaseControl_C extends BaseControl_ST {
                new():BaseControl;
            }
            interface BaseControl$ {
                setX(x:LocaleValue):void;
                getPrintAtPage():string;
                getWidth():LocaleValue;
                setHeight(height:LocaleValue):void;
                isHideMove():boolean;
                setHidden(hidden:boolean):void;
                getY():LocaleValue;
                getX():LocaleValue;
                setPrintAtPage(printAtPage:string):void;
                setWidth(width:LocaleValue):void;
                isHidden():boolean;
                setHideMove(hideMove:boolean):void;
                getHeight():LocaleValue;
                setY(y:LocaleValue):void;
            }
            type BaseControl_T = BaseControl$ & Control;
            interface BaseControl extends BaseControl_T {
            }
            interface Control_S {
            }
            type Control_ST = $.java.io.Serializable & Control_S;
            interface Control_C extends Control_ST {
                new():Control;
            }
            interface Control$ {
                getParentId():string;
                getName():LocaleValue;
                getKey():string;
                getType():string;
                getId():string;
                setName(name:LocaleValue):void;
                setKey(key:string):void;
                setParentId(parentId:string):void;
                setType(type_arg:string):void;
                setId(id:string):void;
            }
            type Control_T = $.java.io.Serializable & Control$;
            interface Control extends Control_T {
            }
            interface Barcode_S {
            }
            type Barcode_ST = Barcode_S & BaseDsControl_S;
            interface Barcode_C extends Barcode_ST {
                new():Barcode;
            }
            interface Barcode$ {
                getRotate():number;
                setEncodeMode(encodeMode:string):void;
                getEncodeMode():string;
                isShowLabel():boolean;
                setRotate(rotate:number):void;
                setShowLabel(showLabel:boolean):void;
            }
            type Barcode_T = Barcode$ & BaseDsControl;
            interface Barcode extends Barcode_T {
            }
            interface Paper_S {
            }
            type Paper_ST = Control_S & Paper_S;
            interface Paper_C extends Paper_ST {
                new():Paper;
            }
            interface Paper$ {
                setHeight(height:number):void;
                getLangLayout():number;
                setHorizonEconomize(horizonEconomize:boolean):void;
                getMarginBottom():number;
                setWidth(width:number):void;
                setFileName(fileName:$.java.util.List):void;
                isHorizonEconomize():boolean;
                getPaperDirection():string;
                setShowWaterMark(showWaterMark:boolean):void;
                setMarginRight(marginRight:number):void;
                setLangLayout(langLayout:number):void;
                setSplicePrint(splicePrint:boolean):void;
                getBgImgRcId():string;
                isVerticalEconomize():boolean;
                getWidth():number;
                getPaperType():string;
                getHeight():number;
                setPaperType(paperType:string):void;
                isSplicePrint():boolean;
                isDynamicPaper():boolean;
                getFileName():$.java.util.List;
                getMarginLeft():number;
                getMarginRight():number;
                isShowBgImage():boolean;
                setPaperDirection(paperDirection:string):void;
                getMarginTop():number;
                setMarginTop(marginTop:number):void;
                setMarginLeft(marginLeft:number):void;
                setMarginBottom(marginBottom:number):void;
                isShowWaterMark():boolean;
                setShowBgImage(showBgImage:boolean):void;
                setVerticalEconomize(verticalEconomize:boolean):void;
                setBgImgRcId(bgImgRcId:string):void;
                setDynamicPaper(dynamicPaper:boolean):void;
            }
            type Paper_T = Control & Paper$;
            interface Paper extends Paper_T {
            }
            interface BaseDsControl_S {
            }
            type BaseDsControl_ST = BaseControl_S & BaseDsControl_S;
            interface BaseDsControl_C extends BaseDsControl_ST {
                new():BaseDsControl;
            }
            interface BaseDsControl$ {
                getFormulaData():$.java.util.List;
                getBindField():string;
                setFormulaData(formulaData:$.java.util.List):void;
                getDsType():string;
                setDsType(dsType:string):void;
                getDataSource():string;
                setBindText(bindText:LocaleValue):void;
                getBindText():LocaleValue;
                setDataSource(dataSource:string):void;
                setBindField(bindField:string):void;
            }
            type BaseDsControl_T = BaseControl & BaseDsControl$;
            interface BaseDsControl extends BaseDsControl_T {
            }
        }
        namespace kd.bos.print.api.utils{
            interface SerializeUtils_S {
                fromJsonString(content:string,valueType:$.java.lang.Class):any;
                toJsonString(obj:any):string;
            }
            interface SerializeUtils_C extends SerializeUtils_S {
                new():SerializeUtils;
            }
            interface SerializeUtils$ {
            }
            type SerializeUtils_T = SerializeUtils$;
            interface SerializeUtils extends SerializeUtils_T {
            }
        }
        namespace kd.bos.print.business.metedata{
            interface PrintMetadataUtil_S {
                /**
                 * 转换为打印元数据
                 * @param metadataMap
                 * @param lang 指定转换语言。非null表示传过来的json数据里没有多语言信息。适用于前端传的。
                 * @return
                 */
                parseMetadata(metadataMap:$.java.util.Map,lang:string):$.kd.bos.print.api.metedata.PrintMetadata;
                parseMetadata(metadataMap:$.java.util.Map):$.kd.bos.print.api.metedata.PrintMetadata;
                mergeMetedata(printMetadata:$.kd.bos.print.api.metedata.PrintMetadata,localeValueMap:$.java.util.Map,lang:string):$.java.util.Map;
                mergeLocaleDataMap(metadata:$.kd.bos.print.api.metedata.PrintMetadata,localValueMap:$.java.util.Map):void;
                parseMetadata(str:string):$.kd.bos.print.api.metedata.PrintMetadata;
                /**
                 * 转换为打印元数据
                 * @param str
                 * @param lang 为null表示传过来的json数据里没有多语言信息。适用于前端传的
                 * @return
                 */
                parseMetadata(str:string,lang:string):$.kd.bos.print.api.metedata.PrintMetadata;
                /**
                 * 多语言字段按Language取值
                 * @return 返回当前对象对应的Map对象，供前端设计器使用
                 */
                toDesignerMetadata(printMetadata:$.kd.bos.print.api.metedata.PrintMetadata,lang:string):kd.bos.print.api.metedata.DesignerMetadata;
                getPrintMetadata(tplid:string):$.kd.bos.print.api.metedata.PrintMetadata;
                /**
                 * 获取模板中所有的资源文件RcId.
                 * @param metadata
                 * @return
                 */
                getResIds(metadata:$.kd.bos.print.api.metedata.PrintMetadata):$.java.util.List;
            }
            interface PrintMetadataUtil_C extends PrintMetadataUtil_S {
                new():PrintMetadataUtil;
            }
            interface PrintMetadataUtil$ {
            }
            type PrintMetadataUtil_T = PrintMetadataUtil$;
            interface PrintMetadataUtil extends PrintMetadataUtil_T {
            }
        }
        namespace kd.bos.print.business.metedata.bean{
            interface PrintMetaLangXml_S {
            }
            interface PrintMetaLangXml_C extends PrintMetaLangXml_S {
                new():PrintMetaLangXml;
            }
            interface PrintMetaLangXml$ {
                setNumber(arg0:string):void;
                setData(arg0:string):void;
                getLocalId():string;
                setLocalId(arg0:string):void;
                getData():string;
                getNumber():string;
                getName():string;
                setName(arg0:string):void;
                getId():string;
                setId(arg0:string):void;
            }
            type PrintMetaLangXml_T = PrintMetaLangXml$;
            interface PrintMetaLangXml extends PrintMetaLangXml_T {
            }
            interface PrintTplMetaXml_S {
            }
            type PrintTplMetaXml_ST = IPrintBaseXml_S & PrintTplMetaXml_S;
            interface PrintTplMetaXml_C extends PrintTplMetaXml_ST {
                new():PrintTplMetaXml;
            }
            interface PrintTplMetaXml$ {
                getModifyVersion():long;
                getIsv():string;
                setBizType(arg0:string):void;
                setData(arg0:string):void;
                getData():string;
                getResources():$.java.util.List;
                getId():string;
                setId(arg0:string):void;
                setIsv(arg0:string):void;
                setModifyVersion(arg0:long):void;
                setNumber(arg0:string):void;
                setResources(arg0:$.java.util.List):void;
                getBizType():string;
            }
            type PrintTplMetaXml_T = IPrintBaseXml & PrintTplMetaXml$;
            interface PrintTplMetaXml extends PrintTplMetaXml_T {
            }
            interface IPrintBaseXml_S {
            }
            interface IPrintBaseXml_C extends IPrintBaseXml_S {
            }
            interface IPrintBaseXml$ {
                getMetaLangList():$.java.util.List;
                getNumber():string;
                setMetaLangList(arg0:$.java.util.List):void;
            }
            type IPrintBaseXml_T = IPrintBaseXml$;
            interface IPrintBaseXml extends IPrintBaseXml_T {
            }
        }
        namespace kd.bos.print.business.metedata.service.migrate{
            interface AbstractImpExp_S {
            }
            interface AbstractImpExp_C extends AbstractImpExp_S {
                new():AbstractImpExp;
            }
            interface AbstractImpExp$ {
                saveTplMeteL(metaLangXml:kd.bos.print.business.metedata.bean.PrintMetaLangXml):void;
                deployFile(arg0:any):void;
                /**
                 * 模板导入
                 * @param inputStream
                 * @return
                 */
                doImport(inputStream:$.java.io.InputStream):$.java.util.Map;
                saveTpl(arg0:any):void;
                /**
                 * 导出
                 * @param tplIdList
                 * @param millis
                 * @return
                 * @throws Exception
                 */
                doExport(tplIdList:$.java.util.List,millis:number):string;
            }
            type AbstractImpExp_T = AbstractImpExp$;
            interface AbstractImpExp extends AbstractImpExp_T {
            }
            interface PrintTplImpExp_S {
            }
            type PrintTplImpExp_ST = AbstractImpExp_S & PrintTplImpExp_S;
            interface PrintTplImpExp_C extends PrintTplImpExp_ST {
                new():PrintTplImpExp;
            }
            interface PrintTplImpExp$ {
                deployFile(tplMeta:kd.bos.print.business.metedata.bean.PrintTplMetaXml):void;
                saveTpl(tplMeta:kd.bos.print.business.metedata.bean.PrintTplMetaXml):void;
            }
            type PrintTplImpExp_T = AbstractImpExp & PrintTplImpExp$;
            interface PrintTplImpExp extends PrintTplImpExp_T {
            }
        }
        namespace kd.bos.print.core.ctrl.kdf.util.render.r1print{
            interface IDivideCharacterSupport_S {
            }
            interface IDivideCharacterSupport_C extends IDivideCharacterSupport_S {
            }
            interface IDivideCharacterSupport$ {
                getDivideCharNums():number;
                getDivideModel():DivideModel;
                setDivideModel(model:DivideModel):void;
                setDivideCharNums(divideCharNums:number):void;
            }
            type IDivideCharacterSupport_T = IDivideCharacterSupport$;
            interface IDivideCharacterSupport extends IDivideCharacterSupport_T {
            }
            interface DivideModel_S {
            }
            interface DivideModel_C extends DivideModel_S {
                new():DivideModel;
            }
            interface DivideModel$ {
                upDataDivideLine(ssa:kd.bos.print.core.ctrl.kdf.util.style.StyleAttributes):void;
                showOtherLine():kd.bos.print.core.ctrl.kdf.util.style.Styles$Position;
                showDecimalLine():kd.bos.print.core.ctrl.kdf.util.style.Styles$Position;
                setLinesStyle(position:kd.bos.print.core.ctrl.kdf.util.style.Styles$Position,penStyle:kd.bos.print.core.ctrl.kdf.util.style.PenStyle,lineStyle:kd.bos.print.core.ctrl.kdf.util.style.LineStyle,color:$.java.awt.Color):void;
                getOtherStroke():$.java.awt.Stroke;
                showThousandLine():kd.bos.print.core.ctrl.kdf.util.style.Styles$Position;
                setShowLine(isShowLine:boolean):void;
                isShowLine():boolean;
                getThousandStroke():$.java.awt.Stroke;
                getDecimalStroke():$.java.awt.Stroke;
                getSSA():kd.bos.print.core.ctrl.kdf.util.style.StyleAttributes;
            }
            type DivideModel_T = DivideModel$;
            interface DivideModel extends DivideModel_T {
            }
        }
        namespace kd.bos.print.core.ctrl.kdf.util.style{
            interface StyleAttributesChangeEvent_S {
            }
            interface StyleAttributesChangeEvent_C extends StyleAttributesChangeEvent_S {
                new(owner:any,sa:StyleAttributes):StyleAttributesChangeEvent;
            }
            interface StyleAttributesChangeEvent$ {
                getSA():StyleAttributes;
                getOwner():any;
            }
            type StyleAttributesChangeEvent_T = StyleAttributesChangeEvent$;
            interface StyleAttributesChangeEvent extends StyleAttributesChangeEvent_T {
            }
            interface Pattern_S {
                readonly LightUpwardDiagonal:Pattern;
                readonly SolidDiamond:Pattern;
                readonly LargeGrid:Pattern;
                readonly DashedDownwardDiagonal:Pattern;
                readonly Percent40:Pattern;
                readonly Percent30:Pattern;
                readonly Plaid:Pattern;
                readonly Percent50:Pattern;
                readonly WideDownwardDiagonal:Pattern;
                readonly DottedDiamond:Pattern;
                readonly Weave:Pattern;
                readonly DottedGrid:Pattern;
                readonly LargeConfetti:Pattern;
                readonly WideUpwardDiagonal:Pattern;
                readonly Percent90:Pattern;
                readonly Shingle:Pattern;
                readonly Percent10:Pattern;
                readonly DarkUpwardDiagonal:Pattern;
                readonly Percent25:Pattern;
                readonly Percent5:Pattern;
                readonly LargeCheckerBoard:Pattern;
                readonly NarrowHorizontal:Pattern;
                readonly SmallGrid:Pattern;
                readonly HorizontalBrick:Pattern;
                readonly LightVertical:Pattern;
                readonly ZigZag:Pattern;
                readonly SmallCheckerBoard:Pattern;
                readonly Percent75:Pattern;
                readonly None:Pattern;
                readonly Sphere:Pattern;
                readonly Trellis:Pattern;
                readonly Divot:Pattern;
                readonly Percent20:Pattern;
                readonly DashedVertical:Pattern;
                readonly Percent70:Pattern;
                readonly OutlinedDiamond:Pattern;
                readonly SmallConfetti:Pattern;
                readonly Wave:Pattern;
                readonly Percent60:Pattern;
                readonly LightHorizontal:Pattern;
                readonly Percent80:Pattern;
                readonly DarkHorizontal:Pattern;
                readonly Solid:Pattern;
                readonly DarkDownwardDiagonal:Pattern;
                readonly LightDownwardDiagonal:Pattern;
                readonly DarkVertical:Pattern;
                readonly DashedUpwardDiagonal:Pattern;
                readonly NarrowVertical:Pattern;
                readonly DiagonalBrick:Pattern;
                readonly DashedHorizontal:Pattern;
                getPattern(index:number):Pattern;
                getPattern(name:string):Pattern;
            }
            interface Pattern_C extends Pattern_S {
                new(name:string,id:number,bXOR:boolean,data:number[]):Pattern;
            }
            interface Pattern$ {
                getID():number;
                getPatternData():number[];
                getName():string;
            }
            type Pattern_T = Pattern$;
            interface Pattern extends Pattern_T {
            }
            interface Rect_S {
                valueOf(str:string):Rect;
            }
            interface Rect_C extends Rect_S {
                new(left:number,top:number,right:number,bottom:number):Rect;
            }
            interface Rect$ {
                setRight(right:number):boolean;
                setTop(top:number):boolean;
                setLeft(left:number):boolean;
                set(dir:Styles$Dir,v:number):boolean;
                getRight():number;
                getLeft():number;
                getBottom():number;
                getTop():number;
                get(dir:Styles$Dir):number;
                getCopy():this;
                setBottom(bottom:number):boolean;
            }
            type Rect_T = Rect$;
            interface Rect extends Rect_T {
            }
            interface Styles$HorizontalAlignment_S {
                readonly NORMAL:Styles$HorizontalAlignment;
                readonly RIGHT:Styles$HorizontalAlignment;
                readonly JUSTIFY:Styles$HorizontalAlignment;
                readonly CENTER:Styles$HorizontalAlignment;
                readonly LEFT:Styles$HorizontalAlignment;
                getAlignment(arg0:string):Styles$HorizontalAlignment;
                getAlignment(arg0:number):Styles$HorizontalAlignment;
            }
            interface Styles$HorizontalAlignment_C extends Styles$HorizontalAlignment_S {
                new():Styles$HorizontalAlignment;
            }
            interface Styles$HorizontalAlignment$ {
                getValue():number;
            }
            type Styles$HorizontalAlignment_T = Styles$HorizontalAlignment$;
            interface Styles$HorizontalAlignment extends Styles$HorizontalAlignment_T {
            }
            interface LineStyle_S {
                readonly WIDTH10:LineStyle;
                readonly WIDTH7:LineStyle;
                readonly WIDTH8:LineStyle;
                readonly DOUBLE_LINE_B:LineStyle;
                readonly WIDTH6:LineStyle;
                readonly SINGLE_LINE:LineStyle;
                readonly WIDTH4:LineStyle;
                readonly NULL_LINE:LineStyle;
                readonly DOUBLE_LINE_A:LineStyle;
                readonly TRIGRAM_HOLLOW_LINE:LineStyle;
                readonly SINGLE_LINE_HALF:LineStyle;
                readonly WIDTH5:LineStyle;
                readonly WIDTH9:LineStyle;
                readonly TRIGRAM_SOLID_LINE:LineStyle;
                /**
                 * 根据位来获取linestyle
                 *
                 * @param bits
                 * @return
                 */
                getLineStyleByBits(bits:number):LineStyle;
                /**
                 * 创建线形，AB参数均由低位起计算
                 *
                 * @param aside
                 * @param bside
                 * @param bCenter
                 * @return [int]
                 */
                createBitType(aside:number,bside:number,center:number):number;
                createLineStyle(name:string,bits:number,isSystem:boolean):LineStyle;
                getLineStyle(width:number):LineStyle;
                isNull(ls:LineStyle):boolean;
                getLineStyle(name:string):LineStyle;
            }
            interface LineStyle_C extends LineStyle_S {
                new():LineStyle;
            }
            interface LineStyle$ {
                /**
                 * 标记为空，不画该边框
                 *
                 * @return
                 */
                isNullBorder():boolean;
                /**
                 * 是否为单线边框
                 *
                 * @return
                 */
                isBaseBorder():boolean;
                isSystem():boolean;
                getWidth():number;
                /**
                 * 得到边框a侧的线宽
                 *
                 * @return [int]
                 */
                getWeightA():number;
                getBits():number;
                /**
                 * 得到边框a侧的线宽
                 *
                 * @return [int]
                 */
                getWeightB():number;
                /**
                 * 得到AB面反转的LineStyle
                 *
                 * @author xuhui
                 * @return
                 */
                getReverseStyle():this;
                getBit(isA:boolean,index:number):boolean;
                getName():string;
                /**
                 * 是否填充中间线
                 *
                 * @return
                 */
                isFillCenterLine():boolean;
            }
            type LineStyle_T = LineStyle$;
            interface LineStyle extends LineStyle_T {
            }
            interface PenStyle_S {
                readonly PS_DASHDOT:PenStyle;
                readonly PS_SOLID:PenStyle;
                readonly PS_CONTINUOUS:PenStyle;
                readonly PS_DASHDOTDOT:PenStyle;
                readonly PS_DASH:PenStyle;
                readonly PS_DOT:PenStyle;
                createPenStyle(name:string,dash:number[],isSystem:boolean):PenStyle;
                getPenStyle(name:string):PenStyle;
            }
            interface PenStyle_C extends PenStyle_S {
                new(name:string,dash:number[],isSystem:boolean):PenStyle;
            }
            interface PenStyle$ {
                isSystem():boolean;
                getBaseStroke():$.java.awt.Stroke;
                getStroke(width:number):$.java.awt.Stroke;
                getName():string;
                getDashString():string;
                getDash():number[];
            }
            type PenStyle_T = PenStyle$;
            interface PenStyle extends PenStyle_T {
            }
            interface Styles$Dir_S {
                readonly EASTSOUTH:Styles$Dir;
                readonly SOUTH:Styles$Dir;
                readonly S_WEST:number;
                readonly TOP:Styles$Dir;
                readonly WESTSOUTH:Styles$Dir;
                readonly S_EASTNORTH:number;
                readonly EASTNORTH:Styles$Dir;
                readonly EAST:Styles$Dir;
                readonly S_LEFT:number;
                readonly S_EASTSOUTH:number;
                readonly S_WESTSOUTH:number;
                readonly S_SOUTH:number;
                readonly S_RIGHT:number;
                readonly S_BOTTOM:number;
                readonly S_WESTNORTH:number;
                readonly WEST:Styles$Dir;
                readonly RIGHT:Styles$Dir;
                readonly S_NORTH:number;
                readonly BOTTOM:Styles$Dir;
                readonly S_EAST:number;
                readonly NORTH:Styles$Dir;
                readonly WESTNORTH:Styles$Dir;
                readonly LEFT:Styles$Dir;
                readonly S_TOP:number;
                parse(arg0:string):Styles$Dir;
            }
            interface Styles$Dir_C extends Styles$Dir_S {
                new():Styles$Dir;
            }
            interface Styles$Dir$ {
                isEast():boolean;
                getIndex():number;
                isSouth():boolean;
                isNorth():boolean;
                isWest():boolean;
                getName():string;
            }
            type Styles$Dir_T = Styles$Dir$;
            interface Styles$Dir extends Styles$Dir_T {
            }
            interface Styles$Position_S {
                readonly S_DIAGLEFT:number;
                readonly S_LEFT:number;
                readonly LEFT:Styles$Position;
                readonly INNER_H:Styles$Position;
                readonly S_BOTTOM:number;
                readonly S_TOP:number;
                readonly BOTTOM:Styles$Position;
                readonly TOP:Styles$Position;
                readonly INNER_V:Styles$Position;
                readonly S_DIAGRIGHT:number;
                readonly S_RIGHT:number;
                readonly DIAGONALRIGHT:Styles$Position;
                readonly DIAGONALLEFT:Styles$Position;
                readonly RIGHT:Styles$Position;
                parse(arg0:string):Styles$Position;
            }
            interface Styles$Position_C extends Styles$Position_S {
                new():Styles$Position;
            }
            interface Styles$Position$ {
                getName():string;
                getOpposite():this;
                getIndex():number;
            }
            type Styles$Position_T = Styles$Position$;
            interface Styles$Position extends Styles$Position_T {
            }
            interface ShareStyleAttributes_S {
                readonly BORDER_BOTTOM_LINESTYLE:number;
                readonly HORIZONTAL_ALIGN:number;
                readonly PROTECTION_LOCKED:number;
                readonly PROTECTION_HIDDED:number;
                readonly BORDER_LEFT_LINESTYLE:number;
                readonly BORDER_LEFT_PENSTYLE:number;
                readonly FONT_WEIGHT:number;
                readonly AUTO_INDENTATION:number;
                readonly WORD_SPACING:number;
                readonly BORDER_DIAGONALLEFT_PENSTYLE:number;
                readonly BORDER_RIGHT_PENSTYLE:number;
                readonly BORDER_BOTTOM_COLOR:number;
                readonly BORDER_DIAGONALLEFT_COLOR:number;
                readonly FONT_ITALIC:number;
                readonly ROTATION:number;
                readonly BORDER_START:number;
                readonly FONT_SIZE:number;
                readonly BORDER_LEFT_COLOR:number;
                readonly BORDER_DIAGONALRIGHT_COLOR:number;
                readonly BORDER_TOP_COLOR:number;
                readonly FONT_COLOR:number;
                readonly FONT_UNDERLINE:number;
                readonly NUMBER_FORMAT:number;
                readonly START:number;
                readonly PADDING:number;
                readonly FONT_STRIKETHROUGH:number;
                readonly SHRINK_TEXT:number;
                readonly AUTO_CLIP:number;
                readonly FONT_BOLD:number;
                readonly LINE_SPACING:number;
                readonly PATTERN:number;
                readonly WRAP_TEXT:number;
                readonly VERTICAL_ALIGN:number;
                readonly PATTERN_COLOR:number;
                readonly BORDER_RIGHT_LINESTYLE:number;
                readonly BORDER_BOTTOM_PENSTYLE:number;
                readonly BORDER_TOP_PENSTYLE:number;
                readonly LINE_SPACING_TYPE:number;
                readonly BEFORE_BORDER:number;
                readonly BORDER_DIAGONALRIGHT_PENSTYLE:number;
                readonly BORDER_RIGHT_COLOR:number;
                readonly BACKGROUND_COLOR:number;
                readonly BORDER_DIAGONALLEFT_LINESTYLE:number;
                readonly BORDER_DIAGONALRIGHT_LINESTYLE:number;
                readonly BORDER_TOP_LINESTYLE:number;
                readonly ATTRS_COUNT:number;
                readonly FONT_NAME:number;
                getAllBits(count:number):long;
                getAttributeName(index:number):string;
                getBorderPenStyleIndex(pos:Styles$Position):number;
                getBorderColorIndex(pos:Styles$Position):number;
                getOuterBorderBits():long;
                getBorderBits(pos:Styles$Position):long;
                getAllLineStyleBits():long;
                getIndexCount(bits:long):number;
                crashName(bits:long):string;
                getAllBits():long;
                getBorderLineStyleIndex(pos:Styles$Position):number;
                isEmptySSA(ssa:ShareStyleAttributes):boolean;
                getBitsExceptOuterBorder():long;
                getAllBorderBits():long;
                bits(index:number):long;
                getAllInnerBorderBits():long;
            }
            interface ShareStyleAttributes_C extends ShareStyleAttributes_S {
                new(ssa:ShareStyleAttributes):ShareStyleAttributes;
            }
            interface ShareStyleAttributes$ {
                isFull():boolean;
                setUID(uid:number):void;
                getPadding():Rect;
                isItalic():boolean;
                hasIndentationAttributes():boolean;
                isDirtyBorder():boolean;
                /**
                 * 判断是否有指定Border的属性
                 *
                 * @param pos
                 * @return [boolean]
                 */
                hasBorderAttributes(pos:Styles$Position):boolean;
                isBold():boolean;
                getLineSpaceB():number;
                isFull(bits:long):boolean;
                getBackground():$.java.awt.Color;
                isWrapText():boolean;
                getPadding(dir:Styles$Dir):number;
                /**
                 * 判断指定位是否有属性改变
                 *
                 * @param index
                 * @return [boolean]
                 */
                isDirtyAttribute(index:number):boolean;
                isHided():boolean;
                isClip():boolean;
                getAllDirtyBits():long;
                hasBorder(pos:Styles$Position):boolean;
                /**
                 * 确定两ssa间非空属性的不同点
                 *
                 * @param ssa
                 * @return [long]
                 */
                crashBits(ssa:ShareStyleAttributes,crashDirty:boolean):long;
                getWordspacing():number;
                clearDirtyFlag():void;
                count():number;
                hasAttributes(index:number):boolean;
                isNullBorder(pos:Styles$Position):boolean;
                getWeight():number;
                isEmpty():boolean;
                getPatternColor():$.java.awt.Color;
                isDirtyBorder(pos:Styles$Position):boolean;
                /**
                 * 判断某项属性是否是不确定的值
                 *
                 * @param index
                 * @return [boolean]
                 */
                isUnsureValue(index:number):boolean;
                hasProtectionAttributes():boolean;
                isLocked():boolean;
                /**
                 * 判断是否有任何Border属性
                 *
                 * @return [boolean]
                 */
                hasBordersAttributes():boolean;
                getBorderPenStyle(pos:Styles$Position):PenStyle;
                getBorderLineStyle(pos:Styles$Position):LineStyle;
                getBorderColor(pos:Styles$Position):$.java.awt.Color;
                isStrikeThrough():boolean;
                getLineSpacingType():number;
                /**
                 * 确定两ssa间非空相同属性点
                 *
                 * @param ssa
                 * @param countTo
                 * @return [long]
                 */
                sameBits(ssa:ShareStyleAttributes,countFrom:number,countTo:number):long;
                getPattern():Pattern;
                getFontName():string;
                getLinespacing():number;
                isUnderline():boolean;
                getVerticalAlign():Styles$VerticalAlignment;
                hasInteriorAttributes():boolean;
                /**
                 * 边框三个属性有一个在则认为有边框
                 * @param pos
                 * @return
                 */
                hasBorderWidthOne(pos:Styles$Position):boolean;
                /**
                 * 获取属性值，如不存在返回null
                 *
                 * @param index
                 * @return [Object]
                 * @author Created by Qiao 2005-5-12 16:46:10
                 */
                get(index:number):any;
                setDirty(bit:long):void;
                /**
                 * 判断是否有Font属性
                 *
                 * @return [boolean]
                 */
                hasFontAttributes():boolean;
                hasAlignmentAttributes():boolean;
                getIndentation():number;
                hasBorderAllAttributes(pos:Styles$Position):boolean;
                getFontColor():$.java.awt.Color;
                getFontSizeF():number;
                getRotation():number;
                /**
                 * 是否有水平对齐属性
                 *
                 * @return
                 */
                hasHorizontalAlign():boolean;
                isShrinkText():boolean;
                /**
                 * 获取众多改变属性位中的第一位
                 *
                 * @return [int]
                 */
                getFirstDirtyIndex():number;
                getHorizontalAlign():Styles$HorizontalAlignment;
                getAttrsBits():long;
                clearDirtyFlag(index:long):void;
                getNumberFormat():string;
                /**
                 * 判断是否有属性改变
                 *
                 * @return [boolean]
                 */
                isDirty():boolean;
                getUID():number;
                /**
                 * 由名字获取属性索引值
                 *
                 * @param id
                 * @return [int]
                 */
                getIndex(id:string):number;
            }
            type ShareStyleAttributes_T = ShareStyleAttributes$;
            interface ShareStyleAttributes extends ShareStyleAttributes_T {
            }
            interface StyleAttributesChangeListener_S {
            }
            interface StyleAttributesChangeListener_C extends StyleAttributesChangeListener_S {
            }
            interface StyleAttributesChangeListener$ {
                changeStyleAttributes(event:StyleAttributesChangeEvent):void;
            }
            type StyleAttributesChangeListener_T = StyleAttributesChangeListener$;
            interface StyleAttributesChangeListener extends StyleAttributesChangeListener_T {
            }
            interface StyleAttributes_S {
            }
            type StyleAttributes_ST = ShareStyleAttributes_S & StyleAttributes_S;
            interface StyleAttributes_C extends StyleAttributes_ST {
                new():StyleAttributes;
            }
            interface StyleAttributes$ {
                setStrikeThrough(bStrikeThrough:boolean):void;
                setItalic(bItalic:boolean):void;
                setFontName(name:string):void;
                clearBorderAttribures(pos:Styles$Position,setDirty:boolean):void;
                replaceDirtyBorder(ssa:ShareStyleAttributes,pos:Styles$Position):number;
                copyBorderAttributes(ssa:ShareStyleAttributes,posSrc:Styles$Position,posDst:Styles$Position):boolean;
                isEntireMixedBorder(pos:Styles$Position):boolean;
                setOwner(owner:any):void;
                /**
                 * 将ssa中所有dirty的“确定”属性替换进来
                 *
                 * @param ssa
                 * @return [int] 返回替换得属性个数
                 */
                replaceDirty(ssa:ShareStyleAttributes):number;
                isMixedAttribute(index:number):boolean;
                validateBorderAttributes():void;
                replace(ssa:ShareStyleAttributes,bits:long):number;
                /**
                 * 将ssa中所有dirty的“确定”属性替换进来.
                 *
                 * @param ssa
                 * @param replaceNull 旧属性为null时是否替换
                 * @return added by fuxiuhu,2005-09-21
                 */
                replaceDirty(ssa:ShareStyleAttributes,replaceNull:boolean):number;
                clearAttributes(bits:long):void;
                setBackground(clr:$.java.awt.Color):void;
                /**
                 * 将参数ssa中的“确定”属性加入本实例，本实例中原有的“确定”属性不被替换
                 *
                 * @param ssa
                 * @return [void]
                 * @author Created by Qiao 2005-5-12 16:38:13
                 */
                append(ssa:ShareStyleAttributes,bChangeDirtyFlag:boolean):number;
                setBorder(bdr:Border,pos:Styles$Position):void;
                getListener():StyleAttributesChangeListener;
                /**
                 * 添加属性
                 *
                 * @param index 属性索引
                 * @param attr 属性值
                 * @return[void] 被替换的属性值
                 */
                put(index:number,attr:any):void;
                getOwner():any;
                setBorderColor(pos:Styles$Position,clr:$.java.awt.Color):void;
                setBorderPenStyle(pos:Styles$Position,ps:PenStyle):void;
                setBold(bBold:boolean):void;
                mixBorder(bdr:Border,pos:Styles$Position):number;
                appendBorderAttributes(ssa:ShareStyleAttributes,posSrc:Styles$Position,posDst:Styles$Position):number;
                /**
                 * 将ssa中指定dirty的“确定”属性替换进来
                 *
                 * @param ssa
                 * @param i
                 * @param replaceNull 旧属性为null时是否替换
                 * @return added by fuxiuhu,2005-09-21
                 */
                replaceDirtyAttribute(ssa:ShareStyleAttributes,i:number,replaceNull:boolean):boolean;
                setHided(bHided:boolean):void;
                setWrapText(bWrapText:boolean):void;
                clearAttributes():void;
                setNumberFormat(fmt:string):void;
                clearBorderAttribures():void;
                setAlignment(ssa:ShareStyleAttributes):void;
                putMix(index:number,newAttr:any):number;
                setListener(listener:StyleAttributesChangeListener):void;
                setFontSize(size:number):void;
                /**
                 * 将ssa中所有的“确定”属性替换进来
                 *
                 * @param ssa [void]
                 */
                replace(ssa:ShareStyleAttributes):number;
                setPadding(pad:Rect):void;
                setPadding(dir:Styles$Dir,pad:number):void;
                setLinespacing(lineSpacing:number):void;
                setWeight(weight:number):void;
                replaceDirtyAttribute(ssa:ShareStyleAttributes,i:number,referSSA:ShareStyleAttributes):boolean;
                setBorder(bdr:Border):void;
                /**
                 * 填充包括UNKOWN_VALUE在内的属性
                 *
                 * @param ssa
                 * @param bChangeDirtyFlag
                 * @param count
                 * @return [StyleAttributes]
                 */
                appendAll(ssa:ShareStyleAttributes,bChangeDirtyFlag:boolean,count:number):number;
                setPattern(ptn:Pattern):void;
                /**
                 * 如果Dirty，通知Listener [void]
                 */
                update():void;
                /**
                 * 通过id设置属性值
                 *
                 * @param id
                 * @param attr [void]
                 */
                put(id:string,attr:any):void;
                setBorderLineStyle(pos:Styles$Position,ls:LineStyle):void;
                setInterior(ssa:ShareStyleAttributes):void;
                append(ssa:ShareStyleAttributes,bChangeDirtyFlag:boolean,count:number):number;
                replaceDirty(ssa:ShareStyleAttributes,referSSA:ShareStyleAttributes):number;
                /**
                 * 融合指定的ssa数组，可能形成一些不确定属性
                 *
                 * @param aSSA
                 * @return [int] 返回不确定属性的个数
                 */
                mix(aSSA:ShareStyleAttributes[],bExceptBorder:boolean):number;
                setWordspacing(wordSpacing:number):void;
                setPatternColor(clr:$.java.awt.Color):void;
                setLocked(bLocked:boolean):void;
                setShrinkText(bShrinkText:boolean):void;
                setFont(ssa:ShareStyleAttributes):void;
                mix(ssa:ShareStyleAttributes,bExceptBorder:boolean):number;
                setRotation(rotation:number):void;
                replaceDirtyBorder(ssa:ShareStyleAttributes,posFrom:Styles$Position,posTo:Styles$Position):number;
                appendAttribute(ssa:ShareStyleAttributes,index:number,bChangeDirtyFlag:boolean):boolean;
                setFontColor(clr:$.java.awt.Color):void;
                setHorizontalAlign(hAlign:Styles$HorizontalAlignment):void;
                setLinespacingType(type_arg:number):void;
                setUnderline(bUnderline:boolean):void;
                setClip(bClip:boolean):void;
                setIndentation(indentation:number):void;
                setFont(awtFont:$.java.awt.Font):void;
                isAllMixed(bits:long):boolean;
                setBorder(ssa:ShareStyleAttributes):void;
                setProtection(ssa:ShareStyleAttributes):void;
                replaceDirtyAttribute(ssa:ShareStyleAttributes,i:number):boolean;
                setBorder(pos:Styles$Position,ssa:ShareStyleAttributes):void;
                setVerticalAlign(vAlign:Styles$VerticalAlignment):void;
                replaceDirty(ssa:ShareStyleAttributes,from_arg:number,to:number):number;
            }
            type StyleAttributes_T = ShareStyleAttributes & StyleAttributes$;
            interface StyleAttributes extends StyleAttributes_T {
            }
            interface Style_S {
            }
            type Style_ST = ShareStyleAttributes_S & Style_S;
            interface Style_C extends Style_ST {
                new(ssa:ShareStyleAttributes):Style;
            }
            interface Style$ {
                /**
                 * 减去和style相同的部分，返回ssa 如果两个style相同返回 null;
                 *
                 * @param style
                 * @return
                 */
                subtract(style:Style):ShareStyleAttributes;
                getBaseStroke(pos:Styles$Position):$.java.awt.Stroke;
                getFillPaint():$.java.awt.Paint;
                /**
                 * 获取可独立传递的border对象
                 *
                 * @param pos
                 * @return [Border]
                 */
                getBorder(pos:Styles$Position):Border;
                getKDFont():kd.bos.print.core.ctrl.swing.KDFont;
                getFont():$.java.awt.Font;
                getNewAttribute():StyleAttributes;
                getStroke(pos:Styles$Position):$.java.awt.Stroke;
            }
            type Style_T = ShareStyleAttributes & Style$;
            interface Style extends Style_T {
            }
            interface Border_S {
            }
            interface Border_C extends Border_S {
                new(pos:Styles$Position,style:Style):Border;
            }
            interface Border$ {
                getBaseStroke(pos:Styles$Position):$.java.awt.Stroke;
                getLineStyle():LineStyle;
                getPenStyle():PenStyle;
                isNull():boolean;
                getPosition():Styles$Position;
                getStyle():Style;
                getColor():$.java.awt.Color;
                getStroke():$.java.awt.Stroke;
            }
            type Border_T = Border$;
            interface Border extends Border_T {
            }
            interface Styles$VerticalAlignment_S {
                readonly TOP:Styles$VerticalAlignment;
                readonly BOTTOM:Styles$VerticalAlignment;
                readonly MIDDLE:Styles$VerticalAlignment;
                getAlignment(arg0:string):Styles$VerticalAlignment;
                getAlignment(arg0:number):Styles$VerticalAlignment;
            }
            interface Styles$VerticalAlignment_C extends Styles$VerticalAlignment_S {
                new():Styles$VerticalAlignment;
            }
            interface Styles$VerticalAlignment$ {
                getValue():number;
            }
            type Styles$VerticalAlignment_T = Styles$VerticalAlignment$;
            interface Styles$VerticalAlignment extends Styles$VerticalAlignment_T {
            }
        }
        namespace kd.bos.print.core.ctrl.print{
            interface IVariantParser_S {
            }
            interface IVariantParser_C extends IVariantParser_S {
            }
            interface IVariantParser$ {
                parse(name:string,info:kd.bos.print.core.model.ui.component.PainterInfo):string;
            }
            type IVariantParser_T = IVariantParser$;
            interface IVariantParser extends IVariantParser_T {
            }
        }
        namespace kd.bos.print.core.ctrl.reportone.r1.print.common{
            interface IR1PrintScriptable_S {
            }
            interface IR1PrintScriptable_C extends IR1PrintScriptable_S {
            }
            interface IR1PrintScriptable$ {
                /**
                 * 设置对象的输出值
                 *
                 * @param value
                 */
                setOutputValue?(value:kd.bos.print.core.data.field.Field):void;
                /**
                 * 取得当前对象所绑定数据源的某一字段的值
                 *
                 * @param field
                 * @return
                 */
                getFieldValue(field:string):any;
                /**
                 * 设置对象属性，用于前处理脚本，可改变状态
                 *
                 * @param key
                 * @param value
                 */
                setProperty?(key:string,value:any):void;
                /**
                 * 取得“不打印”属性
                 *
                 * @return
                 */
                isHide():boolean;
                /**
                 * 取得当前对象所在页的页码，如果在数据表中，它是分组页码
                 *
                 * @return
                 */
                getPageNumber():any;
                /**
                 * 设置“不打印”属性
                 *
                 * @param isHide
                 */
                setHide?(isHide:boolean):void;
                /**
                 * 与setProperty对应
                 *
                 * @param key
                 * @return
                 */
                getProperty(key:string):any;
                /**
                 * 取得对象的输出值
                 *
                 * @return
                 */
                getOutputValue?():kd.bos.print.core.data.field.Field;
                /**
                 * 取得当前对象所在页的总页数，如果在数据表中，它是分组总页数
                 *
                 * @return
                 */
                getPageTotal():any;
            }
            type IR1PrintScriptable_T = IR1PrintScriptable$;
            interface IR1PrintScriptable extends IR1PrintScriptable_T {
            }
            interface IAdjustHeightRenderSupport_S {
            }
            interface IAdjustHeightRenderSupport_C extends IAdjustHeightRenderSupport_S {
            }
            interface IAdjustHeightRenderSupport$ {
                getLineWrapRule?():number;
                isUseAdjustHeightRender():boolean;
            }
            type IAdjustHeightRenderSupport_T = IAdjustHeightRenderSupport$;
            interface IAdjustHeightRenderSupport extends IAdjustHeightRenderSupport_T {
            }
        }
        namespace kd.bos.print.core.ctrl.reportone.r1.print.engine{
            interface IWidgetExecuteHelper$IDataHelper_S {
            }
            interface IWidgetExecuteHelper$IDataHelper_C extends IWidgetExecuteHelper$IDataHelper_S {
            }
            interface IWidgetExecuteHelper$IDataHelper$ {
                next?(arg0:string):void;
                isEOF?(arg0:string):boolean;
                getDataVisitor?(arg0:string):kd.bos.print.core.data.R1PDataVisitor;
                hasNext?(arg0:string):boolean;
                isBOF?(arg0:string):boolean;
                getValue?(arg0:string,arg1:string):any;
                getImageByte?(arg0:string):number[];
                getFieldValue(arg0:string,arg1:string,arg2:kd.bos.print.core.data.PdIterator):kd.bos.print.core.data.field.Field;
                getFieldValue(arg0:string,arg1:string):kd.bos.print.core.data.field.Field;
                isContextRelative():boolean;
                getRowsCount(arg0:string):number;
            }
            type IWidgetExecuteHelper$IDataHelper_T = IWidgetExecuteHelper$IDataHelper$;
            interface IWidgetExecuteHelper$IDataHelper extends IWidgetExecuteHelper$IDataHelper_T {
            }
            interface DelayVarProvider_S {
                readonly KEY_PageNumber:string;
                readonly KEY_PageTotal:string;
                /**
                 * abc&[x|f:y]def => x|f:y
                 * @param value
                 * @return
                 */
                getContainsVar(value:string):string;
                /**
                 * abc&[x|f:y]def => abcXXXdef<br>
                 * 用值XXX替换掉&[x|f:y]
                 * @param str which isContainsVar
                 * @param comboKey like `x|f:y
                 * @param keyValue XXX
                 * @return
                 */
                replaceContainsVarValue(str:string,comboKey:string,keyValue:string):string;
                /**
                 * &[x] => &[x|f:formatString]<br>
                 * 必须确保value是&[x]的样式，即isVar(value)
                 * @param value
                 * @param formatString
                 * @return
                 */
                insertFormatString(value:string,formatString:string):string;
                /**
                 * x|f:y => String[]{x, y}
                 * @param value
                 * @return
                 */
                parseFormatString(value:string):string[];
                /**
                 * key => &[key]
                 * @param key
                 * @return
                 */
                makeVarSign(key:string):string;
                /**
                 * 是否包含“&[”和“]”
                 * @param value
                 * @return
                 */
                isContainsVar(value:string):boolean;
                /**
                 * 是否“&[”打头，“]”结尾
                 * @param value
                 * @return
                 */
                isVar(value:string):boolean;
                /**
                 * 控件是否绑定延迟变量
                 * @param widget
                 * @return
                 */
                isBindDelayVar(widget:kd.bos.print.core.model.widget.IPrintWidget):boolean;
            }
            type DelayVarProvider_ST = DelayVarProvider_S & kd.bos.print.core.ctrl.print.IVariantParser_S;
            interface DelayVarProvider_C extends DelayVarProvider_ST {
                new():DelayVarProvider;
            }
            interface DelayVarProvider$ {
                markCell(key:any,cell:kd.bos.print.core.model.widget.AbstractPrintWidgetText):void;
                fillValue(key:string,outputCell:kd.bos.print.core.model.widget.AbstractPrintWidgetText,value:kd.bos.print.core.data.field.Field):void;
                fillValue(key:string,value:kd.bos.print.core.data.field.Field):void;
            }
            type DelayVarProvider_T = DelayVarProvider$ & kd.bos.print.core.ctrl.print.IVariantParser;
            interface DelayVarProvider extends DelayVarProvider_T {
            }
            interface IWidgetExecuteHelper_S {
                readonly ScriptType_Post:number;
                readonly ScriptType_Pre:number;
                readonly ScriptType_Last:number;
            }
            interface IWidgetExecuteHelper_C extends IWidgetExecuteHelper_S {
            }
            interface IWidgetExecuteHelper$ {
                /**
                 * 执行公式
                 * @param widget
                 * @param formula
                 * @return
                 */
                runFormula(widget:kd.bos.print.core.model.widget.IPrintWidget,formula:string):any;
                /**
                 * 运行脚本
                 * @param widget
                 * @param type ScriptType_Pre/ScriptType_Post/ScriptType_Last
                 */
                runScript?(widget:kd.bos.print.core.model.widget.IPrintWidget,type_arg:number):void;
                /**
                 * 取得取数助理
                 * @return
                 */
                getDataHelper():IWidgetExecuteHelper$IDataHelper;
                /**
                 * 数据源使用情况上下文
                 * @see DataUsingContext
                 * @return
                 */
                getDataContext():kd.bos.print.core.ctrl.reportone.r1.print.engine.data.DataUsingContext;
                /**
                 * 取得延迟变量提供者
                 * @return
                 */
                getDelayVarProvider():DelayVarProvider;
                /**
                 * 设置取数助理
                 * @param dataHelper
                 */
                setDataHelper(dataHelper:IWidgetExecuteHelper$IDataHelper):void;
                /**
                 * 记录输出对象ID，使脚本通过ID可以取到对象
                 * @param widget
                 */
                markOutputId(widget:kd.bos.print.core.model.widget.IPrintWidget):void;
                /**
                 * 执行子对象
                 * @param widgetContainer
                 * @param outputWidgetContainer
                 * @throws R1PrintException
                 */
                executChildren?(widgetContainer:kd.bos.print.core.model.widget.IPrintWidgetContainer,outputWidgetContainer:kd.bos.print.core.model.widget.IPrintWidgetContainer):void;
            }
            type IWidgetExecuteHelper_T = IWidgetExecuteHelper$;
            interface IWidgetExecuteHelper extends IWidgetExecuteHelper_T {
            }
        }
        namespace kd.bos.print.core.ctrl.reportone.r1.print.engine.data{
            interface DataUsingContext_S {
            }
            interface DataUsingContext_C extends DataUsingContext_S {
                new():DataUsingContext;
            }
            interface DataUsingContext$ {
                removeOverdoData(page:kd.bos.print.core.model.widget.PWPage):void;
                clearAll():void;
                isOverdoData(ds:string):boolean;
                removeOverdoData(widget:kd.bos.print.core.model.widget.IPrintWidget):void;
                addOverdoData(ds:string,path:$.javax.swing.tree.TreePath,isKeepOverdoAlways:boolean):void;
            }
            type DataUsingContext_T = DataUsingContext$;
            interface DataUsingContext extends DataUsingContext_T {
            }
        }
        namespace kd.bos.print.core.ctrl.swing{
            interface KDFont_S {
                createFont(name:string,style:number,size:number):$.java.awt.Font;
                /**
                 * 该方法用于新打印客户端转换字体名称->字体族名称，请勿随意调用
                 * @param name
                 * @return
                 */
                createFont(name:string):$.java.awt.Font;
                /**
                 * 从磁盘目录，加载默认字体
                 * @return
                 */
                loadDefaultFont():$.java.awt.Font;
                loadFontFromJAR(name:string,style:number,size:number):$.java.awt.Font;
                setFormDrawing(is_arg:boolean):void;
                /**
                 * 遍历系统字体库，检查创建的字体是否存在
                 *
                 * @param name
                 * @return
                 */
                isSystemDefineFont(name:string):boolean;
                setTableMode(is_arg:boolean):void;
            }
            type KDFont_ST = $.java.awt.Font & KDFont_S;
            interface KDFont_C extends KDFont_ST {
                /**
                 * @param attributes
                 */
                new(attributes:$.java.util.Map):KDFont;
                /**
                 * @param name
                 * @param style
                 * @param size
                 */
                new(name:string,style:number,size:number):KDFont;
            }
            interface KDFont$ {
                getFont():$.java.awt.Font;
            }
            type KDFont_T = $.java.awt.Font & KDFont$;
            interface KDFont extends KDFont_T {
            }
        }
        namespace kd.bos.print.core.data{
            interface R1PDataVisitor$Iterator_S {
            }
            type R1PDataVisitor$Iterator_ST = PdIterator_S & R1PDataVisitor$Iterator_S;
            interface R1PDataVisitor$Iterator_C extends R1PDataVisitor$Iterator_ST {
                new(arg0:R1PDataVisitor):R1PDataVisitor$Iterator;
            }
            interface R1PDataVisitor$Iterator$ {
                getCursor():number;
            }
            type R1PDataVisitor$Iterator_T = PdIterator & R1PDataVisitor$Iterator$;
            interface R1PDataVisitor$Iterator extends R1PDataVisitor$Iterator_T {
            }
            interface IPrintDataProvider_S {
            }
            type IPrintDataProvider_ST = $.java.io.Serializable & IPrintDataProvider_S;
            interface IPrintDataProvider_C extends IPrintDataProvider_ST {
            }
            interface IPrintDataProvider$ {
                getPluginProxy():kd.bos.print.core.plugin.PrintPluginProxy;
                setPluginProxy(proxy:kd.bos.print.core.plugin.PrintPluginProxy):void;
                /**
                 * 设置区域格式化ID
                 * @param inteFormatId
                 */
                setInteFormatId(inteFormatId:long):void;
                /**
                 * 获取主实体类型
                 * @param number
                 * @return
                 */
                getMainEntityType?(number_arg:string):kd.bos.entity.MainEntityType;
                getData(dataSource:kd.bos.print.core.data.datasource.PrtDataSource):$.java.util.List;
                getImageByte(imageKey:string):number[];
            }
            type IPrintDataProvider_T = $.java.io.Serializable & IPrintDataProvider$;
            interface IPrintDataProvider extends IPrintDataProvider_T {
            }
            interface DataRowSet_S {
            }
            interface DataRowSet_C extends DataRowSet_S {
                new():DataRowSet;
            }
            interface DataRowSet$ {
                /**
                 * 根据字段标识获取字段值。
                 * @param fieldKey 字段标识
                 * @return 字段值
                 */
                getField(fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 添加字段。
                 * @param fieldKey 字段标识
                 * @param field 字段
                 */
                put(fieldKey:string,field:kd.bos.print.core.data.field.Field):void;
                /**
                 * 获取所有字段标识。
                 * @return 所有字段标识
                 */
                getFieldKeys():$.java.util.Set;
                /**
                 * 拷贝当前数据集，返回新数据集。
                 * <p>
                 *     <strong>注意：该方法会拷贝数据集中所有字段值，但是集合类型{@link kd.bos.print.core.data.field.CollectionField}的字段值进行拷贝时，集合中包含的字段不会再次拷贝。</strong>
                 * </p>
                 * @return 新数据集
                 * @see kd.bos.print.core.data.field.CollectionField#copy()
                 */
                deepCopy():this;
                /**
                 * 获取数据集中的集合类型字段值。
                 * @param fieldKey 字段标识
                 * @return 集合类型字段值
                 */
                getCollectionField(fieldKey:string):kd.bos.print.core.data.field.CollectionField;
                /**
                 * 删除字段。
                 * @param fieldKey 字段标识
                 * @return 被删除的字段值，如果字段标识没有对应的字段值，则返回<tt>null</tt>。
                 */
                remove(fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 是否包含该字段标识。
                 * @param fieldKey 字段标识
                 * @return 是否包含该字段标识
                 */
                containerKey(fieldKey:string):boolean;
            }
            type DataRowSet_T = DataRowSet$;
            interface DataRowSet extends DataRowSet_T {
            }
            interface PdIterator_S {
            }
            type PdIterator_ST = $.java.util.Iterator & PdIterator_S;
            interface PdIterator_C extends PdIterator_ST {
            }
            interface PdIterator$ {
                cursor():number;
                /**
                 * 是否还有下一行记录。
                 * 添加该方法的目的： 当初设计时未考虑好。起始索引定义为0了。这个是错误的，应该定义为-1。但是目前不能改了，定义这个个方法方便实际判断。
                 * @param flag true
                 * @return
                 */
                hasNext(flag:boolean):boolean;
                /**
                 * 获取当前节点中的值
                 * @param key
                 * @return
                 */
                getField(key:string):kd.bos.print.core.data.field.Field;
                /**
                 * 获取当前节点
                 * @return
                 */
                current():any;
                rowSize?():number;
            }
            type PdIterator_T = $.java.util.Iterator & PdIterator$;
            interface PdIterator extends PdIterator_T {
            }
            interface R1PDataVisitor_S {
            }
            interface R1PDataVisitor_C extends R1PDataVisitor_S {
                new(ds:kd.bos.print.core.data.datasource.PrtDataSource):R1PDataVisitor;
            }
            interface R1PDataVisitor$ {
                getDataRowSet():DataRowSet;
                hasNext():boolean;
                iterator():R1PDataVisitor$Iterator;
                /**
                 * 设置数据访问代理
                 *
                 * @param dataProvider
                 */
                setDelegate(dataProvider:IPrintDataProvider):void;
                /**
                 * 获取指定行的值
                 * @param index
                 * @param fieldKey
                 * @return
                 */
                getField(index:number,fieldKey:string):kd.bos.print.core.data.field.Field;
                getDataSource():kd.bos.print.core.data.datasource.PrtDataSource;
                /**
                 * 获取第一行，指定的值
                 * @param fieldKey
                 * @return
                 */
                getFirstField(fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 获取当前数据源，指定的值
                 * @param fieldKey
                 * @return
                 */
                getField(key:string):kd.bos.print.core.data.field.Field;
                /**
                 * 取得结果集的行数
                 *
                 * @return
                 * @throws R1PrintDataException
                 */
                getRowsCount():number;
                clear():void;
                getCollectionField(ds:string,sortAble:boolean,controlKey:string):kd.bos.print.core.data.field.CollectionField;
                getImageByte(imageKey:string):number[];
                getRelyMainVisitor():this;
                /**
                 *  根据数据源标识获取集合类型字段
                 * 	注意：如果配置了数据表格排序字段，该方法每次调用会执行排序操作生成新的数据集。每次调用都会执行排序操作，请不要频繁使用
                 * @param ds 数据源标识
                 * @param sortAble 是否启用排序（默认启用）
                 * @return 集合字段值
                 */
                getCollectionField(ds:string,sortAble:boolean):kd.bos.print.core.data.field.CollectionField;
                /**
                 * 根据数据源标识获取集合类型字段
                 * 注意：如果配置了数据表格排序字段，该方法每次调用会执行排序操作生成新的数据集。每次调用都会执行排序操作，请不要频繁使用
                 * @param ds 数据源标识
                 * @return 集合字段值
                 */
                getCollectionField(ds:string):kd.bos.print.core.data.field.CollectionField;
                next():void;
                hookRelayMainVisitor(visitor:R1PDataVisitor):void;
                getCollectionField(ds:string,controlKey:string):kd.bos.print.core.data.field.CollectionField;
                /**
                 * 获取第一行，指定的值
                 * @param fieldKey
                 * @return
                 */
                getField(ds:string,fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 获取当前数据源，最后一行指定的值
                 * @param fieldKey
                 * @return
                 */
                getLastField(fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 一个数据源执行完后，调用该方法执行下一个数据源
                 */
                reset():void;
            }
            type R1PDataVisitor_T = R1PDataVisitor$;
            interface R1PDataVisitor extends R1PDataVisitor_T {
            }
        }
        namespace kd.bos.print.core.data.datasource{
            interface CustomDataSource_S {
            }
            type CustomDataSource_ST = CustomDataSource_S & PrtDataSource_S;
            interface CustomDataSource_C extends CustomDataSource_ST {
            }
            interface CustomDataSource$ {
                /**
                 * 获取主数据源中当前执行单据的主键。
                 * @return 单据的主键
                 */
                getPkId():any;
                /**
                 * 获取表单标识。
                 * @return 表单标识
                 */
                getFormId():string;
                /**
                 * 获取主数据中当前执行单据的数据集。
                 * @return 数据集
                 */
                getMainDataRow():DataRowSet;
                /**
                 * 设置表单标识。
                 * @param formId 表单标识
                 */
                setFormId(formId:string):void;
                /**
                 * 获取页面pageId。
                 * @return pageId
                 */
                getPageId():string;
                /**
                 * 设置主数据源中当前执行单据的数据集。
                 * @param mainDataRow 数据集
                 */
                setMainDataRow(mainDataRow:DataRowSet):void;
            }
            type CustomDataSource_T = CustomDataSource$ & PrtDataSource;
            interface CustomDataSource extends CustomDataSource_T {
            }
            interface FormDataSource_S {
            }
            type FormDataSource_ST = FormDataSource_S & PrtDataSource_S;
            interface FormDataSource_C extends FormDataSource_ST {
            }
            interface FormDataSource$ {
                /**
                 * 获取当前数据源主实体类型。
                 * @return 主实体类型
                 */
                getMainEntityType():kd.bos.entity.MainEntityType;
                /**
                 * 获取数据源标识对应的实体类型。
                 * @param dsName 数据源标识
                 * @return 实体类型
                 */
                getEntityType(dsName:string):kd.bos.entity.EntityType;
                /**
                 * 获取子数据源。
                 * <p>
                 *     用于获取单据体、子单据体的数据源。
                 * </p>
                 * @return 子数据源
                 */
                getChildrenDs():$.java.util.List;
                /**
                 * 获取表单id。
                 * @return 表单id
                 */
                getFormId():string;
            }
            type FormDataSource_T = FormDataSource$ & PrtDataSource;
            interface FormDataSource extends FormDataSource_T {
            }
            interface MainDataSource_S {
            }
            type MainDataSource_ST = FormDataSource_S & MainDataSource_S;
            interface MainDataSource_C extends MainDataSource_ST {
            }
            interface MainDataSource$ {
                /**
                 * 按列表勾选的顺序，获取有序的主键集合。
                 * @return 主键集合
                 */
                getSortPKIds():$.java.util.List;
                /**
                 * 获取所有依赖本数据源的关联数据源。
                 * @return 关联数据源集合
                 */
                getAllRefDataSource():$.java.util.List;
                setEntryPkMap(entryPkMap:$.java.util.Map):void;
                getEntryPkMap():$.java.util.Map;
                /**
                 * 获取页面pageId。
                 * @return 页面pageId
                 */
                getPageId():string;
            }
            type MainDataSource_T = FormDataSource & MainDataSource$;
            interface MainDataSource extends MainDataSource_T {
            }
            interface WorkflowDataSource_S {
            }
            type WorkflowDataSource_ST = PrtDataSource_S & WorkflowDataSource_S;
            interface WorkflowDataSource_C extends WorkflowDataSource_ST {
            }
            interface WorkflowDataSource$ {
                /**
                 * 获取打印模板中，工作流配置参数。
                 * @return 工作流参数
                 */
                getWorkFlowParams():$.java.util.Map;
                /**
                 * 获取业务标识。
                 * <p>
                 *     单据或基础资料的内码。
                 * </p>
                 * @return 业务标识
                 */
                getBusinessKey():string;
                /**
                 * 获取表单Id。
                 * @return 表单Id
                 */
                getFormId():string;
            }
            type WorkflowDataSource_T = PrtDataSource & WorkflowDataSource$;
            interface WorkflowDataSource extends WorkflowDataSource_T {
            }
            class DsType {
                static readonly STASTIC:kd.bos.print.core.data.datasource.DsType;
                static readonly REF:kd.bos.print.core.data.datasource.DsType;
                static readonly FORMULA:kd.bos.print.core.data.datasource.DsType;
                static readonly ATTACH:kd.bos.print.core.data.datasource.DsType;
                static readonly SYS:kd.bos.print.core.data.datasource.DsType;
                static readonly APPROVEACTIVITY:kd.bos.print.core.data.datasource.DsType;
                static readonly MAIN_REPORT:kd.bos.print.core.data.datasource.DsType;
                static readonly MAIN:kd.bos.print.core.data.datasource.DsType;
                static readonly SUBENTRY:kd.bos.print.core.data.datasource.DsType;
                static readonly CUSTOM:kd.bos.print.core.data.datasource.DsType;
                static readonly ENTRY:kd.bos.print.core.data.datasource.DsType;
                static readonly APPROVELINE:kd.bos.print.core.data.datasource.DsType;
                static readonly REPORT_ENTRY:kd.bos.print.core.data.datasource.DsType;
                static values():kd.bos.print.core.data.datasource.DsType[];
                /**
                 * 根据标识获取数据源类型。
                 * @param code 标识
                 * @return 数据源类型
                 */
                static from(code:string):kd.bos.print.core.data.datasource.DsType;
                static valueOf(arg0:string):kd.bos.print.core.data.datasource.DsType;
            }
            interface PrtDataSource_S {
            }
            interface PrtDataSource_C extends PrtDataSource_S {
            }
            interface PrtDataSource$ {
                /**
                 * 设置查询字段标识集合。
                 * @param queryField 字段标识集合
                 */
                setQueryField(queryField:$.java.util.List):void;
                /**
                 * 添加单个查询字段标识。
                 * @param field 字段标识
                 */
                addField(field:string):void;
                /**
                 * 获取数据源类型。
                 * @return 数据源类型
                 */
                getDsType():DsType;
                /**
                 * 获取数据源标识。
                 * @return 数据源标识
                 */
                getDsName():string;
                /**
                 * 获取查询字段标识集合。
                 * @return 字段标识集合
                 */
                getQueryField():$.java.util.List;
            }
            type PrtDataSource_T = PrtDataSource$;
            interface PrtDataSource extends PrtDataSource_T {
            }
            interface RefDataSource_S {
            }
            type RefDataSource_ST = FormDataSource_S & RefDataSource_S;
            interface RefDataSource_C extends RefDataSource_ST {
            }
            interface RefDataSource$ {
            }
            type RefDataSource_T = FormDataSource & RefDataSource$;
            interface RefDataSource extends RefDataSource_T {
            }
        }
        namespace kd.bos.print.core.data.datasource.prop{
            interface SortField_S {
            }
            interface SortField_C extends SortField_S {
                new():SortField;
            }
            interface SortField$ {
                /**
                 * 设置数据源标识。
                 * @param dataSource 数据源标识
                 */
                setDataSource(dataSource:string):void;
                /**
                 * 设置绑定字段标识。
                 * @param bindName 绑定字段标识
                 */
                setBindName(bindName:string):void;
                /**
                 * 获取排序方式（升序/降序）。
                 * @return 排序方式
                 */
                getOrderBy():string;
                /**
                 * 获取绑定字段标识。
                 * @return 绑定字段标识
                 */
                getBindName():string;
                /**
                 * 获取字段标识。
                 * @return 字段标识
                 */
                getBindField():string;
                /**
                 * 获取数据源标识。
                 * @return 数据源标识
                 */
                getDataSource():string;
                /**
                 * 设置字段标识。
                 * @param bindField 字段标识
                 */
                setBindField(bindField:string):void;
                /**
                 * 设置排序方式（升序/降序）{@link kd.bos.print.core.data.datasource.prop.SortField#DEFAULT_ORDER_BY}。
                 * @param orderBy 排序方式
                 */
                setOrderBy(orderBy:string):void;
            }
            type SortField_T = SortField$;
            interface SortField extends SortField_T {
            }
        }
        namespace kd.bos.print.core.data.field{
            interface NullField_S {
                /**
                 * 获取单列对象。
                 * @return 空字段对象
                 */
                get():NullField;
            }
            type NullField_ST = NullField_S & TextField_S;
            interface NullField_C extends NullField_ST {
            }
            interface NullField$ {
            }
            type NullField_T = NullField$ & TextField;
            interface NullField extends NullField_T {
            }
            interface IntegerField_S {
            }
            type IntegerField_ST = IntegerField_S & NumberField_S;
            interface IntegerField_C extends IntegerField_ST {
                /**
                 * 默认构造函数。
                 */
                new():IntegerField;
                /**
                 * 构造函数。
                 * @param value 整型值
                 */
                new(value:number):IntegerField;
            }
            interface IntegerField$ {
                /**
                 * 字段值比较大小。
                 * <p>
                 *     1、{@code "1"}：当前字段大于{@code field}字段；
                 *     2、{@code "0"}：当前字段等于{@code field}字段；
                 *     3、{@code "-1"}：当前字段小于{@code field}字段。
                 * </p>
                 * @param field 比较字段，要求非空。
                 * @return 比较结果
                 */
                compareTo(field:IntegerField):number;
                /**
                 * 整型字段相加。
                 * @param field 整型字段，要求非空。
                 */
                add(field:IntegerField):void;
            }
            type IntegerField_T = IntegerField$ & NumberField;
            interface IntegerField extends IntegerField_T {
            }
            interface BigIntegerField_S {
            }
            type BigIntegerField_ST = BigIntegerField_S & NumberField_S;
            interface BigIntegerField_C extends BigIntegerField_ST {
                /**
                 * 默认构造方法。
                 */
                new():BigIntegerField;
                /**
                 * 构造函数。
                 * @param value 字段值
                 */
                new(value:$.java.math.BigInteger):BigIntegerField;
            }
            interface BigIntegerField$ {
                /**
                 * 长整型字段相加。
                 * @param field 长整数字段，要求非空。
                 */
                add(field:BigIntegerField):void;
                /**
                 * 字段值比较大小。
                 * @param field 比较字段，要求非空。
                 * @return {@code "1"}：当前字段大于{@code field}字段、{@code "0"}：当前字段等于{@code field}字段、{@code "-1"}：当前字段小于{@code field}字段。
                 */
                compareTo(field:BigIntegerField):number;
            }
            type BigIntegerField_T = BigIntegerField$ & NumberField;
            interface BigIntegerField extends BigIntegerField_T {
            }
            interface DateTimeField_S {
            }
            type DateTimeField_ST = DateTimeField_S & Field_S;
            interface DateTimeField_C extends DateTimeField_ST {
                /**
                 * 默认构造函数。
                 */
                new():DateTimeField;
                /**
                 * 构造函数。
                 * @param value 日期时间字段值
                 */
                new(value:Date):DateTimeField;
            }
            interface DateTimeField$ {
            }
            type DateTimeField_T = DateTimeField$ & Field;
            interface DateTimeField extends DateTimeField_T {
            }
            interface NumberField_S {
            }
            type NumberField_ST = $.java.lang.Comparable & Field_S & NumberField_S;
            interface NumberField_C extends NumberField_ST {
                /**
                 * 默认构造函数。
                 */
                new():NumberField;
                /**
                 * 构造函数。
                 * @param value 原始值
                 */
                new(value:number):NumberField;
            }
            interface NumberField$ {
                add(arg0:any):void;
                /**
                 * 设置零值是否显示。
                 * @param showZero 是否显示
                 */
                setShowZero(showZero:boolean):void;
                /**
                 * 数值字段值相加。
                 * @param number 数值字段值
                 */
                addNum(number_arg:number):void;
                /**
                 * 设置值为零。
                 */
                setZero():void;
                /**
                 * 零值是否显示。
                 * @return 零值是否显示
                 */
                isShowZero():boolean;
            }
            type NumberField_T = $.java.lang.Comparable & Field & NumberField$;
            interface NumberField extends NumberField_T {
            }
            interface Field_S {
            }
            type Field_ST = $.java.io.Serializable & Field_S;
            interface Field_C extends Field_ST {
                /**
                 * 默认构造函数。
                 */
                new():Field;
                new(arg0:any):Field;
            }
            interface Field$ {
                /**
                 * 是否为脱敏字段。
                 * @return 是否为脱敏字段
                 */
                isDesensitive():boolean;
                setValue(arg0:any):void;
                /**
                 * 设置是否为脱敏字段。
                 * @param desensitive 是否为脱敏字段
                 */
                setDesensitive(desensitive:boolean):void;
                /**
                 * 获取字段值。
                 * @return 字段值
                 */
                getValue():any;
                /**
                 * 获取字段类型。
                 * @return 字段值的class对象
                 */
                getFieldType():$.java.lang.Class;
                /**
                 * 字段值是否执行过阿拉伯语形变。
                 * @return 字段值是否执行过阿拉伯语形变
                 */
                isArabicShaped():boolean;
                /**
                 * 拷贝当前对象，返回新对象。
                 * @return 新对象
                 */
                copy():this;
                /**
                 * 获取显示值。
                 * @return 显示值
                 */
                getShowValue():any;
            }
            type Field_T = $.java.io.Serializable & Field$;
            interface Field extends Field_T {
            }
            interface LongField_S {
            }
            type LongField_ST = LongField_S & NumberField_S;
            interface LongField_C extends LongField_ST {
                /**
                 * 默认构造函数。
                 */
                new():LongField;
                /**
                 * 构造函数。
                 * @param value 字段值
                 */
                new(value:long):LongField;
            }
            interface LongField$ {
                /**
                 * 字段值比较大小。
                 * <p>
                 *     1、{@code "1"}：当前字段大于{@code field}字段；
                 *     2、{@code "0"}：当前字段等于{@code field}字段；
                 *     3、{@code "-1"}：当前字段小于{@code field}字段。
                 * </p>
                 * @param field 比较字段，要求非空。
                 * @return 比较结果
                 */
                compareTo(field:LongField):number;
                /**
                 * 长整型字段相加。
                 * @param field 长整数字段，要求非空。
                 */
                add(field:LongField):void;
            }
            type LongField_T = LongField$ & NumberField;
            interface LongField extends LongField_T {
            }
            interface TimeField_S {
            }
            type TimeField_ST = TextField_S & TimeField_S;
            interface TimeField_C extends TimeField_ST {
                /**
                 * 默认构造函数。
                 */
                new():TimeField;
                /**
                 * 构造函数。
                 * @param value 文本值，格式化<tt>HH:mm:ss</tt>之后的结果。
                 */
                new(value:string):TimeField;
            }
            interface TimeField$ {
            }
            type TimeField_T = TextField & TimeField$;
            interface TimeField extends TimeField_T {
            }
            interface ImageField_S {
            }
            type ImageField_ST = ImageField_S & TextField_S;
            interface ImageField_C extends ImageField_ST {
                /**
                 * 默认构造函数。
                 */
                new():ImageField;
                /**
                 * 构造函数。
                 * @param imageKey 图片标识
                 */
                new(imageKey:string):ImageField;
                /**
                 * 构造函数。
                 * @param imageKey 图片标识
                 * @param imageByte 图片数据
                 */
                new(imageKey:string,imageByte:number[]):ImageField;
            }
            interface ImageField$ {
                /**
                 * 获取图片高度。
                 * @return 图片高度
                 */
                getHeight():number;
                /**
                 * 设置图片高度。
                 * @param height 图片高度
                 */
                setHeight(height:number):void;
                /**
                 * 获取图片宽度。
                 * @return 图片宽度
                 */
                getWidth():number;
                /**
                 * 设置图片宽度。
                 * @return 图片宽度
                 */
                setWidth(width:number):void;
                /**
                 * 获取图片二进制数据。
                 * @return 图片数据
                 */
                getImageByte():number[];
                /**
                 * 设置图片二进制数据。
                 * @param imageByte 图片数据
                 */
                setImageByte(imageByte:number[]):void;
            }
            type ImageField_T = ImageField$ & TextField;
            interface ImageField extends ImageField_T {
            }
            interface TextField_S {
            }
            type TextField_ST = Field_S & TextField_S;
            interface TextField_C extends TextField_ST {
                /**
                 * 默认构造函数。
                 */
                new():TextField;
                /**
                 * 构造函数。
                 * @param value 原始值
                 */
                new(value:string):TextField;
            }
            interface TextField$ {
                /**
                 * 设置原始值。
                 * @param value 原始值
                 */
                setValue(value:string):void;
            }
            type TextField_T = Field & TextField$;
            interface TextField extends TextField_T {
            }
            interface DateField_S {
            }
            type DateField_ST = DateField_S & Field_S;
            interface DateField_C extends DateField_ST {
                /**
                 * 默认构造函数。
                 */
                new():DateField;
                /**
                 * 构造函数。
                 * @param value 日期字段值
                 */
                new(value:Date):DateField;
            }
            interface DateField$ {
            }
            type DateField_T = DateField$ & Field;
            interface DateField extends DateField_T {
            }
            interface CollectionField_S {
            }
            type CollectionField_ST = CollectionField_S & Field_S;
            interface CollectionField_C extends CollectionField_ST {
                /**
                 * 默认构造函数。
                 */
                new():CollectionField;
                /**
                 * 构造函数。
                 * @param value 数据集
                 */
                new(value:$.java.util.List):CollectionField;
            }
            interface CollectionField$ {
                /**
                 * 返回集合大小。
                 * @return 集合大小
                 */
                size():number;
                /**
                 * 添加一个数据集。
                 * @param dataRowSet 数据集
                 */
                add(dataRowSet:DataRowSet):void;
                /**
                 * 添加多个数据集。
                 * @param rows 数据集
                 */
                addAll(rows:$.java.util.List):void;
                /**
                 * 获取第一个数据集中指定字段值，
                 * @param fileKey 字段标识
                 * @return 字段值
                 */
                getFirstField(fileKey:string):Field;
                /**
                 * 添加一个集合。
                 * @param fields {@code CollectionField}集合
                 */
                addAll(fields:CollectionField):void;
                /**
                 * 设置字段值。
                 * @param value 字段值
                 */
                setValue(value:$.java.util.List):void;
            }
            type CollectionField_T = CollectionField$ & Field;
            interface CollectionField extends CollectionField_T {
            }
            interface DecimalField_S {
            }
            type DecimalField_ST = DecimalField_S & NumberField_S;
            interface DecimalField_C extends DecimalField_ST {
                /**
                 * 默认构造函数。
                 */
                new():DecimalField;
                /**
                 * 构造函数。
                 * @param value 小数字段值
                 */
                new(value:$.java.math.BigDecimal):DecimalField;
            }
            interface DecimalField$ {
                /**
                 * 设置精度。
                 * @param scale 精度值
                 */
                setScale(scale:number):void;
                /**
                 * 设置币别符号。
                 * @param symbol 币别符号
                 */
                setSymbol(symbol_arg:string):void;
                /**
                 * 获取币别符号。
                 * @return 币别符号
                 */
                getSymbol():string;
                /**
                 * 小数字段相加。
                 * @param field 小数字段，要求非空。
                 */
                add(field:DecimalField):void;
                /**
                 * 设置币别代码。
                 * @param code 币别代码
                 */
                setCode(code:string):void;
                /**
                 * 字段值比较大小。
                 * <p>
                 *     1、{@code "1"}：当前字段大于{@code field}字段；
                 *     2、{@code "0"}：当前字段等于{@code field}字段；
                 *     3、{@code "-1"}：当前字段小于{@code field}字段。
                 * </p>
                 * @param field 被比较字段
                 * @return 比较结果
                 */
                compareTo(field:DecimalField):number;
                /**
                 * 获取币别代码。
                 * @return 币别代码
                 */
                getCode():string;
                /**
                 * 获取精度。
                 * @return 精度值
                 */
                getScale():number;
            }
            type DecimalField_T = DecimalField$ & NumberField;
            interface DecimalField extends DecimalField_T {
            }
        }
        namespace kd.bos.print.core.execute{
            interface PFileStorageType_S {
            }
            interface PFileStorageType_C extends PFileStorageType_S {
                /**
                 * 构造函数。
                 * <p>
                 *     1、{@code "0"}：附件服务器；
                 *     2、{@code "2"}：临时文件服务器存贮。
                 * </p>
                 * @param code 类型编码
                 * @param timeout 有效时间
                 */
                new(code:string,timeout:number):PFileStorageType;
            }
            interface PFileStorageType$ {
                /**
                 * 设置有效时间。
                 * @param timeout 有效时间
                 */
                setTimeout(timeout:number):void;
                /**
                 * 获取类型编码。
                 * @return 类型编码
                 */
                getCode():string;
                /**
                 * 获取有效时间。
                 * @return 有效时间
                 */
                getTimeout():number;
                /**
                 * 设置类型编码。
                 * @param code 类型编码
                 */
                setCode(code:string):void;
            }
            type PFileStorageType_T = PFileStorageType$;
            interface PFileStorageType extends PFileStorageType_T {
            }
            interface ExecuteContext_S {
            }
            interface ExecuteContext_C extends ExecuteContext_S {
                new():ExecuteContext;
            }
            interface ExecuteContext$ {
                passContextDataHelper(anotherContext:ExecuteContext):void;
                /**
                 * 设置所在的输出页
                 *
                 * @param outputPage
                 */
                setOwner(page:kd.bos.print.core.model.widget.PWPage):void;
                getDataHelper(ds:string):kd.bos.print.core.ctrl.reportone.r1.print.engine.IWidgetExecuteHelper$IDataHelper;
                /**
                 * 输出对象的父路径
                 *
                 * @return
                 */
                getOutputedParent():$.javax.swing.tree.TreePath;
                /**
                 * 设置容器的高度
                 *
                 * @param ch
                 */
                setContainerHeight(ch:number):void;
                /**
                 * 取得容器的高度
                 *
                 * @return
                 */
                getContainerHeight():number;
                putExt(key:string,value:any):void;
                /**
                 * 是否有子对象要求分页
                 *
                 * @return
                 */
                isChildrenPaginating():boolean;
                /**
                 * 当高度自适应时，此值为可供调整的最大高度
                 *
                 * @param maxHeight
                 */
                setMaxHeightToAdjust(maxHeight:number):void;
                /**
                 * 当高度自适应时，此值为可供调整的最大高度
                 *
                 * @return
                 */
                getMaxHeightToAdjust():number;
                /**
                 * 取得所在的输出页
                 *
                 * @return
                 */
                getOwner():kd.bos.print.core.model.widget.PWPage;
                getExtProps():kd.bos.print.core.model.widget.ExtPropertyMap;
                /**
                 * 设置容器的宽度
                 *
                 * @param cw
                 */
                setContainerWidth(cw:number):void;
                /**
                 * 输出对象的父路径
                 *
                 * @param outputedParent
                 */
                setOutputedParent(parent:$.javax.swing.tree.TreePath):void;
                /**
                 * 设置是否有子对象要求分页
                 *
                 * @param is
                 */
                setChildrenPaginating(is_arg:boolean):void;
                getExt(key:string):any;
                setContextDataHelper(dataHelper:kd.bos.print.core.ctrl.reportone.r1.print.engine.IWidgetExecuteHelper$IDataHelper,ds:string):void;
                /**
                 * 取得容器的宽度
                 *
                 * @return
                 */
                getContainerWidth():number;
                /**
                 * 设置容器是否高度自适应
                 *
                 * @param is
                 */
                setAdjustHeight(is_arg:boolean):void;
                /**
                 * 容器是否高度自适应
                 *
                 * @return
                 */
                isAdjustHeight():boolean;
            }
            type ExecuteContext_T = ExecuteContext$;
            interface ExecuteContext extends ExecuteContext_T {
            }
        }
        namespace kd.bos.print.core.execute.render.common.linewrap{
            interface ILineWrapSymbols_S {
            }
            interface ILineWrapSymbols_C extends ILineWrapSymbols_S {
            }
            interface ILineWrapSymbols$ {
                /**
                 * 根据类型获取所有符号
                 * @param type 类型
                 * @return 符号
                 */
                getSymbols(type_arg:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType):string[];
                /**
                 * 根据类型设置符号
                 * @param symbols 符号
                 * @param type 类型
                 */
                setSymbols(symbols:string[],type_arg:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType):void;
            }
            type ILineWrapSymbols_T = ILineWrapSymbols$;
            interface ILineWrapSymbols extends ILineWrapSymbols_T {
            }
        }
        namespace kd.bos.print.core.execute.render.common.linewrap.param{
            class LineWrapRule {
                static readonly ChunkLine:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule;
                static readonly ForceLine:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule;
                static readonly NoWrap:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule;
                static values():kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule[];
                static valueOf(arg0:string):kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule;
            }
            class LineWrapSymbolType {
                static readonly NO_SPLIT_SYMBOL:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType;
                static readonly BEFORE_SYMBOL:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType;
                static readonly SPLIT_SYMBOL:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType;
                static readonly LAST_SYMBOL:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType;
                static valueOf(arg0:string):kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType;
                static values():kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType[];
            }
        }
        namespace kd.bos.print.core.model{
            class WidgetLayout {
                static readonly EveryPage:kd.bos.print.core.model.WidgetLayout;
                static readonly FirstPage:kd.bos.print.core.model.WidgetLayout;
                static readonly LastPage:kd.bos.print.core.model.WidgetLayout;
                static readonly None:kd.bos.print.core.model.WidgetLayout;
                static valueOf(arg0:string):kd.bos.print.core.model.WidgetLayout;
                static values():kd.bos.print.core.model.WidgetLayout[];
            }
            interface CurrencyFormat_S {
            }
            type CurrencyFormat_ST = $.java.io.Serializable & CurrencyFormat_S;
            interface CurrencyFormat_C extends CurrencyFormat_ST {
                new():CurrencyFormat;
            }
            interface CurrencyFormat$ {
                /**
                 * 设置金额大写类型。
                 * @param uppercaseType 金额大写类型，详情见{@link kd.bos.print.core.model.UppercaseType#getValue()}。
                 */
                setUppercaseType(uppercaseType:string):void;
                /**
                 * 设置是否显示币别符号。
                 * @param showCurrencySymbol 是否显示币别符号
                 */
                setShowCurrencySymbol(showCurrencySymbol:boolean):void;
                /**
                 * 设置是否显示币别代码。
                 * @param showCurrencyCode 是否显示币别代码
                 */
                setShowCurrencyCode(showCurrencyCode:boolean):void;
                /**
                 * 获取币别符号。
                 * @return 币别符号
                 */
                getCurrencySymbol():string;
                /**
                 * 获取金额大写类型。
                 * @return 金额大写类型
                 */
                getUppercaseType():string;
                /**
                 * 是否显示币别代码。
                 * @return 是否显示币别代码
                 */
                isShowCurrencyCode():boolean;
                /**
                 * 设置币别代码。
                 * @param currencyCode 币别代码
                 */
                setCurrencyCode(currencyCode:string):void;
                /**
                 * 获取币别代码。
                 * @return 币别代码
                 */
                getCurrencyCode():string;
                /**
                 * 是否显示币别符号。
                 * @return 是否显示币别符号
                 */
                isShowCurrencySymbol():boolean;
                /**
                 * 设置是否需要大写。
                 * @param uppercase 是否需要大写
                 */
                setUppercase(uppercase:boolean):void;
                /**
                 * 设置币别符号。
                 * @param currencySymbol 币别符号
                 */
                setCurrencySymbol(currencySymbol:string):void;
                /**
                 * 是否需要大写。
                 * @return 是否需要大写
                 */
                isUppercase():boolean;
            }
            type CurrencyFormat_T = $.java.io.Serializable & CurrencyFormat$;
            interface CurrencyFormat extends CurrencyFormat_T {
            }
            interface IBindFieldSupport_S {
            }
            type IBindFieldSupport_ST = IBindFieldSupport_S & IDatasourceSupport_S;
            interface IBindFieldSupport_C extends IBindFieldSupport_ST {
            }
            interface IBindFieldSupport$ {
                getBindField():string;
                setBindField(bindField:string):void;
            }
            type IBindFieldSupport_T = IBindFieldSupport$ & IDatasourceSupport;
            interface IBindFieldSupport extends IBindFieldSupport_T {
            }
            interface IDatasourceSupport_S {
            }
            interface IDatasourceSupport_C extends IDatasourceSupport_S {
            }
            interface IDatasourceSupport$ {
                getDatasource():string;
                setDatasource(ds:string):void;
            }
            type IDatasourceSupport_T = IDatasourceSupport$;
            interface IDatasourceSupport extends IDatasourceSupport_T {
            }
            class UppercaseType {
                static readonly VI_UPPER:kd.bos.print.core.model.UppercaseType;
                static readonly NO_UPPER:kd.bos.print.core.model.UppercaseType;
                static readonly ZH_UPPER:kd.bos.print.core.model.UppercaseType;
                static readonly EN_UPPER:kd.bos.print.core.model.UppercaseType;
                static readonly TH_UPPER:kd.bos.print.core.model.UppercaseType;
                static getUppercaseType(type_arg:string):kd.bos.print.core.model.UppercaseType;
                static values():kd.bos.print.core.model.UppercaseType[];
                static valueOf(arg0:string):kd.bos.print.core.model.UppercaseType;
                /**
                 * 获取金额大写标识值。
                 * @return 标识
                 */
                getValue():string;
            }
        }
        namespace kd.bos.print.core.model.designer.common{
            interface IAnchorSupport_S {
            }
            interface IAnchorSupport_C extends IAnchorSupport_S {
            }
            interface IAnchorSupport$ {
                /**
                 * 是否设置超链接
                 * @return
                 */
                isAnchor():boolean;
                /**
                 * 获取数据源类型
                 * @return
                 */
                getLinkDsType():string;
                /**
                 * 获取链接数据源标识
                 * @return
                 */
                getLinkDs():string;
                /**
                 * 获取链接地址
                 * @return
                 */
                getLinkUrl():string;
                /**
                 * 设置数据源类型
                 * @param linkDsType
                 */
                setLinkDsType(linkDsType:string):void;
                /**
                 * 获取链接绑定字段
                 * @return
                 */
                getLinkFiled():string;
                /**
                 * 启用/禁用超链接
                 * @param anchor
                 */
                setAnchor(anchor:boolean):void;
                /**
                 * 设置链接绑定字段
                 * @param linkField
                 */
                setLinkField(linkField:string):void;
                /**
                 * 设置链接地址
                 * @param linkUrl
                 */
                setLinkUrl(linkUrl:string):void;
                /**
                 * 设置链接数据源标识
                 * @param linkDs
                 */
                setLinkDs(linkDs:string):void;
            }
            type IAnchorSupport_T = IAnchorSupport$;
            interface IAnchorSupport extends IAnchorSupport_T {
            }
        }
        namespace kd.bos.print.core.model.designer.grid{
            interface MergeBlock_S {
                /**
                 * 构造函数。
                 * <p>
                 * 		创建合并对象，该对象表示合并区域的坐标信息。 如： [0,0,0,0] 表示：第一行第一个单元格。
                 * </p>
                 * @param left 合并单元格左边起始坐标
                 * @param right 合并单元格右边结束坐标
                 * @param top	合并单元格顶部起始坐标
                 * @param bottom 合并单元格底部结束坐标
                 * @return 合并单元格设置
                 */
                create(left:number,right:number,top:number,bottom:number):MergeBlock;
            }
            type MergeBlock_ST = $.java.lang.Cloneable & MergeBlock_S;
            interface MergeBlock_C extends MergeBlock_ST {
                new():MergeBlock;
            }
            interface MergeBlock$ {
                /**
                 * 	获取底部结束坐标。
                 * @return 底部结束坐标
                 */
                getBottom():number;
                /**
                 * 	设置右边结束坐标。
                 * @param right 右边结束坐标
                 */
                setRight(right:number):void;
                /**
                 * 	获取左边起始坐标。
                 * @return 左边起始坐标
                 */
                getLeft():number;
                /**
                 * 	获取顶部起始坐标。
                 * @return 顶部起始坐标
                 */
                getTop():number;
                /**
                 * 	获取右边结束坐标。
                 * @return 右边结束坐标
                 */
                getRight():number;
                /**
                 * 	设置底部结束坐标。
                 *  @param bottom 底部结束坐标
                 */
                setBottom(bottom:number):void;
                /**
                 * 	设置左边起始坐标。
                 * @param left 左边起始坐标
                 */
                setLeft(left:number):void;
                /**
                 * 	设置顶部起始坐标。
                 * @param top 顶部起始坐标
                 */
                setTop(top:number):void;
            }
            type MergeBlock_T = $.java.lang.Cloneable & MergeBlock$;
            interface MergeBlock extends MergeBlock_T {
            }
        }
        namespace kd.bos.print.core.model.ui{
            interface IPaintFilter_S {
            }
            interface IPaintFilter_C extends IPaintFilter_S {
            }
            interface IPaintFilter$ {
                /**
                 * 设置是否启用过虑
                 * @param isApply
                 */
                setApply(isApply:boolean):void;
                /**
                 * 是否启用过虑
                 * @return
                 */
                isApply():boolean;
                /**
                 * 在父容器要获取字绘制单元的时候会把layer通过这个方法，看是否接受要绘制
                 * 需要参看IPainter中关于layer的定义。
                 * @param layer layerid；每个绘制单元都有一个层属性，层越小越早绘制，
                 * @param isPreviewing TODO
                 * @return
                 */
                accept(layer:number,isPreviewing:boolean):boolean;
            }
            type IPaintFilter_T = IPaintFilter$;
            interface IPaintFilter extends IPaintFilter_T {
            }
        }
        namespace kd.bos.print.core.model.ui.component{
            interface PainterInfo_S {
            }
            interface PainterInfo_C extends PainterInfo_S {
                new():PainterInfo;
            }
            interface PainterInfo$ {
                /**
                 * 返回x轴上的缩放值。
                 */
                getScaleX():number;
                /**
                 * @return Returns the centerAlign.
                 */
                getCenterAlign():number;
                getEncode():number;
                getDefaultVariantParser():kd.bos.print.core.ctrl.print.IVariantParser;
                isPreviewing():boolean;
                getAttributeManager():any;
                getPaintFilter():IPaintFilter;
                setPaperIndex(index:number):void;
                /**
                 * 返回Y轴上的缩放值。
                 */
                getScaleY():number;
                getNumberOfPages():number;
                /**
                 * @param centerAlign The centerAlign to set.
                 */
                setCenterAlign(centerAlign:number):void;
                setVariantParser(parser:kd.bos.print.core.ctrl.print.IVariantParser):void;
                getVariantParser():kd.bos.print.core.ctrl.print.IVariantParser;
                setPreviewing(isPreviewing:boolean):void;
                setAttributeManager(arg0:any):void;
                setEncode(encode:number):void;
                getPaperIndex():number;
                /**
                 * 为了把大部分废弃代码摘到bos-print-ecore。 导致该部分不用方法报错。为了保证不产生影响，这里通过反射调用bos-print-ecore中的方法。
                 * @param methodName
                 * @return
                 */
                invokeGet(methodName:string):any;
            }
            type PainterInfo_T = PainterInfo$;
            interface PainterInfo extends PainterInfo_T {
            }
        }
        namespace kd.bos.print.core.model.widget{
            interface PWText_S {
            }
            type PWText_ST = AbstractPrintWidgetText_S & IAdjustHeightSupport_S & PWText_S & kd.bos.print.core.ctrl.reportone.r1.print.common.IAdjustHeightRenderSupport_S & kd.bos.print.core.model.designer.common.IAnchorSupport_S;
            interface PWText_C extends PWText_ST {
                new():PWText;
            }
            interface PWText$ {
                getTextHeight():number;
                setLineWrapRule(lineWrapRule:number):void;
                setTextHeight(textHeight:number):void;
                setShowPercentage(showPercentage:boolean):void;
                setShowRedNegative(showRedNegative:boolean):void;
                setFormulaData(formulaData:$.java.util.List):void;
                getTextFormat():string;
                setWordFlex(wordFlex:boolean):void;
                isThousandSplit():boolean;
                isWordFlex():boolean;
                isRichtext():boolean;
                getUppercaseType():string;
                getCellValue():kd.bos.print.core.model.widget.grid.datagrid.cellvalue.ACellValue;
                getFormat():string;
                setNegativeType(negativeType:string):void;
                isShowPercentage():boolean;
                setTextFormat(textFormat:string):void;
                getPrecision():number;
                setFlexOffset(flexOffset:number[]):void;
                getFormulaData():$.java.util.List;
                getCurrencyFormat():CurrencyFormat;
                isShowRedNegative():boolean;
                setCellValue(cellValue:kd.bos.print.core.model.widget.grid.datagrid.cellvalue.ACellValue):void;
                setFormat(format:string):void;
                setThousandSplit(thousandSplit:boolean):void;
                setNeedFormat(needFormat:boolean):void;
                setUppercaseType(uppercaseType:string):void;
                setJiaoZheng(jiaoZheng:boolean):void;
                setPrecision(precision:number):void;
                setCurrencyFormat(_currencyFormat:CurrencyFormat):void;
                getFlexOffset():number[];
                setRichtext(isRichtext:boolean):void;
                getNegativeType():string;
                isJiaoZheng():boolean;
                isNeedFormat():boolean;
            }
            type PWText_T = AbstractPrintWidgetText & IAdjustHeightSupport & PWText$ & kd.bos.print.core.ctrl.reportone.r1.print.common.IAdjustHeightRenderSupport & kd.bos.print.core.model.designer.common.IAnchorSupport;
            interface PWText extends PWText_T {
            }
            class StyleKey {
                static readonly BORDER_TOP_WIDTH:kd.bos.print.core.model.widget.StyleKey;
                static readonly PADDING:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_VERTICAL_STYLE:kd.bos.print.core.model.widget.StyleKey;
                static readonly TEXT_SHRINK:kd.bos.print.core.model.widget.StyleKey;
                static readonly TEXT_WRAP:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_SIZE:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_STRIKETHROUGH:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_HORIZONTAL_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_HORIZONTAL_STYLE:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_RIGHT_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_LEFT_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_RIGHT_STYLE:kd.bos.print.core.model.widget.StyleKey;
                static readonly WORD_SPACE:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_BOTTOM_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly LINE_SPACE:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_BOLD:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_BOTTOM_STYLE:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_ITALIC:kd.bos.print.core.model.widget.StyleKey;
                static readonly FORMAT:kd.bos.print.core.model.widget.StyleKey;
                static readonly HORIZONTAL_ALIGN:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_VERTICAL_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly VERTICAL_ALIGN:kd.bos.print.core.model.widget.StyleKey;
                static readonly BACKGROUND:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_TOP_COLOR:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_BOTTOM_WIDTH:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_NAME:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_LEFT_WIDTH:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_RIGHT_WIDTH:kd.bos.print.core.model.widget.StyleKey;
                static readonly ROTATION:kd.bos.print.core.model.widget.StyleKey;
                static readonly FONT_UNDERLINE:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_VERTICAL_WIDTH:kd.bos.print.core.model.widget.StyleKey;
                static readonly LINE_SPACE_TYPE:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_HORIZONTAL_WIDTH:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_TOP_STYLE:kd.bos.print.core.model.widget.StyleKey;
                static readonly BORDER_LEFT_STYLE:kd.bos.print.core.model.widget.StyleKey;
                static values():kd.bos.print.core.model.widget.StyleKey[];
                static valueOf(arg0:string):kd.bos.print.core.model.widget.StyleKey;
                /**
                 * 根据样式标识获取样式枚举类。
                 * @param key 样式标识
                 * @return 枚举类
                 */
                static from(key:string):kd.bos.print.core.model.widget.StyleKey;
                /**
                 * 获取样式标识。
                 * @return 样式标识
                 */
                getKey():string;
            }
            interface ExtPropertyMap_S {
            }
            interface ExtPropertyMap_C extends ExtPropertyMap_S {
                new():ExtPropertyMap;
            }
            interface ExtPropertyMap$ {
                getBoolean(key:string,defaultValue:boolean):boolean;
                getInt(key:string,defaultValue:number):number;
                put(key:string,value:any):void;
                get(key:string):any;
            }
            type ExtPropertyMap_T = ExtPropertyMap$;
            interface ExtPropertyMap extends ExtPropertyMap_T {
            }
            interface PWPage_S {
            }
            type PWPage_ST = AbstractPrintWidget_S & IPrintWidgetContainer_S & PWPage_S;
            interface PWPage_C extends PWPage_ST {
                new():PWPage;
            }
            interface PWPage$ {
                getDataIndex():number;
                /**
                 * 未确定数++
                 */
                unsureIncrease():void;
                getDesignPageIndex():number;
                getBackgroundPicture():number[];
                setChildren(list:$.java.util.List):void;
                getBackgroundOffset():$.java.awt.Point;
                /**
                 * 该页是否有尚未确定的输出（如统计）
                 * @return
                 */
                isUnsure():boolean;
                setDataIndex(dataIndex:number):void;
                addAllChildren(w:$.java.util.List):void;
                setDesignPageIndex(designPageIndex:number):void;
                getFooterHeight():number;
                setBackgroundPicture(picture:number[]):void;
                setBackgroundOffset(offset:$.java.awt.Point):void;
                setFooterHeight(height:number):void;
                addChildNoHide(w:IPrintWidget):void;
                /**
                 * 未确定数--
                 */
                unsureReduce():void;
            }
            type PWPage_T = AbstractPrintWidget & IPrintWidgetContainer & PWPage$;
            interface PWPage extends PWPage_T {
            }
            interface AbstractPrintWidget_S {
            }
            type AbstractPrintWidget_ST = $.java.io.Serializable & AbstractPrintWidget_S & IPrintWidget_S & kd.bos.print.core.ctrl.reportone.r1.print.common.IR1PrintScriptable_S;
            interface AbstractPrintWidget_C extends AbstractPrintWidget_ST {
                new():AbstractPrintWidget;
            }
            interface AbstractPrintWidget$ {
                getPrintAtPage():PrintAtPage;
                /**
                 * 若有上层传下来的DataHelper，且数据源标记为使用它，则用之；无则用helper.getDataHelper
                 *
                 * @param helper
                 * @return
                 */
                getDataHelper(helper:kd.bos.print.core.ctrl.reportone.r1.print.engine.IWidgetExecuteHelper,ds:string):kd.bos.print.core.ctrl.reportone.r1.print.engine.IWidgetExecuteHelper$IDataHelper;
                getExtProps():ExtPropertyMap;
                getLayout():WidgetLayout;
                getRowNumber():any;
                /**
                 * 对应的设计时对象
                 */
                getPeer():this;
                setPrintAtPage(printAtPage:PrintAtPage):void;
            }
            type AbstractPrintWidget_T = $.java.io.Serializable & AbstractPrintWidget$ & IPrintWidget & kd.bos.print.core.ctrl.reportone.r1.print.common.IR1PrintScriptable;
            interface AbstractPrintWidget extends AbstractPrintWidget_T {
            }
            class PrintAtPage {
                static readonly Nature:kd.bos.print.core.model.widget.PrintAtPage;
                static readonly Last:kd.bos.print.core.model.widget.PrintAtPage;
                static readonly All:kd.bos.print.core.model.widget.PrintAtPage;
                static readonly FlowNature:kd.bos.print.core.model.widget.PrintAtPage;
                static readonly FlowAll:kd.bos.print.core.model.widget.PrintAtPage;
                static readonly First:kd.bos.print.core.model.widget.PrintAtPage;
                static readonly InContainer:kd.bos.print.core.model.widget.PrintAtPage;
                static valueOf(arg0:string):kd.bos.print.core.model.widget.PrintAtPage;
                static values():kd.bos.print.core.model.widget.PrintAtPage[];
                /**
                 * @param code
                 * @return
                 */
                static from(code:string):kd.bos.print.core.model.widget.PrintAtPage;
                getCode():string;
            }
            interface IPrintWidget_S {
            }
            interface IPrintWidget_C extends IPrintWidget_S {
            }
            interface IPrintWidget$ {
                setContainerWidth(containerWidth:number):void;
                getContext():kd.bos.print.core.execute.ExecuteContext;
                isHideMove?():boolean;
                setVFill(isVerticalFill:boolean):void;
                setRectangle(rect:$.java.awt.Rectangle):void;
                setScript(str:string):void;
                setId(id:string):void;
                setStyle(style:kd.bos.print.core.ctrl.kdf.util.style.Style):void;
                getPreScript():string;
                getRelativeContext():kd.bos.print.core.model.widget.runner.RelativeContext;
                setPrintable(printable:boolean):void;
                getKey():string;
                getRunner():kd.bos.print.core.model.widget.runner.IRunner;
                endOutput():void;
                isCanvasWidget():boolean;
                setPreScript(str:string):void;
                setKey(key:string):void;
                getContainerHeight():number;
                setCanvasWidget(canvasWidget:boolean):void;
                isPrintable():boolean;
                runLastScript():void;
                getScript():string;
                setPageIndex(pageIndex:number):void;
                getOwnerOutputPage():PWPage;
                setRelativeContext(relativeContext:kd.bos.print.core.model.widget.runner.RelativeContext):void;
                getStyle():kd.bos.print.core.ctrl.kdf.util.style.Style;
                setMaxHeightToAdjust(maxHeightToAdjust:number):void;
                copy():this;
                getType():string;
                getPageIndex():number;
                setContainerHeight(containerHeight:number):void;
                getId():string;
                setHFill(isHorizontalFill:boolean):void;
                getMaxHeightToAdjust():number;
                getRectangle():$.java.awt.Rectangle;
                beginOutput():void;
                cacheOutput():void;
                setLastScript(str:string):void;
                setType(type_arg:string):void;
                setHideMove?(hideMove:boolean):void;
                isVFill():boolean;
                getContainerWidth():number;
                getStyleAccess():StyleAccess;
                getLastScript():string;
                isHFill():boolean;
            }
            type IPrintWidget_T = IPrintWidget$;
            interface IPrintWidget extends IPrintWidget_T {
            }
            interface IAdjustHeightSupport_S {
            }
            interface IAdjustHeightSupport_C extends IAdjustHeightSupport_S {
            }
            interface IAdjustHeightSupport$ {
                isAdjustHeight():boolean;
                setRemainContent(isRemain:boolean):void;
                getMaxHeightToAdjust():number;
                setAdjustHeight(isAdjustHeight:boolean):void;
                isRemainContent():boolean;
                setMaxHeightToAdjust(maxHeight:number):void;
            }
            type IAdjustHeightSupport_T = IAdjustHeightSupport$;
            interface IAdjustHeightSupport extends IAdjustHeightSupport_T {
            }
            interface AbstractPrintWidgetText_S {
            }
            type AbstractPrintWidgetText_ST = AbstractPrintWidgetField_S & AbstractPrintWidgetText_S & IPrintWidgetText_S & kd.bos.print.core.ctrl.kdf.util.render.r1print.IDivideCharacterSupport_S;
            interface AbstractPrintWidgetText_C extends AbstractPrintWidgetText_ST {
                new():AbstractPrintWidgetText;
            }
            interface AbstractPrintWidgetText$ {
                setIgnoreZero(ignoreZero:boolean):void;
                isIgnoreTailZero():boolean;
                getDefZeroShow():string;
                setZeroShow(zeroShow:string):void;
                setIgnoreTailZero(ignoreTailZero:boolean):void;
                setAdjustHeight(adjustHeight:boolean):void;
                getZeroShow():string;
                isAdjustHeight():boolean;
                setDefZeroShow(defZeroShow:string):void;
                isIgnoreZero():boolean;
            }
            type AbstractPrintWidgetText_T = AbstractPrintWidgetField & AbstractPrintWidgetText$ & IPrintWidgetText & kd.bos.print.core.ctrl.kdf.util.render.r1print.IDivideCharacterSupport;
            interface AbstractPrintWidgetText extends AbstractPrintWidgetText_T {
            }
            interface StyleAccess_S {
                readonly T_North:number;
                readonly T_SouthEast:number;
                readonly T_West:number;
                readonly T_Middle:number;
                readonly T_Center:number;
                readonly T_Single:number;
                readonly T_South:number;
                readonly T_Right:number;
                readonly T_NorthEast:number;
                readonly T_SouthWest:number;
                readonly T_Bottom:number;
                readonly T_Top:number;
                readonly T_East:number;
                readonly T_Left:number;
                readonly T_NorthWest:number;
                readonly T_Navel:number;
                /**
                 * 转换color为 #表达
                 * @param color
                 * @return
                 */
                color2string(color:$.java.awt.Color):string;
                /**
                 * 引擎在执行过程中需要用到对象的样式，须通过此接口获取，不能直接getStyle()
                 * @param widget
                 * @return
                 */
                getStyle(widget:IPrintWidget):kd.bos.print.core.ctrl.kdf.util.style.Style;
            }
            interface StyleAccess_C extends StyleAccess_S {
                /**
                 * 构造函数
                 * @param style 对象的非空样式属性类
                 */
                new(style:kd.bos.print.core.ctrl.kdf.util.style.Style):StyleAccess;
            }
            interface StyleAccess$ {
                /**
                 * 取得修改过的样式类
                 * @param oriStyle 其它脚本(非样式设置)或引擎程序中可能对style作了修改，重新传入使用
                 * @return
                 */
                getModifiedStyle(oriStyle:kd.bos.print.core.ctrl.kdf.util.style.Style):kd.bos.print.core.ctrl.kdf.util.style.Style;
                merge(arg0:StyleAccess,arg1:number):void;
                /**
                 * 供脚本调用的获取样式属性
                 * @param key
                 * @return
                 */
                get(key:string):any;
            }
            type StyleAccess_T = StyleAccess$;
            interface StyleAccess extends StyleAccess_T {
            }
            interface IPrintWidgetText_S {
            }
            type IPrintWidgetText_ST = IPrintWidgetText_S & IPrintWidget_S;
            interface IPrintWidgetText_C extends IPrintWidgetText_ST {
            }
            interface IPrintWidgetText$ {
                setOutputText(text:string):void;
                setOutputValue(value:kd.bos.print.core.data.field.Field):void;
                getOutputValue():kd.bos.print.core.data.field.Field;
                getOutputText():string;
            }
            type IPrintWidgetText_T = IPrintWidget & IPrintWidgetText$;
            interface IPrintWidgetText extends IPrintWidgetText_T {
            }
            interface IPrintWidgetContainer_S {
            }
            type IPrintWidgetContainer_ST = IPrintWidgetContainer_S & IPrintWidget_S;
            interface IPrintWidgetContainer_C extends IPrintWidgetContainer_ST {
            }
            interface IPrintWidgetContainer$ {
                hasChildren():boolean;
                getChildren():$.java.util.List;
                addChild(w:IPrintWidget):void;
            }
            type IPrintWidgetContainer_T = IPrintWidget & IPrintWidgetContainer$;
            interface IPrintWidgetContainer extends IPrintWidgetContainer_T {
            }
            interface AbstractPrintWidgetField_S {
            }
            type AbstractPrintWidgetField_ST = AbstractPrintWidgetField_S & AbstractPrintWidget_S & IBindFieldSupport_S;
            interface AbstractPrintWidgetField_C extends AbstractPrintWidgetField_ST {
                new():AbstractPrintWidgetField;
            }
            interface AbstractPrintWidgetField$ {
            }
            type AbstractPrintWidgetField_T = AbstractPrintWidget & AbstractPrintWidgetField$ & IBindFieldSupport;
            interface AbstractPrintWidgetField extends AbstractPrintWidgetField_T {
            }
        }
        namespace kd.bos.print.core.model.widget.grid{
            class MergeType {
                static readonly BeMerged:kd.bos.print.core.model.widget.grid.MergeType;
                static readonly Merged:kd.bos.print.core.model.widget.grid.MergeType;
                static readonly None:kd.bos.print.core.model.widget.grid.MergeType;
                static values():kd.bos.print.core.model.widget.grid.MergeType[];
                static valueOf(arg0:string):kd.bos.print.core.model.widget.grid.MergeType;
            }
            interface AbstractPWGridCell_S {
            }
            type AbstractPWGridCell_ST = AbstractPWGridCell_S & IPrintWidgetContainer_S & PWText_S;
            interface AbstractPWGridCell_C extends AbstractPWGridCell_ST {
                new():AbstractPWGridCell;
            }
            interface AbstractPWGridCell$ {
                setMergeBy(mergeBy:boolean):void;
                setMergeType(mergeType:MergeType):void;
                getMergeBlock():kd.bos.print.core.model.designer.grid.MergeBlock;
                isSubCell():boolean;
                isMergeSummary():boolean;
                setOriOutPutText(oriOutPutText:string):void;
                setMergeSummary(mergeSummary:boolean):void;
                getRowIndex():number;
                adjustHeight(height:number):void;
                getMergeType():MergeType;
                getOriOutPutText():string;
                isMergedCell():boolean;
                /**
                 * 单元格对象深拷贝
                 * @return
                 */
                deepCopy():IPrintWidget;
                setRowIndex(rowIndex:number):void;
                setSubCell(subCell:boolean):void;
                isMergeBy():boolean;
                setMergeBlock(mergeBlock:kd.bos.print.core.model.designer.grid.MergeBlock):void;
            }
            type AbstractPWGridCell_T = AbstractPWGridCell$ & IPrintWidgetContainer & PWText;
            interface AbstractPWGridCell extends AbstractPWGridCell_T {
            }
        }
        namespace kd.bos.print.core.model.widget.grid.datagrid.cellvalue{
            interface ACellValue_S {
                readonly COMPUTE:number;
                readonly STAT:number;
                readonly FIELD:number;
                readonly STRING:number;
            }
            interface ACellValue_C extends ACellValue_S {
                new(type_arg:number):ACellValue;
            }
            interface ACellValue$ {
                getCellType():number;
            }
            type ACellValue_T = ACellValue$;
            interface ACellValue extends ACellValue_T {
            }
        }
        namespace kd.bos.print.core.model.widget.runner{
            interface IRunner_S {
            }
            interface IRunner_C extends IRunner_S {
            }
            interface IRunner$ {
                /**
                 * 执行的核心方法
                 * @param helper
                 */
                execute(helper:kd.bos.print.core.ctrl.reportone.r1.print.engine.IWidgetExecuteHelper):void;
                executeChildren(container:IPrintWidgetContainer,children:$.java.util.List):void;
                getRelativeContext():RelativeContext;
                /**
                 * 控件全部输出完后执行。
                 * 记录控件最终坐标
                 */
                endOutput(outputWidget:AbstractPrintWidget):void;
                /**
                 * 执行完后缓存当前控件到输出页
                 * 1.控件每次分页都需要调用该方法
                 */
                cacheOutput(outputWidget:AbstractPrintWidget):void;
                /**
                 * 设置
                 * @param outputWidget
                 */
                setWidget(outputWidget:IPrintWidget):void;
                getWidgetHelper():kd.bos.print.core.ctrl.reportone.r1.print.engine.IWidgetExecuteHelper;
                /**
                 * 开始输出widget
                 * 1.记录控件初始坐标
                 * 2.初始化相对位置
                 * 注： 一般情况，无需主动调用
                 * @see PageRunner 方法：doBeforeExecuteChildren
                 */
                beginOutput(outputWidget:AbstractPrintWidget):void;
                setRelativeContext(relativeContext:RelativeContext):void;
            }
            type IRunner_T = IRunner$;
            interface IRunner extends IRunner_T {
            }
            interface RelativeContext_S {
                getTextQuarkHeight():number;
            }
            interface RelativeContext_C extends RelativeContext_S {
                new(emptyPage:PWPage,startPage:number):RelativeContext;
                new(emptyPage:PWPage,startPage:number,designPageIndex:number):RelativeContext;
            }
            interface RelativeContext$ {
                /**
                 * 输出完一页执行
                 */
                finishDesignPage():void;
                /**
                 * 从每页输出控件中，获取决定当前控件位置的 Y坐标.
                 *
                 * @return
                 */
                scanYFromEveryPagePool(outputGrid:AbstractPrintWidget):number;
                getCurFooterHeight():number;
                getWidgetPool():$.java.util.Map;
                /**
                 * ③ 将Widget添加到需要输出的页中
                 *
                 * @param widget
                 */
                cacheOutPutWidget(widget:AbstractPrintWidget):void;
                setOutputGridActualY(outputGridActualY:number):void;
                getPagePool():$.java.util.Map;
                /**
                 * ② 当前方法只能在最外层控件调用。不适合控件里面的子控件调用
                 *
                 * @param widget
                 */
                scanRelative(widget:AbstractPrintWidget):void;
                getFooterHeight():number;
                getHeaderHeight():number;
                /**
                 * ① 记录widget坐标信息
                 * 控件输出前记录
                 * @param widget 控件
                 */
                recordPosition(widget:AbstractPrintWidget):void;
                getDesignPageIndex():number;
                getEmptyPage():PWPage;
                /**
                 * 控件跟随时相对定位计算
                 * @param current 当前控件
                 * @param targetId 目标控件id
                 */
                flowTargetWidget(current:AbstractPrintWidget,targetId:string):void;
                /**
                 * ① 记录widget坐标信息
                 * 控件输出后记录
                 * @param widget 控件
                 */
                recordOutPutPosition(widget:AbstractPrintWidget):void;
                setFooterHeight(footerHeight:number):void;
                getFooterHeight(widgetId:string):number;
                /**
                 * 输出完一单执行
                 */
                release():void;
                setHeaderHeight(headerHeight:number):void;
                getStartPage():number;
                /**
                 * 添加控件到指定页面
                 *
                 * @param key
                 * @param widget
                 */
                addWidget(key:string,widget:AbstractPrintWidget):void;
                getOutputGridActualY():number;
            }
            type RelativeContext_T = RelativeContext$;
            interface RelativeContext extends RelativeContext_T {
            }
        }
        namespace kd.bos.print.core.plugin{
            interface IPrintPlugin_S {
            }
            interface IPrintPlugin_C extends IPrintPlugin_S {
            }
            interface IPrintPlugin$ {
                /**
                 * 数据表格、分录表格和布局网格的行输出后事件。
                 * @param evt 行输出后事件对象
                 */
                afterOutputRow(evt:kd.bos.print.core.plugin.event.AfterOutputRowEvent):void;
                /**
                 * 数据加载前触发的事件。
                 * @param evt 数据加载前事件对象
                 */
                beforeLoadData(evt:kd.bos.print.core.plugin.event.BeforeLoadDataEvent):void;
                /**
                 * 自定义数据源加载数据事件。
                 * @param evt 自定义数据源加载事件对象
                 */
                loadCustomData(evt:kd.bos.print.core.plugin.event.CustomDataLoadEvent):void;
                /**
                 * 数据表格、分录表格和布局网格的行输出前事件。
                 * @param evt 行输出前事件对象
                 */
                beforeOutputRow(evt:kd.bos.print.core.plugin.event.BeforeOutputRowEvent):void;
                /**
                 * 打印引擎执行结束事件。
                 * @param evt 打印引擎执行结束事件对象
                 */
                endExport(evt:kd.bos.print.core.plugin.event.EndExportEvent):void;
                /**
                 * 打印引擎输出文件前触发事件。
                 * @param evt 打印引擎输出文件前触发事件对象
                 */
                beforeExpFile(evt:kd.bos.print.core.plugin.event.ExpFileEvent):void;
                /**
                 * 打印引擎输出前事件。
                 * @param evt 打印引擎输出前事件对象
                 */
                beforeExport(evt:kd.bos.print.core.plugin.event.BeforeExportEvent):void;
                /**
                 * 控件输出后事件。
                 * @param evt 控件输出后事件对象
                 */
                afterOutputWidget(evt:kd.bos.print.core.plugin.event.AfterOutputWidgetEvent):void;
                /**
                 * 数据加载完成后触发的事件。
                 * @param evt 数据加载后事件对象
                 */
                afterLoadData(evt:kd.bos.print.core.plugin.event.AfterLoadDataEvent):void;
                /**
                 * 控件初始化前事件。
                 * @param evt 控件初始化前事件对象
                 */
                beforeInitWidget(evt:kd.bos.print.core.plugin.event.BeforeInitWidgetEvent):void;
                /**
                 * 控件输出前事件。
                 * @param evt 控件输出前事件对象
                 */
                beforeOutputWidget(evt:kd.bos.print.core.plugin.event.BeforeOutputWidgetEvent):void;
            }
            type IPrintPlugin_T = IPrintPlugin$;
            interface IPrintPlugin extends IPrintPlugin_T {
            }
            interface AbstractPrintPlugin_S {
            }
            type AbstractPrintPlugin_ST = AbstractPrintPlugin_S & IPrintPlugin_S;
            interface AbstractPrintPlugin_C extends AbstractPrintPlugin_ST {
                new():AbstractPrintPlugin;
            }
            interface AbstractPrintPlugin$ {
                /**
                 * 获取总页码Map。
                 * @return 页码Map，（Map.Key：单据/基础资料主键，Map.Value：总页码）。
                 */
                getTotalPageMap():$.java.util.Map;
                /**
                 * 设置模板信息。
                 * @param tplInfo 模板信息
                 */
                setTplInfo(tplInfo:kd.bos.print.core.plugin.tpl.TplInfo):void;
                /**
                 * 获取打印设置。
                 * <p>
                 *     如果当前打印设置为空，则从上下文中加载用户配置的打印设置。
                 * </p>
                 * @return 打印设置，（Map.Key：设置项名称，Map.Value：设置项值）。
                 */
                getPrintSetting():$.java.util.Map;
                /**
                 * 获取扩展参数。
                 * @return 扩展参数
                 */
                getExtParam():$.java.util.Map;
                /**
                 * 根据数据源名称获取对应的数据访问器。
                 * @param dataSource 数据源名称
                 * @return 数据访问器对象，如果数据源不存在则返回<tt>null</tt>。
                 */
                getDataVisitor(dataSource:string):kd.bos.print.core.plugin.event.bo.PluginDataVisitorBo;
                /**
                 * 获取主数据源访问器。
                 * @return 主数据源访问器对象，如果不存在则返回<tt>null</tt>。
                 */
                getMainDataVisitor():kd.bos.print.core.plugin.event.bo.PluginDataVisitorBo;
                /**
                 * 获取打印任务id
                 * <p>
                 *     用于标识当前打印的是哪一个模板的任务。
                 * </p>
                 * @return 打印任务id
                 */
                getJobId():string;
                /**
                 * 获取模板信息。
                 * @return 模板信息
                 */
                getTplInfo():kd.bos.print.core.plugin.tpl.TplInfo;
            }
            type AbstractPrintPlugin_T = AbstractPrintPlugin$ & IPrintPlugin;
            interface AbstractPrintPlugin extends AbstractPrintPlugin_T {
            }
            interface PrintPluginProxy_S {
            }
            interface PrintPluginProxy_C extends PrintPluginProxy_S {
                new(plugins:$.java.util.List):PrintPluginProxy;
            }
            interface PrintPluginProxy$ {
                /**
                 * 触发加载数据前事件
                 * @param evt
                 */
                fireBeforeLoadData(evt:kd.bos.print.core.plugin.event.BeforeLoadDataEvent):void;
                /**
                 * 注册一个插件
                 * @param plugIn
                 */
                registerPlugin(plugIn:IPrintPlugin):void;
                /**
                 * 触发数据访问器初始化前事件
                 * @param evt
                 */
                fireBeforeInitDataVisitor(evt:kd.bos.print.core.plugin.event.DataVisitorEvent):void;
                /**
                 * 数据表格，网格，行输出前事件
                 * @param evt
                 */
                fireBeforeOutputRow(evt:kd.bos.print.core.plugin.event.BeforeOutputRowEvent):void;
                /**
                 * 控件输出后事件： 目前只在网格，表格输出后触发。
                 * @param evt
                 */
                fireAfterOutputWidget(evt:kd.bos.print.core.plugin.event.AfterOutputWidgetEvent):void;
                destory():void;
                createScriptPlugin(scriptName:string):IPrintPlugin;
                /**
                 * 触发打印结束事件
                 * @param evt
                 */
                fireEndOutput(evt:kd.bos.print.core.plugin.event.EndExportEvent):void;
                /**
                 * 数据表格，网格，行输出后事件
                 * @param evt
                 */
                fireAfterOutputRow(evt:kd.bos.print.core.plugin.event.AfterOutputRowEvent):void;
                /**
                 * 初始化数据访问器集合
                 * @param dataVisitorMap
                 */
                initDataVisitor(dataVisitorMap:$.java.util.HashMap):void;
                /**
                 * 触发富文本图片解析事件
                 * @param evt
                 */
                fireParseRichImg(evt:kd.bos.print.core.plugin.event.ParseRichImgEvent):void;
                /**
                 * 触发打印结束事件
                 * @param evt
                 */
                fireBeforeExport(evt:kd.bos.print.core.plugin.event.BeforeExportEvent):void;
                fireBeforeInitWidgetEvent(evt:kd.bos.print.core.plugin.event.BeforeInitWidgetEvent):void;
                /**
                 * 控件输出前事件： 目前只在：文本，条形码，二维码输出前触发
                 * @param evt
                 */
                fireBeforeOutputWidget(evt:kd.bos.print.core.plugin.event.BeforeOutputWidgetEvent):void;
                /**
                 * 触发加载数据后事件
                 * @param evt
                 */
                fireAfterLoadData(evt:kd.bos.print.core.plugin.event.AfterLoadDataEvent):void;
                /**
                 * 引擎输出文件前触发事件。方便用户自定义文件名称
                 * @param evt
                 */
                fireBeforeExpFile(evt:kd.bos.print.core.plugin.event.ExpFileEvent):void;
                /**
                 * 文本自动换行执行前触发，可以用于自定义换行符号，控制换行逻辑
                 * @param evt 文本自动换行事件
                 */
                fireBeforeLineWrap(evt:kd.bos.print.core.plugin.event.LineWrapEvent):void;
                /**
                 * 触发自定义数据源加载事件
                 * @param evt
                 */
                fireLoadCustomData(evt:kd.bos.print.core.plugin.event.CustomDataLoadEvent):void;
            }
            type PrintPluginProxy_T = PrintPluginProxy$;
            interface PrintPluginProxy extends PrintPluginProxy_T {
            }
        }
        namespace kd.bos.print.core.plugin.event{
            interface AfterOutputRowEvent_S {
            }
            type AfterOutputRowEvent_ST = $.java.io.Serializable & AfterOutputRowEvent_S;
            interface AfterOutputRowEvent_C extends AfterOutputRowEvent_ST {
            }
            interface AfterOutputRowEvent$ {
                /**
                 * 当前行是否取消输出。
                 * <p>
                 *     1、{@code true}：取消输出；
                 *     2、{@code false}：输出。
                 * </p>
                 * @return 是否取消输出
                 */
                isCancleOutput():boolean;
                /**
                 * 获取指定列单元格。
                 * @param colIndex 列索引
                 * @return 单元格
                 */
                getCell(colIndex:number):kd.bos.print.core.plugin.event.bo.PWGridCellBo;
                /**
                 * 设置当前行取消输出。
                 * <p>
                 *     1、{@code true}：取消输出；
                 *     2、{@code false}：输出。
                 * </p>
                 * @param cancleOutput 是否取消输出
                 */
                setCancleOutput(cancleOutput:boolean):void;
                /**
                 * 获取当前表格控件
                 * @return 表格控件
                 */
                getGrid():kd.bos.print.core.plugin.event.bo.PWGridBo;
            }
            type AfterOutputRowEvent_T = $.java.io.Serializable & AfterOutputRowEvent$;
            interface AfterOutputRowEvent extends AfterOutputRowEvent_T {
            }
            interface ExpFileEvent_S {
            }
            interface ExpFileEvent_C extends ExpFileEvent_S {
            }
            interface ExpFileEvent$ {
                /**
                 * 获取文件名。
                 * @return 文件名
                 */
                getFileName():string;
                /**
                 * 设置文件名。
                 * @param fileName 文件名
                 */
                setFileName(fileName:string):void;
                /**
                 * 获取文件索引。
                 * <p>
                 *     调用该方法，可以知道当前输出的是第几个文件。
                 * </p>
                 * @return 文件索引
                 */
                getFileIndex():number;
            }
            type ExpFileEvent_T = ExpFileEvent$;
            interface ExpFileEvent extends ExpFileEvent_T {
            }
            interface AfterLoadDataEvent_S {
            }
            type AfterLoadDataEvent_ST = $.java.io.Serializable & AfterLoadDataEvent_S;
            interface AfterLoadDataEvent_C extends AfterLoadDataEvent_ST {
                /**
                 * 构造函数。
                 * @param dataSource 数据源
                 * @param dataRowSets 数据集
                 */
                new(dataSource:kd.bos.print.core.data.datasource.PrtDataSource,dataRowSets:$.java.util.List):AfterLoadDataEvent;
            }
            interface AfterLoadDataEvent$ {
                /**
                 * 获取数据源。
                 * @return 数据源
                 */
                getDataSource():kd.bos.print.core.data.datasource.PrtDataSource;
                /**
                 * 设置数据集。
                 * @param dataRowSets 数据集
                 */
                setDataRowSets(dataRowSets:$.java.util.List):void;
                /**
                 * 获取数据集。
                 * @return 数据集
                 */
                getDataRowSets():$.java.util.List;
            }
            type AfterLoadDataEvent_T = $.java.io.Serializable & AfterLoadDataEvent$;
            interface AfterLoadDataEvent extends AfterLoadDataEvent_T {
            }
            interface ParseRichImgEvent_S {
            }
            type ParseRichImgEvent_ST = $.java.io.Serializable & ParseRichImgEvent_S;
            interface ParseRichImgEvent_C extends ParseRichImgEvent_ST {
                /**
                 * 构造函数。
                 * @param imageSrc 图片资源路径
                 */
                new(imageSrc:string):ParseRichImgEvent;
            }
            interface ParseRichImgEvent$ {
                /**
                 * 设置图片资源路径。
                 * @param imageSrc 图片资源路径。
                 */
                setImageSrc(imageSrc:string):void;
                /**
                 * 获取图片资源路径。
                 * @return 图片资源路径
                 */
                getImageSrc():string;
            }
            type ParseRichImgEvent_T = $.java.io.Serializable & ParseRichImgEvent$;
            interface ParseRichImgEvent extends ParseRichImgEvent_T {
            }
            interface AfterOutputGridEvent_S {
            }
            type AfterOutputGridEvent_ST = AfterOutputGridEvent_S & AfterOutputWidgetEvent_S;
            interface AfterOutputGridEvent_C extends AfterOutputGridEvent_ST {
            }
            interface AfterOutputGridEvent$ {
                /**
                 * 批量设置表格，网格的行样式。
                 * @param styles 样式Map，（Map.Key：样式标识，Map.Value：样式值）。
                 * @param rowIndex 行索引
                 */
                setRowStyle(styles:$.java.util.EnumMap,rowIndex:number):void;
                /**
                 * 获取当前表格控件。
                 * @return 表格控件
                 */
                getGrid():kd.bos.print.core.plugin.event.bo.PWGridBo;
                /**
                 * 设置表格，网格的行样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 * @param rowIndex 行索引
                 */
                setRowStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any,rowIndex:number):void;
                /**
                 * 获取表格控件右边区域大小。
                 * @return 右部距离，表格控件右边距离画布的大小，这部分大小，即表格控件能添加列的大小.
                 */
                getRightSpace():number;
                /**
                 * 添加合并单元格设置。
                 * @param mergeBlock 合并单元格设置
                 * @param mergeValue 合并后的显示值
                 * @return 合并后单元格
                 */
                addMerge(mergeBlock:kd.bos.print.core.model.designer.grid.MergeBlock,mergeValue:string):kd.bos.print.core.plugin.event.bo.PWGridCellBo;
                /**
                 * 批量设置表格，网格的列样式。
                 * @param styles 样式Map，（Map.Key：样式标识，Map.Value：样式值）。
                 * @param colIndex 列索引
                 */
                setColStyle(styles:$.java.util.EnumMap,colIndex:number):void;
                /**
                 * 设置表格，网格的列样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 * @param colIndex 列索引
                 */
                setColStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any,colIndex:number):void;
                /**
                 * 添加合并单元格设置。
                 * <p>
                 *     合并后单元格默认显示为空。
                 * </p>
                 * @param mergeBlock 合并单元格设置
                 * @see AfterOutputGridEvent#addMerge(MergeBlock,String)
                 * @return 合并后单元格
                 */
                addMerge(mergeBlock:kd.bos.print.core.model.designer.grid.MergeBlock):kd.bos.print.core.plugin.event.bo.PWGridCellBo;
            }
            type AfterOutputGridEvent_T = AfterOutputGridEvent$ & AfterOutputWidgetEvent;
            interface AfterOutputGridEvent extends AfterOutputGridEvent_T {
            }
            interface BeforeOutputWidgetEvent_S {
            }
            type BeforeOutputWidgetEvent_ST = $.java.io.Serializable & BeforeOutputWidgetEvent_S;
            interface BeforeOutputWidgetEvent_C extends BeforeOutputWidgetEvent_ST {
            }
            interface BeforeOutputWidgetEvent$ {
                /**
                 * 修改控件样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 */
                setStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any):void;
                /**
                 * 设置控件是否隐藏。
                 * @param isHidden 控件是否隐藏
                 */
                setHidden(isHidden:boolean):void;
                /**
                 * 获取控件标识
                 * @return 控件标识
                 */
                getWidgetKey():string;
                /**
                 * 判断控件是否隐藏
                 * @return 控件是否隐藏
                 */
                isHidden():boolean;
                /**
                 * 设置是否隐藏当前控件并移动下方控件。
                 * <p>
                 *     1、{@code true}：隐藏当前控件，并且支持下方控件向上偏移；
                 *     2、{@code false}：不隐藏当前控件，正常输出。
                 * </p>
                 * @param hideMove 是否隐藏当前控件并移动下方控件
                 */
                setHideMove(hideMove:boolean):void;
                /**
                 * 是否需要格式化。
                 * <p>
                 *     用于取消执行打印引擎的格式化逻辑。
                 * </p>
                 * @return 是否需要格式化
                 */
                isNeedFormat():boolean;
                /**
                 * 获取当前控件所在页索引。
                 * @return 页索引，索引值从0开始，0表示第1页。
                 */
                getPageIndex():number;
                /**
                 * 是否需要格式化。
                 * @return 是否需要格式化
                 */
                setNeedFormat(needFormat:boolean):void;
                /**
                 * 设置控件输出字段。
                 * <p>
                 *     常见字段类型如下：
                 *     1、文本字段：{@link kd.bos.print.core.data.field.TextField}；
                 *     2、整型字段：{@link kd.bos.print.core.data.field.IntegerField}；
                 *     3、长整型字段：{@link kd.bos.print.core.data.field.LongField}；
                 *     4、小数字段：{@link kd.bos.print.core.data.field.DecimalField}；
                 *     5、图片字段：{@link kd.bos.print.core.data.field.ImageField}；
                 *     6、日期字段：{@link kd.bos.print.core.data.field.DateField}；
                 *     7、时间字段：{@link kd.bos.print.core.data.field.DateTimeField}；
                 *     8、空标识控制字段：{@link kd.bos.print.core.data.field.NullField}。
                 * </p>
                 * @param field 字段
                 */
                setOutputValue(field:kd.bos.print.core.data.field.Field):void;
                /**
                 * 设置控件数据源字段绑定关系。
                 * <p>
                 *     如果调用了{@link BeforeOutputWidgetEvent#setOutputValue(Field)}方法，则优先取<tt>setOutputValue</tt>的值。
                 * </p>
                 * @param dataSource 数据源标识
                 * @param field 字段标识
                 */
                bindField(dataSource:string,field:string):void;
            }
            type BeforeOutputWidgetEvent_T = $.java.io.Serializable & BeforeOutputWidgetEvent$;
            interface BeforeOutputWidgetEvent extends BeforeOutputWidgetEvent_T {
            }
            interface BeforeOutputTextEvent_S {
            }
            type BeforeOutputTextEvent_ST = BeforeOutputTextEvent_S & BeforeOutputWidgetEvent_S;
            interface BeforeOutputTextEvent_C extends BeforeOutputTextEvent_ST {
            }
            interface BeforeOutputTextEvent$ {
                /**
                 * 获取文本控件。
                 * @return 文本控件
                 */
                getTextBo():kd.bos.print.core.plugin.event.bo.PWTextBo;
            }
            type BeforeOutputTextEvent_T = BeforeOutputTextEvent$ & BeforeOutputWidgetEvent;
            interface BeforeOutputTextEvent extends BeforeOutputTextEvent_T {
            }
            interface DataVisitorEvent_S {
            }
            type DataVisitorEvent_ST = $.java.io.Serializable & DataVisitorEvent_S;
            interface DataVisitorEvent_C extends DataVisitorEvent_ST {
                new():DataVisitorEvent;
            }
            interface DataVisitorEvent$ {
                getMaxEntrySize():number;
                /**
                 * @param maxQuerySize
                 */
                setMaxQuerySize(maxQuerySize:number):void;
                getMaxBatchEntrySize():number;
                setMaxEntrySize(maxEntrySize:number):void;
                getMaxEntryRefSize():number;
                setMaxEntryRefSize(maxEntryRefSize:number):void;
                getMaxQuerySize():number;
                setMaxBatchEntrySize(maxBatchEntrySize:number):void;
            }
            type DataVisitorEvent_T = $.java.io.Serializable & DataVisitorEvent$;
            interface DataVisitorEvent extends DataVisitorEvent_T {
            }
            interface EndExportEvent_S {
            }
            type EndExportEvent_ST = $.java.io.Serializable & EndExportEvent_S;
            interface EndExportEvent_C extends EndExportEvent_ST {
                new():EndExportEvent;
            }
            interface EndExportEvent$ {
                /**
                 * 获取打印结果。
                 * @return 打印结果
                 */
                getPrtAttach():kd.bos.print.core.service.PrtAttach;
                /**
                 * 获取总页数。
                 * @return 总页数
                 */
                getPageTotal():number;
            }
            type EndExportEvent_T = $.java.io.Serializable & EndExportEvent$;
            interface EndExportEvent extends EndExportEvent_T {
            }
            interface AfterOutputWidgetEvent_S {
            }
            type AfterOutputWidgetEvent_ST = $.java.io.Serializable & AfterOutputWidgetEvent_S;
            interface AfterOutputWidgetEvent_C extends AfterOutputWidgetEvent_ST {
            }
            interface AfterOutputWidgetEvent$ {
                /**
                 * 获取控件标识。
                 * @return 控件标识
                 */
                getWidgetKey():string;
                /**
                 * 修改控件样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 */
                setStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any):void;
                /**
                 * 获取控件输出字段。
                 * @return 字段
                 */
                getModifyValue():kd.bos.print.core.data.field.Field;
                /**
                 * 获取当前控件所在输出页的索引。
                 * <p>
                 *     索引值从0开始，0表示第1页。
                 * </p>
                 * @return 输出页索引
                 */
                getPageIndex():number;
                /**
                 * 返回控件格式化后的输出字段。
                 * @return 字段
                 */
                getOutputValue():kd.bos.print.core.data.field.Field;
                /**
                 * 设置控件输出字段。
                 * <p>
                 *     该方法仅针对<tt>打印在所有页</tt>的控件生效，通过该方法来指定控件打印在每一页的值不同。
                 * </p>
                 * @param modifyValue 字段
                 */
                setModifyValue(modifyValue:kd.bos.print.core.data.field.Field):void;
                /**
                 * 设置控件输出字段。
                 * <p>
                 *     该方法不支持<tt>打印在所有页</tt>的控件，固定打印的场景请使用{@link AfterOutputWidgetEvent#setModifyValue(Field)}方法。
                 * </p>
                 * @param field 字段
                 */
                setOutputValue(field:kd.bos.print.core.data.field.Field):void;
            }
            type AfterOutputWidgetEvent_T = $.java.io.Serializable & AfterOutputWidgetEvent$;
            interface AfterOutputWidgetEvent extends AfterOutputWidgetEvent_T {
            }
            interface BeforeLoadDataEvent_S {
            }
            type BeforeLoadDataEvent_ST = $.java.io.Serializable & BeforeLoadDataEvent_S;
            interface BeforeLoadDataEvent_C extends BeforeLoadDataEvent_ST {
            }
            interface BeforeLoadDataEvent$ {
                /**
                 * 设置数据集。
                 * @param dataRowSets 数据集
                 */
                setDataRowSets(dataRowSets:$.java.util.List):void;
                /**
                 * 设置取消数据加载。
                 * <p>
                 *     1、{@code true}：取消数据加载；
                 *     2、{@code false}：不取消，执行打印引擎数据加载。
                 * </p>
                 * @param cancle 是否取消数据加载
                 */
                setCancleLoadData(cancle:boolean):void;
                /**
                 * 获取数据源。
                 * @return 数据源
                 */
                getDataSource():kd.bos.print.core.data.datasource.PrtDataSource;
                /**
                 * 获取数据集。
                 * @return 数据集
                 */
                getDataRowSets():$.java.util.List;
                /**
                 * 是否取消数据加载。
                 * <p>
                 *     1、{@code true}：取消数据加载；
                 *     2、{@code false}：不取消，执行打印引擎数据加载。
                 * </p>
                 * @return 是否取消数据加载
                 */
                isCancleLoadData():boolean;
            }
            type BeforeLoadDataEvent_T = $.java.io.Serializable & BeforeLoadDataEvent$;
            interface BeforeLoadDataEvent extends BeforeLoadDataEvent_T {
            }
            interface BeforeInitWidgetEvent_S {
            }
            type BeforeInitWidgetEvent_ST = $.java.io.Serializable & BeforeInitWidgetEvent_S;
            interface BeforeInitWidgetEvent_C extends BeforeInitWidgetEvent_ST {
            }
            interface BeforeInitWidgetEvent$ {
                /**
                 * 设置隐藏当前控件并移动下方控件。
                 * @param hideMove 是否隐藏
                 */
                setHideMove(hideMove:boolean):void;
                /**
                 * 获取控件标识。
                 * @return 控件值
                 */
                getWidgetKey():string;
            }
            type BeforeInitWidgetEvent_T = $.java.io.Serializable & BeforeInitWidgetEvent$;
            interface BeforeInitWidgetEvent extends BeforeInitWidgetEvent_T {
            }
            interface BeforeOutputGridEvent_S {
            }
            type BeforeOutputGridEvent_ST = BeforeOutputGridEvent_S & BeforeOutputWidgetEvent_S;
            interface BeforeOutputGridEvent_C extends BeforeOutputGridEvent_ST {
            }
            interface BeforeOutputGridEvent$ {
                /**
                 * 添加一列。 并返回当前列所有单元格。
                 * @param colWidth 列宽
                 * @return 当前列所有单元格
                 */
                addColumn(colWidth:number):$.java.util.List;
                /**
                 * 添加合并单元格。
                 * <p>
                 *     禁止在{@link kd.bos.print.core.plugin.AbstractPrintPlugin#beforeOutputWidget(BeforeOutputWidgetEvent)}事件中对<tt>数据行</tt>做合并操作，如果想要合并数据行，可以在{@link kd.bos.print.core.plugin.AbstractPrintPlugin#afterOutputWidget(AfterOutputWidgetEvent)}事件中处理。
                 * </p>
                 * @param mergeBlock 合并单元格设置
                 * @exception PrintException，如果合并区域包含了数据行，则会抛出此异常。
                 */
                addMerge(mergeBlock:kd.bos.print.core.model.designer.grid.MergeBlock):void;
                /**
                 * 根据指定列索引，获取列所有单元格。
                 * @param colIndex 列索引
                 * @return 整列单元格
                 * @exception IndexOutOfBoundsException，如果某一行中单元格获取为{@code null}，则会抛出此异常。
                 */
                getColCell(colIndex:number):$.java.util.List;
                /**
                 * 插入行，返回当前行。
                 * <p>
                 *     如果插入行之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则插入行后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#insertGridRow(int,int,boolean)}方法，可以在插入行之后执行再合并动作。
                 * </p>
                 * @param index 插入的索引位置
                 * @param rowHeight 行高
                 * @return 插入的行
                 * @exception PrintException，如果总行数等于0，或者插入的索引大于总行数或小于0时，调用该方法插入行，将抛出此异常。
                 */
                insertGridRow(index:number,rowHeight:number):kd.bos.print.core.plugin.event.bo.PWGridRowBo;
                /**
                 * 删除行。
                 * <p>
                 *     设置<tt>isReMerge</tt>等于<tt>true</tt>，可以在删除行之后执行再合并动作。
                 * </p>
                 * @param rowIndex 行索引
                 * @param isReMerge 删除行后，是否重新处理合并。
                 */
                delRow(rowIndex:number,isReMerge:boolean):void;
                /**
                 * 插入行，返回当前行。
                 * <p>
                 *     设置<tt>isReMerge</tt>等于<tt>true</tt>，可以在插入行之后执行再合并动作。
                 * </p>
                 * @param index 插入的索引位置
                 * @param rowHeight 行高
                 * @param isReMerge 插入行后，是否重新处理合并。
                 * @return 插入的行
                 * @exception PrintException，如果总行数等于0，或者插入的索引大于总行数或小于0时，调用该方法插入行，将抛出此异常。
                 */
                insertGridRow(index:number,rowHeight:number,isReMerge:boolean):kd.bos.print.core.plugin.event.bo.PWGridRowBo;
                /**
                 * 删除列。
                 * <p>
                 *     设置<tt>isReMerge</tt>等于<tt>true</tt>，可以在删除列之后执行再合并动作。
                 * </p>
                 * @param colIndex 列索引，索引从0开始。
                 * @param isReMerge 删除列后，是否重新处理合并。
                 * @exception PrintException，如果总列数等于1时调用该方法删除列，则将抛出此异常。
                 */
                delColumn(colIndex:number,isReMerge:boolean):void;
                /**
                 * 获取表格控件底部区域大小。
                 * @return 右部距离，表格控件底边距离画布的大小，这部分大小，即表格控件能添加行的大小.
                 */
                getButtomSpace():number;
                /**
                 * 插入一列，并返回当前列所有单元格。
                 * <p>
                 *     设置<tt>isReMerge</tt>等于<tt>true</tt>，可以在插入列之后执行再合并动作。
                 * </p>
                 * @param index 列索引，索引从0开始。
                 * @param colWidth 列宽
                 * @param isReMerge 插入列后，是否重新处理合并。
                 * @return 当前列所有单元格
                 */
                insertColumn(index:number,colWidth:number,isReMerge:boolean):$.java.util.List;
                /**
                 * 插入行，并返回当前行所有单元格。
                 * <p>
                 *     如果插入行之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则插入行后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#insertGridRow(int,int,boolean)}方法，可以在插入行之后执行再合并动作。
                 * </p>
                 * @param index 插入的索引位置
                 * @param rowHeight 行高
                 * @return 当前行所有单元格
                 * @exception PrintException，如果总行数等于0，或者插入的索引大于总行数或小于0时，调用该方法插入行，将抛出此异常。
                 */
                insertRow(index:number,rowHeight:number):$.java.util.List;
                /**
                 * 根据指定行索引，获取行所有单元格。
                 * @param rowIndex 行索引
                 * @return 整行单元格
                 */
                getRowCell(rowIndex:number):$.java.util.List;
                /**
                 * 根据指定行、列索引，获取单元格。
                 * @param rowIndex 行索引
                 * @param colIndex 列索引
                 * @return 单元格
                 */
                getCell(rowIndex:number,colIndex:number):kd.bos.print.core.plugin.event.bo.PWGridCellBo;
                /**
                 * 添加行，并返回当前行所有单元格。
                 * <p>
                 *     如果添加行之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则添加行后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#insertGridRow(int,int,boolean)}方法，可以在添加行之后执行再合并动作。
                 * </p>
                 * @param rowHeight 行高
                 * @return 当前行所有单元格
                 * @exception PrintException，如果总行数等于0时，调用该方法添加行，将抛出此异常。
                 */
                addRow(rowHeight:number):$.java.util.List;
                /**
                 * 获取表格合并信息。
                 * @return 合并信息
                 */
                getMergeBlockMap():$.java.util.Map;
                /**
                 * 删除行。
                 * <p>
                 *     如果删除行之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则删除行后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#delRow(int,boolean)}方法，可以在删除行之后执行再合并动作。
                 * </p>
                 * @param rowIndex 行索引
                 */
                delRow(rowIndex:number):void;
                /**
                 * 插入一列，并返当前列所有单元格。
                 * <p>
                 *     如果插入列之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则插入列后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#insertColumn(int,int,boolean)}方法，可以在插入列之后执行再合并动作。
                 * </p>
                 * @param index 列索引，索引从0开始。
                 * @param colWidth 列宽
                 * @return 当前列所有单元格
                 * @exception PrintException, 如果插入列{@code index}索引大于表格列数或者小于0，则将抛出此异常。
                 */
                insertColumn(index:number,colWidth:number):$.java.util.List;
                /**
                 * 删除列。
                 * <p>
                 *     如果删除列之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则删除列后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#delColumn(int,boolean)}方法，可以在删除列之后执行再合并动作。
                 * </p>
                 * @param colIndex 列索引，索引从0开始。
                 * @exception PrintException，如果总列数等于1时调用该方法删除列，则将抛出此异常。
                 */
                delColumn(colIndex:number):void;
                /**
                 * 获取表格控件
                 * @return 表格控件
                 */
                getGrid():kd.bos.print.core.plugin.event.bo.PWGridBo;
                /**
                 * 添加行。并返回当前行。
                 * <p>
                 *      如果添加行之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则添加行后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#insertGridRow(int,int,boolean)}方法，可以在添加行之后执行再合并动作。
                 * </p>
                 * @param rowHeight 行高
                 * @return 添加的行
                 * @exception PrintException，如果总行数等于0时，调用该方法添加行，将抛出此异常。
                 */
                addGridRow(rowHeight:number):kd.bos.print.core.plugin.event.bo.PWGridRowBo;
                /**
                 * 批量删除列。
                 * <p>
                 *     如果删除列之前，有使用{@link BeforeOutputGridEvent#addMerge(MergeBlock)}方法设置单元格合并，则删除列后可能会导致非预期的打印效果。使用{@link BeforeOutputGridEvent#delColumn(int,boolean)}方法，可以在删除列之后执行再合并动作。
                 * </p>
                 * @param colIndexs 批量删除的列的索引
                 * @exception PrintException，如果总列数等于1，或者批量删除列的数量大于等于总列数时，调用该方法删除列，则将抛出此异常。
                 */
                delColumns(colIndexs:$.java.util.List):void;
                /**
                 * 获取表格控件右边区域大小。
                 * @return 右部距离，表格控件右边距离画布的大小，这部分大小，即表格控件能添加列的大小.
                 */
                getRightSpace():number;
            }
            type BeforeOutputGridEvent_T = BeforeOutputGridEvent$ & BeforeOutputWidgetEvent;
            interface BeforeOutputGridEvent extends BeforeOutputGridEvent_T {
            }
            interface BeforeExportEvent_S {
            }
            interface BeforeExportEvent_C extends BeforeExportEvent_S {
                new():BeforeExportEvent;
            }
            interface BeforeExportEvent$ {
                /**
                 * 设置导出文件名称。
                 * @param fileTplName 文件名称
                 */
                setFileTplName(fileTplName:string):void;
                /**
                 * 获取设置的文件名称。
                 * @return 文件名称
                 */
                getFileTplName():string;
            }
            type BeforeExportEvent_T = BeforeExportEvent$;
            interface BeforeExportEvent extends BeforeExportEvent_T {
            }
            interface BeforeOutputRowEvent_S {
            }
            type BeforeOutputRowEvent_ST = $.java.io.Serializable & BeforeOutputRowEvent_S;
            interface BeforeOutputRowEvent_C extends BeforeOutputRowEvent_ST {
            }
            interface BeforeOutputRowEvent$ {
                /**
                 * 当前行是否取消输出。
                 * @return 当前行是否取消输出
                 */
                isCancleOutput():boolean;
                /**
                 * 获取当前行单元格数量。
                 * @return 单元格数量
                 */
                getCellCount():number;
                /**
                 * 获取当前执行的数据行的值。
                 * <p>
                 *     <strong>只针对数据行生效，非数据行返回{@link kd.bos.print.core.data.field.NullField}。</strong>
                 * </p>
                 * @param fieldKey 字段标识
                 * @return 字段
                 */
                getField(fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 获取当前表格。
                 * @return 表格
                 */
                getGrid():kd.bos.print.core.plugin.event.bo.PWGridBo;
                /**
                 * 根据指定数据源标识和字段标识，获取字段。
                 * @param ds 数据源标识
                 * @param fieldKey 字段标识
                 * @return 字段
                 */
                getField(ds:string,fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 判断当前行是否为数据行。
                 * @return 当前行是否为数据行
                 */
                isDetailRow():boolean;
                /**
                 * 设置当前行是否取消输出。
                 * @param cancleOutput 当前行是否取消输出
                 */
                setCancleOutput(cancleOutput:boolean):void;
                /**
                 * 根据指定列索引，获取当前行中单元格。
                 * @param idx 列索引
                 * @return 单元格
                 */
                getCell(idx:number):kd.bos.print.core.plugin.event.bo.PWGridCellBo;
            }
            type BeforeOutputRowEvent_T = $.java.io.Serializable & BeforeOutputRowEvent$;
            interface BeforeOutputRowEvent extends BeforeOutputRowEvent_T {
            }
            interface LineWrapEvent_S {
            }
            type LineWrapEvent_ST = $.java.io.Serializable & LineWrapEvent_S;
            interface LineWrapEvent_C extends LineWrapEvent_ST {
                new(lineWrapSymbols:kd.bos.print.core.execute.render.common.linewrap.ILineWrapSymbols):LineWrapEvent;
            }
            interface LineWrapEvent$ {
                /**
                 * 为符号设置类型
                 * BEFORE_SYMBOL：前置符，行尾最后一个字符是前置符时，换行到行首（'<','《','$'等等）
                 * LAST_SYMBOL：后置符，行首第一个字符是后置符时，上一行中从后向前寻找第一个分割符位置，再次分割（'?','。','》'等等）
                 * SPLIT_SYMBOL：分割符，用于切分词组，换行时会在分隔符位置切分（包括前置符、后置符以及一些其他符号）
                 * NO_SPLIT_SYMBOL：非分割符，不会切分词组，换行时会被当做一个整体，类似字母和数字
                 * 注意；前置符、后置符一定是分割符；分割符不一定是前置后置符号。
                 * @param symbol unicode符号
                 * @param type 类型
                 */
                setSymbolType(symbol_arg:string,type_arg:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapSymbolType):void;
            }
            type LineWrapEvent_T = $.java.io.Serializable & LineWrapEvent$;
            interface LineWrapEvent extends LineWrapEvent_T {
            }
            interface CustomDataLoadEvent_S {
            }
            type CustomDataLoadEvent_ST = $.java.io.Serializable & CustomDataLoadEvent_S;
            interface CustomDataLoadEvent_C extends CustomDataLoadEvent_ST {
            }
            interface CustomDataLoadEvent$ {
                /**
                 * 获取自定义数据源数据集。
                 * @return 数据集
                 */
                getCustomDataRows():$.java.util.List;
                /**
                 * 获取自定义数据源。
                 * @return 自定义数据源
                 */
                getDataSource():kd.bos.print.core.data.datasource.CustomDataSource;
            }
            type CustomDataLoadEvent_T = $.java.io.Serializable & CustomDataLoadEvent$;
            interface CustomDataLoadEvent extends CustomDataLoadEvent_T {
            }
        }
        namespace kd.bos.print.core.plugin.event.bo{
            interface PWGridBo_S {
            }
            type PWGridBo_ST = IPrintEventBo_S & PWGridBo_S;
            interface PWGridBo_C extends PWGridBo_ST {
            }
            interface PWGridBo$ {
                /**
                 * 获取当前表格所有输出行。
                 * @return 输出行
                 */
                getOutputRows():$.java.util.List;
                /**
                 * 根据指定行索引，获取行所有单元格。
                 * @param rowIndex 行索引
                 * @return 行所有单元格
                 */
                getRowCell(rowIndex:number):$.java.util.List;
                /**
                 * 是否为数据表格控件。
                 * @return 是否为数据表格控件
                 */
                isDataGrid():boolean;
                /**
                 * 获取数据表格数据行索引。
                 * <p>
                 *     如果当前控件是布局网格或分录表格，则返回<tt>-1</tt>. 如果是数据表格，则返回其数据行索引。
                 * </p>
                 * @return 数据表格数据行索引
                 */
                getDataRowIndex():number;
                /**
                 * 返回当前数据表格数据行的迭代索引。
                 * @return 迭代索引
                 */
                gridIterCursor():number;
                /**
                 * 根据指定索引，获取行。
                 * <p>
                 *     如果指定索引未获取到行，则返回<tt>null</tt>。
                 * </p>
                 * @param rowIndex 行索引
                 * @return 行
                 */
                getRow(rowIndex:number):PWGridRowBo;
                /**
                 * 根据指定索引，获取列。
                 * <p>
                 *     如果指定索引未获取到列，则返回<tt>null</tt>。
                 * </p>
                 * @param colIndex 列索引
                 * @return 列
                 */
                getColumn(colIndex:number):PWGridColumnBo;
                /**
                 * 获取表格绑定的数据源标识。
                 * <p>
                 *     如果当前控件是布局网格或分录表格，则返回<tt>null</tt>. 如果是数据表格，则返回其绑定的数据源标识。
                 * </p>
                 * @return 数据源标识
                 */
                getDataSource():string;
                /**
                 * 获取当前控件所在页索引。
                 * @return 页索引，索引值从0开始，0表示第1页。
                 */
                getPageIndex():number;
                /**
                 * 根据指定列索引，获取列所有单元格。
                 * @param colIndex 列索引
                 * @return 列所有单元格
                 * @exception IndexOutOfBoundsException，如果某一行中单元格获取为<tt>null</tt>，则会抛出此异常。
                 */
                getColCell(colIndex:number):$.java.util.List;
                /**
                 * 获取输出行数量。
                 * <p>
                 *     <strong>需要注意，输出行是根据运行时动态计算而来，和设计时行的数量是不同的。</strong>
                 * </p>
                 * @return 输出行数量
                 */
                getOutputRowCount():number;
                /**
                 * 获取表格列数量。
                 * @return 列数量
                 */
                getColumnCount():number;
                /**
                 * 获取表格行数量。
                 * @return 行数量
                 */
                getRowCount():number;
                /**
                 * 根据指定行、列索引，获取输出行中的单元格。
                 * @param rowIndex 行索引
                 * @param cellIndex 列索引
                 * @return 输出行中的单元格
                 */
                getOutputCell(rowIndex:number,cellIndex:number):PWGridCellBo;
                /**
                 * 根据指定行、列索引，获取单元格。
                 * <p>
                 *     如果指定行、列索引未获取到单元格，则返回<tt>null</tt>。
                 * </p>
                 * @param rowIndex 行索引
                 * @param cellIndex 列索引
                 * @return 单元格
                 */
                getCell(rowIndex:number,cellIndex:number):PWGridCellBo;
                /**
                 * 获取控件标识。
                 * @return 控件标识
                 */
                getKey():string;
            }
            type PWGridBo_T = IPrintEventBo & PWGridBo$;
            interface PWGridBo extends PWGridBo_T {
            }
            interface PWGridRowBo_S {
                readonly ROW_TITLE:number;
                readonly ROW_STAT:number;
                readonly ROW_DETAIL:number;
            }
            type PWGridRowBo_ST = IPrintEventBo_S & PWGridRowBo_S;
            interface PWGridRowBo_C extends PWGridRowBo_ST {
            }
            interface PWGridRowBo$ {
                /**
                 * 根据指定字段标识，设置合并依据字段。
                 * @param mergeByField 合并依据字段标识
                 */
                setMergeByField(mergeByField:string):void;
                /**
                 * 判断当前行是否是每页显示。
                 * @return 当前行是否每页显示
                 */
                isDisplayEveryPage():boolean;
                /**
                 * 获取当前行指定列单元格。
                 * @param cellIndex 单元格索引
                 * @return 单元格
                 */
                getCell(cellIndex:number):PWGridCellBo;
                /**
                 * 获取合并汇总字段标识。
                 * @return 合并汇总字段标识
                 */
                getMergeSummaryField():$.java.util.List;
                /**
                 * 当前行是否为数据行。
                 * @return 当前行是否为数据行
                 */
                isDetailRow():boolean;
                /**
                 * 设置当前行样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 */
                setRowStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any):void;
                /**
                 * 设置合并汇总字段标识。
                 * @param mergeSummaryField 合并汇总字段标识
                 */
                setMergeSummaryField(mergeSummaryField:$.java.util.List):void;
                /**
                 * 获取合并依据字段标识。
                 * @return 合并依据字段标识
                 */
                getMergeByField():string;
                /**
                 * 获取行类型。
                 * <p>
                 *     1、标题行：{@link PWGridRowBo#ROW_TITLE}；
                 *     2、数据行：{@link PWGridRowBo#ROW_DETAIL}；
                 *     3、合计行：{@link PWGridRowBo#ROW_STAT}。
                 * </p>
                 * @return 行类型
                 */
                getRowType():number;
                /**
                 * 获取当前行所有单元格。
                 * @return 当前行所有单元格
                 */
                getRowCell():$.java.util.List;
                /**
                 * 设置当前行是否每页显示。
                 * <p>
                 *     仅支持设置<tt>标题行</tt>的每页显示，其他类型的行不支持。
                 * </p>
                 * @param displayEveryPage 当前行是否每页显示
                 */
                setDisplayEveryPage(displayEveryPage:boolean):void;
            }
            type PWGridRowBo_T = IPrintEventBo & PWGridRowBo$;
            interface PWGridRowBo extends PWGridRowBo_T {
            }
            interface IPrintEventBo_S {
            }
            interface IPrintEventBo_C extends IPrintEventBo_S {
            }
            interface IPrintEventBo$ {
                /**
                 * 包装的控件是否为空。
                 * @return 包装的控件是否为空
                 */
                isNullBo():boolean;
            }
            type IPrintEventBo_T = IPrintEventBo$;
            interface IPrintEventBo extends IPrintEventBo_T {
            }
            interface PWGridCellBo_S {
            }
            type PWGridCellBo_ST = IPrintEventBo_S & PWGridCellBo_S;
            interface PWGridCellBo_C extends PWGridCellBo_ST {
            }
            interface PWGridCellBo$ {
                /**
                 * 获取日期/时间格式。
                 * @return 格式信息
                 */
                getFormat():string;
                /**
                 * 设置文本换行规则。
                 * @see kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule
                 * @param lineWrapRule 文本换行规则
                 */
                setLineWrapRule(lineWrapRule:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule):void;
                /**
                 * 是否零值时显示为空。
                 * @return 是否零值时显示为空
                 */
                isIgnoreZero():boolean;
                /**
                 * 获取单元格输出文本值。
                 * @return 文本值
                 */
                getOutputText():string;
                /**
                 * 设置小数位数。
                 * <p>
                 *     小数位数，{@code precision}为{@code -1}时，保持原值。
                 * </p>
                 * @param precision 小数位数
                 */
                setPrecision(precision:number):void;
                /**
                 * 是否负数显示红色。
                 * @return 是否负数显示红色
                 */
                isShowRedNegative():boolean;
                /**
                 * 设置单元格为合计字段。
                 * <p>
                 *     1、<tt>0</tt>：不合计；
                 *     2、<tt>1</tt>：累计求和；
                 *     3、<tt>6</tt>：每页求和。
                 * </p>
                 * @param dataSource 数据源标识
                 * @param field 字段标识
                 * @param statType 合计类型
                 */
                setCellValue(dataSource:string,field:string,statType:number):void;
                /**
                 * 获取小数位数。
                 * @return 小数位数
                 */
                getPrecision():number;
                /**
                 * 设置负数类型。
                 * @param negativeType 负数类型
                 */
                setNegativeType(negativeType:kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum):void;
                /**
                 * 获取单元格绑定的字段标识。
                 * @return 字段标识
                 */
                getBindField():string;
                /**
                 * 设置显示百分比。
                 * @param showPercentage 是否显示百分比
                 */
                setShowPercentage(showPercentage:boolean):void;
                /**
                 * 获取单元格绑定的数据源标识。
                 * @return 数据源标识
                 */
                getDatasource():string;
                /**
                 * 设置是否为合并依据单元格。
                 * @param mergeBy 是否为合并依据单元格
                 */
                setMergeBy(mergeBy:boolean):void;
                /**
                 * 获取币别格式。
                 * @see kd.bos.print.core.model.CurrencyFormat
                 * @return 币别格式
                 */
                getCurrencyFormat():kd.bos.print.core.model.CurrencyFormat;
                /**
                 * 设置是否不显示尾零。
                 * @param ignoreTailZero 是否不显示尾零
                 */
                setIgnoreTailZero(ignoreTailZero:boolean):void;
                /**
                 * 设置日期/时间格式。
                 * @param format 格式信息
                 */
                setFormat(format:string):void;
                /**
                 * 设置单元格输出文本值。
                 * @param text 文本值
                 */
                setOutputText(text:string):void;
                /**
                 * 设置单元格为绑定字段。
                 * @param dataSource 数据源标识
                 * @param field 字段标识
                 */
                setCellValue(dataSource:string,field:string):void;
                /**
                 * 设置零值时显示为空。
                 * @param ignoreZero 设置零值时显示为空
                 */
                setIgnoreZero(ignoreZero:boolean):void;
                /**
                 * 是否显示百分比。
                 * @return 是否显示百分比
                 */
                isShowPercentage():boolean;
                /**
                 * 设置是否负数显示红色。
                 * @param showRedNegative 是否负数显示红色
                 */
                setShowRedNegative(showRedNegative:boolean):void;
                /**
                 * 获取文本换行规则。
                 * @see kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule
                 * @return 文本换行规则
                 */
                getLineWrapRule():kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule;
                /**
                 * 获取文本格式类型。
                 * @return 文本格式类型
                 */
                getTextFormat():string;
                /**
                 * 获取负数类型。
                 * @see kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum
                 * @return 负数类型
                 */
                getNegativeType():string;
                /**
                 * 设置单元格为文本常量。
                 * @param value 文本值
                 */
                setCellValue(value:string):void;
                /**
                 * 设置大写类型。
                 * @see kd.bos.print.core.model.UppercaseType
                 * @param uppercaseType 大写类型
                 */
                setUppercaseType(uppercaseType:kd.bos.print.core.model.UppercaseType):void;
                /**
                 * 设置单元格样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 */
                setStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any):void;
                /**
                 * 是否不显示尾零。
                 * @return 是否不显示尾零
                 */
                isIgnoreTailZero():boolean;
                /**
                 * 设置币别格式。
                 * @see kd.bos.print.core.model.CurrencyFormat
                 * @param currencyFormat 币别格式
                 */
                setCurrencyFormat(currencyFormat:kd.bos.print.core.model.CurrencyFormat):void;
                /**
                 * 设置文本格式类型。
                 * @see kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum
                 * @param textFormatEnum 文本格式类型
                 */
                setTextFormat(textFormatEnum:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum):void;
                /**
                 * 获取大写类型。
                 * @return 大写类型
                 */
                getUppercaseType():string;
            }
            type PWGridCellBo_T = IPrintEventBo & PWGridCellBo$;
            interface PWGridCellBo extends PWGridCellBo_T {
            }
            interface PWTextBo_S {
            }
            type PWTextBo_ST = IPrintEventBo_S & PWTextBo_S;
            interface PWTextBo_C extends PWTextBo_ST {
            }
            interface PWTextBo$ {
                /**
                 * 设置大写类型。
                 * @param uppercaseType 大写类型
                 */
                setUppercaseType(uppercaseType:kd.bos.print.core.model.UppercaseType):void;
                /**
                 * 设置币别格式。
                 * @param currencyFormat 币别格式
                 */
                setCurrencyFormat(currencyFormat:kd.bos.print.core.model.CurrencyFormat):void;
                /**
                 * 设置零值时是否显示为空。
                 * @param ignoreZero 零值时是否显示为空
                 */
                setIgnoreZero(ignoreZero:boolean):void;
                /**
                 * 获取文本换行规则。
                 * @return 文本换行规则
                 */
                getLineWrapRuleEum():kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule;
                /**
                 * 设置小数位数。
                 * <p>
                 *     小数位数，<tt>precision</tt>为<tt>-1</tt>时，保持原值。
                 * </p>
                 * @param precision 小数位数
                 */
                setPrecision(precision:number):void;
                /**
                 * 设置是否显示百分比。
                 * @param showPercentage 是否显示百分比
                 */
                setShowPercentage(showPercentage:boolean):void;
                /**
                 * 设置是否不显示尾零。
                 * @param ignoreTailZero 是否不显示尾零
                 */
                setIgnoreTailZero(ignoreTailZero:boolean):void;
                /**
                 * 获取大写类型。
                 * @return 大写类型
                 */
                getUppercaseType():string;
                /**
                 * 设置单元格绑定字段。
                 * @param dataSource 数据源标识
                 * @param field 字段标识
                 */
                setCellValue(dataSource:string,field:string):void;
                /**
                 * 获取币别格式。
                 * @return 币别格式
                 */
                getCurrencyFormat():kd.bos.print.core.model.CurrencyFormat;
                /**
                 * 设置文本格式类型。
                 * @param textFormatEnum 文本格式类型
                 */
                setTextFormat(textFormatEnum:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum):void;
                /**
                 * 设置是否负数显示红色。
                 * @param showRedNegative 是否负数显示红色
                 */
                setShowRedNegative(showRedNegative:boolean):void;
                /**
                 * 设置单元格样式。
                 * @param styleKey 样式标识
                 * @param value 样式值
                 */
                setStyle(styleKey:kd.bos.print.core.model.widget.StyleKey,value:any):void;
                /**
                 * 是否显示百分比。
                 * @return 是否显示百分比
                 */
                isShowPercentage():boolean;
                /**
                 * 获取控件标识。
                 * @return 控件标识
                 */
                getKey():string;
                /**
                 * 设置负数类型。
                 * @param negativeType 负数类型
                 */
                setNegativeType(negativeType:kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum):void;
                /**
                 * 是否负数显示红色。
                 * @return 是否负数显示红色
                 */
                isShowRedNegative():boolean;
                /**
                 * 获取单元格绑定的字段标识。
                 * @return 字段标识
                 */
                getBindField():string;
                /**
                 * 获取小数位数。
                 * @return 小数位数
                 */
                getPrecision():number;
                /**
                 * 零值时是否显示为空。
                 * @return 零值时是否显示为空
                 */
                isIgnoreZero():boolean;
                /**
                 * 获取文本换行规则。
                 * @param lineWrapRule 文本换行规则
                 */
                setLineWrapRule(lineWrapRule:kd.bos.print.core.execute.render.common.linewrap.param.LineWrapRule):void;
                /**
                 * 获取单元格输出文本值。
                 * @return 文本值
                 */
                getOutputText():string;
                /**
                 * 获取文本格式类型。
                 * @return 文本格式类型
                 */
                getTextFormat():string;
                /**
                 * 设置单元格输出文本值。
                 * @param text 文本值
                 */
                setOutputText(text:string):void;
                /**
                 * 是否不显示尾零。
                 * @return 设置是否不显示尾零
                 */
                isIgnoreTailZero():boolean;
                /**
                 * 获取日期/时间格式。
                 * @return 格式信息
                 */
                getFormat():string;
                /**
                 * 获取负数类型。
                 * @return 负数类型
                 */
                getNegativeType():string;
                /**
                 * 获取单元格绑定的数据源标识。
                 * @return 数据源标识
                 */
                getDatasource():string;
                /**
                 * 设置日期/时间格式。
                 * @param format 格式信息
                 */
                setFormat(format:string):void;
            }
            type PWTextBo_T = IPrintEventBo & PWTextBo$;
            interface PWTextBo extends PWTextBo_T {
            }
            interface PluginDataVisitorBo_S {
            }
            type PluginDataVisitorBo_ST = IPrintEventBo_S & PluginDataVisitorBo_S;
            interface PluginDataVisitorBo_C extends PluginDataVisitorBo_ST {
            }
            interface PluginDataVisitorBo$ {
                /**
                 * 根据指定字段标识，获取字段。
                 * @param fieldKey 字段标识
                 * @return 字段
                 */
                getField(fieldKey:string):kd.bos.print.core.data.field.Field;
                /**
                 * 获取数据集。
                 * @return 数据集
                 */
                getDataRowSet():kd.bos.print.core.data.DataRowSet;
                /**
                 * 根据指定数据源标识，获取集合字段。
                 * <p>
                 *     可以通过参数<tt>sortAble</tt>控制取数据表格排序前的结果，还是排序后的结果。需要结合参数<tt>controlKey</tt>一同使用，<tt>controlKey</tt>用于获取指定数据表格控件中的排序设置。
                 * </p>
                 * @param ds 数据源标识
                 * @param sortAble <tt>true</tt>：获取排序后结果，<tt>false</tt>：获取排序前结果。
                 * @return 集合字段
                 */
                getCollectionField(ds:string,sortAble:boolean,controlKey:string):kd.bos.print.core.data.field.CollectionField;
                /**
                 * 是否为主数据源访问器。
                 * @return 是否为主数据源访问器
                 */
                isMainVisitor():boolean;
                /**
                 * 根据指定数据源标识，获取集合字段。
                 * <p>
                 *     集合字段中的记录默认取数据表格排序前结果。
                 * </p>
                 * @param ds 数据源标识
                 * @return 集合字段
                 */
                getCollectionField(ds:string):kd.bos.print.core.data.field.CollectionField;
            }
            type PluginDataVisitorBo_T = IPrintEventBo & PluginDataVisitorBo$;
            interface PluginDataVisitorBo extends PluginDataVisitorBo_T {
            }
            interface PWGridColumnBo_S {
            }
            type PWGridColumnBo_ST = IPrintEventBo_S & PWGridColumnBo_S;
            interface PWGridColumnBo_C extends PWGridColumnBo_ST {
            }
            interface PWGridColumnBo$ {
                /**
                 * 获取列宽。
                 * @return 列宽
                 */
                getWidth():number;
                /**
                 * 设置列宽。
                 * @param width 列宽
                 */
                setWidth(width:number):void;
            }
            type PWGridColumnBo_T = IPrintEventBo & PWGridColumnBo$;
            interface PWGridColumnBo extends PWGridColumnBo_T {
            }
        }
        namespace kd.bos.print.core.plugin.event.bo.propenum{
            class TextFormatEnum {
                static readonly NUMBER:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum;
                static readonly NORMAL:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum;
                static readonly AMOUNT:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum;
                static readonly DATE:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum;
                static readonly TIME:kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum;
                static values():kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum[];
                static valueOf(arg0:string):kd.bos.print.core.plugin.event.bo.propenum.TextFormatEnum;
                /**
                 * 获取文本格式类型标识。
                 * @return 类型标识
                 */
                getType():string;
            }
            class NegativeTypeEnum {
                static readonly ADD:kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum;
                static readonly BRACKET:kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum;
                static readonly NORMAL:kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum;
                static values():kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum[];
                static valueOf(arg0:string):kd.bos.print.core.plugin.event.bo.propenum.NegativeTypeEnum;
                /**
                 * 获取负数类型标识。
                 * @return 类型标识
                 */
                getType():string;
            }
        }
        namespace kd.bos.print.core.plugin.tpl{
            interface TplInfo_S {
            }
            type TplInfo_ST = $.java.io.Serializable & TplInfo_S;
            interface TplInfo_C extends TplInfo_ST {
                new():TplInfo;
            }
            interface TplInfo$ {
                /**
                 * 设置打印模板编码。
                 * @param key 模板编码
                 */
                setKey(key:string):void;
                /**
                 * 获取打印模板id。
                 * @return 打印模板id
                 */
                getId():string;
                /**
                 * 获取打印模板编码。
                 * @return 模板编码
                 */
                getKey():string;
                /**
                 * 设置打印模板id。
                 * @param id 打印模板id
                 */
                setId(id:string):void;
            }
            type TplInfo_T = $.java.io.Serializable & TplInfo$;
            interface TplInfo extends TplInfo_T {
            }
        }
        namespace kd.bos.print.core.service{
            interface PrtAttach$AttachDetail_S {
            }
            type PrtAttach$AttachDetail_ST = $.java.io.Serializable & PrtAttach$AttachDetail_S;
            interface PrtAttach$AttachDetail_C extends PrtAttach$AttachDetail_ST {
                new():PrtAttach$AttachDetail;
            }
            interface PrtAttach$AttachDetail$ {
                getAttachId():string;
                setSource(arg0:string):void;
                setSeq(arg0:number):void;
                getFileName():string;
                getExtParam():string;
                getFilePath():string;
                getSource():string;
                getSeq():number;
                setFilePath(arg0:string):void;
                getFileType():string;
                setExtParam(arg0:string):void;
                setAttachId(arg0:string):void;
                setFileName(arg0:string):void;
            }
            type PrtAttach$AttachDetail_T = $.java.io.Serializable & PrtAttach$AttachDetail$;
            interface PrtAttach$AttachDetail extends PrtAttach$AttachDetail_T {
            }
            interface PrtAttach_S {
            }
            type PrtAttach_ST = $.java.io.Serializable & PrtAttach_S;
            interface PrtAttach_C extends PrtAttach_ST {
                new():PrtAttach;
            }
            interface PrtAttach$ {
                /**
                 * 获取打印任务id。
                 * @return 打印任务id
                 */
                getTaskId():string;
                /**
                 * 设置文件贮藏方式。
                 * <p>
                 *     详情请见{@link kd.bos.print.api.FileStorageType#getCode()}。
                 * </p>
                 * @param diskType 文件贮藏方式
                 */
                setDiskType(diskType:string):void;
                /**
                 * 获取任务名称。
                 * @return 任务名称
                 */
                getTaskName():string;
                /**
                 * 获取云打印服务标识，仅适用于云打印客户端。
                 * @return 云打印服务标识
                 */
                getServiceN():string;
                /**
                 * 设置任务名称。
                 * @param taskName 任务名称
                 */
                setTaskName(taskName:string):void;
                /**
                 * 获取结果状态。
                 * <p>
                 *     1、<tt>A</tt>：打印中；
                 *     2、<tt>B</tt>：打印完成；
                 *     3、<tt>C</tt>：打印失败。
                 * </p>
                 * @return 打印结果
                 */
                getStatus():string;
                /**
                 * 获取应用id。
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 获取打印机名称。
                 * @return 打印机名称
                 */
                getPrinter():string;
                /**
                 * 获取打印类型。
                 * @return 打印类型
                 */
                getExtType():string;
                /**
                 * 设置组织id。
                 * @param orgId 组织id
                 */
                setOrgId(orgId:string):void;
                /**
                 * 设置应用id。
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 获取组织id。
                 * @return 组织id
                 */
                getOrgId():string;
                /**
                 * 设置用户id。
                 * @param userId 用户id
                 */
                setUserId(userId:string):void;
                /**
                 * 获取文件贮藏方式。
                 * @return 文件贮藏方式，详情请见{@link kd.bos.print.api.FileStorageType#getCode()}。
                 */
                getDiskType():string;
                /**
                 * 获取附件详情集合。
                 * @return 附件详情集合
                 */
                getAttachDetail():$.java.util.List;
                /**
                 * 设置云打印服务标识。
                 * @param serviceN 云打印服务标识
                 */
                setServiceN(serviceN:string):void;
                /**
                 * 设置附件详情集合。
                 * @param attachDetail 附件详情集合
                 */
                addAttachDetail(attachDetail:PrtAttach$AttachDetail):void;
                /**
                 * 设置打印结果状态。
                 * @param status 打印结果状态
                 */
                setStatus(status:string):void;
                /**
                 * 设置表单id。
                 * @param formId 表单id
                 */
                setFormId(formId:string):void;
                /**
                 * 设置打印类型。
                 * @param extType
                 */
                setExtType(extType:string):void;
                /**
                 * 设置打印任务id。
                 * @param taskId 打印任务id
                 */
                setTaskId(taskId:string):void;
                /**
                 * 获取用户id。
                 * @return 用户id
                 */
                getUserId():string;
                /**
                 * 获取表单id。
                 * @return 表单id
                 */
                getFormId():string;
                /**
                 * 设置打印机名称。
                 * @param printer 打印机名称
                 */
                setPrinter(printer:string):void;
            }
            type PrtAttach_T = $.java.io.Serializable & PrtAttach$;
            interface PrtAttach extends PrtAttach_T {
            }
        }
        namespace kd.bos.print.matchtpl{
            interface MatcherResult_S {
            }
            interface MatcherResult_C extends MatcherResult_S {
                new():MatcherResult;
            }
            interface MatcherResult$ {
                /**
                 * 模板匹配成功节点。
                 * <p>
                 *     1、<tt>1</tt>：模板条件配置；
                 *     2、<tt>2</tt>：个人设置；
                 *     3、<tt>3</tt>：打印方案；
                 *     4、<tt>4</tt>：默认模板。
                 * </p>
                 * @return 成功节点标识
                 */
                getEndMatchLevel():number;
                /**
                 * 设置模板匹配成功节点。
                 * @param endMatchLevel 匹配成功节点
                 */
                setEndMatchLevel(endMatchLevel:number):void;
                /**
                 * 获取未匹配到模板的单据内码集合。
                 * @return 单据内码集合
                 */
                getUnMatchPkIdSet():$.java.util.Set;
                /**
                 * 设置模板映射单据内码的Map集合。
                 * @param tplPkMap 映射Map集合
                 */
                setTplPkMap(tplPkMap:$.java.util.Map):void;
                /**
                 * 设置单据内码映射模板的Map集合。
                 * @param pkTplMap 映射Map集合
                 */
                setPkTplMap(pkTplMap:$.java.util.Map):void;
                /**
                 * 获取单据内码映射模板的Map集合。
                 * @return 映射Map集合
                 */
                getPkTplMap():$.java.util.Map;
                /**
                 * 获取模板映射单据内码的Map集合。
                 * @return 映射Map集合
                 */
                getTplPkMap():$.java.util.Map;
                /**
                 * 设置未匹配到模板的单据内码集合。
                 * @param unMatchPkIdSet 单据内码集合
                 */
                setUnMatchPkIdSet(unMatchPkIdSet:$.java.util.Set):void;
            }
            type MatcherResult_T = MatcherResult$;
            interface MatcherResult extends MatcherResult_T {
            }
            interface TplMatcherParam_S {
            }
            interface TplMatcherParam_C extends TplMatcherParam_S {
                new():TplMatcherParam;
            }
            interface TplMatcherParam$ {
                /**
                 * 获取页面pageId。
                 * @return 页面pageId
                 */
                getPageId():string;
                /**
                 * 获取操作。
                 * @return 操作
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 设置单据内码集合。
                 * @param pkIds 单据内码集合
                 */
                setPkIds(pkIds:$.java.util.List):void;
                /**
                 * 获取单据内码集合。
                 * @return 单据内码集合
                 */
                getPkIds():$.java.util.List;
                /**
                 * 设置应用id。
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 获取应用id。
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 设置pdf文件名。
                 * @param pdfName pdf文件名
                 */
                setPdfName(pdfName:string):void;
                /**
                 * 设置表单id。
                 * @param formId 表单id
                 */
                setFormId(formId:string):void;
                /**
                 * 设置页面pageId。
                 * @param pageId 页面pageId
                 */
                setPageId(pageId:string):void;
                /**
                 * 设置操作。
                 * @param option 操作
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 获取pdf文件名。
                 * @return pdf文件名
                 */
                getPdfName():string;
                /**
                 * 设置视图模型。
                 * @param viewType 视图模型
                 */
                setViewType(viewType:ViewType):void;
                /**
                 * 获取视图模型。
                 * @return 视图模型
                 */
                getViewType():ViewType;
                /**
                 * 获取表单id。
                 * @return 表单id
                 */
                getFormId():string;
                /**
                 * 设置实体id。
                 * @param entityId 设置实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取实体id。
                 * @return 实体id
                 */
                getEntityId():string;
            }
            type TplMatcherParam_T = TplMatcherParam$;
            interface TplMatcherParam extends TplMatcherParam_T {
            }
            interface TplMatcherResult_S {
            }
            interface TplMatcherResult_C extends TplMatcherResult_S {
                new():TplMatcherResult;
            }
            interface TplMatcherResult$ {
                /**
                 * 设置通过条件匹配到的模板Id集合
                 * @param matchFilterTemplateId 模板Id集合
                 */
                setMatchFilterTemplateId(matchFilterTemplateId:$.java.util.Set):void;
                /**
                 * 设置匹配成功节点
                 * @param endMatchLevel 匹配成功节点
                 */
                setEndMatchLevel(endMatchLevel:number):void;
                /**
                 * 获取未匹配到的单据内码集合
                 * @return 单据内码集合
                 */
                getUnMatchBillIds():$.java.util.List;
                /**
                 * 设置匹配结果
                 * @param matchPrintJob 匹配结果
                 */
                setMatchPrintJob(matchPrintJob:$.java.util.List):void;
                /**
                 * 获取通过条件匹配到的模板Id集合
                 * @return 模板Id集合
                 */
                getMatchFilterTemplateId():$.java.util.Set;
                /**
                 * 获取匹配结果
                 * @return 匹配结果
                 */
                getMatchPrintJob():$.java.util.List;
                /**
                 * 设置未匹配到的模板Id集合。
                 * @param unUseTempIds 模板Id集合
                 */
                setUnUseTempIds(unUseTempIds:$.java.util.List):void;
                /**
                 * 设置通过一个条件，多个pk,未完全匹配的模板Id集合
                 * @param invisibleFilterTemplateId 模板Id集合
                 */
                setInvisibleFilterTemplateId(invisibleFilterTemplateId:$.java.util.List):void;
                /**
                 * 获取错误信息
                 * @return 错误信息
                 */
                getErrorMsg():$.java.lang.StringBuilder;
                /**
                 * 设置错误信息
                 * @param errorMsg 错误信息
                 */
                setErrorMsg(errorMsg:$.java.lang.StringBuilder):void;
                /**
                 * 设置未匹配到的单据内码集合
                 * @param unMatchBillIds 单据内码集合
                 */
                setUnMatchBillIds(unMatchBillIds:$.java.util.List):void;
                /**
                 * 获取未匹配到的模板Id集合。
                 * <p>
                 *     用于选择模板。
                 * </p>
                 * @return 模板Id集合
                 */
                getUnUseTempIds():$.java.util.List;
                /**
                 * 获取通过一个条件，多个pk,未完全匹配的模板Id集合
                 * @return 模板Id集合
                 */
                getInvisibleFilterTemplateId():$.java.util.List;
                /**
                 * 获取匹配成功节点
                 * @return {@code "1"}：模板条件配置，{@code "2"}：个人设置，{@code "3"}：打印方案，{@code "4"}：默认模板。
                 */
                getEndMatchLevel():number;
            }
            type TplMatcherResult_T = TplMatcherResult$;
            interface TplMatcherResult extends TplMatcherResult_T {
            }
            interface TplMatcherContext_S {
            }
            interface TplMatcherContext_C extends TplMatcherContext_S {
                new():TplMatcherContext;
            }
            interface TplMatcherContext$ {
                /**
                 * 从单据类型对象中，获取pk对应的默认模板
                 * @param pkId 单据主健
                 * @return 默认模板id
                 */
                getDefaultTemplateByBillType(pkId:any):string;
                /**
                 * 获取工作流参数map
                 * @return 工作流参数map集合
                 */
                getWfParams():$.java.util.Map;
                /**
                 * 获取默认打印机
                 * @return 默认打印机id
                 */
                getDefaultPrinter():string;
                /**
                 * 获取个人打印设置
                 * @return 个人打印设置集合
                 */
                getPrintSetting():$.java.util.Map;
                /**
                 * 获取单据pk-单据状态pk映射集合
                 * @return 单据pk-单据状态pk映射集合
                 */
                getBillIdToBillTypeId():$.java.util.Map;
                /**
                 * 获取不可用的单据类型
                 * @return 不可用的单据类型名称集合
                 */
                getUnEnableBillType():$.java.util.Set;
                /**
                 * 获取单据pk-单据状态映射集合
                 * @return 单据pk-单据状态映射集合
                 */
                getBillPkAndStatusMap():$.java.util.Map;
                /**
                 * 获取有权限的打印模板集合
                 * @return 有权限的打印模板集合
                 */
                getHasPermTemplateMap():$.java.util.Map;
                setPsHeightPrioriy(psHeightPrioriy:boolean):void;
                /**
                 * 获取模板状态  0: 删除， 1：启用；2： 禁用 3:无权限
                 * @param tplId 模板id
                 * @return 模板状态
                 */
                getTplStatus(tplId:string):number;
                /**
                 * 获取单据状态数据集合
                 * @return 单据状态数据集合
                 */
                getBillTypeObjCache():$.java.util.Map;
                /**
                 * 获取默认模板，优先级：
                 * 1、打印设置默认模板
                 * 2、打印方案默认模板
                 * 3、维护打印模板列表默认模板
                 * @return 默认模板id
                 */
                getDefaultTemplateId():string;
                isPsHeightPrioriy():boolean;
                /**
                 * 查询启用的首选打印方案
                 * @return 打印方案
                 */
                getEnableScheme():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 通过单据entityId和默认模板在打印模板表中查询出默认的打印模板
                 * @return 默认打印模板
                 */
                getDefaultTplInManangeTool():string;
                /**
                 * 通过单据pk和entityId查询出单据数据
                 * @return 单据数据集合
                 */
                getBillDataMap():$.java.util.Map;
                setParam(param:TplMatcherParam):void;
                /**
                 * 调用系统参数接口查询出单据参数，其中可能配置了打印条件
                 * @return 单据参数
                 */
                getBillParameter():$.kd.bos.dataentity.entity.DynamicObject;
            }
            type TplMatcherContext_T = TplMatcherContext$;
            interface TplMatcherContext extends TplMatcherContext_T {
            }
            interface TplMatcherUtil_S {
                /**
                 * 获取实体编码。
                 * @param view 视图
                 * @return 实体编码
                 */
                getEntityTypeId(view:kd.bos.form.IFormView):string;
                getEntryPKs(view:kd.bos.form.IFormView):$.java.util.Map;
            }
            interface TplMatcherUtil_C extends TplMatcherUtil_S {
                /**
                 * 构造函数。
                 * <p>
                 *     构造一个模板匹配工具对象，用于进行打印模板匹配逻辑计算。
                 * </p>
                 * @param param 模板匹配参数
                 */
                new(param:TplMatcherParam):TplMatcherUtil;
            }
            interface TplMatcherUtil$ {
                /**
                 * 打印方案条件配置匹配。
                 * @return 模板匹配结果
                 */
                buildMatcherResultByScheme():MatcherResult;
                /**
                 * 默认模板条件配置匹配。
                 * @return 模板匹配结果
                 */
                buildMatcherResultByDefault():MatcherResult;
                /**
                 * 执行模板匹配，一个流程匹配到即返回结果。
                 * <p>
                 *     1、模板条件配置；
                 *     2、打印设置；
                 *     3、打印方案；
                 *     4、默认模板。
                 * </p>
                 * @return 模板匹配结果
                 */
                runMatcher():MatcherResult;
                /**
                 * 获取模板匹配参数。
                 * @return 模板匹配参数
                 */
                getParam():TplMatcherParam;
                /**
                 * 模板条件配置匹配。
                 * @return 模板匹配结果
                 */
                buildMatcherResultByNewPrintCondition():MatcherResult;
                /**
                 * 设置模板匹配参数。
                 * @param param 模板匹配参数
                 */
                setParam(param:TplMatcherParam):void;
                /**
                 * 打印个人设置条件配置匹配。
                 * @return 模板匹配结果
                 */
                buildMatcherResultByPrintSetting():MatcherResult;
                /**
                 * 解析{@code view}构造模板匹配参数。
                 * @param view 视图
                 * @return 模板匹配参数
                 */
                resolveView(view:kd.bos.form.IFormView):TplMatcherParam;
            }
            type TplMatcherUtil_T = TplMatcherUtil$;
            interface TplMatcherUtil extends TplMatcherUtil_T {
            }
            interface MatcherTpl_S {
            }
            interface MatcherTpl_C extends MatcherTpl_S {
            }
            interface MatcherTpl$ {
                /**
                 * 获取模板ID。
                 * @return 模板ID
                 */
                getTplId():string;
                /**
                 * 设置模板ID。
                 * @param tplId 模板ID
                 */
                setTplId(tplId:string):void;
                /**
                 * 获取模板类型。
                 * @return 模板类型
                 */
                getTplType():string;
                /**
                 * 设置模板类型。
                 * @param tplType 模板类型
                 */
                setTplType(tplType:string):void;
            }
            type MatcherTpl_T = MatcherTpl$;
            interface MatcherTpl extends MatcherTpl_T {
            }
            class ViewType {
                static readonly BILL:kd.bos.print.matchtpl.ViewType;
                static readonly OTHER:kd.bos.print.matchtpl.ViewType;
                static readonly LIST:kd.bos.print.matchtpl.ViewType;
                static readonly MOBILE_LIST:kd.bos.print.matchtpl.ViewType;
                static readonly MOBILE:kd.bos.print.matchtpl.ViewType;
                static readonly REPORT:kd.bos.print.matchtpl.ViewType;
                static valueOf(arg0:string):kd.bos.print.matchtpl.ViewType;
                static values():kd.bos.print.matchtpl.ViewType[];
            }
        }
        namespace kd.bos.print.service{
            interface BosPrintServiceHelper_S {
                /**
                 * 根据打印模板编码获取打印模板信息。
                 * @param tplNums 模板编码集合
                 * @return 模板信息Map集合，（<tt>Map.key</tt>：模板编码，<tt>Map.value</tt>模板id）。
                 */
                getTplByNum(tplNums:$.java.util.List):$.java.util.Map;
                /**
                 * 获取指定路径下，打印结果中文件的文件流。
                 * @param filePath 文件路径，详情见{@link kd.bos.print.core.service.PrtAttach.AttachDetail#getFilePath()}
                 * @param diskType 文件贮藏类型，详情见{@link kd.bos.print.core.service.PrtAttach#getDiskType()}
                 * @return 文件流
                 */
                getFileInputStream(filePath:string,diskType:string):$.java.io.InputStream;
                /**
                 * 根据打印模板编码集合，批量获取模版编码。
                 * <p>
                 *     <strong>如果同时查询多个模板，建议使用该接口减少查询次数。</strong>
                 * </p>
                 * @param tplNums 模板编码集合
                 * @return 查询到的模板Map集合. （<tt>Map.key</tt>：模板编码，<tt>Map.value</tt>模板id）. 如果编码不存在，返回结果Map中将不会有对应的Key值。
                 * @since BOS_V4.0.015
                 */
                getTplIdByNum(tplNums:$.java.util.List):$.java.util.Map;
                /**
                 * 获取【打印设置】中默认打印语言。
                 * @param userId 用户id
                 * @param formId 表单id
                 * @return 打印语言标识
                 */
                getPrintLang(userId:long,formId:string):string;
                /**
                 * 判断是否是新模板。
                 * @param tplNum 模板编码
                 * @return 如果返回<tt>null</tt>，则表示无该模板，返回<tt>true</tt>，则是新模版，返回<tt>false</tt>，则是旧模板
                 */
                isNewTpl(tplNum:string):boolean;
                /**
                 * 根据打印模版编码，获取模版id。
                 * <p>
                 *     <strong>如果同时查询多个模板，建议使用接口{@link kd.bos.print.service.BosPrintServiceHelper#getTplIdByNum(List)}，减少查询次数。</strong>
                 * </p>
                 * @param tplNum 模版编码
                 * @since BOS_V4.0.015
                 * @return 模板id
                 */
                getTplIdByNum(tplNum:string):string;
                /**
                 * 执行打印。
                 * <p>
                 *     <strong>注意：</strong>
                 *     <strong>     1、该方法生成的文件为临时文件，过期时间为3小时，文件过期自动清理；</strong>
                 *     <strong>     2、该方法仅支持新打印模板的打印，如果传入了旧模板id，将会抛出{@code KDBizException}异常。</strong>
                 * </p>
                 * @param work 打印工作，详情见{@link kd.bos.print.api.PrintWork}
                 * @return 打印结果，详情见{@link kd.bos.print.core.service.PrtAttach}
                 */
                execPrint(work:$.kd.bos.print.api.PrintWork):$.kd.bos.print.core.service.PrtAttach;
                /**
                 * 获取【打印设置】中默认打印机id。
                 * @param userId 用户id
                 * @param formId 表单id
                 * @return 打印机id
                 */
                getPrinterId(userId:long,formId:string):long;
                /**
                 * 直接打印接口。
                 * <p>
                 *     将打印结果直接发送给云打印客户端，再发送至指定的打印机实现打印，该接口需要结合客户端使用。
                 * </p>
                 * @param printerId 打印机id，详情见{@link kd.bos.print.service.BosPrintServiceHelper#getPrinterId(Long,String)}
                 * @param printWork 打印工作，详情见{@link kd.bos.print.api.PrintWork}
                 * @return 打印结果，详情见{@link kd.bos.print.core.service.PrtAttach}
                 */
                doPrintDirect(printerId:string,printWork:$.kd.bos.print.api.PrintWork):$.kd.bos.print.core.service.PrtAttach;
            }
            interface BosPrintServiceHelper_C extends BosPrintServiceHelper_S {
                new():BosPrintServiceHelper;
            }
            interface BosPrintServiceHelper$ {
            }
            type BosPrintServiceHelper_T = BosPrintServiceHelper$;
            interface BosPrintServiceHelper extends BosPrintServiceHelper_T {
            }
            interface BosPrintServiceHelper$TplInfo_S {
            }
            interface BosPrintServiceHelper$TplInfo_C extends BosPrintServiceHelper$TplInfo_S {
                new(arg0:string,arg1:string,arg2:string):BosPrintServiceHelper$TplInfo;
            }
            interface BosPrintServiceHelper$TplInfo$ {
                getTplId():string;
                getTplType():string;
                getTplKey():string;
                setTplId(arg0:string):void;
                setTplKey(arg0:string):void;
                setTplType(arg0:string):void;
            }
            type BosPrintServiceHelper$TplInfo_T = BosPrintServiceHelper$TplInfo$;
            interface BosPrintServiceHelper$TplInfo extends BosPrintServiceHelper$TplInfo_T {
            }
        }
        namespace kd.bos.print.validation{
            interface FieldScanner_S {
            }
            interface FieldScanner_C extends FieldScanner_S {
                new():FieldScanner;
                new(formId:string):FieldScanner;
                new(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):FieldScanner;
                new(meta:kd.bos.metadata.form.PrintMetadata):FieldScanner;
            }
            interface FieldScanner$ {
                scanCustomFields(meta:kd.bos.metadata.form.PrintMetadata):$.java.util.Map;
                scanCustomFields(meta:kd.bos.metadata.form.PrintMetadata,dataSourceName:string):$.java.util.Set;
                isValid(dxts:com.kingdee.bos.ctrl.reportone.r1.common.designercore.data.DataExtend[]):$.java.util.Set;
                getInvalidFields(meta:kd.bos.metadata.form.PrintMetadata):$.java.util.Set;
                scanCustomFields():$.java.util.Map;
                scanBindedFields(meta:kd.bos.metadata.form.PrintMetadata):$.java.util.Set;
            }
            type FieldScanner_T = FieldScanner$;
            interface FieldScanner extends FieldScanner_T {
            }
        }
        namespace kd.bos.privacy{
            interface DesensitizeField_S {
            }
            interface DesensitizeField_C extends DesensitizeField_S {
                new(entityNumber:string,propName:string):DesensitizeField;
            }
            interface DesensitizeField$ {
                getLocalId():string;
                setOperateType(operateType:string):void;
                getPropName():string;
                setPropName(propName:string):void;
                setLocalId(localId:string):void;
                setEntityNumber(entityNumber:string):void;
                getEntityNumber():string;
                getOperateType():string;
                getDynamicObject():$.kd.bos.dataentity.entity.DynamicObject;
                setDynamicObject(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):void;
            }
            type DesensitizeField_T = DesensitizeField$;
            interface DesensitizeField extends DesensitizeField_T {
            }
        }
        namespace kd.bos.privacy.service{
            interface PrivacyCenterService_S {
            }
            type PrivacyCenterService_ST = PrivacyCenterService_S & kd.bos.dataentity.privacy.IPrivacyCenterService_S;
            interface PrivacyCenterService_C extends PrivacyCenterService_ST {
                new():PrivacyCenterService;
            }
            interface PrivacyCenterService$ {
            }
            type PrivacyCenterService_T = PrivacyCenterService$ & kd.bos.dataentity.privacy.IPrivacyCenterService;
            interface PrivacyCenterService extends PrivacyCenterService_T {
            }
        }
        namespace kd.bos.qing{
            interface IQingControl_S {
            }
            interface IQingControl_C extends IQingControl_S {
            }
            interface IQingControl$ {
                sendEditPublishResult(params:string):void;
                closeTab():void;
                setTabDirtyStatus(params:string):void;
                linkageJump(params:string):void;
                openAppChooseForm():void;
                openTab(params:string):void;
                openNewTabWithFormId(params:string):void;
                openRoleForm(params:string):void;
                openAppMenuForm():void;
                addCardToHomepage(params:string):void;
                openUserForm(params:string):void;
            }
            type IQingControl_T = IQingControl$;
            interface IQingControl extends IQingControl_T {
            }
        }
        namespace kd.bos.report{
            interface AbstractReportModel_S {
            }
            interface AbstractReportModel_C extends AbstractReportModel_S {
                new():AbstractReportModel;
            }
            interface AbstractReportModel$ {
                /**
                 * 设置报表控件标识
                 *
                 * @param ctrlId 控件标识
                 */
                setCtrlId(ctrlId:string):void;
                /**
                 * 设置数据源配置
                 * @param dataSource 数据源
                 */
                setDataSource(dataSource:string):void;
                /**
                 * 设置查询插件
                 * @param reportQueryPlugins 查询插件
                 */
                setReportQueryPlugins(reportQueryPlugins:$.java.util.List):void;
                /**
                 * 设置查询数据源
                 * @param dataSourceId 数据源标识
                 */
                setDataSourceId(dataSourceId:string):void;
                /**
                 * 获取查询数据源
                 * @return 数据源标识
                 */
                getDataSourceId():string;
                /**
                 * 获取报表表单视图
                 * @return 报表表单视图
                 */
                getView():$.kd.bos.form.IFormView;
                /**
                 * 获取主实体
                 * @return 主实体
                 */
                getItemType():$.kd.bos.entity.MainEntityType;
                /**
                 * 获取查询插件
                 * @return 查询插件
                 */
                getPluginClassName():string;
                /**
                 * 获取查询插件
                 * @return   查询插件
                 */
                getReportQueryPlugins():$.java.util.List;
                /**
                 * 获取报表缓存服务接口
                 * @return 报表缓存服务接口
                 */
                getReportCache():$.kd.bos.entity.report.IReportCache;
                /**
                 * 设置初始字段
                 */
                setInitField(initField:$.java.util.List):void;
                /**
                 * 获取报表是否异步查询
                 * @return true（异步查询）or false（同步查询）
                 */
                isAsynQuery():boolean;
                /**
                 * 获取查询扩展插件
                 * @return   查询扩展插件
                 */
                getPluginExtPlugins():$.java.util.List;
                /**
                 * 设置表单视图
                 * @param view 表单视图
                 */
                setView(view:$.kd.bos.form.IFormView):void;
                /**
                 * 设置主实体
                 * @param itemType 实体
                 */
                setEntityType(itemType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 获取当前进度信息
                 * @return 进度(%)
                 */
                getProgress():number;
                /**
                 * 设置查询插件
                 * @param pluginClassName 查询插件
                 */
                setPluginClassName(pluginClassName:string):void;
                /**
                 * 获取初始字段
                 */
                getInitField():$.java.util.List;
                /**
                 * 获取数据源配置
                 * @return 数据源
                 */
                getDataSource():string;
                /**
                 * 设置查询扩展插件
                 * @param pluginExtPlugins 查询扩展插件
                 */
                setPluginExtPlugins(pluginExtPlugins:$.java.util.List):void;
                /**
                 * 设置页面ID
                 * @param pageId 页面ID
                 */
                setPageId(pageId:string):void;
                /**
                 * 获取报表控件标识
                 *
                 * @return 报表控件标识
                 */
                getCtrlId():string;
                /**
                 * 关闭报表
                 */
                close():void;
                /**
                 * 设置报表是否异步查询
                 * @param isAsynQuery true（异步查询）or false（同步查询）
                 */
                setAsynQuery(isAsynQuery:boolean):void;
                /**
                 * 获取页面ID
                 * @return 页面ID
                 */
                getPageId():string;
            }
            type AbstractReportModel_T = AbstractReportModel$;
            interface AbstractReportModel extends AbstractReportModel_T {
            }
            interface ReportForm_S {
                readonly REPORT_LIST_KEY:string;
                readonly REPORT_TREE_KEY:string;
                readonly FRPORT_FILTER_FORM_KEY_SUFFIX:string;
                readonly REPORT_LEFT_LIST_KEY:string;
                readonly FRPORT_MORE_FILTERPALNEL_KEY:string;
                readonly FRPORT_COMM_FILTERPALNEL_KEY:string;
                readonly FRPORT_FILTERPALNEL_KEY:string;
                readonly FRPORT_FILTER_KEY:string;
                readonly QUERY_SCHEME_ENTITY:string;
            }
            type ReportForm_ST = $.kd.bos.form.container.FormRoot & ReportForm_S;
            interface ReportForm_C extends ReportForm_ST {
                new():ReportForm;
            }
            interface ReportForm$ {
                /**
                 * 设置数据控件
                 *
                 * @param dataControl 数据控件
                 */
                setDataControl(dataControl:string):void;
                /**
                 * 获取数据控件
                 *
                 * @return 数据控件
                 */
                getDataControl():string;
                /**
                 * 设置异步查询
                 *
                 * @param asynQuery 设置为true异步查询
                 */
                setAsynQuery(asynQuery:boolean):void;
                /**
                 * 获取是否异步查询
                 *
                 * @return 返回true异步查询
                 */
                isAsynQuery():boolean;
            }
            type ReportForm_T = $.kd.bos.form.container.FormRoot & ReportForm$;
            interface ReportForm extends ReportForm_T {
            }
            interface ReportShowParameter_S {
            }
            type ReportShowParameter_ST = $.kd.bos.form.FormShowParameter & ReportShowParameter_S;
            interface ReportShowParameter_C extends ReportShowParameter_ST {
                new():ReportShowParameter;
            }
            interface ReportShowParameter$ {
                /**
                 * 设置是否联查
                 *
                 * @param linkQuery true：联查（则不加默认过滤方案） false：不联查（加载默认过滤方案）
                 */
                setLinkQuery(linkQuery:boolean):void;
                /**
                 * 获取是否联查，是否需要加载默认过滤方案
                 *
                 * @return true：联查（则不加默认过滤方案） false：不联查（加载默认过滤方案）
                 */
                isLinkQuery():boolean;
                /**
                 * 设置是否隔离组织
                 * @param isolationOrg true（隔离组织）或 false（不隔离组织）
                 */
                setIsolationOrg(isolationOrg:boolean):void;
                /**
                 * 设置查询条件，用于联查报表
                 *
                 * @param queryParam 查询条件
                 */
                setQueryParam(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 是否隔离组织
                 * @return true（隔离组织）或 false（不隔离组织）
                 */
                isIsolationOrg():boolean;
                /**
                 * 设置数据源是否是数仓，默认为普通报表
                 * @param rptDataSource 数据源
                 */
                setRptDataSource(rptDataSource:string):void;
                /**
                 * 获取数据源是否是数仓，默认为普通报表
                 * @return
                 */
                getRptDataSource():string;
                /**
                 * 获取查询条件，用于联查报表
                 *
                 * @return 查询条件
                 */
                getReportQueryParam():$.kd.bos.entity.report.ReportQueryParam;
            }
            type ReportShowParameter_T = $.kd.bos.form.FormShowParameter & ReportShowParameter$;
            interface ReportShowParameter extends ReportShowParameter_T {
            }
            interface ReportTree_S {
            }
            type ReportTree_ST = $.kd.bos.form.control.TreeView & ReportTree_S;
            interface ReportTree_C extends ReportTree_ST {
                new():ReportTree;
            }
            interface ReportTree$ {
                /**
                 * 设置查询插件全限定类名
                 *
                 * @param reportPlugin 查询插件全限定类名
                 */
                setReportPlugin(reportPlugin:string):void;
                /**
                 * 是否仅支持明细节点查询
                 *
                 * @return 返回true仅点击明细节点时查询
                 */
                isLeafNodeQuery():boolean;
                /**
                 * 获取基础资料类型
                 *
                 * @return 基础资料实体标识
                 */
                getBaseEntityId():string;
                /**
                 * 获取报表树模型接口
                 *
                 * @return
                 */
                getReportModel():$.kd.bos.entity.report.IReportTreeModel;
                /**
                 * 获取节点对象
                 *
                 * @param nodeId 节点标识
                 * @return
                 */
                getTreeNode(nodeId:string):$.kd.bos.entity.tree.TreeNode;
                /**
                 * 获取查询插件全限定类名
                 *
                 * @return 查询插件全限定类名
                 */
                getReportPlugin():string;
                /**
                 * 关闭报表
                 */
                close():void;
                /**
                 * 设置是否仅支持明细节点查询
                 *
                 * @param leafNodeQuery 设置为true仅点击明细节点时查询，点击分组节点不查询
                 */
                setLeafNodeQuery(leafNodeQuery:boolean):void;
                /**
                 * 构造树节点数据
                 */
                showData():void;
                /**
                 * 提交查询
                 * @param repotParam 报表查询参数
                 */
                submitTask(repotParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 设置基础资料类型
                 *
                 * @param baseEntityId 基础资料实体标识
                 */
                setBaseEntityId(baseEntityId:string):void;
            }
            type ReportTree_T = $.kd.bos.form.control.TreeView & ReportTree$;
            interface ReportTree extends ReportTree_T {
            }
            interface AbstractReportListModel_S {
            }
            type AbstractReportListModel_ST = $.kd.bos.entity.report.IReportListModel & AbstractReportListModel_S & AbstractReportModel_S;
            interface AbstractReportListModel_C extends AbstractReportListModel_ST {
                new():AbstractReportListModel;
            }
            interface AbstractReportListModel$ {
                /**
                 * 设置报表取数任务执行结果
                 * @param result
                 */
                setReportTaskResult(result:$.kd.bos.entity.report.ReportTaskResult):void;
                /**
                 * 报表导出预处理
                 * @param exportColumns 报表列
                 * @param data 报表数据
                 * @param numberFormatProvider 格式化信息
                 */
                preProcessExportData(exportColumns:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObjectCollection,numberFormatProvider:$.kd.bos.entity.NumberFormatProvider):void;
                /**
                 * 获取报表取数任务执行结果
                 *
                 * @return 执行结果
                 */
                getReportTaskResult():$.kd.bos.entity.report.ReportTaskResult;
                /**
                 * @return 合计小计标题所放的列
                 */
                getSummaryTitleFields():$.java.util.List;
                /**
                 * 获取报表合计数据
                 * @return
                 */
                getSummaryValueMap():$.java.util.Map;
            }
            type AbstractReportListModel_T = $.kd.bos.entity.report.IReportListModel & AbstractReportListModel$ & AbstractReportModel;
            interface AbstractReportListModel extends AbstractReportListModel_T {
            }
            interface ReportOperationColumn_S {
            }
            type ReportOperationColumn_ST = $.kd.bos.entity.report.AbstractReportColumn & ReportOperationColumn_S;
            interface ReportOperationColumn_C extends ReportOperationColumn_ST {
                new():ReportOperationColumn;
            }
            interface ReportOperationColumn$ {
                /**
                 * 获取报表列是否隐藏
                 * @return true（隐藏）or false（不隐藏）
                 */
                isHide():boolean;
                /**
                 * 获取列标识
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 设置列标识
                 * @param fieldKey 列标识
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 设置操作列显示风格
                 * @param showStyle 操作列显示风格：0(默认风格)、1(下拉列表)
                 */
                setOperationColumnShowStyle(showStyle:number):void;
                /**
                 * 获取列宽度
                 * @return
                 */
                getWidth():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取操作列显示风格
                 *
                 * @return 0(默认风格)、1(下拉列表)
                 */
                getOperationColumnShowStyle():number;
                /**
                 * 设置报表列是否隐藏
                 * @param isHide true（隐藏）or false（不隐藏）
                 */
                setHide(isHide:boolean):void;
                /**
                 * 获取操作项
                 * @return 操作项集合
                 */
                getOperationColItems():$.java.util.List;
                /**
                 * 设置列宽度
                 * @param width 宽度
                 */
                setWidth(width:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置操作项
                 * @param operationColItems 操作项集合
                 */
                setOperationColItems(operationColItems:$.java.util.List):void;
            }
            type ReportOperationColumn_T = $.kd.bos.entity.report.AbstractReportColumn & ReportOperationColumn$;
            interface ReportOperationColumn extends ReportOperationColumn_T {
            }
            interface IReportView_S {
            }
            type IReportView_ST = $.kd.bos.form.IFormView & IReportView_S;
            interface IReportView_C extends IReportView_ST {
            }
            interface IReportView$ {
                /**
                 * 刷新数据
                 */
                refresh():void;
                /**
                 * 获取当前进度
                 *
                 * @return 进度(%)
                 */
                getProgress():number;
                /**
                 * 获取查询参数
                 *
                 * @return 查询参数
                 */
                getQueryParam():$.kd.bos.entity.report.ReportQueryParam;
                /**
                 * 获取常用的过滤条件
                 *
                 * @return 过滤条件
                 */
                getControlFilters():$.kd.bos.entity.filter.ControlFilters;
                /**
                 * 设置进度条进度
                 *
                 * @param percent 进度（%）
                 */
                setProgress?(percent:number):void;
                /**
                 * 是否异步查询
                 *
                 * @return 返回true是异步查询
                 */
                isAsynQuery():boolean;
                /**
                 * 获取当前操作
                 * @return
                 */
                getFormOperate?():$.kd.bos.form.operate.FormOperate;
                /**
                 * 展示数据
                 */
                showData():void;
                /**
                 * 向前端端发送获取列表设置的指令
                 *
                 * 前端接到请求后会调用FormController中的savesetting方法，将设置回传到服务端
                 *
                 * @return 指令接口
                 */
                requestGridInfo():void;
            }
            type IReportView_T = $.kd.bos.form.IFormView & IReportView$;
            interface IReportView extends IReportView_T {
            }
            interface ReportList_S {
                reportPropUtil_createReportType:$.java.lang.reflect.Method;
            }
            type ReportList_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.control.AbstractGrid & ReportList_S;
            interface ReportList_C extends ReportList_ST {
                new():ReportList;
            }
            interface ReportList$ {
                /**
                 * 刷新
                 */
                refresh():void;
                /**
                 * 获取报表全选情况下，反选的选择行
                 * @return
                 */
                getNotSelectedRows():number[];
                /**
                 * 获取报表是否异步查询
                 * @return true（异步查询）or false（同步查询）
                 */
                isAsynQuery():boolean;
                /**
                 * 获取报表列表动态代理
                 * @return
                 */
                getReportListProxy():kd.bos.report.proxy.ReportListProxy;
                /**
                 * 创建表格列
                 */
                initGrid():void;
                /**
                 * 保存用户报表列表字段宽度设置
                 * @param setting
                 */
                saveGridViewWidth(setting:$.java.util.Map):void;
                /**
                 * 设置左上角数据总条数
                 * @param showCount true（默认展示） false(隐藏)
                 */
                setShowCount(showCount:boolean):void;
                /**
                 * 与前端交互接口，前端表头过滤数据发到后端
                 *
                 * @param filter 过滤数据包
                 */
                getGridDataByFilter(filter:$.java.util.List):void;
                /**
                 * 一键收起所有节点，后端可直接调用，调用后会清空当前页面的数据，前端会重新通过getVirtualData请求数据
                 */
                collapseAllNode():void;
                /**
                 * 获取报表查询插件
                 * @return 查询插件全限定类名
                 */
                getReportQueryPlugins():$.java.util.List;
                /**
                 * 返回是否"选择全部"开关
                 *
                 * @return 是否"选择全部"开关
                 */
                isSelectedAll():boolean;
                /**
                 * 获取是否显示序号列
                 * @return true（显示）or false（不显示）
                 */
                isShowSeq():boolean;
                /**
                 * 设置是否显示表格配置
                 * @param hasSettingRow true（显示表格配置）or false（不显示表格配置）
                 */
                setHasSettingRow(hasSettingRow:boolean):void;
                /**
                 * 获取报表列
                 * @return 报表全部列
                 */
                getColumns():$.java.util.List;
                /**
                 * 是否显示表格配置
                 * @return true（显示表格配置）or false（不显示表格配置）
                 */
                isHasSettingRow():boolean;
                /**
                 * 列表用户选项配置（与前端接口）
                 *
                 * @param columnsWidthInFrontEnd 前端传过来的用户选项配置
                 */
                listFieldsControl(columnsWidthInFrontEnd:$.java.util.List):void;
                /**
                 * 获取Pdf导出类
                 * @return Pdf导出类全限定类名
                 */
                getPdfExporter():string;
                /**
                 * 获取报表查询插件
                 * @return 查询插件全限定类名
                 */
                getReportPluginClassName():string;
                /**
                 * 设置默认选择行
                 * @param defaultSelectRow true（默认选择行）or false（不默认选择）
                 */
                setDefaultSelectRow(defaultSelectRow:boolean):void;
                /**
                 * 设置查询数据源
                 * @param dataSourceId 查询数据源
                 */
                setDataSourceId(dataSourceId:string):void;
                /**
                 * 创建空表格
                 */
                initEmptyGrid():void;
                /**
                 * 获取报表数据模型
                 * @return
                 */
                getReportModel():$.kd.bos.entity.report.IReportListModel;
                /**
                 * 一键展开所有节点，后端可直接调用，调用后会清空当前页面的数据，前端会重新通过getVirtualData请求数据
                 */
                expandAllNode():void;
                /**
                 * 设置合计类型（供插件使用，可以在 beforeQuery 事件中设置）
                 *
                 * @param totalType 合计类型
                 */
                setTotalType(totalType:string):void;
                /**
                 * 获取报表配置的限流方案场景编码，用于获取限流接口
                 *
                 * @param type 导出限流配置；查询限流配置
                 * @return
                 */
                getLimitSceneCode(type_arg:ReportList$LimitType,entityId:string):string;
                /**
                 * 虚模式取数
                 *
                 * @param startIndex 初始位置
                 * @param length     查询条数
                 * @param parentId   父节点ID
                 * @param currentSeq 当前行号
                 */
                getVirtualData(startIndex:number,length:number,parentId:string,currentSeq:number):void;
                /**
                 * 保存报表列的宽度设置到表格配置
                 *
                 * @param columnKey 报表列标识
                 * @param width     宽度
                 */
                postColWidth(columnKey:string,width:string):void;
                /**
                 * 获取报表列表实体模型，可通过模型获取报表列表数据
                 * @return
                 */
                getAbstractReportModel():AbstractReportListModel;
                /**
                 * 设置报表查询插件
                 * @param reportPluginClassName 查询插件全限定类名
                 */
                setReportPluginClassName(reportPluginClassName:string):void;
                /**
                 * 导出pdf文件
                 *
                 * @param info 格式设置
                 * @param columnSetting 列设置
                 *
                 * @return 生成的文件url
                 */
                exportPdf(info:$.kd.bos.entity.print.PaperSetting,columnSetting:$.java.util.Map):string;
                /**
                 * 获取报表缓存，包含页面过滤条件，查询结果集等
                 * @return {@link IReportCache}
                 */
                getReportCache():$.kd.bos.entity.report.IReportCache;
                /**
                 * 设置二次过滤支持的最大行数
                 * @param filter2ndMaxRowCount 最大行数
                 */
                setFilter2ndMaxRowCount(filter2ndMaxRowCount:number):void;
                /**
                 * 设置二次排序支持的最大行数，最大支持为10万。超过10万按10万处理
                 * @param order2ndMaxRowCount 最大行数
                 */
                setOrder2ndMaxRowCount(order2ndMaxRowCount:number):void;
                /**
                 * 获取设置的合计类型
                 *
                 * @return
                 */
                getTotalType():string;
                /**
                 * 获取报表所有列
                 *
                 * @return 报表所有列
                 */
                getAllColumns():$.java.util.List;
                /**
                 * 排序
                 *
                 * @param columnName
                 *            列标识
                 * @param sortStyle
                 *            排序标识 0：无排序、1：升序、2：降序
                 */
                setRowSort(columnName:string,sortStyle:number):void;
                /**
                 * 获取报表总记录数
                 *
                 * @return 总记录数
                 */
                getTotalRecords():number;
                /**
                 * 获取报表数据源
                 * 已隐藏该属性，替换为查询数据源
                 * @return 数据源JSON串
                 */
                getDataSource():string;
                /**
                 * 获取查询数据源
                 *
                 * @return 查询数据源
                 */
                getDataSourceId():string;
                /**
                 * 设置报表查询扩展插件
                 * @param reportExtPlugins 查询插件全限定类名
                 */
                setReportExtPlugins(reportExtPlugins:$.java.util.List):void;
                /**
                 * 获取报表平铺列（不包含报表分组）
                 * @param reportColumns 报表列（包含报表分组）
                 * @return
                 */
                getReportColumnList(reportColumns:$.java.util.List):$.java.util.List;
                /**
                 * 分批获取行数据
                 */
                loadAllData():void;
                /**
                 * 获取二次排序支持的最大行数
                 * @return
                 */
                getOrder2ndMaxRowCount():number;
                /**
                 * 设置显示序号列
                 * @param isShowSeq true（显示）or false（不显示）
                 */
                setShowSeq(isShowSeq:boolean):void;
                /**
                 * 从缓存中获取报表合并字段
                 * @return
                 */
                getMergeMapFromCache():$.java.util.Map;
                /**
                 * 设置报表数据源
                 * 已隐藏该属性，替换为查询数据源
                 * @param dataSource 数据源
                 */
                setDataSource(dataSource:string):void;
                /**
                 * 设置属性值：支持列头排序
                 * @param colSort 设置为true：支持列头排序
                 */
                setColSort(colSort:boolean):void;
                /**
                 * 获取每页行数
                 *
                 * @return 每行行数
                 */
                getPageRows():number;
                /**
                 * 获取Excel导出类
                 * @return Excel导出类全限定类名
                 */
                getExcelExporter():string;
                existQueryPlugin():boolean;
                /**
                 * 提交报表查询任务
                 * @param repotParam 报表查询参数
                 * @param selectedObj 报表任务参数
                 */
                submitTask(repotParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):void;
                initQueryPlugin():$.kd.bos.entity.report.IReportListDataPlugin;
                /**
                 * 设置属性值：支持列头过滤
                 * @param colFilter 设置为true：支持列头过滤
                 */
                setColFilter(colFilter:boolean):void;
                /**
                 * 判断列是否有字段权限(查看)
                 * @param colKey 列名
                 * @return 有权，返回true；默认有权
                 */
                hasReadFieldRight(colKey:string):boolean;
                /**
                 * 获取报表查询扩展插件
                 * @return 查询插件全限定类名
                 */
                getReportExtPlugins():$.java.util.List;
                /**
                 * 获取二次过滤支持的最大行数
                 * @return
                 */
                getFilter2ndMaxRowCount():number;
                /**
                 * 获取报表合并字段
                 * @return
                 */
                getMergeMap():$.java.util.Map;
                /**
                 * 虚模式取数
                 *
                 * @param startIndex 初始位置
                 * @param length     查询条数
                 */
                getVirtualData(startIndex:number,length:number):void;
                /**
                 * 设置是否开启异步合计
                 *
                 * @param asyncTotal
                 */
                setAsyncTotal(asyncTotal:boolean):void;
                /**
                 * 虚模式取数
                 *
                 * @param startIndex 初始位置
                 * @param length     查询条数
                 * @param parentId
                 */
                getVirtualData(startIndex:number,length:number,parentId:string):void;
                /**
                 * 获取是否开启异步合计
                 *
                 * @return
                 */
                isAsyncTotal():boolean;
                /**
                 * 设置报表合并字段
                 * @param mergeMap
                 */
                setMergeMap(mergeMap:$.java.util.Map):void;
                /**
                 * 是否显示左上角数据总条数
                 *
                 * @return true（默认展示） false(隐藏)
                 */
                isShowCount():boolean;
                /**
                 * 获取弹性域拆分逻辑实现服务类
                 * @return
                 */
                getFlexColumnSplitService():kd.bos.report.flex.FlexColumnSplitService;
                /**
                 * 选项属性：支持列头排序，默认关闭
                 * @return true=支持列头排序，默认返回false=不支持列头排序
                 */
                isColSort():boolean;
                /**
                 * 导出报表表格
                 *
                 * @return 生成的文件url
                 */
                exportExcel():string;
                /**
                 * 选项属性：支持列头过滤，默认关闭：对报表结果进行二次过滤
                 * @return true=支持列头过滤，默认返回false=不支持列头过滤
                 */
                isColFilter():boolean;
                /**
                 * 获取默认选择行
                 * @return true（默认选择行）or false（不默认选择）
                 */
                isDefaultSelectRow():boolean;
                /**
                 * 获取界面规则
                 *
                 * @return 界面规则
                 */
                getClientRules():$.java.util.List;
                /**
                 * 关闭报表
                 */
                close():void;
                /**
                 * 设置报表是否异步查询
                 * @param isAsynQuery true（异步查询）or false（同步查询）
                 */
                setAsynQuery(isAsynQuery:boolean):void;
                /**
                 * 设置"选择全部"开关
                 *
                 * @param selectedAll
                 *            "选择全部"开关
                 */
                setSelectedAll(selectedAll:boolean):void;
                setReportQueryPlugins(reportQueryPlugins:$.java.util.List):void;
                /**
                 * 数据包装事件监听，用于修改发送给前端之前的数据，用于单元格填值
                 *
                 * @param packageDataListener 数据包装事件参数
                 */
                addPackageDataListener(consumer:(t:any)=>void):void;
                /**
                 * 设置界面规则
                 * @param clientRules 界面规则
                 */
                setClientRules(clientRules:$.java.util.List):void;
            }
            type ReportList_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.control.AbstractGrid & ReportList$;
            interface ReportList extends ReportList_T {
            }
            class ReportList$LimitType {
                static readonly EXPORT_LIMIT:kd.bos.report.ReportList$LimitType;
                static readonly QUERY_LIMIT:kd.bos.report.ReportList$LimitType;
                static values():kd.bos.report.ReportList$LimitType[];
                static valueOf(arg0:string):kd.bos.report.ReportList$LimitType;
                getCode():string;
            }
            interface ReportSelectedRow_S {
            }
            type ReportSelectedRow_ST = $.java.io.Serializable & ReportSelectedRow_S;
            interface ReportSelectedRow_C extends ReportSelectedRow_ST {
                new():ReportSelectedRow;
            }
            interface ReportSelectedRow$ {
                /**
                 * 设置控件ID
                 * @param ctrlId 控件ID
                 */
                setCtrlId(ctrlId:string):void;
                /**
                 * 设置实体标识
                 * @param entityId 实体标识
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取行索引
                 * @return 行索引
                 */
                getRowIndex():number;
                /**
                 * 设置行索引
                 * @param rowIndex 行索引
                 */
                setRowIndex(rowIndex:number):void;
                /**
                 * 获取实体标识
                 * @return 实体标识
                 */
                getEntityId():string;
                /**
                 * 获取控件ID
                 * @return 控件ID
                 */
                getCtrlId():string;
            }
            type ReportSelectedRow_T = $.java.io.Serializable & ReportSelectedRow$;
            interface ReportSelectedRow extends ReportSelectedRow_T {
            }
        }
        namespace kd.bos.report.events{
            interface SummaryEvent_S {
            }
            type SummaryEvent_ST = $.java.io.Serializable & SummaryEvent_S;
            interface SummaryEvent_C extends SummaryEvent_ST {
                new():SummaryEvent;
            }
            interface SummaryEvent$ {
                /**
                 * 获取格式化合计值
                 * @return 格式化合计值
                 */
                getFormatSummaryValue():any;
                /**
                 * 设置原始合计值
                 * @param srcSummaryValue 原始合计值
                 */
                setSrcSummaryValue(srcSummaryValue:any):void;
                /**
                 * 设置列标识
                 * @param columnName 列标识
                 */
                setColumnName(columnName:string):void;
                /**
                 * 获取列标识
                 * @return 列标识
                 */
                getColumnName():string;
                /**
                 * 获取原始合计值
                 * @return 原始合计值
                 */
                getSrcSummaryValue():any;
                /**
                 * 设置格式化合计值
                 * @param formatSummaryValue 格式化合计值
                 */
                setFormatSummaryValue(formatSummaryValue:any):void;
            }
            type SummaryEvent_T = $.java.io.Serializable & SummaryEvent$;
            interface SummaryEvent extends SummaryEvent_T {
            }
            interface SearchEvent_S {
            }
            type SearchEvent_ST = $.java.util.EventObject & SearchEvent_S;
            interface SearchEvent_C extends SearchEvent_ST {
                /**
                 * 构造函数
                 * @param source 事件源-报表过滤控件
                 */
                new(source:any):SearchEvent;
            }
            interface SearchEvent$ {
                /**
                 * 设置查询参数
                 * @param repotParam 查询参数
                 */
                setRepotParam(repotParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 获取查询参数
                 *
                 * @return 查询参数
                 */
                getRepotParam():$.kd.bos.entity.report.ReportQueryParam;
            }
            type SearchEvent_T = $.java.util.EventObject & SearchEvent$;
            interface SearchEvent extends SearchEvent_T {
            }
            interface QueryEvent_S {
            }
            interface QueryEvent_C extends QueryEvent_S {
                new():QueryEvent;
            }
            interface QueryEvent$ {
                /**
                 * 查看是否取消
                 *  @return true（取消）or false（不取消）
                 */
                isCancel():boolean;
                /**
                 * 获取查询参数
                 *  @return 查询参数
                 */
                getQueryParam():$.kd.bos.entity.report.ReportQueryParam;
                /**
                 * 设置是否取消
                 *  @param cancel true（取消）or false（不取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置查询参数
                 *  @param queryParam 查询参数
                 */
                setQueryParam(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
            }
            type QueryEvent_T = QueryEvent$;
            interface QueryEvent extends QueryEvent_T {
            }
            interface FormatShowFilterEvent_S {
            }
            type FormatShowFilterEvent_ST = $.java.util.EventObject & FormatShowFilterEvent_S;
            interface FormatShowFilterEvent_C extends FormatShowFilterEvent_ST {
                /**
                 * 构造方法
                 * @param filter 过滤条件
                 * @param formatedFilterString 过滤条件的格式
                 */
                new(ctrlPK:string,filter:$.kd.bos.entity.report.FilterInfo,formatedFilterString:string):FormatShowFilterEvent;
            }
            interface FormatShowFilterEvent$ {
                /**
                 * 获取过滤条件
                 * @return 过滤条件
                 */
                getFilter():$.kd.bos.entity.report.FilterInfo;
                /**
                 * 获取过滤条件的格式
                 * @return 格式字符串
                 */
                getFormatedFilterString():string;
                /**
                 * 格式化条件事件设置过滤条件的格式
                 * @param formatedFilterString
                 */
                setFormatedFilterString(formatedFilterString:string):void;
            }
            type FormatShowFilterEvent_T = $.java.util.EventObject & FormatShowFilterEvent$;
            interface FormatShowFilterEvent extends FormatShowFilterEvent_T {
            }
            interface CellStyleRule_S {
            }
            interface CellStyleRule_C extends CellStyleRule_S {
                new():CellStyleRule;
            }
            interface CellStyleRule$ {
                /**
                 * 设置透明度
                 * @param degree 透明度，数值范围[0 - 100]
                 */
                setDegree(degree:number):void;
                /**
                 * 获取前景色
                 * @return 前景色
                 */
                getForeColor():string;
                /**
                 * 设置前景色
                 * @param foreColor 前景色，格式如"#666666"
                 */
                setForeColor(foreColor:string):void;
                /**
                 * 获取报表列标识
                 * @return 列标识
                 */
                getFieldKey():string;
                /**
                 * 设置前置条件，值与设计器中的表达式一致
                 * @param condition 条件表达式，格式如"integerfield > 100"
                 */
                setCondition(condition:string):void;
                /**
                 * 设置报表列标识
                 * @param fieldKey 列标识
                 */
                setFieldKey(fieldKey:string):void;
                /**
                 * 获取前置条件，值与设计器中的表达式一致
                 * @return 条件表达式
                 */
                getCondition():string;
                /**
                 * 获取透明度
                 * @return 透明度
                 */
                getDegree():number;
                /**
                 * 设置背景色
                 * @param backgroundColor 背景色，格式如"#FD6C6A"
                 */
                setBackgroundColor(backgroundColor:string):void;
                /**
                 * 获取背景色
                 * @return 背景色
                 */
                getBackgroundColor():string;
            }
            type CellStyleRule_T = CellStyleRule$;
            interface CellStyleRule extends CellStyleRule_T {
            }
            interface CreateFilterInfoEvent_S {
            }
            type CreateFilterInfoEvent_ST = $.java.util.EventObject & CreateFilterInfoEvent_S;
            interface CreateFilterInfoEvent_C extends CreateFilterInfoEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param source 事件源
                 * @param view 报表表单视图
                 * @param fieldKey 列标识
                 */
                new(source:any,view:$.kd.bos.form.IFormView,fieldKey:string):CreateFilterInfoEvent;
            }
            interface CreateFilterInfoEvent$ {
                /**
                 * 获取报表表单视图
                 *
                 * @return 表单视图
                 */
                getView():$.kd.bos.form.IFormView;
                /**
                 * 获取列标识
                 * @return 列标识
                 */
                getFieldKey():string;
                /**
                 * 获取过滤信息
                 * @return 过滤信息
                 */
                getFilterInfo():$.java.util.Map;
                /**
                 * 获取是否取消，不再执行插件后面逻辑
                 * @return 返回true取消
                 */
                isCancel():boolean;
                /**
                 * 设置是否取消
                 *
                 * @param cancel true（取消）or false（未取消）
                 */
                setCancel(cancel:boolean):void;
                /**
                 * 设置过滤信息
                 * @param filterInfo 过滤信息
                 */
                setFilterInfo(filterInfo:$.java.util.Map):void;
            }
            type CreateFilterInfoEvent_T = $.java.util.EventObject & CreateFilterInfoEvent$;
            interface CreateFilterInfoEvent extends CreateFilterInfoEvent_T {
            }
            interface SortAndFilterEvent_S {
            }
            type SortAndFilterEvent_ST = $.java.io.Serializable & SortAndFilterEvent_S;
            interface SortAndFilterEvent_C extends SortAndFilterEvent_ST {
                new():SortAndFilterEvent;
            }
            interface SortAndFilterEvent$ {
                /**
                 * 获取列标识
                 * @return 列标识
                 */
                getColumnName():string;
                /**
                 * 设置列标识
                 * @param columnName 列标识
                 */
                setColumnName(columnName:string):void;
                /**
                 * 设置列显示名称（标题）
                 * @param displayName 列显示名称（多语言）
                 */
                setDisplayName(displayName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 关闭本列的列头过滤功能
                 * <p></p>
                 * 列表可通过选项开启全部列的列头过滤功能，由平台自动解析列头条件对报表结果进行二次过滤。
                 * 如果某列比较特殊，开启列头过滤会导致过滤错误，插件可以在{@link kd.bos.report.plugin.IReportFormPlugin#setSortAndFilter(List)}事件，关闭指定列的列头过滤
                 * <p></p>
                 * 本方法和{@link #setFilter(boolean)}的差别是什么？
                 * {@link #isFilter()}属性为true由插件解析列头条件, 为false由平台自动解析列头条件
                 * {@link #isDisableFilter()}属性为true强制关闭本列列头过滤功能
                 *
                 * @param disableFilter 设置为true,停用本列列头过滤
                 */
                setDisableFilter(disableFilter:boolean):void;
                /**
                 * 获取列显示名称（标题）
                 *
                 * @return 列显示名称（多语言）
                 */
                getDisplayName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取是否排序
                 * @return 默认返回false不排序
                 */
                isSort():boolean;
                /**
                 * 获取是否过滤
                 * @return 默认返回false不过滤
                 */
                isFilter():boolean;
                /**
                 * 是否关闭本列的列头过滤功能？
                 * @return 返回true，关闭列头过滤功能
                 */
                isDisableFilter():boolean;
                /**
                 * 是否关闭本列的列头排序功能？
                 * @return 返回true，关闭列头排序功能
                 */
                isDisableSort():boolean;
                /**
                 * 设置是否排序
                 * @param sort 设置true排序
                 */
                setSort(sort:boolean):void;
                /**
                 * 关闭本列的列头排序功能
                 * <p></p>
                 * 列表可通过选项开启全部列的列头排序功能，由平台对报表结果进行二次排序。
                 * 如果某列比较特殊，开启自动列头排序会导致数据错乱，插件可以在{@link kd.bos.report.plugin.IReportFormPlugin#setSortAndFilter(List)}事件，关闭指定列的列头排序
                 * @param disableSort 设置为true,停用本列列头排序
                 */
                setDisableSort(disableSort:boolean):void;
                /**
                 * 设置是否过滤
                 * @param filter 设置为true过滤
                 */
                setFilter(filter:boolean):void;
            }
            type SortAndFilterEvent_T = $.java.io.Serializable & SortAndFilterEvent$;
            interface SortAndFilterEvent extends SortAndFilterEvent_T {
            }
            interface FlexEvent_S {
            }
            interface FlexEvent_C extends FlexEvent_S {
                new():FlexEvent;
            }
            interface FlexEvent$ {
                /**
                 * 报表弹性域字段下类型
                 * @return
                 */
                getFlexProperty():$.java.util.List;
                /**
                 * 设置弹性域字段下的类型
                 * @param flexProperty
                 */
                setFlexProperty(flexProperty:$.java.util.List):void;
            }
            type FlexEvent_T = FlexEvent$;
            interface FlexEvent extends FlexEvent_T {
            }
            interface MergeColumnRule_S {
            }
            type MergeColumnRule_ST = $.java.io.Serializable & MergeColumnRule_S;
            interface MergeColumnRule_C extends MergeColumnRule_ST {
                /**
                 * 无参构造函数
                 */
                new():MergeColumnRule;
                /**
                 * 构造函数
                 * @param groupColumns 分组字段
                 * @param mergeColumns 合并字段
                 */
                new(groupColumns:$.java.util.List,mergeColumns:$.java.util.List):MergeColumnRule;
            }
            interface MergeColumnRule$ {
                /**
                 * 添加分组字段（根据该分组字段的值判断是否需要合并单元格）
                 *
                 * @param groupColumns
                 */
                addGroupColumn(...groupColumns:string[]):void;
                /**
                 * 获取分组字段（根据该分组字段的值判断是否需要合并单元格）
                 *
                 * @return
                 */
                getGroupColumns():$.java.util.List;
                /**
                 * 清除当前单元格数据
                 *
                 * @param sheet       excel表
                 * @param rowIndex    行号
                 * @param columnIndex 列号
                 */
                setBlank(sheet:any,rowIndex:number,columnIndex:number):void;
                /**
                 * 添加该分组下需要合并单元格的字段
                 *
                 * @param mergeColumns
                 */
                addMergeColumn(...mergeColumns:string[]):void;
                /**
                 * 获取该分组下需要合并单元格的字段
                 *
                 * @return
                 */
                getMergeColumns():$.java.util.List;
            }
            type MergeColumnRule_T = $.java.io.Serializable & MergeColumnRule$;
            interface MergeColumnRule extends MergeColumnRule_T {
            }
            interface TreeReportListEvent_S {
            }
            interface TreeReportListEvent_C extends TreeReportListEvent_S {
                new():TreeReportListEvent;
            }
            interface TreeReportListEvent$ {
                /**
                 * 设置树形报表展开列ID
                 * @param treeExpandColId 展开列ID
                 */
                setTreeExpandColId(treeExpandColId:string):void;
                /**
                 * 获取是否树形报表
                 * @return 返回true是树形报表
                 */
                isTreeReportList():boolean;
                /**
                 * 获取树形报表展开列ID
                 * @return 展开列ID
                 */
                getTreeExpandColId():string;
                /**
                 * 设置是否树形报表
                 * @param isTreeReportList 设置为true是树形报表
                 */
                setTreeReportList(isTreeReportList:boolean):void;
            }
            type TreeReportListEvent_T = TreeReportListEvent$;
            interface TreeReportListEvent extends TreeReportListEvent_T {
            }
            interface ColHeadFilterClickEvent_S {
            }
            type ColHeadFilterClickEvent_ST = $.java.io.Serializable & ColHeadFilterClickEvent_S;
            interface ColHeadFilterClickEvent_C extends ColHeadFilterClickEvent_ST {
                new(filterInfoEvents:$.java.util.List,tableHeadFilterItems:$.java.util.List,fieldKey:string,value:any,compareType:string):ColHeadFilterClickEvent;
            }
            interface ColHeadFilterClickEvent$ {
                /**
                 * 获取过滤值
                 *
                 * @return
                 */
                getValue():any;
                /**
                 * 获取表头过滤字段
                 *
                 * @return
                 */
                getFilterInfoEvents():$.java.util.List;
                /**
                 * 获取当前表头过滤字段
                 *
                 * @return
                 */
                getFieldKey():string;
                /**
                 * 获取报表表头过滤条件
                 *
                 * @return
                 */
                getTableHeadFilterItems():$.java.util.List;
                /**
                 * 获取比较符
                 *
                 * @return
                 */
                getCompareType():string;
            }
            type ColHeadFilterClickEvent_T = $.java.io.Serializable & ColHeadFilterClickEvent$;
            interface ColHeadFilterClickEvent extends ColHeadFilterClickEvent_T {
            }
            interface CreateColumnEvent_S {
            }
            type CreateColumnEvent_ST = $.java.util.EventObject & CreateColumnEvent_S;
            interface CreateColumnEvent_C extends CreateColumnEvent_ST {
                /**
                 * 构造函数
                 *
                 * @param gridPK 列表表格标识
                 * @param columns     报表列
                 * @param queryParam  查询参数
                 * @param selectedObj 关联条件
                 */
                new(gridPK:string,columns:$.java.util.List,queryParam:$.kd.bos.entity.report.ReportQueryParam,selectedObj:any):CreateColumnEvent;
            }
            interface CreateColumnEvent$ {
                /**
                 * 获取报表查询参数
                 * @return 查询参数
                 */
                getQueryParam():$.kd.bos.entity.report.ReportQueryParam;
                /**
                 * 获取报表所有列
                 * @return 列集合
                 */
                getColumns():$.java.util.List;
                /**
                 * 获取关联条件
                 * @return 关联条件，如选中行的数据参数
                 */
                getSelectedObj():any;
            }
            type CreateColumnEvent_T = $.java.util.EventObject & CreateColumnEvent$;
            interface CreateColumnEvent extends CreateColumnEvent_T {
            }
            interface ReportExportInitializeEvent_S {
            }
            type ReportExportInitializeEvent_ST = $.java.io.Serializable & ReportExportInitializeEvent_S;
            interface ReportExportInitializeEvent_C extends ReportExportInitializeEvent_ST {
                /**
                 * 无参构造函数
                 */
                new():ReportExportInitializeEvent;
                /**
                 * 报表导出初始化事件，可以设置报表导出单元格合并规则
                 *
                 * @param mergeColumnRules {@link MergeColumnRule}单元格合并规则
                 */
                new(mergeColumnRules:$.java.util.List):ReportExportInitializeEvent;
            }
            interface ReportExportInitializeEvent$ {
                /**
                 * 获取报表导出每页行数
                 *
                 * @return
                 */
                getExportPageSize():number;
                /**
                 * 设置单元格合并规则
                 *
                 * @param mergeColumnRules
                 */
                setMergeColumnRules(mergeColumnRules:$.java.util.List):void;
                /**
                 * 添加单元格合并规则
                 *
                 * @param mergeColumnRule
                 */
                addMergeColumnRule(mergeColumnRule:MergeColumnRule):void;
                /**
                 * 获取单元格合并规则
                 *
                 * @return
                 */
                getMergeColumnRules():$.java.util.List;
                /**
                 * 设置报表导出每页行数，应该大于0且小于10W
                 *
                 * @param exportPageSize
                 */
                setExportPageSize(exportPageSize:number):void;
            }
            type ReportExportInitializeEvent_T = $.java.io.Serializable & ReportExportInitializeEvent$;
            interface ReportExportInitializeEvent extends ReportExportInitializeEvent_T {
            }
        }
        namespace kd.bos.report.filter{
            interface SearchListener_S {
            }
            interface SearchListener_C extends SearchListener_S {
            }
            interface SearchListener$ {
                /**
                 * 点击搜索按钮，启动查询
                 *
                 * @param evt 事件参数
                 */
                search(evt:kd.bos.report.events.SearchEvent):void;
            }
            type SearchListener_T = SearchListener$;
            interface SearchListener extends SearchListener_T {
            }
            interface ReportFilter_S {
            }
            type ReportFilter_ST = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.container.Container & ReportFilter_S;
            interface ReportFilter_C extends ReportFilter_ST {
                new():ReportFilter;
            }
            interface ReportFilter$ {
                /**
                 * 获取已选过滤字段设置
                 *
                 * @return 过滤字段
                 */
                getShowFilterFields():string;
                /**
                 * 获取用户初始字段
                 * @return
                 */
                getDefaultHiddenFields():$.java.util.List;
                /**
                 * 必录校验
                 *
                 * @return
                 */
                isFilterMustInput():boolean;
                /**
                 * 设置用户配置
                 * @param userConfiguration
                 */
                setUserConfiguration(userConfiguration:boolean):void;
                /**
                 * 获取用户配置
                 * @return
                 */
                isUserConfiguration():boolean;
                /**
                 * 获取过滤配置
                 *
                 * @return 过滤配置
                 */
                getReportFilterFieldConfig():$.kd.bos.entity.report.queryds.ReportFilterFieldConfig;
                /**
                 * 获取报表查询参数
                 * @return {@link ReportQueryParam}
                 */
                getReportQueryParam():$.kd.bos.entity.report.ReportQueryParam;
                /**
                 * 设置过滤字段必录校验
                 * @param filterMustInput
                 */
                setFilterMustInput(filterMustInput:boolean):void;
                /**
                 * 设置用户初始字段
                 * @param defaultHiddenFields
                 */
                setDefaultHiddenFields(defaultHiddenFields:$.java.util.List):void;
                /**
                 * 添加报表查询监听器
                 *
                 * @param l
                 *            查询事件监听器
                 */
                addSearchListener(l:SearchListener):void;
                /**
                 * 设置标题
                 *
                 * @param title
                 *            标题
                 */
                setTitle(title:string):void;
                /**
                 * 获取标题
                 *
                 * @return 标题
                 */
                getTitle():string;
                /**
                 * 设置过滤配置
                 *
                 * @param reportFilterFieldConfig
                 *            过滤配置
                 */
                setReportFilterFieldConfig(reportFilterFieldConfig:$.kd.bos.entity.report.queryds.ReportFilterFieldConfig):void;
                /**
                 * 初始化默认过滤方案
                 */
                initDefaultQueryScheme():void;
                /**
                 * 设置已选过滤字段设置
                 *
                 * @param showFilterFields
                 *            已选字段
                 */
                setShowFilterFields(showFilterFields:string):void;
                /**
                 * 重置报表过滤条件
                 *
                 * @param map
                 *            参数包，可指定过滤方案内码（"schemeId"）
                 */
                reset(map:$.java.util.Map):void;
            }
            type ReportFilter_T = $.kd.bos.form.ICloseCallBack & $.kd.bos.form.container.Container & ReportFilter$;
            interface ReportFilter extends ReportFilter_T {
            }
            interface ReportFilterShowParameter_S {
            }
            type ReportFilterShowParameter_ST = $.kd.bos.form.FormShowParameter & ReportFilterShowParameter_S;
            interface ReportFilterShowParameter_C extends ReportFilterShowParameter_ST {
                new():ReportFilterShowParameter;
            }
            interface ReportFilterShowParameter$ {
                /**
                 * 是否为常用过滤
                 * @return true是：false不是
                 */
                isCommonFilter():boolean;
                /**
                 * 设置常用过滤
                 * @param isCommonFilter true是：false不是
                 */
                setCommonFilter(isCommonFilter:boolean):void;
            }
            type ReportFilterShowParameter_T = $.kd.bos.form.FormShowParameter & ReportFilterShowParameter$;
            interface ReportFilterShowParameter extends ReportFilterShowParameter_T {
            }
        }
        namespace kd.bos.report.flex{
            interface FlexColumnSplitService_S {
            }
            interface FlexColumnSplitService_C extends FlexColumnSplitService_S {
                new():FlexColumnSplitService;
            }
            interface FlexColumnSplitService$ {
                isNeedSplit(fieldKey:string):boolean;
                getFlexBaseFieldKeyMap():$.java.util.Map;
                /**
                 * 设置当前实体的实体类型
                 * @param entityType
                 */
                setEntityType(entityType:$.kd.bos.entity.MainEntityType):void;
                /**
                 * 拆分弹性域字段，并把多个维度平铺展示，用于打包数据 packageData时构建 dataindex
                 * 需要考虑表格设置是否隐藏某个维度
                 * @param columns
                 */
                flatFlextColumn(columns:$.java.util.List):$.java.util.List;
                /**
                 * 拆分弹性域字段,用于构建前端元数据 creatGrid
                 * @param columns
                 */
                splitFlextColumn(columns:$.java.util.List):void;
                init():void;
                getFlexValue(flexColumn:$.kd.bos.entity.report.ReportColumn,flexFormatter:$.kd.bos.form.field.format.FlexValueFormatter,dr:$.kd.bos.dataentity.entity.DynamicObject,gridConfigRowsMap:$.java.util.Map):$.java.util.List;
                getEntityType():$.kd.bos.entity.MainEntityType;
                setCallParam(callParam:string):void;
                getMaxSize(fieldKey:string):number;
                getAllFlexProperties(fieldKey:string):$.java.util.List;
                setReportList(reportList:ReportList):void;
                clearFlexProperties():void;
                /**
                 * 根据拆分后的维度key获取弹性域字段的标识
                 * @param flexSplitBaseKey
                 * @return
                 */
                getFlexFieldKey(flexSplitBaseKey:string):string;
                getFlexPropertiesSize():$.java.util.Map;
                isFlexType(fieldKey:string):boolean;
                getCallParam():string;
                /**
                 * 获取所有的弹性域维度值
                 * key 维度列的fieldKey value 维度的值
                 * @param flexProp
                 * @param flexFormatter
                 * @param dr
                 * @return
                 */
                getSplitFlexFieldValue(flexProp:$.kd.bos.entity.property.FlexProp,flexFormatter:$.kd.bos.form.field.format.FlexValueFormatter,dr:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                getFlexFieldList():$.java.util.List;
            }
            type FlexColumnSplitService_T = FlexColumnSplitService$;
            interface FlexColumnSplitService extends FlexColumnSplitService_T {
            }
        }
        namespace kd.bos.report.plugin{
            interface ReportExportListener_S {
            }
            interface ReportExportListener_C extends ReportExportListener_S {
            }
            interface ReportExportListener$ {
            }
            type ReportExportListener_T = ReportExportListener$;
            interface ReportExportListener extends ReportExportListener_T {
            }
            interface ReportViewPluginProxy_S {
            }
            type ReportViewPluginProxy_ST = $.kd.bos.form.plugin.FormViewPluginProxy & ReportViewPluginProxy_S;
            interface ReportViewPluginProxy_C extends ReportViewPluginProxy_ST {
                new():ReportViewPluginProxy;
            }
            interface ReportViewPluginProxy$ {
            }
            type ReportViewPluginProxy_T = $.kd.bos.form.plugin.FormViewPluginProxy & ReportViewPluginProxy$;
            interface ReportViewPluginProxy extends ReportViewPluginProxy_T {
            }
            interface AbstractReportFormPlugin_S {
            }
            type AbstractReportFormPlugin_ST = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractReportFormPlugin_S & IReportFormPlugin_S;
            interface AbstractReportFormPlugin_C extends AbstractReportFormPlugin_ST {
                new():AbstractReportFormPlugin;
            }
            interface AbstractReportFormPlugin$ {
            }
            type AbstractReportFormPlugin_T = $.kd.bos.form.plugin.AbstractFormPlugin & AbstractReportFormPlugin$ & IReportFormPlugin;
            interface AbstractReportFormPlugin extends AbstractReportFormPlugin_T {
            }
            interface IReportFormPlugin_S {
            }
            type IReportFormPlugin_ST = IReportFormPlugin_S & ReportExportListener_S;
            interface IReportFormPlugin_C extends IReportFormPlugin_ST {
            }
            interface IReportFormPlugin$ {
                /**
                 * 行数据处理事件
                 *
                 * @param gridPK     表格控件标识
                 * @param rowData    一页数据
                 * @param queryParam 查询参数
                 */
                processRowData(gridPK:string,rowData:$.kd.bos.dataentity.entity.DynamicObjectCollection,queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 过滤容器搜索点击事件
                 *
                 * 此事件之前先触发filterContainerInit
                 *
                 * @param args 过滤容器搜索点击参数
                 */
                filterContainerSearchClick(args:$.kd.bos.form.events.FilterContainerSearchClickArgs):void;
                /**
                 * 发送到前端的数据打包事件
                 *
                 * @param packageDataEvent 事件参数，内含要发到前端的数据
                 */
                packageData(packageDataEvent:$.kd.bos.entity.datamodel.events.PackageDataEvent):void;
                /**
                 * 过滤容器内基础资料列表弹出前事件
                 *
                 * @param args 事件参数
                 */
                filterContainerBeforeF7Select(args:$.kd.bos.form.field.events.BeforeFilterF7SelectEvent):void;
                /**
                 * 自定义报表引出的名称
                 *
                 * @param list 报表数据
                 */
                setExcelName(list:$.java.util.List):void;
                /**
                 * 查询取数后事件
                 *
                 * @param queryParam 查询参数
                 */
                afterQuery(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 设置弹性域维度
                 *
                 * @param event 折叠树形报表事件
                 */
                setFlexProperty(event:kd.bos.report.events.FlexEvent):void;
                /**
                 * 加载方案内其他单据体过滤信息事件
                 *
                 * @param scheme 方案数据
                 */
                loadOtherEntryFilter(scheme:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 自定义报表单元格规则
                 *
                 * @param cellStyleRules 背景色规则
                 */
                setCellStyleRules(cellStyleRules:$.java.util.List):void;
                /**
                 * 查询前条件验证
                 *
                 * @param queryParam 查询参数
                 * @return 验证通过返回true
                 */
                verifyQuery?(queryParam:$.kd.bos.entity.report.ReportQueryParam):boolean;
                /**
                 * 加载方案中给model设置值后触发事件，业务可以重新设置值
                 *
                 * @param scheme 方案数据
                 */
                afterSetModelValue(scheme:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 设置合计行的数据
                 *
                 * @param summaryEvents 合计行数据
                 */
                setFloatButtomData(summaryEvents:$.java.util.List):void;
                /**
                 * 查询取数前事件
                 *
                 * @param queryParam 查询参数
                 */
                beforeQuery(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 自定义指定报表融合列
                 *
                 * @param columns 报表列
                 */
                setMergeColums(columns:$.java.util.List):void;
                /**
                 * 重设表格列显示字段顺序
                 * @param columns 报表列
                 */
                resetColumns?(columns:$.java.util.List):void;
                /**
                 * 表格列创建完成后事件
                 *
                 * @param event 列创建完成事件
                 */
                afterCreateColumn(event:kd.bos.report.events.CreateColumnEvent):void;
                /**
                 * 重设前端展示报表总行数
                 * @return
                 */
                resetDataCount?():number;
                /**
                 * 报表导出之前事件，可以对数据进行加工
                 *
                 * @param exportColumns        报表列
                 * @param data                 报表数据
                 * @param numberFormatProvider 格式化信息
                 */
                preProcessExportData(exportColumns:$.java.util.List,data:$.kd.bos.dataentity.entity.DynamicObjectCollection,numberFormatProvider:$.kd.bos.entity.NumberFormatProvider):void;
                /**
                 * 设置行样式
                 * @param rowCellStyles {@link RowCellStyle}
                 */
                setRowCellStyleEvent?(rowCellStyles:$.java.util.List):void;
                /**
                 * 设置折叠树形报表事件
                 *
                 * 可在此事件，指定报表是折叠树形报表，可按指定列折叠
                 * @param event 事件参数
                 */
                setTreeReportList(event:kd.bos.report.events.TreeReportListEvent):void;
                /**
                 * 获取下拉值事件，插件可调整下拉列表枚举值集合
                 *
                 * @param fieldKey 列标识
                 * @param items    下拉项值
                 */
                getComboItems(fieldKey:string,items:$.java.util.List):void;
                /**
                 * 报表表头过滤点击
                 * 表头过滤字段点击确定时触发， 可用于更改下拉列表表头过滤字段下拉项
                 *
                 * @param event {@link ColHeadFilterClickEvent}
                 */
                colHeadFilterClick?(event:kd.bos.report.events.ColHeadFilterClickEvent):void;
                /**
                 * 设置其他单据体过滤信息事件
                 *
                 * @param filterInfo 过滤信息
                 */
                setOtherEntryFilter(filterInfo:$.kd.bos.entity.report.FilterInfo):void;
                /**
                 * 过滤信息加载事件
                 *
                 * @param event 过滤信息加载事件
                 */
                beforeCreateFilterInfo(event:kd.bos.report.events.CreateFilterInfoEvent):void;
                /**
                 * 初始化默认查询参数事件
                 *
                 * @param queryParam 查询参数
                 */
                initDefaultQueryParam(queryParam:$.kd.bos.entity.report.ReportQueryParam):void;
                /**
                 * 格式化主界面显示的筛选过滤字段事件
                 *
                 * @param evt 事件参数
                 */
                formatDisplayFilterField(evt:kd.bos.report.events.FormatShowFilterEvent):void;
                /**
                 * 设置过滤排序列
                 *
                 * @param allColumns 报表列
                 */
                setSortAndFilter(allColumns:$.java.util.List):void;
            }
            type IReportFormPlugin_T = IReportFormPlugin$ & ReportExportListener;
            interface IReportFormPlugin extends IReportFormPlugin_T {
            }
            interface GroupReportFormPlugin_S {
            }
            type GroupReportFormPlugin_ST = AbstractReportFormPlugin_S & GroupReportFormPlugin_S;
            interface GroupReportFormPlugin_C extends GroupReportFormPlugin_ST {
                new():GroupReportFormPlugin;
            }
            interface GroupReportFormPlugin$ {
            }
            type GroupReportFormPlugin_T = AbstractReportFormPlugin & GroupReportFormPlugin$;
            interface GroupReportFormPlugin extends GroupReportFormPlugin_T {
            }
        }
        namespace kd.bos.report.proxy{
            interface ReportListProxy_S {
            }
            interface ReportListProxy_C extends ReportListProxy_S {
                new(reportList:ReportList):ReportListProxy;
            }
            interface ReportListProxy$ {
                getRowClickListeners():$.java.util.List;
                getFormat():$.kd.bos.entity.format.FormatObject;
                getReportPropUtil_createReportType():$.java.lang.reflect.Method;
                getUserGridConfigRows():$.java.util.List;
                getReportColumnList(reportColumns:$.java.util.List,isOnlyVisible:boolean):$.java.util.List;
                getColumnList(reportModel:$.kd.bos.entity.report.IReportListModel):$.java.util.List;
                getByBatchInfo():$.kd.bos.entity.report.ReportBatchQueryInfo;
                saveGridConfig(configurationRowList:$.java.util.List):void;
            }
            type ReportListProxy_T = ReportListProxy$;
            interface ReportListProxy extends ReportListProxy_T {
            }
        }
        namespace kd.bos.schedule.api{
            class RouteMode {
                static readonly SHARDINGBROADCAST:kd.bos.schedule.api.RouteMode;
                static readonly SHARDINGTASK:kd.bos.schedule.api.RouteMode;
                static readonly RAMDOM:kd.bos.schedule.api.RouteMode;
                static valueOf(arg0:string):kd.bos.schedule.api.RouteMode;
                static values():kd.bos.schedule.api.RouteMode[];
            }
            interface Task_S {
            }
            interface Task_C extends Task_S {
            }
            interface Task$ {
                /**
                 * 获取传入的消息处理器
                 */
                getMessageHandle?():MessageHandler;
                /**
                 *     设置是否重新调度的任务
                 */
                setReSchedule?(isReSchedule:boolean):void;
                /**
                 * 传入消息处理器，通过消息处理器可以获取任务上下文及各种接口实现类
                 */
                setMessageHandle?(messageHandler:MessageHandler):void;
                isReSchedule?():boolean;
                /**
                 * 执行任务
                 * @param context
                 */
                execute(context:$.kd.bos.context.RequestContext,params:$.java.util.Map):void;
                /**
                 * 中止任务
                 * @throws KDException
                 */
                stop():void;
                /**
                 * 任务id
                 * @param id
                 */
                setTaskId(id:string):void;
                /**
                 * 支持重新调度
                 * 当任务运行中发生重启时，此任务是否重新调度，一般是任务执行逻辑没有跨事务跨节点才能开启
                 * @return
                 */
                isSupportReSchedule?():boolean;
            }
            type Task_T = Task$;
            interface Task extends Task_T {
            }
            interface MessageHandler_S {
            }
            interface MessageHandler_C extends MessageHandler_S {
            }
            interface MessageHandler$ {
                /**
                 * 获取对象工厂，由此获得各种接口实现类 (有些实现类，已经定义了私有的getObjectFactory方法，不能在接口中新增getObjectFactory方法名，必须用一个新方法名)
                 *
                 * @return
                 */
                getObjFactory?():ObjectFactory;
                /**
                 * 处理消息，执行任务
                 *
                 * @param message
                 */
                handle(message:MessageInfo):void;
                /**
                 * 设置对象工厂，从其中可以获取各种接口实现类
                 *
                 * @param objectFactory
                 */
                setObjectFactory(objectFactory:ObjectFactory):void;
            }
            type MessageHandler_T = MessageHandler$;
            interface MessageHandler extends MessageHandler_T {
            }
            interface MessageSender_S {
            }
            interface MessageSender_C extends MessageSender_S {
            }
            interface MessageSender$ {
                send(messageList:$.java.util.List):number[];
                broadcastMsg?(message:MessageInfo):void;
                send(message:MessageInfo):void;
                udpateStorage?(message:MessageInfo):boolean;
            }
            type MessageSender_T = MessageSender$;
            interface MessageSender extends MessageSender_T {
            }
            interface ShardingUtil$BroadcastVO_S {
            }
            interface ShardingUtil$BroadcastVO_C extends ShardingUtil$BroadcastVO_S {
                new(arg0:number,arg1:number):ShardingUtil$BroadcastVO;
            }
            interface ShardingUtil$BroadcastVO$ {
                setTotal(arg0:number):void;
                getTotal():number;
                getIndex():number;
                setIndex(arg0:number):void;
            }
            type ShardingUtil$BroadcastVO_T = ShardingUtil$BroadcastVO$;
            interface ShardingUtil$BroadcastVO extends ShardingUtil$BroadcastVO_T {
            }
            interface TaskInfo_S {
            }
            type TaskInfo_ST = $.java.io.Serializable & TaskInfo_S;
            interface TaskInfo_C extends TaskInfo_ST {
                new():TaskInfo;
            }
            interface TaskInfo$ {
                /**
                 * 任务所属的应用编码
                 *
                 * @return
                 */
                getAppid():string;
                /**
                 * 同一批次任务执行次数
                 *
                 * @param excuteTime
                 */
                setExcuteTime(excuteTime:number):void;
                /**
                 * 任务计划执行的时间
                 *
                 * @return
                 */
                getScheduleTime():long;
                /**
                 * @return the progress
                 */
                getProgress():number;
                /**
                 * @return the status
                 */
                getStatus():string;
                /**
                 * @return the data
                 */
                getData():string;
                /**
                 * 重试次数
                 *
                 * @return
                 */
                getRetryTime():number;
                /**
                 * @param dispachTime the dispachTime to set
                 */
                setDispachTime(dispachTime:long):void;
                /**
                 * 进度描述
                 *
                 * @return
                 */
                getDesc():string;
                /**
                 * 任务耗时
                 *
                 * @return
                 */
                getCostTime():number;
                /**
                 * @param endTime the endTime to set
                 */
                setEndTime(endTime:long):void;
                /**
                 * 任务耗时
                 *
                 * @param costTime
                 */
                setCostTime(costTime:number):void;
                /**
                 * @return the runAt
                 */
                getRunAt():string;
                /**
                 * @return the runTime
                 */
                getRunTime():long;
                /**
                 * @param status the status to set
                 */
                setStatus(status:string):void;
                /**
                 * 调度计划 id
                 *
                 * @return
                 */
                getScheduleId():string;
                /**
                 * 任务的消息 id
                 *
                 * @return
                 */
                getMessageId():string;
                /**
                 * 获取任务执行失败的原因
                 *
                 * @return
                 */
                getFailureReason():string;
                /**
                 * 执行任务的线程 traceId
                 *
                 * @return
                 */
                getTraceId():string;
                /**
                 * 任务是否结束：终止、完成、失败、超时、跳过、撤销
                 *
                 * @return
                 */
                isTaskEnd():boolean;
                /**
                 * 任务分发路由模式:{@link RouteMode}
                 *
                 * @param routeMode
                 */
                setRouteMode(routeMode:string):void;
                /**
                 * @return the endTime
                 */
                getEndTime():long;
                /**
                 * @param progress the progress to set
                 */
                setProgress(progress:number):void;
                /**
                 * 执行任务的服务器实例 id
                 *
                 * @param instanceId
                 */
                setInstanceId(instanceId:string):void;
                /**
                 * @param data the data to set
                 */
                setData(data:string):void;
                /**
                 * @return the jobId
                 */
                getJobId():string;
                /**
                 * 同一批次任务执行次数
                 *
                 * @return
                 */
                getExcuteTime():number;
                /**
                 * @param jobId the jobId to set
                 */
                setJobId(jobId:string):void;
                /**
                 * 任务分发路由模式
                 *
                 * @return
                 */
                getRouteMode():string;
                /**
                 * 调度计划 id
                 *
                 * @param scheduleId
                 */
                setScheduleId(scheduleId:string):void;
                /**
                 * @param runTime the runTime to set
                 */
                setRunTime(runTime:long):void;
                /**
                 * @return the id
                 */
                getId():string;
                /**
                 * 是否开启终止
                 *
                 * @return
                 */
                getCanStop():boolean;
                /**
                 * 任务计划执行的时间
                 *
                 * @param scheduleTime
                 */
                setScheduleTime(scheduleTime:long):void;
                /**
                 * 任务是否是失败，终止、失败都认为是失败
                 *
                 * @return
                 */
                isFailure():boolean;
                /**
                 * 重试次数
                 *
                 * @param retryTime
                 */
                setRetryTime(retryTime:number):void;
                /**
                 * 任务分组 id
                 *
                 * @param groupId
                 */
                setGroupId(groupId:long):void;
                /**
                 * 超时时长
                 *
                 * @param timeOut
                 */
                setTimeOut(timeOut:number):void;
                /**
                 * 用做失败任务刷新次数
                 *
                 * @return
                 */
                getRetryCode():number;
                /**
                 * 任务分组 id
                 *
                 * @return
                 */
                getGroupId():long;
                /**
                 * 任务所属的应用编码
                 *
                 * @param appid
                 */
                setAppid(appid:string):void;
                /**
                 * 任务的类型
                 *
                 * @param jobType
                 */
                setJobType(jobType:JobType):void;
                /**
                 * 是否开启终止
                 *
                 * @param canStop
                 */
                setCanStop(canStop:boolean):void;
                /**
                 * 任务的状态描述
                 *
                 * @param statusDesc
                 */
                setStatusDesc(statusDesc:string):void;
                /**
                 * 超时时长
                 *
                 * @return
                 */
                getTimeOut():number;
                /**
                 * 设置进度描述
                 *
                 * @param desc
                 */
                setDesc(desc:string):void;
                /**
                 * 执行任务的线程 traceId
                 *
                 * @param traceId
                 */
                setTraceId(traceId:string):void;
                /**
                 * 任务的类型
                 *
                 * @return
                 */
                getJobType():JobType;
                /**
                 * 执行任务的服务器实例 id
                 *
                 * @return
                 */
                getInstanceId():string;
                /**
                 * 任务的消息 id
                 *
                 * @param messageId
                 */
                setMessageId(messageId:string):void;
                /**
                 * @param id the id to set
                 */
                setId(id:string):void;
                /**
                 * @param runAt the runAt to set
                 */
                setRunAt(runAt:string):void;
                /**
                 * 任务的状态描述
                 *
                 * @return
                 */
                getStatusDesc():string;
                /**
                 * @return the dispachTime
                 */
                getDispachTime():long;
                /**
                 * 设置任务执行失败的原因
                 *
                 * @param failureReason
                 */
                setFailureReason(failureReason:string):void;
                /**
                 * 用做失败任务刷新次数
                 *
                 * @param retryCode
                 */
                setRetryCode(retryCode:number):void;
            }
            type TaskInfo_T = $.java.io.Serializable & TaskInfo$;
            interface TaskInfo extends TaskInfo_T {
            }
            interface Executor_S {
            }
            interface Executor_C extends Executor_S {
            }
            interface Executor$ {
                processMessage(message:MessageInfo,acker:$.kd.bos.mq.MessageAcker):void;
                unRegistHandler(messageType:MessageType,handlerClass:$.java.lang.Class):void;
                /**
                 * 每次触发会根据class实例化一个新的handler对象实例出来
                 * @param messageType
                 * @param handlerClass
                 */
                registHandler(messageType:MessageType,handlerClass:$.java.lang.Class):void;
                getMessageHandler(messageType:MessageType):$.java.util.List;
            }
            type Executor_T = Executor$;
            interface Executor extends Executor_T {
            }
            interface ObjectFactory_S {
            }
            interface ObjectFactory_C extends ObjectFactory_S {
            }
            interface ObjectFactory$ {
            }
            type ObjectFactory_T = ObjectFactory$;
            interface ObjectFactory extends ObjectFactory_T {
            }
            interface JobInfo_S {
            }
            type JobInfo_ST = $.java.io.Serializable & JobInfo_S;
            interface JobInfo_C extends JobInfo_ST {
                new():JobInfo;
            }
            interface JobInfo$ {
                /**
                 * 获取消息接收人
                 *
                 * @return
                 */
                getJobMsgReceiver():long;
                /**
                 * 任务ID，可选
                 *
                 * @return
                 */
                getTaskId():string;
                /**
                 * @param id the id to set
                 */
                setId(id:string):void;
                /**
                 * 是否开启终止
                 *
                 * @param canStop
                 */
                setCanStop(canStop:boolean):void;
                /**
                 * 调度作业失败通知
                 *
                 * @param failNotify
                 */
                setFailNotify(failNotify:boolean):void;
                /**
                 * @return the runByUserId
                 */
                getRunByUserId():long;
                /**
                 * 设置任务分片下标
                 *
                 * @param shareIndex
                 */
                setShareIndex(shareIndex:number):void;
                /**
                 * 执行上下文中的语言环境
                 *
                 * @return
                 */
                getRunByLang():$.kd.bos.lang.Lang;
                /**
                 * 获取调度计划消息通知信息
                 *
                 * @return
                 */
                getScheduleMsgInfo():ScheduleMsgInfo;
                /**
                 * 用于判断改任务信息是否是调度中心定时器生成
                 *
                 * @param fromScheduler
                 */
                setFromScheduler(fromScheduler:boolean):void;
                /**
                 * 获取字段taskDefineId的值
                 * @return  taskDefineId的值
                 */
                getTaskDefineId():string;
                /**
                 * 脚本 id：如果是 KingScript，则有脚本 id，否则脚本 id 为空
                 *
                 * @param ksScriptId
                 */
                setKsScriptId(ksScriptId:string):void;
                /**
                 * 调度作业失败通知
                 *
                 * @return
                 */
                isFailNotify():boolean;
                /**
                 * 获取字段appId的值  (应用编码)
                 * @return  appId的值
                 */
                getAppId():string;
                /**
                 * 是否启用作业
                 * @param enable
                 */
                setEnable(enable:boolean):void;
                /**
                 * 用做失败任务刷新次数
                 *
                 * @param retryCode
                 */
                setRetryCode(retryCode:number):void;
                /**
                 * 设置任务执行策略
                 *
                 * @param strategy 执行策略
                 */
                setStrategy(strategy:string):void;
                /**
                 * @return the jobType
                 */
                getJobType():JobType;
                /**
                 * 调度作业成功通知
                 *
                 * @return
                 */
                isSuccessNotify():boolean;
                /**
                 * 计划执行时间：即任务本应该触发的时间点，可能与任务分发时间有偏差
                 *
                 * @return
                 */
                getScheduleTime():long;
                /**
                 * job参数，可选，业务类可以接收的参数
                 *
                 * @return
                 */
                getParams():$.java.util.Map;
                /**
                 * 获取重试任务分组，不是广播分片任务，groupId 为 0
                 *
                 * @return
                 */
                getGroupId():long;
                /**
                 * @param jobType the jobType to set
                 */
                setJobType(jobType:JobType):void;
                /**
                 * 用于判断改任务信息是否是调度中心定时器生成
                 *
                 * @return
                 */
                isFromScheduler():boolean;
                /**
                 * @return the id
                 */
                getId():string;
                /**
                 * 将参数appId的值赋给字段appId
                 * @param appId (应用编码)
                 */
                setAppId(appId:string):void;
                /**
                 * 设置job参数，可选，业务类可以接收的参数
                 *
                 * @param params 参数
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 取消息通知消息渠道
                 *
                 * @return
                 */
                getNotifyType():string;
                /**
                 * 调度作业终止通知
                 *
                 * @return
                 */
                isAborted():boolean;
                /**
                 * 获取名称（多语言）
                 * @return
                 */
                getlName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * @param runByUserId the runByUserId to set
                 */
                setRunByUserId(runByUserId:long):void;
                /**
                 * 获取路由转发模式
                 *
                 * @return
                 */
                getRouteMode():RouteMode;
                /**
                 * 调度作业终止通知
                 *
                 * @param aborted
                 */
                setAborted(aborted:boolean):void;
                /**
                 * 设置作业负责人
                 *
                 * @param jobPrincipal 作业负责人
                 */
                setJobPrincipal(jobPrincipal:long):void;
                /**
                 * 计划执行时间：即任务本应该触发的时间点，可能与任务分发时间有偏差
                 *
                 * @param scheduleTime
                 */
                setScheduleTime(scheduleTime:long):void;
                /**
                 * @param taskClassname the taskClassname to set
                 */
                setTaskClassname(taskClassname:string):void;
                /**
                 * 设置执行任务时上下文中的orgId
                 *
                 * @param orgId
                 */
                setRunByOrgId(orgId:long):void;
                /**
                 * 获取消息通知内容
                 *
                 * @return
                 */
                getMsgContent():string;
                /**
                 * 仅 JobType.BIZ 类型支持控制并发运行
                 *
                 * @param enableRunConcurrently
                 */
                setRunConcurrently(enableRunConcurrently:boolean):void;
                /**
                 * 是否记录失败
                 *
                 * @param retryRecord
                 */
                setRetryRecord(retryRecord:number):void;
                /**
                 * 允许作业在同一时刻并发执行
                 *
                 * @return
                 */
                isRunConcurrently():boolean;
                /**
                 * 调度执行程序脚本类型
                 * 0：Java
                 * 4：KingScript
                 *
                 * @return
                 */
                getPluginType():PluginType;
                /**
                 * 调度作业成功通知
                 *
                 * @param successNotify
                 */
                setSuccessNotify(successNotify:boolean):void;
                /**
                 * 设置路由转发模式
                 *
                 * @param routeMode 路由转发模式
                 */
                setRouteMode(routeMode:RouteMode):void;
                /**
                 * 将参数taskDefineId的值赋给字段taskDefineId
                 * @param taskDefineId
                 */
                setTaskDefineId(taskDefineId:string):void;
                /**
                 * 设置消息通知内容
                 *
                 * @param msgContent 消息通知内容
                 */
                setMsgContent(msgContent:string):void;
                /**
                 * 设置执行任务时上下文中的语言环境
                 *
                 * @param lang
                 */
                setRunByLang(lang:$.kd.bos.lang.Lang):void;
                /**
                 * 调度作业超时通知，该版本暂无该功能，后续支持
                 *
                 * @return
                 */
                isOverTime():boolean;
                /**
                 * 设置失败重试次数
                 *
                 * @param retryTime 失败重试次数
                 */
                setRetryTime(retryTime:number):void;
                /**
                 * 调度作业超时通知，该版本暂无该功能，后续支持
                 *
                 * @param overTime
                 */
                setOverTime(overTime:boolean):void;
                /**
                 * 执行任务时，上下文中的组织id
                 *
                 * @return
                 */
                getRunByOrgId():long;
                /**
                 * 作业是否启用
                 */
                isEnable():boolean;
                /**
                 * 设置消息通知标题
                 *
                 * @param caption 消息通知标题
                 */
                setCaption(caption:string):void;
                /**
                 * 获取作业负责人
                 *
                 * @return
                 */
                getJobPrincipal():long;
                /**
                 * 获取任务分片参数
                 *
                 * @return
                 */
                getShardingParam():ShardingParam;
                /**
                 * 设置消息通知消息渠道
                 *
                 * @param notifyType 消息渠道
                 */
                setNotifyType(notifyType:string):void;
                /**
                 * 失败重试次数
                 *
                 * @return
                 */
                getRetryTime():number;
                /**
                 * 设置名称（多语言）
                 * @param lName
                 */
                setlName(lName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取同批次任务需要执行次数
                 *
                 * @return
                 */
                getExecuteTime():number;
                /**
                 * 设置调度计划消息通知信息
                 *
                 * @param scheduleMsgInfo 调度计划消息通知信息
                 */
                setScheduleMsgInfo(scheduleMsgInfo:ScheduleMsgInfo):void;
                /**
                 * 任务ID，可选
                 *
                 * @param taskId
                 */
                setTaskId(taskId:string):void;
                /**
                 * 获取绑定的调度计划 id
                 *
                 * @return
                 */
                getScheduleId():string;
                /**
                 * 脚本 id：如果是 KingScript，则有脚本 id，否则脚本 id 为空
                 *
                 * @return
                 */
                getKsScriptId():string;
                /**
                 * @return the taskClassname
                 */
                getTaskClassname():string;
                /**
                 * 获取任务分片下标
                 *
                 * @return
                 */
                getShareIndex():number;
                /**
                 * 设置任务分片参数
                 *
                 * @param shardingParam
                 */
                setShardingParam(shardingParam:ShardingParam):void;
                /**
                 * 用做失败任务刷新次数
                 *
                 * @return
                 */
                getRetryCode():number;
                /**
                 * 是否支持任务追踪
                 *
                 * @return
                 */
                isTaskTrace():boolean;
                /**
                 * 设置同批次任务需要执行次数
                 *
                 * @param executeTime 同批次任务需要执行次数
                 */
                setExecuteTime(executeTime:number):void;
                /**
                 * 是否支持任务追踪
                 *
                 * @param taskTrace
                 */
                setTaskTrace(taskTrace:boolean):void;
                /**
                 * 获取任务执行策略
                 *
                 * @return
                 */
                getStrategy():string;
                /**
                 * 任务执行的超时时间，新版再去支持异常处理和超时处理自定义方案(推送，短信，警报等),该版本只加入超时时间(默认超时后停止任务),和taskinfo中异常收集.
                 *
                 * @return
                 */
                getTimeout():number;
                /**
                 * 设置绑定的调度计划 id
                 *
                 * @param scheduleId 调度计划 id
                 */
                setScheduleId(scheduleId:string):void;
                /**
                 * 是否记录失败
                 *
                 * @return
                 */
                getRetryRecord():number;
                /**
                 * 调度执行程序脚本类型
                 * 0：Java
                 * 4：KingScript
                 *
                 * @param pluginType
                 */
                setPluginType(pluginType:PluginType):void;
                /**
                 * 设置消息接收人
                 *
                 * @param jobMsgReceiver 消息接收人
                 */
                setJobMsgReceiver(jobMsgReceiver:long):void;
                /**
                 * 设置调度作业编码
                 *
                 * @param number 编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取消息通知标题
                 *
                 * @return
                 */
                getCaption():string;
                /**
                 * 是否开启终止
                 *
                 * @return
                 */
                getCanStop():boolean;
                /**
                 * 获取调度作业编码
                 *
                 * @return
                 */
                getNumber():string;
                /**
                 * 设置重试任务分组
                 *
                 * @param groupId 重试任务分组
                 */
                setGroupId(groupId:long):void;
                /**
                 * 新版再去支持异常处理和超时处理自定义方案(推送，短信，警报等),该版本只加入超时时间(默认超时后停止任务),和taskinfo中异常收集
                 *
                 * @param timeout
                 */
                setTimeout(timeout:number):void;
            }
            type JobInfo_T = $.java.io.Serializable & JobInfo$;
            interface JobInfo extends JobInfo_T {
            }
            interface Subscriber_S {
            }
            interface Subscriber_C extends Subscriber_S {
            }
            interface Subscriber$ {
                /**
                 * 订阅任务消息
                 * @param taskId
                 * @param cb
                 * @throws KDException
                 */
                subscribe(taskId:string,cb:MessageHandler):void;
                /**
                 * @param taskId
                 */
                unSubscribe(taskId:string):void;
            }
            type Subscriber_T = Subscriber$;
            interface Subscriber extends Subscriber_T {
            }
            interface ShardingParam_S {
            }
            type ShardingParam_ST = $.java.io.Serializable & ShardingParam_S;
            interface ShardingParam_C extends ShardingParam_ST {
                /**
                 * 构造函数
                 */
                new():ShardingParam;
                /**
                 * 构造函数
                 *
                 * @param name
                 * @param value
                 */
                new(name:string,value:string):ShardingParam;
            }
            interface ShardingParam$ {
                /**
                 * 获取参数名称
                 *
                 * @return
                 */
                getName():string;
                /**
                 * 设置参数名称
                 *
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 设置参数值
                 *
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 获取参数值
                 *
                 * @return
                 */
                getValue():string;
            }
            type ShardingParam_T = $.java.io.Serializable & ShardingParam$;
            interface ShardingParam extends ShardingParam_T {
            }
            interface StopTask_S {
            }
            interface StopTask_C extends StopTask_S {
            }
            interface StopTask$ {
            }
            type StopTask_T = StopTask$;
            interface StopTask extends StopTask_T {
            }
            interface JobDispatcher_S {
            }
            interface JobDispatcher_C extends JobDispatcher_S {
            }
            interface JobDispatcher$ {
                /**
                 * 统计执行计划从当前时间到截止时间将要执行的次数
                 *
                 * @param scheduleArray  调度计划 数组
                 * @param endDate     截止时间 可以为null,则到当晚24点
                 * @return 执行次数
                 */
                countNumOfExecute(scheduleArray:string[],endDate:Date):number[];
                /**
                 * 批量根据任务id，查询任务执行情况
                 * @param taskIds
                 * @return
                 */
                queryTask(taskIds:$.java.util.List):$.java.util.List;
                /**
                 * 异步调度,返回任务id
                 * @param planNumber 计划编码(确保计划编码唯一的情况下调用)
                 * @return
                 * @throws KDException
                 */
                dispatchByPlanNumber?(planNumber:string):$.java.util.List;
                /**
                 * 根据任务id，查询任务执行情况
                 */
                queryTask(taskId:string):TaskInfo;
                /**
                 * 删除计划
                 *  @param scheduleId
                 *  @return 是否成功
                 */
                deletePlan(scheduleId:string):boolean;
                /**
                 * 终止任务，取消任务的执行
                 *
                 * @param taskId 任务号
                 */
                stopTask?(taskId:string):void;
                /**
                 * 重置就绪状态任务
                 * @param taskId
                 */
                resetReadyTask(taskId:string):void;
                /**
                 * 异步调度,返回任务id
                 * @param jobId 作业id
                 * @return
                 * @throws KDException
                 */
                dispatch(jobId:string):string;
                /**
                 * 统计执行计划从当前时间到截止时间将要执行的时间,没有执行计划时，对应下标值为空
                 *
                 * @param scheduleArray  调度计划 数组
                 * @param endDate     截止时间
                 * @return 将要执行的时间清单
                 */
                timelistOfExecute(scheduleArray:string[],endDate:Date):$.java.util.List;
                /**
                 * 建立一个计划
                 * @param planInfo
                 */
                createPlan(planInfo:PlanInfo):string;
                /**
                 * 异步调度,返回任务id
                 */
                dispatch(job:JobInfo):string;
                /**
                 * 建立一个作业
                 * @param jobInfo
                 * @return
                 */
                createJob(jobInfo:JobInfo):string;
                /**
                 * 任务的下一个执行时间，不管哪天的,如果没有对应下标为空.
                 * @param scheduleArray
                 * @return
                 */
                nextExecuteTime(scheduleArray:string[]):$.java.time.ZonedDateTime[];
                /**
                 * 批量调度，暂只给工作流用。
                 * @param jobArray
                 * @return
                 * @throws KDException
                 */
                dispatchBatch(jobArray:JobInfo[]):JobDispatchBatchResult;
                /**
                 * 把重新调度状态的任务重新调度起来
                 * @param taskId
                 */
                reScheduledTask(taskId:string):void;
                /**
                 * 删除作业
                 *  @param jobId
                 *  @return
                 */
                deleteJob(jobId:string):boolean;
            }
            type JobDispatcher_T = JobDispatcher$;
            interface JobDispatcher extends JobDispatcher_T {
            }
            interface ErrorJobInfo_S {
            }
            interface ErrorJobInfo_C extends ErrorJobInfo_S {
                new():ErrorJobInfo;
            }
            interface ErrorJobInfo$ {
                setJobInfo(jobInfo:JobInfo):void;
                /**
                 * 将参数executeTime的值赋给字段executeTime
                 *
                 * @param 参数executeTime
                 */
                setExecuteTime(executeTime:Date):void;
                /**
                 * 将参数taskId的值赋给字段taskId
                 *
                 * @param 参数taskId
                 */
                setTaskId(taskId:string):void;
                getJobInfo():JobInfo;
                /**
                 * 获取字段taskId的值
                 *
                 * @return taskId的值
                 */
                getTaskId():string;
                /**
                 * 获取字段runat的值
                 *
                 * @return runat的值
                 */
                getRunat():string;
                setRetryTime(retryTime:number):void;
                /**
                 * 将参数jobId的值赋给字段jobId
                 *
                 * @param 参数jobId
                 */
                setJobId(jobId:string):void;
                /**
                 * 获取字段errorReason的值
                 * @return  errorReason的值
                 */
                getErrorReason():string;
                getRetryTime():number;
                /**
                 * 将参数errorReason的值赋给字段errorReason
                 * @param 参数errorReason
                 */
                setErrorReason(errorReason:string):void;
                /**
                 * 获取字段executeTime的值
                 *
                 * @return executeTime的值
                 */
                getExecuteTime():Date;
                /**
                 * 获取字段jobId的值
                 *
                 * @return jobId的值
                 */
                getJobId():string;
                /**
                 * 将参数runat的值赋给字段runat
                 *
                 * @param 参数runat
                 */
                setRunat(runat:string):void;
            }
            type ErrorJobInfo_T = ErrorJobInfo$;
            interface ErrorJobInfo extends ErrorJobInfo_T {
            }
            class MessageType {
                static readonly REALTIMEJOB:kd.bos.schedule.api.MessageType;
                static readonly WorkFlowJOB:kd.bos.schedule.api.MessageType;
                static readonly BROADCASTJOB:kd.bos.schedule.api.MessageType;
                static readonly BIZJOB:kd.bos.schedule.api.MessageType;
                static readonly WorkFlow_TASK_FEEDBACK:kd.bos.schedule.api.MessageType;
                static readonly BIZ_TASK_FEEDBACK:kd.bos.schedule.api.MessageType;
                static values():kd.bos.schedule.api.MessageType[];
                static getMessageType(messageTypeStr:string):kd.bos.schedule.api.MessageType;
                static valueOf(arg0:string):kd.bos.schedule.api.MessageType;
            }
            interface JobNotifyListener_S {
            }
            interface JobNotifyListener_C extends JobNotifyListener_S {
            }
            interface JobNotifyListener$ {
                sendMessage(notifyEvent:JobNotifyEvent):void;
            }
            type JobNotifyListener_T = JobNotifyListener$;
            interface JobNotifyListener extends JobNotifyListener_T {
            }
            interface PlanInfo_S {
            }
            type PlanInfo_ST = $.java.io.Serializable & PlanInfo_S;
            interface PlanInfo_C extends PlanInfo_ST {
                new():PlanInfo;
            }
            interface PlanInfo$ {
                /**
                 * 设置调度计划时区
                 *
                 * @param timeZoneId
                 */
                setTimeZoneId(timeZoneId:long):void;
                /**
                 * 设置调度计划开始时间
                 *
                 * @param startTime 开始时间
                 */
                setStartTime(startTime:$.java.util.Calendar):void;
                /**
                 * 获取调度计划开始时间
                 *
                 * @return
                 */
                getStartTime():$.java.util.Calendar;
                /**
                 * 设置调度计划名称
                 *
                 * @param lName
                 */
                setlName(lName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 是否启用该调度计划
                 *
                 * @return enable的值
                 */
                isEnable():boolean;
                /**
                 * 设置调度计划绑定的调度作业 id
                 *
                 * @param jobId
                 */
                setJobId(jobId:string):void;
                /**
                 * 获取调度计划所属 ip
                 *
                 * @return
                 */
                getHost():string;
                /**
                 * 设置调度计划编码
                 *
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置是否启用该调度计划
                 *
                 * @param enable
                 */
                setEnable(enable:boolean):void;
                /**
                 * 指定哪几个月， 比如： 1，2，3
                 *
                 * @return
                 */
                getMonthsExp():string;
                /**
                 * 设置调度计划所属 ip
                 *
                 * @param host
                 */
                setHost(host:string):void;
                /**
                 * 注意， 1： 表示 星期天 ，2：表示星期一...，7: 表示星期六
                 *
                 * @param weekdaysExp
                 */
                setWeekdaysExp(weekdaysExp:string):void;
                /**
                 * 设置调度计划重复周期
                 *
                 * @param period
                 */
                setPeriod(period:number):void;
                /**
                 * 指定月的哪些天的表达式，支持 哪几天：1,3,5 或则 最后第几天：2L两种模式
                 *
                 * @return
                 */
                getDaysExp():string;
                /**
                 * 指定月的哪些天的表达式，支持 哪几天：1,3,5 或则 最后第几天：2L两种模式
                 *
                 * @param daysExp
                 */
                setDaysExp(daysExp:string):void;
                /**
                 * 获取调度计划重复执行模式，默认不重复
                 *
                 * @return
                 */
                getRepeatMode():RepeatModeEnum;
                /**
                 * 获取字段cronExpression的值
                 *
                 * @return cronExpression的值
                 */
                getCronExpression():string;
                /**
                 * 获取调度计划结束时间
                 *
                 * @return
                 */
                getEndTime():$.java.util.Calendar;
                /**
                 * 设置调度计划结束时间
                 *
                 * @param endTime
                 */
                setEndTime(endTime:$.java.util.Calendar):void;
                /**
                 * 设置调度计划重复执行模式，默认不重复
                 *
                 * @param repeatMode
                 */
                setRepeatMode(repeatMode:RepeatModeEnum):void;
                /**
                 * 获取调度计划重复周期
                 *
                 * @return
                 */
                getPeriod():number;
                /**
                 * 获取调度计划 id
                 *
                 * @return
                 */
                getId():string;
                /**
                 * 将参数cronExpression的值赋给字段cronExpression
                 *
                 * @param cronExpression
                 */
                setCronExpression(cronExpression:string):void;
                /**
                 * 获取调度计划名称
                 *
                 * @return
                 */
                getlName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 指定星期的哪几天的表达式，支持 星期几：1,2 或者 第几周的星期几 3#1两种模式
                 *
                 * @return
                 */
                getWeekdaysExp():string;
                /**
                 * 获取调度计划时区
                 *
                 * @return
                 */
                getTimeZoneId():long;
                /**
                 * 获取调度计划编码
                 *
                 * @return
                 */
                getNumber():string;
                /**
                 * 获取调度计划绑定的调度作业 id
                 *
                 * @return
                 */
                getJobId():string;
                /**
                 * 指定哪几个月， 比如： 1，2，3
                 *
                 * @param monthsExp
                 */
                setMonthsExp(monthsExp:string):void;
            }
            type PlanInfo_T = $.java.io.Serializable & PlanInfo$;
            interface PlanInfo extends PlanInfo_T {
            }
            interface ScheduleManager_S {
            }
            interface ScheduleManager_C extends ScheduleManager_S {
            }
            interface ScheduleManager$ {
            }
            type ScheduleManager_T = ScheduleManager$;
            interface ScheduleManager extends ScheduleManager_T {
            }
            class TaskResult$ResultTypeEnum {
                static readonly CUSTOMDATA:kd.bos.schedule.api.TaskResult$ResultTypeEnum;
                static readonly STATUS:kd.bos.schedule.api.TaskResult$ResultTypeEnum;
                static readonly PROGRESS:kd.bos.schedule.api.TaskResult$ResultTypeEnum;
                static values():kd.bos.schedule.api.TaskResult$ResultTypeEnum[];
                static valueOf(arg0:string):kd.bos.schedule.api.TaskResult$ResultTypeEnum;
            }
            interface JobDao_S {
            }
            interface JobDao_C extends JobDao_S {
            }
            interface JobDao$ {
            }
            type JobDao_T = JobDao$;
            interface JobDao extends JobDao_T {
            }
            interface MessageWatcher_S {
            }
            interface MessageWatcher_C extends MessageWatcher_S {
            }
            interface MessageWatcher$ {
                getObjectFactory():ObjectFactory;
                dispatch(message:MessageInfo,acker:$.kd.bos.mq.MessageAcker):void;
                start():void;
                setRunAt(runAt:string):void;
                getRunAt():string;
                setObjectFactory(objectFactory:ObjectFactory):void;
                startToWatchMessage(messageType:MessageType):void;
                stop():void;
            }
            type MessageWatcher_T = MessageWatcher$;
            interface MessageWatcher extends MessageWatcher_T {
            }
            class PluginType {
                static readonly JAVA:kd.bos.schedule.api.PluginType;
                static readonly KING_SCRIPT:kd.bos.schedule.api.PluginType;
                /**
                 * 获取对应的执行插件类型
                 *
                 * @param value
                 * @return
                 */
                static getPluginType(value:string):kd.bos.schedule.api.PluginType;
                static valueOf(arg0:string):kd.bos.schedule.api.PluginType;
                static values():kd.bos.schedule.api.PluginType[];
            }
            interface MessageInfo_S {
            }
            interface MessageInfo_C extends MessageInfo_S {
                new():MessageInfo;
            }
            interface MessageInfo$ {
            }
            type MessageInfo_T = MessageInfo$;
            interface MessageInfo extends MessageInfo_T {
            }
            interface AbstractJobHandler_S {
            }
            type AbstractJobHandler_ST = AbstractJobHandler_S & MessageHandler_S;
            interface AbstractJobHandler_C extends AbstractJobHandler_ST {
                new():AbstractJobHandler;
            }
            interface AbstractJobHandler$ {
            }
            type AbstractJobHandler_T = AbstractJobHandler$ & MessageHandler;
            interface AbstractJobHandler extends AbstractJobHandler_T {
            }
            interface BroadcastTask_S {
            }
            type BroadcastTask_ST = BroadcastTask_S & Task_S;
            interface BroadcastTask_C extends BroadcastTask_ST {
            }
            interface BroadcastTask$ {
            }
            type BroadcastTask_T = BroadcastTask$ & Task;
            interface BroadcastTask extends BroadcastTask_T {
            }
            class JobType {
                static readonly DETECT:kd.bos.schedule.api.JobType;
                static readonly WORKFLOW:kd.bos.schedule.api.JobType;
                static readonly BIZ:kd.bos.schedule.api.JobType;
                static readonly DELAY:kd.bos.schedule.api.JobType;
                static readonly REALTIME:kd.bos.schedule.api.JobType;
                static values():kd.bos.schedule.api.JobType[];
                /**
                 * 根据作业类型字符串获取作业类型枚举实例
                 *
                 * @param jobTypeStr
                 * @return
                 */
                static getJobType(jobTypeStr:string):kd.bos.schedule.api.JobType;
                static valueOf(arg0:string):kd.bos.schedule.api.JobType;
            }
            interface ShardingTask_S {
            }
            type ShardingTask_ST = ShardingTask_S & Task_S;
            interface ShardingTask_C extends ShardingTask_ST {
            }
            interface ShardingTask$ {
                /**
                 * 分片任务程序需要实现的接口方法，在此方法编写程序逻辑
                 *
                 * @param context       执行时的线程上下文
                 * @param params        调度作业参数
                 * @param shardingParam 分片任务参数
                 * @throws KDException 执行时可能会抛出异常
                 */
                execute(context:$.kd.bos.context.RequestContext,params:$.java.util.Map,shardingParam:ShardingParam):void;
            }
            type ShardingTask_T = ShardingTask$ & Task;
            interface ShardingTask extends ShardingTask_T {
            }
            class MessageInfo$NotifyScene {
                static readonly SCHEDULESUCCESS:kd.bos.schedule.api.MessageInfo$NotifyScene;
                static readonly SCHTIMEOUT:kd.bos.schedule.api.MessageInfo$NotifyScene;
                static readonly JOBSUCCESS:kd.bos.schedule.api.MessageInfo$NotifyScene;
                static readonly JOBTIMEOUT:kd.bos.schedule.api.MessageInfo$NotifyScene;
                static readonly SCHEDULEFAIL:kd.bos.schedule.api.MessageInfo$NotifyScene;
                static readonly JOBFAIL:kd.bos.schedule.api.MessageInfo$NotifyScene;
                static values():kd.bos.schedule.api.MessageInfo$NotifyScene[];
                static valueOf(arg0:string):kd.bos.schedule.api.MessageInfo$NotifyScene;
            }
            interface ScheduleModule_S {
            }
            type ScheduleModule_ST = $.kd.sdk.module.Module & ScheduleModule_S;
            interface ScheduleModule_C extends ScheduleModule_ST {
                new():ScheduleModule;
            }
            interface ScheduleModule$ {
            }
            type ScheduleModule_T = $.kd.sdk.module.Module & ScheduleModule$;
            interface ScheduleModule extends ScheduleModule_T {
            }
            class RepeatModeEnum {
                static readonly ByDays:kd.bos.schedule.api.RepeatModeEnum;
                static readonly NONE:kd.bos.schedule.api.RepeatModeEnum;
                static readonly ByMonths:kd.bos.schedule.api.RepeatModeEnum;
                static readonly ByHours:kd.bos.schedule.api.RepeatModeEnum;
                static readonly ByMinutes:kd.bos.schedule.api.RepeatModeEnum;
                static readonly ByYears:kd.bos.schedule.api.RepeatModeEnum;
                static readonly ByWeeks:kd.bos.schedule.api.RepeatModeEnum;
                static valueOf(arg0:string):kd.bos.schedule.api.RepeatModeEnum;
                static values():kd.bos.schedule.api.RepeatModeEnum[];
            }
            interface ScheduleMsgInfo_S {
            }
            interface ScheduleMsgInfo_C extends ScheduleMsgInfo_S {
                new():ScheduleMsgInfo;
            }
            interface ScheduleMsgInfo$ {
                /**
                 * 消息通知标题
                 *
                 * @return
                 */
                getCaption():string;
                /**
                 * 计划负责人
                 *
                 * @return
                 */
                getSchPrincipal():long;
                /**
                 * 消息接收人
                 *
                 * @return
                 */
                getMsgreceiver():long;
                /**
                 * 调度计划失败通知
                 *
                 * @param failNotify
                 */
                setFailNotify(failNotify:boolean):void;
                /**
                 * 消息渠道
                 *
                 * @return
                 */
                getNotifyType():string;
                /**
                 * 消息通知标题
                 *
                 * @param caption
                 */
                setCaption(caption:string):void;
                /**
                 * 超时通知，暂无此功能
                 *
                 * @param timeOut
                 */
                setTimeOut(timeOut:boolean):void;
                /**
                 * 超时通知，暂无此功能
                 *
                 * @return
                 */
                isTimeOut():boolean;
                /**
                 * 计划负责人
                 *
                 * @param schPrincipal
                 */
                setSchPrincipal(schPrincipal:long):void;
                /**
                 * 调度计划成功通知
                 *
                 * @param successNotify
                 */
                setSuccessNotify(successNotify:boolean):void;
                /**
                 * 消息接收人
                 *
                 * @param msgreceiver
                 */
                setMsgreceiver(msgreceiver:long):void;
                /**
                 * 消息渠道
                 *
                 * @param notifyType
                 */
                setNotifyType(notifyType:string):void;
                /**
                 * 终止通知
                 *
                 * @param aborted
                 */
                setAborted(aborted:boolean):void;
                /**
                 * 消息通知内容
                 *
                 * @return
                 */
                getMsgContent():string;
                /**
                 * 调度计划成功通知
                 *
                 * @return
                 */
                isSuccessNotify():boolean;
                /**
                 * 消息通知内容
                 *
                 * @param msgContent
                 */
                setMsgContent(msgContent:string):void;
                /**
                 * 终止通知
                 *
                 * @return
                 */
                isAborted():boolean;
                /**
                 * 调度计划失败通知
                 *
                 * @return
                 */
                isFailNotify():boolean;
            }
            type ScheduleMsgInfo_T = ScheduleMsgInfo$;
            interface ScheduleMsgInfo extends ScheduleMsgInfo_T {
            }
            interface TaskResult_S {
            }
            interface TaskResult_C extends TaskResult_S {
                new():TaskResult;
            }
            interface TaskResult$ {
                /**
                 * @param customData the customData to set
                 */
                setCustomData(customData:$.java.util.Map):void;
                getResultType():TaskResult$ResultTypeEnum;
                setStatusDesc(statusDesc:string):void;
                getDesc():string;
                /**
                 * @return the status
                 */
                getStatus():string;
                /**
                 * @param status the status to set
                 */
                setStatus(status:string):void;
                /**
                 * @param progress the progress to set
                 */
                setProgress(progress:number):void;
                setResultType(resultType:TaskResult$ResultTypeEnum):void;
                setDesc(desc:string):void;
                /**
                 * 任务是否已经运行结束
                 * @return
                 */
                isEnd():boolean;
                /**
                 * @return the progress
                 */
                getProgress():number;
                /**
                 * 是否在运行中
                 * @return
                 */
                isRunning():boolean;
                /**
                 * 状态说明
                 * @return
                 */
                getStatusDesc():string;
                /**
                 * @return the customData
                 */
                getCustomData():$.java.util.Map;
            }
            type TaskResult_T = TaskResult$;
            interface TaskResult extends TaskResult_T {
            }
            interface JobDispatchBatchResult_S {
            }
            interface JobDispatchBatchResult_C extends JobDispatchBatchResult_S {
                new(taskIds:$.java.util.List,failTaskIndexs:$.java.util.List):JobDispatchBatchResult;
            }
            interface JobDispatchBatchResult$ {
                /**
                 * 获取成功的任务Id集合
                 *
                 * @return
                 */
                getSuccessTasks():$.java.util.List;
                /**
                 * 获取失败的任务Id集合
                 *
                 * @return
                 */
                getFailTasks():$.java.util.List;
                /**
                 * 获取所有的任务Id，依照原有传入的JobArray顺序产生的所有的taskid
                 *
                 * @return
                 */
                getTaskIds():$.java.util.List;
                isSuccess():boolean;
                getFailTaskIndexs():$.java.util.List;
            }
            type JobDispatchBatchResult_T = JobDispatchBatchResult$;
            interface JobDispatchBatchResult extends JobDispatchBatchResult_T {
            }
            interface TaskDao_S {
            }
            interface TaskDao_C extends TaskDao_S {
            }
            interface TaskDao$ {
            }
            type TaskDao_T = TaskDao$;
            interface TaskDao extends TaskDao_T {
            }
            interface TaskStatusConstant_S {
                readonly SKIP_BY_SCH_DEL:string;
                readonly TRANSFED:string;
                readonly DISCONNECTED:string;
                readonly SKIP_RUNORDER_SERIAL:string;
                readonly TIMEOUT:string;
                readonly FAILED:string;
                readonly SCHEDULED:string;
                readonly SKIP_BY_JOB_DISABLE:string;
                readonly SKIP:string;
                readonly SKIP_BY_JOB_DEL:string;
                readonly ABORTED_BY_REBOOT:string;
                readonly ABORTED_BY_USER:string;
                readonly SKIP_BY_SCH_DISABLE:string;
                readonly SKIP_BY_USER:string;
                readonly COMPLETED:string;
                readonly BEGIN:string;
                readonly RESCHEDULE:string;
                readonly READY:string;
                readonly ABORTED:string;
                /**
                 * 任务是否已经结束
                 *
                 * @param status 任务状态
                 * @return
                 */
                isEnd(status:string):boolean;
                /**
                 * 任务是否失败
                 *
                 * @param status 任务状态
                 * @return
                 */
                isFailure(status:string):boolean;
                /**
                 * 根据任务状态编码获取任务状态名称
                 *
                 * @param status 任务状态编码
                 * @return
                 */
                getStatusName(status:string):string;
            }
            interface TaskStatusConstant_C extends TaskStatusConstant_S {
                new():TaskStatusConstant;
            }
            interface TaskStatusConstant$ {
            }
            type TaskStatusConstant_T = TaskStatusConstant$;
            interface TaskStatusConstant extends TaskStatusConstant_T {
            }
            interface ScheduleDao_S {
            }
            interface ScheduleDao_C extends ScheduleDao_S {
            }
            interface ScheduleDao$ {
            }
            type ScheduleDao_T = ScheduleDao$;
            interface ScheduleDao extends ScheduleDao_T {
            }
            interface JobNotifyEvent_S {
            }
            interface JobNotifyEvent_C extends JobNotifyEvent_S {
                new():JobNotifyEvent;
            }
            interface JobNotifyEvent$ {
                setMessageInfo(messageInfo:MessageInfo):void;
                getMessageInfo():MessageInfo;
            }
            type JobNotifyEvent_T = JobNotifyEvent$;
            interface JobNotifyEvent extends JobNotifyEvent_T {
            }
        }
        namespace kd.bos.schedule.dao.dbImpl{
            interface DbJobOperation_S {
            }
            interface DbJobOperation_C extends DbJobOperation_S {
                new():DbJobOperation;
            }
            interface DbJobOperation$ {
            }
            type DbJobOperation_T = DbJobOperation$;
            interface DbJobOperation extends DbJobOperation_T {
            }
        }
        namespace kd.bos.schedule.executor{
            interface AbstractTask_S {
            }
            type AbstractTask_ST = $.kd.bos.schedule.api.Task & AbstractTask_S;
            interface AbstractTask_C extends AbstractTask_ST {
                new():AbstractTask;
            }
            interface AbstractTask$ {
            }
            type AbstractTask_T = $.kd.bos.schedule.api.Task & AbstractTask$;
            interface AbstractTask extends AbstractTask_T {
            }
            interface ExecutorService_S {
            }
            type ExecutorService_ST = $.kd.bos.schedule.api.Executor & $.kd.bos.schedule.message.AbstractService & ExecutorService_S;
            interface ExecutorService_C extends ExecutorService_ST {
                new():ExecutorService;
            }
            interface ExecutorService$ {
            }
            type ExecutorService_T = $.kd.bos.schedule.api.Executor & $.kd.bos.schedule.message.AbstractService & ExecutorService$;
            interface ExecutorService extends ExecutorService_T {
            }
            interface JobClient_S {
                /**
                 * 异步分发执行任务，根据作业信息创建一个执行任务
                 *
                 * @param jobInfo 作业信息
                 *
                 * @return 任务id
                 */
                dispatch(jobInfo:$.kd.bos.schedule.api.JobInfo):string;
                /**
                 * 终止任务，取消任务的执行
                 * @param taskId 任务id
                 */
                stopTask(taskId:string):void;
                /**
                 * 查询任务执行进度、结果
                 *
                 * @param taskId 任务id
                 * @return
                 */
                queryTask(taskId:string):$.kd.bos.schedule.api.TaskInfo;
            }
            interface JobClient_C extends JobClient_S {
                new():JobClient;
            }
            interface JobClient$ {
            }
            type JobClient_T = JobClient$;
            interface JobClient extends JobClient_T {
            }
        }
        namespace kd.bos.schedule.form{
            interface TaskClientProxy_S {
                /**
                 * 把任务进度页面pageid，缓存起来
                 *
                 * @param taskId 任务标识
                 * @param pageId 进度页面
                 */
                setProgressPageId(taskId:string,pageId:string):void;
                /**
                 * 判断前端首页任务提醒面板上，是否存在指定的任务
                 *
                 * @param taskId 任务标识，必传
                 * @return
                 */
                isExistTask(taskId:string):boolean;
                /**
                 * 当前用户会话结束，清除所有任务缓存
                 */
                sessionEnd():void;
                /**
                 * 使用web socket通道，从服务端往前端发送一个指令，添加一个后台任务提醒：适用于服务端独立运行的异步场景
                 *
                 * @param jobFormInfo 任务目标及进度界面显示参数
                 * @param taskInfo 当前任务状态
                 * @param formActions 需要同步发到前端去的界面指令集合，如任务执行完毕后，父页面的回调处理
                 */
                addTask(jobFormInfo:JobFormInfo,taskInfo:$.kd.bos.schedule.api.TaskInfo,formActions:$.java.util.List):void;
                /**
                 * 反馈进度
                 *
                 * @param jobFormInfo 任务目标
                 * @param taskInfo 当前任务状态
                 */
                feedbackProgress(view:$.kd.bos.form.IFormView,jobFormInfo:JobFormInfo,taskInfo:$.kd.bos.schedule.api.TaskInfo):void;
                /**
                 * 获取任务进度页面pageid
                 *
                 * @param taskId
                 */
                getProgressPageId(taskId:string):string;
                /**
                 * 在首页视图中，添加一个前端指令，删除前端任务提醒
                 *
                 * @param mainView 首页
                 * @param taskId 任务
                 */
                delTask(mainView:$.kd.bos.form.IFormView,taskId:string):void;
                /**
                 * 确认任务
                 * @param taskId
                 */
                confirm(taskId:string):void;
                /**
                 * 使用当前页面视图指令集合，同步向前端发送一个指令，添加一个后台任务提醒：适用前端发起的表单交互场景
                 *
                 * @param view 当前界面视图
                 * @param jobFormInfo 任务目标及进度界面显示参数
                 * @param taskInfo 当前任务状态
                 */
                addTask(view:$.kd.bos.form.IFormView,jobFormInfo:JobFormInfo,taskInfo:$.kd.bos.schedule.api.TaskInfo):void;
                /**
                 * 使用web socket通道，从服务端，通知前端任务面板中，删除一个任务项
                 *
                 *  当前任务状态
                 * @param formActions 需要同步发到前端去的界面指令集合，如任务执行完毕后，父页面的回调处理
                 */
                delTask(jobFormInfo:JobFormInfo,taskId:string,formActions:$.java.util.List):void;
                /**
                 * 反馈进度
                 *
                 * @param jobFormInfo 任务目标
                 * @param taskInfo 当前任务状态
                 * @param formActions 需要同步发到前端去的界面指令集合，如任务执行完毕后，父页面的回调处理
                 */
                feedbackProgress(jobFormInfo:JobFormInfo,taskInfo:$.kd.bos.schedule.api.TaskInfo,formActions:$.java.util.List):void;
                /**
                 * 终止任务
                 *
                 * @param jobFormInfo 预留
                 * @param taskId
                 */
                suspend(jobFormInfo:JobFormInfo,taskId:string):void;
            }
            interface TaskClientProxy_C extends TaskClientProxy_S {
                new():TaskClientProxy;
            }
            interface TaskClientProxy$ {
            }
            type TaskClientProxy_T = TaskClientProxy$;
            interface TaskClientProxy extends TaskClientProxy_T {
            }
            interface BackgroundTaskSubscriber_S {
            }
            type BackgroundTaskSubscriber_ST = $.java.lang.Runnable & BackgroundTaskSubscriber_S;
            interface BackgroundTaskSubscriber_C extends BackgroundTaskSubscriber_ST {
                /**
                 * 构造函数
                 *
                 * @param rc 链接上下文
                 * @param jobFormInfo 任务目标
                 * @param taskId 任务标识
                 */
                new(rc:$.kd.bos.context.RequestContext,jobFormInfo:JobFormInfo,taskId:string):BackgroundTaskSubscriber;
            }
            interface BackgroundTaskSubscriber$ {
            }
            type BackgroundTaskSubscriber_T = $.java.lang.Runnable & BackgroundTaskSubscriber$;
            interface BackgroundTaskSubscriber extends BackgroundTaskSubscriber_T {
            }
            interface AbstractTaskClick_S {
            }
            type AbstractTaskClick_ST = AbstractTaskClick_S & TaskClick_S;
            interface AbstractTaskClick_C extends AbstractTaskClick_ST {
                new():AbstractTaskClick;
            }
            interface AbstractTaskClick$ {
                /**
                 * 任务目标及进度界面参数
                 * @return
                 */
                getJobFormInfo():JobFormInfo;
                /**
                 * 查询任务最新状态
                 * @return
                 */
                queryTask():$.kd.bos.schedule.api.TaskInfo;
                /**
                 * 首页
                 * @return
                 */
                getMainView():$.kd.bos.form.IFormView;
                /**
                 * 当前任务，是否已经显示了进度界面? 不需要重复打开进度界面
                 *
                 * @return
                 */
                isExistProgressForm():boolean;
                /**
                 * 把重新打开的进度界面pageid，缓存起来
                 * @param pageId
                 */
                setProgressPageId(pageId:string):void;
                /**
                 * 任务标识
                 * @return
                 */
                getTaskId():string;
                /**
                 *  发起任务的页面：可能为null，即发起任务页面已经关闭
                 *
                 * @return
                 */
                getParentView():$.kd.bos.form.IFormView;
            }
            type AbstractTaskClick_T = AbstractTaskClick$ & TaskClick;
            interface AbstractTaskClick extends AbstractTaskClick_T {
            }
            class JobFromStatus {
                static readonly Confirm:kd.bos.schedule.form.JobFromStatus;
                static readonly Create:kd.bos.schedule.form.JobFromStatus;
                static values():kd.bos.schedule.form.JobFromStatus[];
                static valueOf(arg0:string):kd.bos.schedule.form.JobFromStatus;
                /**
                 * 设置枚举值
                 * @param value
                 */
                setValue(value:string):void;
                /**
                 * 获取枚举值
                 * @return
                 */
                getValue():string;
            }
            interface TaskClickProxy_S {
            }
            interface TaskClickProxy_C extends TaskClickProxy_S {
                /**
                 * 构造函数
                 * @param mainView
                 * @param taskId 任务id
                 */
                new(mainView:$.kd.bos.form.IFormView,taskId:string):TaskClickProxy;
            }
            interface TaskClickProxy$ {
            }
            type TaskClickProxy_T = TaskClickProxy$;
            interface TaskClickProxy extends TaskClickProxy_T {
            }
            interface JobFormInfo_S {
            }
            interface JobFormInfo_C extends JobFormInfo_S {
                /**
                 * 构造函数
                 */
                new():JobFormInfo;
                /**
                 * 构造函数
                 * @param jobInfo 作业信息
                 */
                new(jobInfo:$.kd.bos.schedule.api.JobInfo):JobFormInfo;
            }
            interface JobFormInfo$ {
                /**
                 * 获取后台任务提醒控件所在的页面pageId，默认是首页
                 *
                 * @return
                 */
                getRootPageId():string;
                /**
                 * 设置后台任务提醒控件所在的页面pageId
                 * @param rootPageId
                 */
                setRootPageId(rootPageId:string):void;
                /**
                 * 设置任务完成后的回调参数
                 * @param closeCallBack
                 */
                setCloseCallBack(closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 获取源会话id
                 * @return 源会话id
                 */
                getOriginSessionid():string;
                /**
                 * 获取任务进度界面自定义参数
                 * @return
                 */
                getParams():$.java.util.Map;
                /**
                 * 获取发起的作业信息
                 *
                 * @return
                 */
                getJobInfo():$.kd.bos.schedule.api.JobInfo;
                /**
                 * 获取任务进度界面标题
                 *
                 * @return
                 */
                getCaption():string;
                /**
                 * 设置后台监控超时时间（单位秒）；不接收小于10秒的超时时间
                 * @param timeout 超时时间（单位秒）
                 */
                setTimeout(timeout:number):void;
                /**
                 * 获取该JobFormInfo被多少会话占用
                 * 如果原会话有多个窗口，sessionIds也会存原会话id
                 * @return
                 */
                getSessionIds():$.java.util.Set;
                /**
                 * 设置发起任务的页面
                 * @param parentPageId
                 */
                setParentPageId(parentPageId:string):void;
                /**
                 * 设置任务进度界面自定义参数
                 * @param params
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 获取任务完成后的回调参数
                 * @return
                 */
                getCloseCallBack():$.kd.bos.form.CloseCallBack;
                /**
                 * 获取发起任务的页面
                 *
                 * @return
                 */
                getParentPageId():string;
                /**
                 * 是否允许中途取消执行任务
                 * @return
                 */
                isCanStop():boolean;
                /**
                 * 获取任务图标名
                 * @return
                 */
                getTaskIcon():string;
                /**
                 * 获取点击前端任务条目时，点击事件处理类名，必须实现TaskClick接口
                 * @return
                 */
                getClickClassName():string;
                /**
                 * 设置源会话id
                 * @param originSessionid 源会话id
                 */
                setOriginSessionid(originSessionid:string):void;
                /**
                 * 设置任务图标名
                 * @param taskIcon
                 */
                setTaskIcon(taskIcon:string):void;
                /**
                 * 设置是否允许中途取消执行任务
                 * @param canStop
                 */
                setCanStop(canStop:boolean):void;
                /**
                 * 设置是否允许转入后台执行
                 * @param canBackground
                 */
                setCanBackground(canBackground:boolean):void;
                /**
                 * 获取后台监控超时时间，单位(秒)：后台任务进度无变化，默认120秒之后，自动结束任务进度监控，避免进入死循环
                 * @return
                 */
                getTimeout():number;
                /**
                 * 设置发起的作业信息
                 * @param jobInfo
                 */
                setJobInfo(jobInfo:$.kd.bos.schedule.api.JobInfo):void;
                /**
                 * 是否允许转入后台执行
                 * @return
                 */
                isCanBackground():boolean;
                /**
                 * 设置任务进度界面标题
                 * @param caption
                 */
                setCaption(caption:string):void;
                /**
                 * 设置点击前端任务条目时，点击事件处理类名
                 * @param clickClassName
                 */
                setClickClassName(clickClassName:string):void;
            }
            type JobFormInfo_T = JobFormInfo$;
            interface JobFormInfo extends JobFormInfo_T {
            }
            interface JobForm_S {
                /**
                 * 启动一个后台任务，并自动显示任务进度界面
                 *
                 * @param jobFormInfo 任务目标及进度界面显示参数
                 * @param view
                 */
                dispatch(jobFormInfo:JobFormInfo,view:$.kd.bos.form.IFormView):void;
                /**
                 * 启动一个后台任务，并自动显示任务处理进度界面
                 *
                 * @param jobInfo 需要启动的作业信息
                 * @param view 启动任务的界面
                 * @param closeCallBack 回调参数：任务完后后，会自动关闭进度界面，并对启动任务的界面进行回调处理
                 */
                dispatch(jobInfo:$.kd.bos.schedule.api.JobInfo,view:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
            }
            interface JobForm_C extends JobForm_S {
                new():JobForm;
            }
            interface JobForm$ {
            }
            type JobForm_T = JobForm$;
            interface JobForm extends JobForm_T {
            }
            interface TaskClick_S {
            }
            interface TaskClick_C extends TaskClick_S {
            }
            interface TaskClick$ {
                /**
                 * 任务已经完成，用户点击清除按钮，关闭任务条目
                 *
                 * @return 如果插件要求暂时不关闭任务进度条，可以返回false
                 */
                release():boolean;
                /**
                 * 处理点击事件前，传入上下文信息
                 *
                 * @param mainView  首页
                 * @param jobFormInfo  任务目标及进度界面参数
                 * @param taskId  任务标识
                 */
                setContext(mainView:$.kd.bos.form.IFormView,jobFormInfo:JobFormInfo,taskId:string):void;
                /**
                 * 点击任务上的子按钮
                 * @param e 子按钮点击事件参数
                 */
                itemClick(e:kd.bos.schedule.form.event.ItemClickEventArgs):void;
                /**
                 * 点击任务条目（文字区，非子按钮）。可能是要打开任务进度，或打开任务结果
                 * @param e 点击事件参数
                 */
                click(e:kd.bos.schedule.form.event.ClickEventArgs):void;
            }
            type TaskClick_T = TaskClick$;
            interface TaskClick extends TaskClick_T {
            }
        }
        namespace kd.bos.schedule.form.event{
            interface ClickEventArgs_S {
            }
            interface ClickEventArgs_C extends ClickEventArgs_S {
                new():ClickEventArgs;
            }
            interface ClickEventArgs$ {
                /**
                 * 是否在点击处理完毕后，自动清除前端任务提醒图标
                 * @return
                 */
                isClearTask():boolean;
                /**
                 * 设置参数：自动清除前端任务提醒图标
                 *
                 * @param clearTask 自动清除前端任务提醒图标：false-不清除，true-清除
                 */
                setClearTask(clearTask:boolean):void;
            }
            type ClickEventArgs_T = ClickEventArgs$;
            interface ClickEventArgs extends ClickEventArgs_T {
            }
            interface ItemClickEventArgs_S {
            }
            interface ItemClickEventArgs_C extends ItemClickEventArgs_S {
                /**
                 * 构造函数
                 */
                new():ItemClickEventArgs;
                /**
                 * 构造函数
                 * @param itemKey 子按钮标识
                 */
                new(itemKey:string):ItemClickEventArgs;
            }
            interface ItemClickEventArgs$ {
                /**
                 * 设置获取子按钮标识(可能是终止任务、查看详情等子按钮)
                 * @param itemKey 子按钮标识
                 */
                setItemKey(itemKey:string):void;
                /**
                 * 获取子按钮标识(可能是终止任务、查看详情等子按钮)
                 * @return 子按钮标识
                 */
                getItemKey():string;
            }
            type ItemClickEventArgs_T = ItemClickEventArgs$;
            interface ItemClickEventArgs extends ItemClickEventArgs_T {
            }
        }
        namespace kd.bos.schedule.formplugin{
            interface CronStruct_S {
                /**
                 * 解析 cron 表达式，生成一个 cron 结构实例
                 *
                 * @param cronStr
                 * @return
                 */
                parse(cronStr:string):CronStruct;
            }
            interface CronStruct_C extends CronStruct_S {
                new():CronStruct;
            }
            interface CronStruct$ {
                /**
                 * @param minutes the minutes to set
                 */
                setMinutes(minutes:string):void;
                /**
                 * @return the dayOfWeek
                 */
                getDayOfWeek():string;
                /**
                 * @return the dayOfMonth
                 */
                getDayOfMonth():string;
                /**
                 * @return the seconds
                 */
                getSeconds():string;
                /**
                 * @return the minutes
                 */
                getMinutes():string;
                /**
                 * @param month the month to set
                 */
                setMonth(month:string):void;
                /**
                 * @param dayOfWeek the dayOfWeek to set
                 */
                setDayOfWeek(dayOfWeek:string):void;
                /**
                 * @param seconds the seconds to set
                 */
                setSeconds(seconds:string):void;
                /**
                 * cron 表达式时间频率描述
                 *
                 * @return
                 */
                getDescBuf():$.java.lang.StringBuffer;
                /**
                 * @param hours the hours to set
                 */
                setHours(hours:string):void;
                /**
                 * @return the month
                 */
                getMonth():string;
                /**
                 * @return the year
                 */
                getYear():string;
                /**
                 * @param year the year to set
                 */
                setYear(year:string):void;
                /**
                 * @return the hours
                 */
                getHours():string;
                /**
                 * @param dayOfMonth the dayOfMonth to set
                 */
                setDayOfMonth(dayOfMonth:string):void;
            }
            type CronStruct_T = CronStruct$;
            interface CronStruct extends CronStruct_T {
            }
        }
        namespace kd.bos.schedule.message{
            class AbstractService$RunMode {
                static readonly Dev:kd.bos.schedule.message.AbstractService$RunMode;
                static readonly Product:kd.bos.schedule.message.AbstractService$RunMode;
                static valueOf(arg0:string):kd.bos.schedule.message.AbstractService$RunMode;
                static values():kd.bos.schedule.message.AbstractService$RunMode[];
            }
            interface AbstractService_S {
                readonly SCHEDULE_MESSAGE_MODE_KEY:string;
                readonly SCHEDULE_ENV_KEY:string;
                readonly SCHEDULE_EXECUTOR_SERVER_NAME_KEY:string;
                readonly DEFAULT_SESSION_TIMEOUT:number;
                getHostIpAddress():string;
                getRunServerName():string;
            }
            type AbstractService_ST = $.kd.bos.framework.lifecycle.Service & AbstractService_S;
            interface AbstractService_C extends AbstractService_ST {
                new():AbstractService;
            }
            interface AbstractService$ {
                getRunMode():AbstractService$RunMode;
                getObjectFactory():$.kd.bos.schedule.api.ObjectFactory;
                getIpAddress():string;
            }
            type AbstractService_T = $.kd.bos.framework.lifecycle.Service & AbstractService$;
            interface AbstractService extends AbstractService_T {
            }
            interface MessageCreator_S {
            }
            interface MessageCreator_C extends MessageCreator_S {
                new():MessageCreator;
            }
            interface MessageCreator$ {
            }
            type MessageCreator_T = MessageCreator$;
            interface MessageCreator extends MessageCreator_T {
            }
        }
        namespace kd.bos.schedule.server{
            interface JobDispatcherProxy_S {
            }
            type JobDispatcherProxy_ST = $.kd.bos.schedule.api.JobDispatcher & JobDispatcherProxy_S;
            interface JobDispatcherProxy_C extends JobDispatcherProxy_ST {
                new():JobDispatcherProxy;
            }
            interface JobDispatcherProxy$ {
                /**
                 * 生成任务 id
                 *
                 * @param jobInfo
                 * @return
                 */
                genenateTaskId(jobInfo:$.kd.bos.schedule.api.JobInfo):string;
                /**
                 * 更新调度计划
                 *
                 * @param planInfo 调度计划信息
                 * @return
                 */
                updatePlan(planInfo:$.kd.bos.schedule.api.PlanInfo):string;
                /**
                 * 终止任务
                 *
                 * @param taskId 任务 id
                 */
                abortTask(taskId:string):void;
            }
            type JobDispatcherProxy_T = $.kd.bos.schedule.api.JobDispatcher & JobDispatcherProxy$;
            interface JobDispatcherProxy extends JobDispatcherProxy_T {
            }
            interface Trigger_S {
            }
            type Trigger_ST = Trigger_S & kd.bos.schedule.server.schedulecreator.ScheduleVisitor_S;
            interface Trigger_C extends Trigger_ST {
                new():Trigger;
                new(accounts:$.java.util.List):Trigger;
            }
            interface Trigger$ {
                isRunning():boolean;
                reSetElectedAccount(accounts:$.java.util.List):void;
                resumeService():void;
                getScheduleManager():$.kd.bos.schedule.api.ScheduleManager;
                start():void;
                stop():void;
            }
            type Trigger_T = Trigger$ & kd.bos.schedule.server.schedulecreator.ScheduleVisitor;
            interface Trigger extends Trigger_T {
            }
            interface ExecutorResourceManager_S {
                setInstance(instance:ExecutorResourceManager):void;
                getInstance():ExecutorResourceManager;
            }
            interface ExecutorResourceManager_C extends ExecutorResourceManager_S {
                new():ExecutorResourceManager;
            }
            interface ExecutorResourceManager$ {
                start():void;
                initServerList():void;
                getObjectFactory():$.kd.bos.schedule.api.ObjectFactory;
                stop():void;
                setZooKeeper():void;
                setObjectFactory(objectFactory:$.kd.bos.schedule.api.ObjectFactory):void;
            }
            type ExecutorResourceManager_T = ExecutorResourceManager$;
            interface ExecutorResourceManager extends ExecutorResourceManager_T {
            }
            class ScheduleService$Status {
                static readonly Running:kd.bos.schedule.server.ScheduleService$Status;
                static readonly NotInitialed:kd.bos.schedule.server.ScheduleService$Status;
                static readonly InService:kd.bos.schedule.server.ScheduleService$Status;
                static readonly READY:kd.bos.schedule.server.ScheduleService$Status;
                static values():kd.bos.schedule.server.ScheduleService$Status[];
                static valueOf(arg0:string):kd.bos.schedule.server.ScheduleService$Status;
            }
            interface ScheduleService_S {
            }
            type ScheduleService_ST = ScheduleService_S & kd.bos.schedule.message.AbstractService_S;
            interface ScheduleService_C extends ScheduleService_ST {
                new():ScheduleService;
            }
            interface ScheduleService$ {
            }
            type ScheduleService_T = ScheduleService$ & kd.bos.schedule.message.AbstractService;
            interface ScheduleService extends ScheduleService_T {
            }
        }
        namespace kd.bos.schedule.server.schedulecreator{
            class SchVisitorStatus {
                static readonly Paused:kd.bos.schedule.server.schedulecreator.SchVisitorStatus;
                static readonly Running:kd.bos.schedule.server.schedulecreator.SchVisitorStatus;
                static readonly Stopped:kd.bos.schedule.server.schedulecreator.SchVisitorStatus;
                static values():kd.bos.schedule.server.schedulecreator.SchVisitorStatus[];
                static valueOf(arg0:string):kd.bos.schedule.server.schedulecreator.SchVisitorStatus;
            }
            interface ScheduleVisitor_S {
            }
            interface ScheduleVisitor_C extends ScheduleVisitor_S {
            }
            interface ScheduleVisitor$ {
                addAccount?(account:kd.bos.dc.api.model.Account):void;
                getSchedules():$.java.util.concurrent.ConcurrentHashMap;
                getElectedAccountsOfCluster?():$.java.util.concurrent.ConcurrentMap;
                setStatus?(status:SchVisitorStatus):void;
                getSchedulesByAccountId?(accountId:string):$.java.util.concurrent.ConcurrentMap;
                getStatus?():SchVisitorStatus;
                getServerQueues():$.java.util.List;
                deleteAccount?(account:kd.bos.dc.api.model.Account):void;
            }
            type ScheduleVisitor_T = ScheduleVisitor$;
            interface ScheduleVisitor extends ScheduleVisitor_T {
            }
            interface CronStruct_S {
                /**
                 * 解析 cron 表达式，生成一个 cron 结构实例
                 *
                 * @param cronStr
                 * @return
                 */
                parse(cronStr:string):CronStruct;
            }
            interface CronStruct_C extends CronStruct_S {
                new():CronStruct;
            }
            interface CronStruct$ {
                /**
                 * @param dayOfWeek the dayOfWeek to set
                 */
                setDayOfWeek(dayOfWeek:string):void;
                /**
                 * @param year the year to set
                 */
                setYear(year:string):void;
                /**
                 * @param dayOfMonth the dayOfMonth to set
                 */
                setDayOfMonth(dayOfMonth:string):void;
                /**
                 * @return the dayOfWeek
                 */
                getDayOfWeek():string;
                /**
                 * @return the seconds
                 */
                getSeconds():string;
                /**
                 * @return the year
                 */
                getYear():string;
                /**
                 * @param month the month to set
                 */
                setMonth(month:string):void;
                /**
                 * @param seconds the seconds to set
                 */
                setSeconds(seconds:string):void;
                /**
                 * @param hours the hours to set
                 */
                setHours(hours:string):void;
                /**
                 * @return the minutes
                 */
                getMinutes():string;
                /**
                 * cron 表达式时间频率描述
                 *
                 * @return
                 */
                getDescBuf():$.java.lang.StringBuffer;
                /**
                 * @return the month
                 */
                getMonth():string;
                /**
                 * @return the dayOfMonth
                 */
                getDayOfMonth():string;
                /**
                 * @return the hours
                 */
                getHours():string;
                /**
                 * @param minutes the minutes to set
                 */
                setMinutes(minutes:string):void;
            }
            type CronStruct_T = CronStruct$;
            interface CronStruct extends CronStruct_T {
            }
        }
        namespace kd.bos.schedule.utils{
            interface RequestContextUtils_S {
            }
            interface RequestContextUtils_C extends RequestContextUtils_S {
                new():RequestContextUtils;
            }
            interface RequestContextUtils$ {
            }
            type RequestContextUtils_T = RequestContextUtils$;
            interface RequestContextUtils extends RequestContextUtils_T {
            }
        }
        namespace kd.bos.schedule.zk{
            interface ActiveKeyValueStore_S {
                readonly CHARSET:$.java.nio.charset.Charset;
                create():ActiveKeyValueStore;
            }
            interface ActiveKeyValueStore_C extends ActiveKeyValueStore_S {
            }
            interface ActiveKeyValueStore$ {
                read(arg0:string,arg1:any):string;
                exists(arg0:string,arg1:any):any;
                create(arg0:string,arg1:string,arg2:any):string;
                readByte(arg0:string,arg1:any):number[];
                publishBroadcastMsg(arg0:string,arg1:string):void;
                getData(arg0:string,arg1:any,arg2:any):number[];
                create(arg0:string,arg1:any):string;
                getCuratorFramework():any;
                initAppIdExeServerMap():void;
                ensureExisted(arg0:string,arg1:string):void;
                writeChildren(arg0:string,arg1:string,arg2:string,arg3:any):void;
                delete(arg0:string):void;
                exists(arg0:string):any;
                getAppIdExeServerMap():$.java.util.concurrent.ConcurrentHashMap;
                setData(arg0:string,arg1:string):void;
                initAppIdExeServerMap(arg0:string):void;
                getChildrenData(arg0:string,arg1:any):$.java.util.Map;
                deleteChildren(arg0:string,arg1:string):void;
                getChildren(arg0:string):$.java.util.List;
                write(arg0:string,arg1:string):void;
                getChildren(arg0:string,arg1:any):$.java.util.List;
                getExeServerMap():$.java.util.TreeMap;
                write(arg0:string,arg1:string,arg2:any):void;
            }
            type ActiveKeyValueStore_T = ActiveKeyValueStore$;
            interface ActiveKeyValueStore extends ActiveKeyValueStore_T {
            }
        }
        namespace kd.bos.service{
            interface InteTimeZone_S {
                /**
                 * 获取组织时区
                 *
                 * @param orgId 组织Id
                 * @return 时区
                 */
                getOrgTimeZone(orgId:long):InteTimeZone;
                /**
                 * 获取用户时区
                 *
                 * @param userId 用户Id
                 * @return 时区
                 */
                getUserTimeZone(userId:long):InteTimeZone;
                /**
                 * 系统时区
                 *
                 * @return 时区
                 */
                getSysTimeZone():InteTimeZone;
            }
            type InteTimeZone_ST = $.java.io.Serializable & InteTimeZone_S;
            interface InteTimeZone_C extends InteTimeZone_ST {
                /**
                 * 构造函数
                 */
                new():InteTimeZone;
                /**
                 * 构造函数：根据时区信息（基础资料）构造国际化时区对象
                 *
                 * @param info 时区信息（基础资料）
                 */
                new(info:$.kd.bos.dataentity.entity.DynamicObject):InteTimeZone;
            }
            interface InteTimeZone$ {
                /**
                 * 按默认格式解析传入的时间字符串，输出日期
                 *
                 * @param datetime 时间字符串
                 * @return 日期对象（Date）
                 * @throws ParseException 格式有误，解析异常
                 */
                parse(datetime:string):Date;
                /**
                 * 对传入日期进行格式化，按默认格式输出时间字符串
                 *
                 * @param datetime 源日期对象（一般是Date）
                 * @return 默认格式的时间字符串
                 */
                format(datetime:Date):string;
                /**
                 * 获取时区描述（UTC+n）
                 *
                 * @return
                 */
                getTimeZoneDesc():string;
                /**
                 * 按默认格式解析传入的日期字符串，输出日期
                 *
                 * @param date 日期字符串
                 * @return 日期对象（Date）
                 * @throws ParseException 格式有误，解析异常
                 */
                parseDate(date:string):Date;
                /**
                 * 获取GMT时差
                 *
                 * @return GMT时差
                 */
                getTimeArea():string;
                /**
                 * 对传入日期进行格式化，按自定义格式输出时间字符串
                 *
                 * @param datetime 源日期对象（一般是Date）
                 * @param format   自定义格式化对象
                 * @return 自定义格式的时间字符串
                 */
                format(datetime:Date,format:$.java.text.DateFormat):string;
                /**
                 * 按自定义格式解析传入的日期字符串，输出日期
                 *
                 * @param date 日期字符串
                 * @param format   自定义格式化对象
                 * @return 日期对象（Date）
                 * @throws ParseException 格式有误，解析异常
                 */
                parseDate(date:string,format:$.java.text.DateFormat):Date;
                /**
                 * 设置时区
                 *
                 * @param timeZone 时区
                 */
                setTimeZone(timeZone:$.java.util.TimeZone):void;
                /**
                 * 获取时区
                 */
                getTimeZone():$.java.util.TimeZone;
                /**
                 * 获取时区对应的基础资料信息
                 */
                getInfo():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 按自定义格式解析传入的时间字符串，输出日期
                 *
                 * @param datetime 时间字符串
                 * @param format   自定义格式化对象
                 * @return 日期对象（Date）
                 * @throws ParseException 格式有误，解析异常
                 */
                parse(datetime:string,format:$.java.text.DateFormat):Date;
                /**
                 * 传入时区信息（基础资料），重置国际化时区对象
                 *
                 * @param info
                 */
                setInfo(info:$.kd.bos.dataentity.entity.DynamicObject):void;
            }
            type InteTimeZone_T = $.java.io.Serializable & InteTimeZone$;
            interface InteTimeZone extends InteTimeZone_T {
            }
            interface KDDateFormatUtils_S {
                readonly DATETIMEFORMATSTRING:string;
                readonly DATEFORMATSTRING:string;
                /**
                 * 返回用户时区格式化工具
                 *
                 * @return
                 */
                getUserZoneDateFormat():$.java.text.DateFormat;
                /**
                 * 返回当前时区长日期格式化工具
                 *
                 * @return
                 */
                getDateTimeFormat():$.java.text.DateFormat;
                /**
                 * 返回用户时区格式化工具
                 *
                 * @return
                 */
                getSystemTimeZoneDateFormat():$.java.text.DateFormat;
                /**
                 * 根据传入返回短日期格式化工具
                 *
                 * @param timeZone
                 * @return
                 */
                getDateFormat(timeZone:$.java.util.TimeZone):$.java.text.DateFormat;
                /**
                 * 根据传入返回长日期格式化工具
                 *
                 * @param timeZone
                 * @return
                 */
                getDateTimeFormat(timeZone:$.java.util.TimeZone):$.java.text.DateFormat;
                /**
                 * 返回当前时区短日期格式化工具
                 *
                 * @return
                 */
                getDateFormat():$.java.text.DateFormat;
            }
            interface KDDateFormatUtils_C extends KDDateFormatUtils_S {
                new():KDDateFormatUtils;
            }
            interface KDDateFormatUtils$ {
            }
            type KDDateFormatUtils_T = KDDateFormatUtils$;
            interface KDDateFormatUtils extends KDDateFormatUtils_T {
            }
            interface ServiceFactory_S {
                getService(serviceName:string):any;
                putService(serviceName:string,serviceImpl:string):void;
                getService(clazz:$.java.lang.Class):any;
            }
            interface ServiceFactory_C extends ServiceFactory_S {
                new():ServiceFactory;
            }
            interface ServiceFactory$ {
            }
            type ServiceFactory_T = ServiceFactory$;
            interface ServiceFactory extends ServiceFactory_T {
            }
            interface ITimeService_S {
            }
            interface ITimeService_C extends ITimeService_S {
            }
            interface ITimeService$ {
            }
            type ITimeService_T = ITimeService$;
            interface ITimeService extends ITimeService_T {
            }
            interface KDDateUtils_S {
                getTheWeekEnd(firstDayOfWeek:Date):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周起始时间
                 *
                 * @param amount
                 * @return
                 */
                getTheWeekStart(amount:number,firstDayOfWeek:number):Date;
                getTheQuarterEnd(amount:number):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周结束时间，中国习俗，周一开始
                 *
                 * @return
                 */
                getTheWeekEnd(amount:number):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的年起始时间
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheYearStart(amount:number,baseDate:Date):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的年结束时间
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheYearEnd(amount:number,baseDate:Date):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周起始时间，中国习俗，从周一开始
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheWeekStart(amount:number,baseDate:Date):Date;
                getTheYearStart(userTimeZone:$.java.util.TimeZone,amount:number):Date;
                /**
                 * 将格式为yyyy-MM-dd字符串转为当前时区的时间
                 *
                 * @param dateString
                 * @return
                 */
                parseDate(dateString:string):Date;
                /**
                 * 获取当前用户时区的0点开始的时间
                 *
                 * @return
                 */
                today():Date;
                getTheQuarterEnd(userTimeZone:$.java.util.TimeZone,sysTimeZone:$.java.util.TimeZone,amout:number):Date;
                /**
                 * 获取用户时区
                 *
                 * @return
                 */
                getUserTimeZone():$.java.util.TimeZone;
                /**
                 * 增加当前时间为起点的毫秒数
                 *
                 * @param date
                 *            基础时间
                 *
                 * @param amount
                 *            毫秒数
                 * @return
                 */
                addMilliseconds(date:Date,amount:number):Date;
                getTheQuarterStart(userTimeZone:$.java.util.TimeZone,amout:number):Date;
                getTheYearStart(amount:number):Date;
                getTheWeekStart(amount:number,userTimeZone:$.java.util.TimeZone,dayOfWeek:$.java.time.DayOfWeek):Date;
                /**
                 * 根据组织id获取组织时区
                 *
                 * @param orgId
                 * @return
                 */
                getOrgTimeZone(orgId:long):$.java.util.TimeZone;
                /**
                 * 将格式为yyyy-MM-dd HH:mm:ss字符串转为当前时区的时间
                 *
                 * @param dateTimeString
                 * @return
                 */
                parseDateTime(dateTimeString:string):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周起始时间
                 *
                 * @param amount 时间量
                 * @return
                 */
                getTheWeekStart(amount:number,baseDate:Date,firstDayOfWeek:number):Date;
                /**
                 * 增加当前时间为起点的分钟数
                 *
                 * @param date
                 *            基础时间
                 *
                 * @param amount
                 *            分钟数
                 * @return
                 */
                addMinutes(date:Date,amount:number):Date;
                /**
                 * 获取从用户时区的0点开始的时间换算成系统时区
                 *
                 * @return
                 */
                userTimeZoneToSystemTimeZoneToday():Date;
                getTheQuarterStart(amount:number):Date;
                getTheYearEnd(userTimeZone:$.java.util.TimeZone,amount:number):Date;
                /**
                 * 获取系统时区
                 *
                 * @return
                 */
                getInteSysTimeZone():InteTimeZone;
                /**
                 * 获取以当前时间为基准的指定时间量的月起始时间
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheMonthStart(amount:number,baseDate:Date):Date;
                /**
                 * 增加当前时间为起点的秒数
                 *
                 * @param date
                 *            基础时间
                 *
                 * @param amount
                 *            秒数
                 * @return
                 */
                addSeconds(date:Date,amount:number):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周起始时间，中国习俗，从周一开始
                 *
                 * @param amount
                 * @return
                 */
                getTheWeekStart(amount:number):Date;
                /**
                 * 获取系统时区
                 *
                 * @return
                 */
                getSysTimeZone():$.java.util.TimeZone;
                /**
                 * 增加基础时间为起点的周数
                 *
                 * @param date
                 *            基础时间
                 * @param amount
                 *            周数
                 * @return
                 */
                addWeeks(date:Date,amount:number):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周结束时间，国际惯例，周日开始
                 *
                 * @return
                 */
                getTheWeekEnd(amount:number,firstDayOfWeek:number):Date;
                getTheYearEnd(amount:number):Date;
                getTheQuarterEnd(userTimeZone:$.java.util.TimeZone,amout:number):Date;
                /**
                 * 将格式为yyyy-MM-dd字符串转为系统时区的时间
                 *
                 * @param dateTimeString
                 * @return
                 */
                parseToSystemTimeZoneDate(dateTimeString:string):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的月结束时间
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheMonthEnd(amount:number,baseDate:Date):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的季度结束时间
                 *
                 * @param amount
                 *            -1 : 上季度 0 : 本季度 1 ： 下季度
                 * @return
                 */
                getTheQuarterEnd(amount:number,baseDate:Date):Date;
                /**
                 * 获取当前时区
                 *
                 * @return
                 */
                getTimeZone():$.java.util.TimeZone;
                /**
                 * 获取以当前时间为基准的指定时间量的周结束时间
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheWeekEnd(amount:number,baseDate:Date):Date;
                /**
                 * 增加基础时间为起点的月数
                 *
                 * @param date
                 *            基础时间
                 * @param amount
                 *            月数
                 * @return
                 */
                addMonths(date:Date,amount:number):Date;
                /**
                 * 增加基础时间为起点的年数
                 *
                 * @param date
                 *            基础时间
                 * @param amount
                 *            年数
                 * @return
                 */
                addYears(date:Date,amount:number):Date;
                getTheMonthEnd(amount:number):Date;
                /**
                 * 增加指定单位时间量
                 *
                 * @param time
                 *            基准时间
                 * @param calendarField
                 *            单位类型
                 * @param amount
                 *            时间量
                 * @return
                 */
                add(time:Date,calendarField:number,amount:number):Date;
                /**
                 * 增加当前时间为起点的小时数
                 *
                 * @param date
                 *            基础时间
                 *
                 * @param amount
                 *            小时数
                 * @return
                 */
                addHours(date:Date,amount:number):Date;
                getTheMonthStart(amount:number,userTimeZone:$.java.util.TimeZone,sysTimeZone:$.java.util.TimeZone):Date;
                /**
                 * 获取以当前时间为基准的指定时间量的周结束时间，国际惯例，周日开始
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheWeekEnd(amount:number,baseDate:Date,firstDayOfWeek:number):Date;
                getTheMonthStart(amount:number,userTimeZone:$.java.util.TimeZone):Date;
                getTheMonthStart(amount:number):Date;
                /**
                 * 将格式为yyyy-MM-dd HH:mm:ss字符串转为系统时区的时间
                 *
                 * @param dateTimeString
                 * @return
                 */
                parseToSystemTimeZoneDateTime(dateTimeString:string):Date;
                getTheMonthEnd(amount:number,userTimeZone:$.java.util.TimeZone,sysTimeZone:$.java.util.TimeZone):Date;
                getTheQuarterStart(userTimeZone:$.java.util.TimeZone,sysTimeZone:$.java.util.TimeZone,amout:number):Date;
                /**
                 * 获取当前用户时区的当前时间
                 *
                 * @return
                 */
                now():Date;
                /**
                 * 获取以当前时间为基准的指定时间量的季度起始时间
                 *
                 * @param amount
                 *            时间量
                 * @return
                 */
                getTheQuarterStart(amount:number,baseDate:Date):Date;
                getTheMonthEnd(amount:number,userTimeZone:$.java.util.TimeZone):Date;
                /**
                 * 增加当前时间为起点的天数
                 *
                 * @param date
                 *            基础时间
                 *
                 * @param amount
                 *            天数
                 * @return
                 */
                addDays(date:Date,amount:number):Date;
            }
            interface KDDateUtils_C extends KDDateUtils_S {
                new():KDDateUtils;
            }
            interface KDDateUtils$ {
            }
            type KDDateUtils_T = KDDateUtils$;
            interface KDDateUtils extends KDDateUtils_T {
            }
            interface TimeService_S {
                readonly service:kd.bos.inte.api.IInteService;
            }
            type TimeService_ST = ITimeService_S & TimeService_S;
            interface TimeService_C extends TimeService_ST {
                new():TimeService;
            }
            interface TimeService$ {
            }
            type TimeService_T = ITimeService & TimeService$;
            interface TimeService extends TimeService_T {
            }
            interface IUserService_S {
            }
            interface IUserService_C extends IUserService_S {
            }
            interface IUserService$ {
            }
            type IUserService_T = IUserService$;
            interface IUserService extends IUserService_T {
            }
            interface IBaseDataService_S {
            }
            interface IBaseDataService_C extends IBaseDataService_S {
            }
            interface IBaseDataService$ {
                orgAddnewHandler(arg0:long):void;
                managePermChange?(arg0:string,arg1:$.java.util.List,arg2:long):void;
                refreshBaseDataUseRange(arg0:string,arg1:$.java.util.List):void;
                addCtrlTableColumns?(arg0:string,arg1:string):boolean;
                getCtrlStgyViewSchema?(arg0:string):string;
                clearCache(arg0:$.kd.bos.dataentity.entity.DynamicObject):void;
                baseDataSubmitHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long):void;
                baseDataAddnewHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                getBaseDataFilter(arg0:string,arg1:long):$.kd.bos.orm.query.QFilter;
                baseDataAuditHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                getBaseDataIdInFilter?(arg0:string,arg1:long):$.kd.bos.orm.query.QFilter;
                batchHandleModify?(arg0:string,arg1:long,arg2:$.java.util.List):$.java.util.Map;
                afterSetCtrlUintHandle?(arg0:string,arg1:$.java.util.List):void;
                getBdCtrlOrgs?(arg0:string):$.java.util.List;
                baseDataAssignHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long,arg2:long):void;
                repairNewPropsValue?(arg0:string):boolean;
                isNoneCustomEntity?(arg0:string):boolean;
                handleManageOrg(arg0:$.kd.bos.dataentity.entity.DynamicObject):void;
                getMasterIdPropName?(arg0:string):string;
                batchModifyVerify?(arg0:string,arg1:long,arg2:$.java.util.List):$.java.util.Map;
                handleDisable(arg0:string,arg1:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                getBaseDataFilter(arg0:long,arg1:string,arg2:string,arg3:$.kd.bos.orm.query.QFilter,arg4:boolean):$.kd.bos.orm.query.QFilter;
                queryBaseData(arg0:string,arg1:long,arg2:$.kd.bos.orm.query.QFilter,arg3:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                executeIndividualizeOnFreeStrategy?(arg0:string,arg1:long,arg2:string,arg3:$.java.util.Set,arg4:any):$.java.util.Map;
                baseDataSubmitHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                baseDataDeleteHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                baseDataDeleteHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long):void;
                chectDuplicate(arg0:string,arg1:long,arg2:$.java.util.List):boolean;
                getBaseDataFilter(arg0:string,arg1:$.java.util.List,arg2:boolean):$.kd.bos.orm.query.QFilter;
                handleModify?(arg0:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                getUseOrgFunc?(arg0:string):string;
                batchAssign(arg0:string,arg1:long,arg2:$.java.util.List,arg3:$.java.util.List):$.java.util.Map;
                queryBaseDataByDate?(arg0:string,arg1:long,arg2:$.kd.bos.orm.query.QFilter,arg3:string,arg4:Date):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                cancelAssign?(arg0:string,arg1:$.java.util.Set,arg2:$.java.util.Set):$.java.util.List;
                assign?(arg0:string,arg1:long,arg2:string,arg3:$.java.util.Set,arg4:$.java.util.Set):$.kd.bos.entity.basedata.BaseDataResponse;
                getVerifyOrgPropertyName?(arg0:string,arg1:string):string;
                baseDataOrgChangeHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject):void;
                baseDataAuditHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long):void;
                getMasterIdFieldName?(arg0:string):string;
                getBdCtrlStrgy?(arg0:string,arg1:string):string;
                getUnInsertExcHistory?(arg0:string):$.java.util.List;
                assignQueryByData?(arg0:$.java.util.List,arg1:string,arg2:long,arg3:string):kd.bos.entity.basedata.AssignQueryResponse;
                getLookUpListFilter?(arg0:string,arg1:long,arg2:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
                individualize?(arg0:string,arg1:long,arg2:string,arg3:$.java.util.Set):$.kd.bos.entity.basedata.BaseDataResponse;
                getCtrlview?(arg0:string):$.kd.bos.dataentity.entity.DynamicObject;
                saveBaseDataExc(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long,arg2:long,arg3:$.java.util.List):void;
                batchAssignOnFreeStrategy?(arg0:long,arg1:string,arg2:$.java.util.Set,arg3:$.java.util.Set,arg4:string):$.kd.bos.entity.basedata.BaseDataResponse;
                batchAssign(arg0:string,arg1:$.java.util.List,arg2:$.java.util.List):$.java.util.Map;
                isEnableNameVersion?(arg0:string):boolean;
                baseDataCtrlChangeHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject):void;
                isHasAssignData?(arg0:string,arg1:any):boolean;
                getAssignUseOrgSet?(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long,arg2:long):$.java.util.List;
                handleEnable?(arg0:string,arg1:$.kd.bos.dataentity.entity.DynamicObject[]):boolean;
                getCreateOrgList(arg0:string,arg1:string):$.java.util.List;
                chectDuplicate(arg0:string,arg1:$.java.util.Map,arg2:long,arg3:long):boolean;
                isAlreadyAssign?(arg0:string,arg1:any,arg2:long):boolean;
                getCtrlStrtgy?(arg0:$.kd.bos.dataentity.entity.DynamicObject):$.kd.bos.dataentity.entity.DynamicObject;
                presetCtrlOrgUseRangData?(arg0:string,arg1:string,arg2:string,arg3:$.java.util.Map,arg4:boolean):$.kd.bos.service.upgrade.UpgradeResult;
                getCreateOrgList(arg0:string):$.java.util.List;
                checkBaseDataCtrl?(arg0:string):boolean;
                orgSaveHandler?(arg0:$.java.util.List):void;
                getAllUseOrg?(arg0:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                getDefaultCtrlStrtgy?(arg0:string):$.kd.bos.dataentity.entity.DynamicObject;
                queryBaseDataFromCache?(arg0:string,arg1:long,arg2:$.kd.bos.orm.query.QFilter,arg3:string):$.java.util.Map;
                changeManageRight?(arg0:string,arg1:long,arg2:string,arg3:$.java.util.Set,arg4:long):$.kd.bos.entity.basedata.BaseDataResponse;
                getBdCtrlStrgyBatch?(arg0:string,arg1:$.java.util.List):$.java.util.Map;
                baseDataAddnewHandler(arg0:$.kd.bos.dataentity.entity.DynamicObject,arg1:long):void;
                orgAddnewHandler(arg0:long,arg1:$.java.util.List):void;
                fillCtrlStrategyFieldAfterCopy?(arg0:string,arg1:$.java.util.List):void;
                baseDataCtrlChangeHandler(arg0:$.java.util.List):void;
                getAssignDesOrgs?(arg0:long,arg1:string,arg2:long):$.java.util.List;
                changeCtrlStrategy?(arg0:string,arg1:$.java.util.Set,arg2:string,arg3:string,arg4:long):$.kd.bos.entity.basedata.BaseDataResponse;
                getBaseDataProFilter?(arg0:string,arg1:long,arg2:string):$.kd.bos.orm.query.QFilter;
                clearCache(arg0:$.kd.bos.dataentity.entity.DynamicObject[]):void;
            }
            type IBaseDataService_T = IBaseDataService$;
            interface IBaseDataService extends IBaseDataService_T {
            }
        }
        namespace kd.bos.service.attachment{
            interface IAttachmentOperateService_S {
            }
            interface IAttachmentOperateService_C extends IAttachmentOperateService_S {
            }
            interface IAttachmentOperateService$ {
                /**
                 * 持久化附件
                 * @param option
                 * @param successObjs
                 */
                persistAttachments(option:$.kd.bos.dataentity.OperateOption,successObjs:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 删除分录时删除分录附件缓存
                 * @param pageId pageId
                 * @param entryKey 分录标识
                 */
                deleteAttachCache(pageId:string,entryKey:string):void;
            }
            type IAttachmentOperateService_T = IAttachmentOperateService$;
            interface IAttachmentOperateService extends IAttachmentOperateService_T {
            }
            interface AttachmentServiceImpl_S {
            }
            type AttachmentServiceImpl_ST = AttachmentServiceImpl_S & kd.bos.mservice.attachment.IAttachmentService_S;
            interface AttachmentServiceImpl_C extends AttachmentServiceImpl_ST {
                new():AttachmentServiceImpl;
            }
            interface AttachmentServiceImpl$ {
            }
            type AttachmentServiceImpl_T = AttachmentServiceImpl$ & kd.bos.mservice.attachment.IAttachmentService;
            interface AttachmentServiceImpl extends AttachmentServiceImpl_T {
            }
        }
        namespace kd.bos.service.earlywarn{
            interface EarlyWarnServiceImpl_S {
            }
            type EarlyWarnServiceImpl_ST = EarlyWarnServiceImpl_S & EarlyWarnService_S;
            interface EarlyWarnServiceImpl_C extends EarlyWarnServiceImpl_ST {
                new():EarlyWarnServiceImpl;
            }
            interface EarlyWarnServiceImpl$ {
            }
            type EarlyWarnServiceImpl_T = EarlyWarnService & EarlyWarnServiceImpl$;
            interface EarlyWarnServiceImpl extends EarlyWarnServiceImpl_T {
            }
            interface EarlyWarnServiceResult_S {
                failure(message:string):EarlyWarnServiceResult;
                success(message:string):EarlyWarnServiceResult;
            }
            type EarlyWarnServiceResult_ST = $.java.io.Serializable & EarlyWarnServiceResult_S;
            interface EarlyWarnServiceResult_C extends EarlyWarnServiceResult_ST {
                new(status:EarlyWarnServiceResult$Status,message:string):EarlyWarnServiceResult;
            }
            interface EarlyWarnServiceResult$ {
                /**
                 * 获取预警微服务执行状态
                 * @return Status，共有两种状态SUCCESS(成功), FAILURE(失败)
                 */
                getStatus():EarlyWarnServiceResult$Status;
                getMessage():string;
            }
            type EarlyWarnServiceResult_T = $.java.io.Serializable & EarlyWarnServiceResult$;
            interface EarlyWarnServiceResult extends EarlyWarnServiceResult_T {
            }
            interface EarlyWarnService_S {
            }
            interface EarlyWarnService_C extends EarlyWarnService_S {
            }
            interface EarlyWarnService$ {
                /**
                 * 获取标题消息树
                 * @param earlyWarnId
                 * @param dataSourceNumber
                 * @return
                 */
                getTitleFieldTree?(earlyWarnId:string,dataSourceNumber:string):string;
                /**
                 * 预警监控计划执行
                 * @param warnScheduleId 监控方案id
                 * @param type 执行方式 task(调度计划执行), manual(手工执行)
                 * @param earlyWarnLogId 日志id
                 * @return 执行结果
                 */
                execute(warnScheduleId:string,type_arg:string,earlyWarnLogId:long):EarlyWarnServiceResult;
                /**
                 * 获取合并消息树
                 * @param earlyWarnId
                 * @param dataSourceNumber
                 * @return
                 */
                getMergeMessageFieldTree(earlyWarnId:string,dataSourceNumber:string):string;
                /**
                 * 校验插件是否有效
                 * @param element
                 * @param pluginType
                 * @return
                 */
                verifyPluginIsValid?(element:kd.bos.entity.earlywarn.warn.EarlyWarnElement,pluginType:number):boolean;
                /**
                 * 获取单个消息树
                 * @param earlyWarnId
                 * @param dataSourceNumber
                 * @return
                 */
                getSingleMessageFieldTree(earlyWarnId:string,dataSourceNumber:string):string;
                /**
                 * 获取过滤行
                 * @param earlyWarnId
                 * @param entityNumber
                 * @return
                 */
                getCommonFilterColumns(earlyWarnId:string,entityNumber:string):$.java.util.List;
            }
            type EarlyWarnService_T = EarlyWarnService$;
            interface EarlyWarnService extends EarlyWarnService_T {
            }
            class EarlyWarnServiceResult$Status {
                static readonly FAILURE:kd.bos.service.earlywarn.EarlyWarnServiceResult$Status;
                static readonly SUCCESS:kd.bos.service.earlywarn.EarlyWarnServiceResult$Status;
                static values():kd.bos.service.earlywarn.EarlyWarnServiceResult$Status[];
                static valueOf(arg0:string):kd.bos.service.earlywarn.EarlyWarnServiceResult$Status;
            }
        }
        namespace kd.bos.service.metadata{
            interface MetadataDeployResult_S {
            }
            type MetadataDeployResult_ST = $.java.io.Serializable & MetadataDeployResult_S;
            interface MetadataDeployResult_C extends MetadataDeployResult_ST {
                /**
                 * 构造函数，默认升级结果为成功
                 */
                new():MetadataDeployResult;
                /**
                 * 构造函数
                 * @param data 升级结果信息
                 */
                new(data:$.java.util.Map):MetadataDeployResult;
            }
            interface MetadataDeployResult$ {
            }
            type MetadataDeployResult_T = $.java.io.Serializable & MetadataDeployResult$;
            interface MetadataDeployResult extends MetadataDeployResult_T {
            }
            interface MetadataService_S {
            }
            interface MetadataService_C extends MetadataService_S {
            }
            interface MetadataService$ {
                /**
                 * 读取实体外观元数据
                 */
                loadFormConfig(formId:string):string;
                /**
                 * 获取表单的功能列表(含工具栏和按钮)
                 * @param formId
                 * @return
                 */
                loadFormFunctions(formId:string):string;
                loadAllCloudInfo?():$.java.util.Map;
                loadTableDefine(entityNumber:string,entityKey:string):string;
                /**
                 * 获取实体运行时元数据
                 *
                 * @param entityNumber 实体编码
                 * @param entityMetaType
                 * @param key key
                 * @return String
                 */
                loadEntityRuntimeMeta(entityNumber:string,entityMetaType:number,key:string):string;
                /**
                 * 加载指定监控方案
                 *
                 * @param warnScheduleId 监控方案Id
                 * @return
                 */
                loadWarnSchedule?(warnScheduleId:string):string;
                getExportWriter(formId:string,templateId:long,plugin:string,extenddata:string):string;
                getEntityNumberById(entityId:string):string;
                getAppMenusInfoByAppId?(number_arg:string):string;
                /**
                 * 加载两单之间全部转换规则
                 *
                 * @param sourceEntityNumber
                 * @param targetEntityNumber
                 * @return
                 */
                loadConvertRules(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * 加载指定预警模型
                 *
                 * @param earlyWarnId 预警模型Id
                 * @return
                 */
                loadEarlyWarn?(earlyWarnId:string):string;
                /**
                 * 根据产品编码获取补丁版本号信息
                 * 产品编码 + 开发商为唯一标识
                 * @param productNumber
                 * @return
                 */
                getIndustryVersion?(productNumber:string):$.java.util.List;
                loadEntityAllOperationMeta(entityId:string):$.java.util.List;
                /**
                 * 加载指定的跨租户转换规则
                 *
                 * @param ruleId
                 * @return
                 */
                loadCtConvertRule(ruleId:string):string;
                /**
                 * 客户端使用元数据
                 *
                 * @param formId 表单id
                 * @return String
                 */
                loadClientFormMeta(formId:string):string;
                /**
                 * 加载下游单据的全部反写规则Id
                 *
                 * @param targetEntityNumber 下游单据
                 * @return 规则Id
                 */
                loadWriteBackRuleIds?(targetEntityNumber:string):$.java.util.List;
                /**
                 * 所有灰度应用列表
                 *
                 * @return List
                 */
                loadGrayAppInfoList():$.java.util.List;
                /**
                 * 读取实体组织委托关系
                 */
                loadEntityPrincipalRelationMeta(entityId:string):string;
                /**
                 * 功能权限检查(按 业务单元 验权)
                 * 因 PermissionService 接口含有两个方法名相同，参数个数相同的方法，微服务调用时无法指定确定方法，这里添加一个微服务接口转接，专为 MetadataAction 指令请求的验权服务
                 *
                 * @param userId     用户id
                 * @param orgId      业务单元id
                 * @param appId      应用id
                 * @param entityNum  业务对象编码
                 * @param permItemId 权限项id
                 * @return 是否有权
                 */
                checkPermission?(userId:long,orgId:long,appId:string,entityNum:string,permItemId:string):boolean;
                /**
                 * 保存前端页面扩展脚本
                 *
                 * @param scriptContext 脚本信息
                 * @return
                 */
                savePageJsScript?(scriptContext:$.java.util.Map):$.java.util.Map;
                /**
                 * 加载指定版本的跨租户转换规则
                 *
                 * @param ruleId
                 * @return
                 */
                loadCtConvertRuleByVerId(ruleId:string,verId:string,extVerId:string):string;
                rebuildForms(param:$.java.util.Map):$.java.util.Map;
                rebuildAllDiffVer(forceRebuild:boolean,diffVer:boolean):$.java.util.Map;
                /**
                 * 加载下游单据的全部反写规则，输出规则JSON序列化内容
                 *
                 * @param targetEntityNumber
                 * @return
                 */
                loadWriteBackRules?(targetEntityNumber:string):$.java.util.List;
                getAppNumberById(id:string):string;
                rebuildFormRuntimeMeta(number_arg:string):void;
                /**
                 * 加载指定的反写规则，输出规则JSON序列化内容
                 *
                 * @param ruleId
                 * @return
                 */
                loadWriteBackRule?(ruleId:string):string;
                /**
                 * 加载两单之间全部跨租户转换规则
                 *
                 * @param sourceEntityNumber
                 * @param targetEntityNumber
                 * @return
                 */
                loadCtConvertRules(sourceTenant:string,sourceDataCenter:string,sourceEntityNumber:string,targetTenant:string,targetDataCenter:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * 移除表单相关元数据缓存
                 *
                 * @param number 编码
                 */
                removeCache(number_arg:string):void;
                loadConvertRuleIds?(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * 获取表单元数据运行期缓存，运行期的缓存每隔5分钟从数据库同步一次
                 *
                 * @param number 编码
                 * @return String
                 */
                getRuntimeMetadataVersion(number_arg:string):string;
                /**
                 * 用于移动表单模板获取 新的方法
                 *
                 * @param formId           表单 id
                 * @param designerMetaType 元数据类型
                 * @param lang             语言
                 * @param srcFormId        原表单 id
                 * @param srcScriptId      切换模板需要返回的 脚本 id
                 * @return
                 */
                getDesignerMetadata2?(formId:string,designerMetaType:string,lang:string,srcFormId:string,srcScriptId:string):string;
                /**
                 * 加载余额更新规则
                 *
                 * @param ruleNumber 余额更新规则的唯一编码
                 * @return
                 */
                loadBalanceRule?(ruleNumber:string):string;
                loadCtConvertRuleIds?(sourceTenant:string,sourceDataCenter:string,sourceEntityNumber:string,targetTenant:string,targetDataCenter:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * form脚本插件元数据
                 */
                loadFormPluginScriptMeta(formId:string,key:string):string;
                /**
                 * 读取表单的权限项
                 *
                 * @param entityId 表单entityNumber
                 * @return 全部权限项id
                 */
                loadPermissionItems?(entityId:string):$.java.util.Set;
                /**
                 * 得到能编辑的字段集合
                 *
                 * @param formId 表单id
                 * @return Map
                 */
                getEnabledControlsMap?(formId:string):$.java.util.Map;
                /**
                 * 获取指定实体的所有操作编码
                 * @param entityNumbers 实体编码
                 * @return
                 */
                getDataEntityOperationKeys?(entityNumbers:$.java.util.Collection):$.java.util.Map;
                /**
                 * 获取表单运行时元数据
                 *
                 * @param formId 表单Id
                 * @param formMetaType
                 * @param key key
                 * @return String
                 */
                loadFormRuntimeMeta(formId:string,formMetaType:number,key:string):string;
                /**
                 * 用于移动表单模板获取
                 *
                 * @param formId 表单id
                 * @param designerMetaType
                 * @param lang
                 * @return
                 */
                getDesignerMetadata?(formId:string,designerMetaType:string,lang:string):string;
                /**
                 * 读取实体操作元数据
                 */
                loadEntityOperationMeta(entityId:string,operKey:string):string;
                loadTableDefine(tableId:long):string;
                getAppNumbers?():$.java.util.Map;
                loadEntityMetas?(numbers:$.java.util.Collection):$.java.util.Map;
                /**
                 * 批量从数据库加载 表单元数据运行时版本
                 * @param numbers
                 * @return
                 */
                batchLoadRuntimeMetadataVersion?(numbers:$.java.util.Collection):$.java.util.Map;
                rebuildRuntimeMetaDiffVer(number_arg:string):void;
                /**
                 * 根据实体编码获取对应的应用编码
                 * @param entityNumbers
                 * @return 实体应用编码map
                 */
                getAppNumberByEntityNumbers?(entityNumbers:$.java.util.List):$.java.util.Map;
                rebuildAllApp(rebuidAppParams:$.java.util.List):$.java.util.Map;
                rebuildByApps(forceRebuild:boolean,rebuidAppParams:$.java.util.List):$.java.util.Map;
                /**
                 * 获取前端页面脚本
                 *
                 * @param formId 页面 formId
                 * @return
                 */
                getPageJs?(formId:string):string;
                /**
                 * 得到被删除字段中有其他布局引用的字段集合
                 *
                 * @param content   元数据
                 * @param filedList 字段集合
                 * @return List
                 */
                getFiledReferencedList(content:$.java.util.Map,filedList:$.java.util.List):$.java.util.List;
                loadEntityMetaFromCache(number_arg:string):string;
                loadAllAppInfo?():$.java.util.Map;
                rebuildAll(forceRebuild:boolean):$.java.util.Map;
                /**
                 * 加载单据相关的余额更新规则
                 *
                 * @param sourceEntityNumber
                 * @return
                 */
                loadBalanceRuleByBill?(sourceEntityNumber:string):$.java.util.List;
                /**
                 * 读取实体网络控制元数据
                 */
                loadEntityNetCtrlOperationMeta(entityId:string):$.java.util.List;
                getExportWriter(formId:string,templateId:long,plugin:string,importPluginType:string,extenddata:string):string;
                /**
                 * 灰度元数据（FormConfig）
                 *
                 * @param appGroup 应用
                 * @return List
                 */
                loadGrayFormConfigList(appGroup:string):$.java.util.List;
                getControls?(formId:string):string;
                /**
                 * 加载反写规则历史版本，输出规则JSON序列化内容
                 *
                 * @param verId
                 * @return
                 */
                loadWriteBackRuleVersion?(verId:long):string;
                /**
                 * 加载余额表相关的余额更新规则
                 *
                 * @param balanceTableNumber
                 * @return
                 */
                loadBalanceRuleByBalTable?(balanceTableNumber:string):$.java.util.List;
                /**
                 * 判断field或entry是否被页面引用(用于删除判断等)
                 *
                 * @param entityId     实体Id
                 * @param entityItemId field或entry的Id
                 * @return
                 */
                isEntityItemReferenced(entityId:string,entityItemId:string):boolean;
                loadAllAppMenusInfo?():$.java.util.Map;
                /**
                 * 加载指定的转换规则
                 *
                 * @param ruleId
                 * @return
                 */
                loadConvertRule(ruleId:string):string;
                loadBaseDataFieldFilterMeta(entityNumber:string,key:string):string;
                loadAppInfo?(number_arg:string):string;
                /**
                 * 读取实体对象元数据
                 */
                loadEntityMeta(entityId:string):string;
                /**
                 * 读取实体外观元数据
                 */
                loadFormMeta(formId:string):string;
                /**
                 * 加载前端页面扩展脚本
                 *
                 * @param scriptIds 脚本 id
                 * @return
                 */
                loadPageJsScript?(scriptIds:$.java.util.List):$.java.util.List;
                /**
                 * 获取前端页面脚本，低版本只支持表单，现在要支持列表，需要更多参数
                 * formId billFormId formType
                 *
                 * @param params
                 * @return
                 */
                getPageJs2?(params:$.java.util.Map):string;
            }
            type MetadataService_T = MetadataService$;
            interface MetadataService extends MetadataService_T {
            }
        }
        namespace kd.bos.service.metadata.util{
            interface GzipUtils_S {
            }
            interface GzipUtils_C extends GzipUtils_S {
                new():GzipUtils;
            }
            interface GzipUtils$ {
            }
            type GzipUtils_T = GzipUtils$;
            interface GzipUtils extends GzipUtils_T {
            }
        }
        namespace kd.bos.service.operation{
            interface OperationService_S {
            }
            interface OperationService_C extends OperationService_S {
            }
            interface OperationService$ {
                /**
                 * 执行操作。用于当前单据调用。当前单据数据直接从缓存获取，不用传递，以减少一次序列化和网络传输。该方法实体由单据生成，
                 * 不执行PreparePropertys插件
                 *
                 * @param operationKey
                 *            操作key
                 * @param dataEntities
                 *            数据对象集合
                 * @param option
                 *            可选参数
                 * @return
                 */
                invokeOperation(operationKey:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],option:$.kd.bos.dataentity.OperateOption):string;
                /**
                 * 执行操作。主要用于非单据类的自定义属性实体(如列表)调用。 根据id和插件中PreparePropertys增加的属性构造实体。
                 * @param operationKey	操作key
                 * @param entityNumber	实体key(设计器中定义的number)
                 * @param ids		数据实体的id（主键）
                 * @param option 可选参数
                 * @return
                 */
                invokeOperation(operationKey:string,entityNumber:string,ids:any[],option:$.kd.bos.dataentity.OperateOption):string;
            }
            type OperationService_T = OperationService$;
            interface OperationService extends OperationService_T {
            }
            interface EntityOperateService_S {
            }
            type EntityOperateService_ST = EntityOperateService_S & kd.bos.entity.operate.IEntityOperateService_S;
            interface EntityOperateService_C extends EntityOperateService_ST {
                new():EntityOperateService;
            }
            interface EntityOperateService$ {
                /**
                 * 获取操作服务代理对象
                 *
                 * @return 操作服务代理
                 */
                getPlugInProxy():kd.bos.entity.plugin.OperationServicePlugInProxy;
                /**
                 * 操作可选参数
                 *
                 * @return 操作参数
                 */
                getOption():$.kd.bos.dataentity.OperateOption;
                /**
                 * 操作执行日志输出类
                 *
                 * @return
                 */
                getOperateLog():$.kd.bos.entity.operate.OperateLog;
                /**
                 * 设置操作参数
                 *
                 * @param option 操作参数
                 */
                setOption(option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 获取操作的上下文信息
                 *
                 * @return 操作上下文信息
                 */
                getOperationContext():$.kd.bos.entity.operate.OperationContext;
                /**
                 * 开始执行操作入口，内部方法将会调用doExcete()去做具体的逻辑
                 *
                 * @param dataEntities 动态对象集合
                 * @return 操作结果
                 * @throws Exception 异常信息
                 */
                excute(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 初始化操作上下文
                 *
                 * @param entityType   主实体
                 * @param operationKey 操作标识
                 * @param dataEntities 本次操作的数据集合，如果传入的是ids，此参数为空
                 */
                initialize(entityType:$.kd.bos.entity.MainEntityType,operationKey:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 获取操作结果
                 *
                 * @return 操作结果
                 */
                getOperationResult():$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 根据id和插件中PreparePropertys增加的属性构造实体，并执行操作。
                 *
                 * @param ids 内码
                 * @return OperationResult 操作结果
                 * @throws Exception
                 */
                excute(ids:any[]):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 获取打平之后的实体数据
                 *
                 * @return 打平之后的实体数据
                 */
                getExtendDataEntitySet():$.kd.bos.entity.ExtendedDataEntitySet;
                /**
                 * 操作当前语言下的名称
                 */
                getOpName():string;
            }
            type EntityOperateService_T = EntityOperateService$ & kd.bos.entity.operate.IEntityOperateService;
            interface EntityOperateService extends EntityOperateService_T {
            }
            interface Draft_S {
            }
            type Draft_ST = Draft_S & StatusConvertOperateService_S;
            interface Draft_C extends Draft_ST {
                new():Draft;
            }
            interface Draft$ {
            }
            type Draft_T = Draft$ & StatusConvertOperateService;
            interface Draft extends Draft_T {
            }
            interface Donothing_S {
            }
            type Donothing_ST = Donothing_S & EntityOperateService_S;
            interface Donothing_C extends Donothing_ST {
                new():Donothing;
            }
            interface Donothing$ {
            }
            type Donothing_T = Donothing$ & EntityOperateService;
            interface Donothing extends Donothing_T {
            }
            interface StatusConvertOperateService_S {
            }
            type StatusConvertOperateService_ST = EntityOperateService_S & StatusConvertOperateService_S;
            interface StatusConvertOperateService_C extends StatusConvertOperateService_ST {
                new():StatusConvertOperateService;
            }
            interface StatusConvertOperateService$ {
            }
            type StatusConvertOperateService_T = EntityOperateService & StatusConvertOperateService$;
            interface StatusConvertOperateService extends StatusConvertOperateService_T {
            }
            interface Save_S {
            }
            type Save_ST = Draft_S & Save_S;
            interface Save_C extends Save_ST {
                new():Save;
            }
            interface Save$ {
            }
            type Save_T = Draft & Save$;
            interface Save extends Save_T {
            }
            interface OperationServiceImpl_S {
            }
            type OperationServiceImpl_ST = $.kd.bos.service.operation.OperationService & OperationServiceImpl_S;
            interface OperationServiceImpl_C extends OperationServiceImpl_ST {
                new():OperationServiceImpl;
            }
            interface OperationServiceImpl$ {
            }
            type OperationServiceImpl_T = $.kd.bos.service.operation.OperationService & OperationServiceImpl$;
            interface OperationServiceImpl extends OperationServiceImpl_T {
            }
        }
        namespace kd.bos.service.operation.validate{
            interface DataMutexResult_S {
            }
            interface DataMutexResult_C extends DataMutexResult_S {
                /**
                 * 构造方法
                 *
                 * @param id 数据内码
                 * @param success 是否成功
                 */
                new(id:string,success:boolean):DataMutexResult;
            }
            interface DataMutexResult$ {
            }
            type DataMutexResult_T = DataMutexResult$;
            interface DataMutexResult extends DataMutexResult_T {
            }
            interface ConditionValidator_S {
            }
            type ConditionValidator_ST = $.kd.bos.entity.validate.AbstractValidator & ConditionValidator_S;
            interface ConditionValidator_C extends ConditionValidator_ST {
                new():ConditionValidator;
            }
            interface ConditionValidator$ {
            }
            type ConditionValidator_T = $.kd.bos.entity.validate.AbstractValidator & ConditionValidator$;
            interface ConditionValidator extends ConditionValidator_T {
            }
            interface MutexValidator_S {
            }
            type MutexValidator_ST = $.kd.bos.entity.validate.AbstractValidator & MutexValidator_S;
            interface MutexValidator_C extends MutexValidator_ST {
                new():MutexValidator;
            }
            interface MutexValidator$ {
            }
            type MutexValidator_T = $.kd.bos.entity.validate.AbstractValidator & MutexValidator$;
            interface MutexValidator extends MutexValidator_T {
            }
            interface ValidationService_S {
            }
            interface ValidationService_C extends ValidationService_S {
                /**
                 * 构造方法
                 */
                new():ValidationService;
                /**
                 * 构造方法
                 *
                 * @param entityId 实体id
                 */
                new(entityId:string):ValidationService;
            }
            interface ValidationService$ {
            }
            type ValidationService_T = ValidationService$;
            interface ValidationService extends ValidationService_T {
            }
            interface BaseDataDeleteValidator_S {
            }
            type BaseDataDeleteValidator_ST = $.kd.bos.entity.validate.AbstractValidator & BaseDataDeleteValidator_S;
            interface BaseDataDeleteValidator_C extends BaseDataDeleteValidator_ST {
                new():BaseDataDeleteValidator;
            }
            interface BaseDataDeleteValidator$ {
            }
            type BaseDataDeleteValidator_T = $.kd.bos.entity.validate.AbstractValidator & BaseDataDeleteValidator$;
            interface BaseDataDeleteValidator extends BaseDataDeleteValidator_T {
            }
        }
        namespace kd.bos.service.upgrade{
            interface UpgradeResult_S {
            }
            type UpgradeResult_ST = $.java.io.Serializable & UpgradeResult_S;
            interface UpgradeResult_C extends UpgradeResult_ST {
                /**
                 * 构造函数，默认升级结果为成功
                 */
                new():UpgradeResult;
                /**
                 * 构造函数
                 * @param data 升级结果信息
                 */
                new(data:$.java.util.Map):UpgradeResult;
            }
            interface UpgradeResult$ {
            }
            type UpgradeResult_T = $.java.io.Serializable & UpgradeResult$;
            interface UpgradeResult extends UpgradeResult_T {
            }
            interface IUpgradeService_S {
            }
            interface IUpgradeService_C extends IUpgradeService_S {
            }
            interface IUpgradeService$ {
            }
            type IUpgradeService_T = IUpgradeService$;
            interface IUpgradeService extends IUpgradeService_T {
            }
        }
        namespace kd.bos.servicehelper{
            interface CoreBusinessDataServiceHelper_S {
            }
            interface CoreBusinessDataServiceHelper_C extends CoreBusinessDataServiceHelper_S {
                new():CoreBusinessDataServiceHelper;
            }
            interface CoreBusinessDataServiceHelper$ {
            }
            type CoreBusinessDataServiceHelper_T = CoreBusinessDataServiceHelper$;
            interface CoreBusinessDataServiceHelper extends CoreBusinessDataServiceHelper_T {
            }
            interface ServiceHelperModule_S {
            }
            type ServiceHelperModule_ST = $.kd.sdk.module.Module & ServiceHelperModule_S;
            interface ServiceHelperModule_C extends ServiceHelperModule_ST {
                new():ServiceHelperModule;
            }
            interface ServiceHelperModule$ {
            }
            type ServiceHelperModule_T = $.kd.sdk.module.Module & ServiceHelperModule$;
            interface ServiceHelperModule extends ServiceHelperModule_T {
            }
            interface UnitConvertHelper_S {
                /**
                 * @param prop      数量属性
                 * @param dataModel 数据模型
                 * @param index     如果在单据体内，单据体的下标，单据头则填写-1
                 * @return 基础资料内码
                 * @description 获取数量关联的物料的内码
                 */
                getMaterialDataId(prop:$.kd.bos.entity.property.QtyProp,dataModel:$.kd.bos.entity.datamodel.IDataModel,index:number):long;
                /**
                 * @param dataModel   数据模型
                 * @param srcQtyProp  源数量字段属性
                 * @param distQtyProp 目标数量字段属性
                 * @param srcUnitId   源单位内码
                 * @param distUnitId  目标单位内码
                 * @param rowIndex    行索引，如果在单据体内，单据体的下标，单据头填写-1
                 * @param errMsg      错误信息
                 * @return true/false
                 * @description 根据新单位换算数量
                 */
                convertQtyByNewUnit(dataModel:$.kd.bos.entity.datamodel.IDataModel,srcQtyProp:$.kd.bos.entity.property.QtyProp,distQtyProp:$.kd.bos.entity.property.QtyProp,srcUnitId:long,distUnitId:long,rowIndex:number,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * @param distQtyProp 目标数量属性
                 * @param srcQtyProp 源单位数量属性
                 * @param dt          主实体类型
                 * @param errMsg      错误信息记录
                 * @return true/falses
                 * @description 检查 1.两个数量字段是否为空 2.数量字段是否都在一个实体上 3.数量字段是否关联单位 4.关联的单位是否已经过期
                 * 5.数量关联的单位是否关联了相同的物料
                 */
                isConvertable(distQtyProp:$.kd.bos.entity.property.QtyProp,srcQtyProp:$.kd.bos.entity.property.QtyProp,dt:$.kd.bos.entity.MainEntityType,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * @param qtyProp   数量属性
                 * @param dataModel 数据模型
                 * @param index     如果在单据体内，单据体的下标，单据头则填写-1
                 * @return 基础资料内码
                 * @description 获取数量关联的单位基础资料的内码
                 */
                getRelatedUnitId(qtyProp:$.kd.bos.entity.property.QtyProp,dataModel:$.kd.bos.entity.datamodel.IDataModel,index:number):long;
                /**
                 * @param dataModel   数据模型
                 * @param srcQtyProp  源数量字段属性
                 * @param distQtyProp 目标数量字段属性
                 * @param rowIndex    行索引，如果在单据体内，单据体的下标，单据头则填写-1
                 * @param errMsg      错误信息
                 * @return true/false
                 * @description 换算数量
                 */
                convertQtyByNewUnit(dataModel:$.kd.bos.entity.datamodel.IDataModel,srcQtyProp:$.kd.bos.entity.property.QtyProp,distQtyProp:$.kd.bos.entity.property.QtyProp,rowIndex:number,errMsg:$.java.lang.StringBuilder):boolean;
                /**
                 * 调用基础的接口进行单位换算
                 *
                 * @param srcQty     源数量的值
                 * @param distUnitId 目标单位内码
                 * @param srcUnitId  源单位内码
                 * @param materialId 物料内码
                 * @param errMsg     错误信息
                 * @return 目标数量的值
                 * @description 单位换算
                 */
                calculateNewQty(srcQty:$.java.math.BigDecimal,distUnitId:long,srcUnitId:long,materialId:long,errMsg:$.java.lang.StringBuilder):$.java.math.BigDecimal;
                /**
                 * @param dataModel 数据模型
                 * @param unitProp  单位属性
                 * @param newUnitId 新单位内码
                 * @param oldUnitId 旧单位内码
                 * @param rowIndex  如果单位在单据体内，单据体的下标，单据头则填写-1
                 * @param errMsg    错误信息
                 * @description 换算数量
                 */
                convertQtyByNewUnit(dataModel:$.kd.bos.entity.datamodel.IDataModel,unitProp:$.kd.bos.entity.property.UnitProp,newUnitId:long,oldUnitId:long,rowIndex:number,errMsg:$.java.lang.StringBuilder):void;
                /**
                 * @param dataModel   数据模型
                 * @param srcQtyProp  源数量字段属性
                 * @param distQtyProp 目标数量字段属性
                 * @param errMsg      错误信息
                 * @description 换算数量字段属性
                 */
                convertQtyByNewUnit(dataModel:$.kd.bos.entity.datamodel.IDataModel,srcQtyProp:$.kd.bos.entity.property.QtyProp,distQtyProp:$.kd.bos.entity.property.QtyProp,errMsg:$.java.lang.StringBuilder):void;
                /**
                 * @param qtyProp     数量属性
                 * @param maindataPkg 主数据包
                 * @param index       如果关联的单位在单据体内，填单据体的下标，单据头则填写-1
                 * @return 基础资料内码
                 * @description 获取数量关联的单位基础资料的内码
                 */
                getRelatedUnitId(qtyProp:$.kd.bos.entity.property.QtyProp,maindataPkg:$.kd.bos.dataentity.entity.DynamicObject,index:number):long;
                /**
                 * @param prop        数量属性
                 * @param maindataPkg 主数据包
                 * @param index       如果在单据体内，单据体的下标，单据头则填写-1
                 * @return 基础资料内码
                 * @description 获取数量关联的物料的内码
                 */
                getMaterialDataId(prop:$.kd.bos.entity.property.QtyProp,maindataPkg:$.kd.bos.dataentity.entity.DynamicObject,index:number):long;
                /**
                 * 根据 源数量 目标数量 进行换算
                 *
                 * @param srcQtyProp  源数量
                 * @param distQtyProp 目标数量
                 * @param dataModel   数据模型
                 * @param errMsg      错误信息
                 * @return boolean
                 */
                convertQty(srcQtyProp:$.kd.bos.entity.property.QtyProp,distQtyProp:$.kd.bos.entity.property.QtyProp,dataModel:$.kd.bos.entity.datamodel.IDataModel,errMsg:$.java.lang.StringBuilder):boolean;
            }
            interface UnitConvertHelper_C extends UnitConvertHelper_S {
                new():UnitConvertHelper;
            }
            interface UnitConvertHelper$ {
            }
            type UnitConvertHelper_T = UnitConvertHelper$;
            interface UnitConvertHelper extends UnitConvertHelper_T {
            }
            interface QueryServiceHelper_S {
                /**
                 * 判断单据主键是否存在
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param pkId 主键
                 * @return 返回true表示存在
                 */
                exists(entityName:string,pkId:any):boolean;
                /**
                 * 查询单据（排序），返回拉平的数据包，自带特殊数据权限、数据规则和管控策略等过滤条件
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param appId 验权appId，默认验实体所在应用
                 * @param customParam     自定义参数 可以传null
                 * 目前只有两种参数：
                 * 一是控制对于受控基础资料是否返回重复数据（例如物料有个性化数据），这时用PermissionService.CUSTPARAMKEY_BDCTRL_ISREMOVEDUP作为key，value是Boolean，true是去重，false是不去重；
                 * 二是对于受控基础资料查询，获取使用组织id的集合，这时用PermissionService.CUSTPARAMKEY_BDCTRL_USEORGIDS作为key，value是使用组织id的集合，用int
                 *
                 * @return 返回单据头、单据体拉平的数据包
                 */
                queryWithPermAndBdCtrl(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,appId:string,customParam:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询一条数据（第一条）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>本方法仅返回单据头、单据体拉平后的第一条数据：即单据头单据体关联后的第一行数据</li>
                 *
                 * @param entityName  单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @return 返回单据头、单据体拉平的数据包
                 */
                queryOne(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 查询单据（排序），返回拉平的数据包
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @return 返回单据头、单据体拉平的数据包
                 */
                query(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询单据，返回拉平的数据包（支持获取名称版本化数据）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param date : 名称版本化取值日期
                 * @return 返回单据头、单据体拉平的数据包
                 */
                queryByDate(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],date:Date):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询主键（排序，取top条）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>请合理设置取数条件：减少读取的数据量，大量读取数据容易引发OOM异常。</li>
                 *
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityType  查询实体，查询此实体的主键
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param top 查询前top条
                 * @return 返回指定实体的数据内码集合
                 */
                queryPrimaryKeys(algoKey:string,entityType:$.kd.bos.dataentity.metadata.IDataEntityType,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,top:number):$.java.util.List;
                /**
                 * 查询主键（排序，取top条）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>请合理设置取数条件：减少读取的数据量，大量读取数据容易引发OOM异常。</li>
                 *
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityName  单据实体标识，如"sal_saleorder"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param top 查询前top条
                 * @return 返回单据内码集合
                 */
                queryPrimaryKeys(algoKey:string,entityName:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,top:number):$.java.util.List;
                /**
                 * 查询单据（排序），返回拉平的数据包
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @return 返回单据头、单据体拉平的数据包
                 */
                query(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询单据，返回拉平的数据包
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @return 返回单据头、单据体拉平的数据包
                 */
                query(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 统计单据的数量，自带特殊数据权限、数据规则和管控策略等过滤条件
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param appId 验权appId，默认验实体所在应用
                 * @param customParam     自定义参数 可以传null
                 * 目前只有两种参数：
                 * 一是控制对于受控基础资料是否返回重复数据（例如物料有个性化数据），这时用PermissionService.CUSTPARAMKEY_BDCTRL_ISREMOVEDUP作为key，value是Boolean，true是去重，false是不去重；
                 * 二是对于受控基础资料查询，获取使用组织id的集合，这时用PermissionService.CUSTPARAMKEY_BDCTRL_USEORGIDS作为key，value是使用组织id的集合，用int
                 *
                 * @return 返回单据头数据的总量
                 */
                queryCountWithPermAndBdCtrl(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],appId:string,customParam:$.java.util.Map):number;
                /**
                 * 获取所有的单据编号字段标识
                 * @param searchKey 关键字
                 * @param top 前top条
                 */
                getAllBillNo(searchKey:string,top:number):$.java.util.List;
                /**
                 * 查询单据（排序），返回拉平的数据包，自带特殊数据权限、数据规则和管控策略等过滤条件
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param appId 验权appId，默认验实体所在应用
                 * @param customParam     自定义参数 可以传null
                 * 目前只有两种参数：
                 * 一是控制对于受控基础资料是否返回重复数据（例如物料有个性化数据），这时用PermissionService.CUSTPARAMKEY_BDCTRL_ISREMOVEDUP作为key，value是Boolean，true是去重，false是不去重；
                 * 二是对于受控基础资料查询，获取使用组织id的集合，这时用PermissionService.CUSTPARAMKEY_BDCTRL_USEORGIDS作为key，value是使用组织id的集合，用int
                 *
                 * @return 返回单据头、单据体拉平的数据包
                 */
                queryWithPermAndBdCtrl(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,appId:string,customParam:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询单据（排序，前top条），返回拉平的数据包
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param top 查询前top条
                 * @return 返回单据头、单据体拉平的数据包
                 */
                query(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,top:number):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询单据（排序，前top条），返回拉平的数据包
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>本方法返回的是单据头、单据体拉平后的数据行，不同于{@link BusinessDataServiceHelper#load(String, String, QFilter[], String)}返回的结构化数据包。</li>
                 * <li>本方法返回的数据包不能用于修改、保存。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：读取大量数据，容易引发OOM异常。</li>
                 *
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param top 查询前top条
                 * @return 返回单据头、单据体拉平的数据包
                 */
                query(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,top:number):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 统计单据的数量，自带特殊数据权限、数据规则和管控策略等过滤条件
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param appId 验权appId，默认验实体所在应用
                 * @param customParam     自定义参数 可以传null
                 * 目前只有两种参数：
                 * 一是控制对于受控基础资料是否返回重复数据（例如物料有个性化数据），这时用PermissionService.CUSTPARAMKEY_BDCTRL_ISREMOVEDUP作为key，value是Boolean，true是去重，false是不去重；
                 * 二是对于受控基础资料查询，获取使用组织id的集合，这时用PermissionService.CUSTPARAMKEY_BDCTRL_USEORGIDS作为key，value是使用组织id的集合，用int
                 * @param distinct     去重标志
                 *
                 * @return 返回单据的数量
                 */
                queryCountWithPermAndBdCtrl(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],appId:string,customParam:$.java.util.Map,distinct:$.kd.bos.orm.query.Distinctable):number;
                /**
                 * 查询主键（排序，取top条）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>请合理设置取数条件：减少读取的数据量，大量读取数据容易引发OOM异常。</li>
                 *
                 * @param entityName  单据实体标识，如"sal_saleorder"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param top 查询前top条
                 * @return 返回单据内码集合
                 */
                queryPrimaryKeys(entityName:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,top:number):$.java.util.List;
                /**
                 * 统计单据的数量，自带特殊数据权限、数据规则和管控策略等过滤条件
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param appId 验权appId，默认验实体所在应用
                 * @param customParam     自定义参数 可以传null
                 * 目前只有两种参数：
                 * 一是控制对于受控基础资料是否返回重复数据（例如物料有个性化数据），这时用PermissionService.CUSTPARAMKEY_BDCTRL_ISREMOVEDUP作为key，value是Boolean，true是去重，false是不去重；
                 * 二是对于受控基础资料查询，获取使用组织id的集合，这时用PermissionService.CUSTPARAMKEY_BDCTRL_USEORGIDS作为key，value是使用组织id的集合，用int
                 * @param distinct     去重标志
                 *
                 * @return 单据的数量
                 */
                queryCountWithPermAndBdCtrl(entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],appId:string,customParam:$.java.util.Map,distinct:$.kd.bos.orm.query.Distinctable):number;
                /**
                 * 判断符合条件的单据是否存在
                 * @param entityName 单据实体标识，如"sal_saleorder"
                 * @param qFilters 查询条件
                 * @return 返回true表示存在
                 */
                exists(entityName:string,qFilters:$.kd.bos.orm.query.QFilter[]):boolean;
                /**
                 * 查询单据（排序，取top条），返回拉平的数据流
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的是流式的数据集合DataSet对象，和数据库保持着链接，用完后必须主动关闭。推荐使用try语法自动关闭返回的DataSet对象。</li>
                 * <li>请合理设置读取字段：减少读取的字段，可节省性能。</li>
                 * <li>请合理设置取数条件：减少读取的数据量，条件使用索引字段可提升查询效率。</li>
                 * <li>本方法是流式取数，性能优于{@link #query(String, String, QFilter[], String, int)}</li>
                 *
                 * @param algoKey 查询标识，调用者通过指定查询标识来互相区分，后续可用此对本本服务进行归类，分析各调用者的性能表现
                 * @param entityName  单据实体标识，如"sal_saleorder"
                 * @param selectFields 查询字段，多个字段用逗号隔开，单据体字段需增加单据体标识做前缀，如："id, billno, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBys 排序条件
                 * @param top 查询前top条
                 * @return 返回单据头、单据体拉平的数据流
                 */
                queryDataSet(algoKey:string,entityName:string,selectFields:string,filters:$.kd.bos.orm.query.QFilter[],orderBys:string,top:number):$.kd.bos.algo.DataSet;
            }
            interface QueryServiceHelper_C extends QueryServiceHelper_S {
                new():QueryServiceHelper;
            }
            interface QueryServiceHelper$ {
            }
            type QueryServiceHelper_T = QueryServiceHelper$;
            interface QueryServiceHelper extends QueryServiceHelper_T {
            }
            interface DispatchServiceHelper_S {
                /**
                 * 获取苍穹平台发布的微服务接口
                 * @param appId 业务应用编码，如"bos", "gl"，用以定位微服务执行节点
                 * @param serviceName 微服务名称，默认为微服务接口短类名
                 * @param bizCls 微服务接口定义
                 * @return 返回微服务接口实例
                 */
                getBOSService(appId:string,serviceName:string,bizCls:$.java.lang.Class):any;
                /**
                 * 调用外部第三方接口服务（通过集成云服务转发，默认先路由到二级节点cic）
                 * @param callerAppId 调用者发起者所属应用,如：bo, scm,fi
                 * @param apiNumber 集成API注册的编码
                 * @param params api参数,map格式
                 * @return 返回第三方服务返回结果
                 */
                invokeExternalService(callerAppId:string,apiNumber:string,params:$.java.util.Map):any;
                /**
                 * 调用星瀚财务、供应链、制造、HR等业务领域发布的微服务
                 * @param cloudId 业务云编码，如"fi"
                 * @param appId 业务应用编码，如"gl"，用以定位微服务执行节点
                 * @param serviceName 微服务接口名
                 * @param methodName 服务方法
                 * @param paras 服务方法的参数
                 * @return 返回微服务执行结果
                 */
                invokeBizService(cloudId:string,appId:string,serviceName:string,methodName:string,...paras:any[]):any;
                /**
                 * 调用伙伴、二次开发发布的微服务
                 * @param factoryQualifiedPrefix Factory类限定前缀，如：服务工厂"isv.ti.bo.ServiceFactory" 的限定前缀为"isv.ti.bo"
                 * @param appId 二开业务应用编码，如"bo"，用以定位微服务执行节点
                 * @param serviceName 微服务接口名
                 * @param methodName 服务方法
                 * @param paras 服务方法的参数
                 * @return 返回微服务执行结果
                 */
                invokeService(factoryQualifiedPrefix:string,appId:string,serviceName:string,methodName:string,...paras:any[]):any;
                /**
                 * 调用苍穹平台发布的微服务
                 * @param appId 业务应用编码，如"bos", "gl"，用以定位微服务执行节点
                 * @param serviceName 微服务接口名
                 * @param methodName 服务方法
                 * @param paras 服务方法的参数
                 * @return 返回微服务执行结果
                 */
                invokeBOSService(appId:string,serviceName:string,methodName:string,...paras:any[]):any;
            }
            interface DispatchServiceHelper_C extends DispatchServiceHelper_S {
                new():DispatchServiceHelper;
            }
            interface DispatchServiceHelper$ {
            }
            type DispatchServiceHelper_T = DispatchServiceHelper$;
            interface DispatchServiceHelper extends DispatchServiceHelper_T {
            }
            interface TimeServiceHelper_S {
                /**
                 * 格式化当前时间
                 * @param datetime
                 * @return
                 */
                formatDate(datetime:Date):string;
                /**
                 * 获取日期格式
                 * @return String："yyyy-MM-dd"
                 */
                getDateFormatString():string;
                /**
                 * 获取系统时区
                 * @return 系统设置的 国际化时区
                 */
                getSysTimeZone():$.kd.bos.service.InteTimeZone;
                /**
                 * 获取系统时间戳
                 * @return 当前时刻对应的 时间戳
                 */
                getTimeStamp():long;
                /**
                 * 格式化用户时间（用户时区+默认格式）
                 * @param datetime 源时间
                 * @param userId 用户id
                 * @return 日期字符串
                 */
                formatUserTime(datetime:Date,userId:long):string;
                /**
                 * 解析组织时间（组织时区+自定义格式）
                 * @param datetime 源时间
                 * @param orgId 组织id
                 * @param fmt 格式化对象
                 * @return 时间对象（Date）
                 * @throws ParseException
                 */
                parseOrgTime(datetime:string,orgId:long,fmt:$.java.text.DateFormat):Date;
                /**
                 * 格式化当前日期
                 */
                formatToday():string;
                /**
                 * 解析用户时间（用户时区+自定义格式）
                 * @param datetime 源时间
                 * @param userId 用户id
                 * @param fmt 格式化对象
                 * @return 时间对象（Date）
                 * @throws ParseException
                 */
                parseUserTime(datetime:string,userId:long,fmt:$.java.text.DateFormat):Date;
                /**
                 * 获取时间格式
                 * @return String："yyyy-MM-dd HH:mm:ss"
                 */
                getDateTimeFormatString():string;
                /**
                 * 获取当前用户时区
                 * @return 用户对应的  国际化时区对象
                 */
                getUserTimeZone():$.kd.bos.service.InteTimeZone;
                /**
                 * 格式化用户时间（用户时区+默认格式）
                 * @param datetime 源时间
                 * @param userId 用户id
                 * @param fmt 格式化对象
                 * @return 日期字符串
                 */
                formatUserTime(datetime:Date,userId:long,fmt:$.java.text.DateFormat):string;
                /**
                 * 解析用户时间（用户时区+默认格式）
                 * @param datetime 源时间
                 * @param userId 用户id
                 * @return 时间对象（Date）
                 * @throws ParseException
                 */
                parseUserTime(datetime:string,userId:long):Date;
                /**
                 * 获取当前时刻
                 * @return 当前时间（Date）
                 */
                now():Date;
                /**
                 * 格式化组织的时间（组织时区+默认格式）
                 * @param datetime 源时间
                 * @param orgId 组织id
                 * @return 时间字符串
                 */
                formatOrgTime(datetime:Date,orgId:long):string;
                /**
                 * 获取组织时区
                 * @param orgId 组织id
                 * @return 组织对应的 国际化时区
                 */
                getOrgTimeZone(orgId:long):$.kd.bos.service.InteTimeZone;
                /**
                 * 格式化组织的当前时间（组织时区+默认格式）
                 * @param orgId 组织id
                 * @return 当前时间字符串
                 */
                formatOrgNow(orgId:long):string;
                /**
                 * 获取当前时刻
                 * @return 当前时间（Date）
                 */
                today():Date;
                /**
                 * 格式化当前用户的当前时间（当前登录的用户时区+默认格式）
                 * @return 当前时间字符串
                 */
                formatUserNow():string;
                /**
                 * 格式化用户当前时间（用户时区+默认格式）
                 * @param userId 用户id
                 * @return 当前时间字符串
                 */
                formatUserNow(userId:long):string;
                /**
                 * 获取用户时区
                 * @param userId 用户id
                 * @return 用户对应的  国际化时区对象
                 */
                getUserTimeZone(userId:long):$.kd.bos.service.InteTimeZone;
                /**
                 * 解析组织时间（组织时区+默认格式）
                 * @param datetime 源时间
                 * @param orgId 组织id
                 * @return 时间对象（Date）
                 * @throws ParseException
                 */
                parseOrgTime(datetime:string,orgId:long):Date;
            }
            interface TimeServiceHelper_C extends TimeServiceHelper_S {
                new():TimeServiceHelper;
            }
            interface TimeServiceHelper$ {
            }
            type TimeServiceHelper_T = TimeServiceHelper$;
            interface TimeServiceHelper extends TimeServiceHelper_T {
            }
            interface ConfigServiceHelper_S {
                /**
                 * @description 获取环境配置
                 * @param key String
                 * @return 配置信息
                 */
                getGlobalConfiguration(key:string):any;
            }
            interface ConfigServiceHelper_C extends ConfigServiceHelper_S {
                new():ConfigServiceHelper;
            }
            interface ConfigServiceHelper$ {
            }
            type ConfigServiceHelper_T = ConfigServiceHelper$;
            interface ConfigServiceHelper extends ConfigServiceHelper_T {
            }
            interface ISVServiceHelper_S {
                /**
                 * ISV开发上标识是否金蝶
                 *
                 * @return boolean true: 是，false：不是
                 */
                isKingdeeISV():boolean;
                /**
                 * 获取ISV信息
                 *
                 * @return isv 信息
                 */
                getISVInfo():$.kd.bos.entity.ISVInfo;
            }
            interface ISVServiceHelper_C extends ISVServiceHelper_S {
                new():ISVServiceHelper;
            }
            interface ISVServiceHelper$ {
            }
            type ISVServiceHelper_T = ISVServiceHelper$;
            interface ISVServiceHelper extends ISVServiceHelper_T {
            }
            interface BusinessDataServiceHelper_S {
                /**
                 * 按条件读取实体数据，使用缓存
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>适用于少量读取基础数据，大批量读取推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果读取数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters 过滤条件
                 * @return 返回缓存实体数据Map，使用主键作为Key值，实体数据为Value值
                 */
                loadFromCache(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[]):$.java.util.Map;
                /**
                 * 按条件读取单据数据，单据体分录仅包括指定分页分录行
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBy 排序
                 * @param pageIndex 分页索引
                 * @param pagesize 每页数据量
                 * @return 返回指定分页的实体数据
                 */
                load(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[],orderBy:string,pageIndex:number,pagesize:number):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 读取第一张符合条件的实体数据，使用缓存
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>本方法适用于少量取用基础资料数据，如果大量查询基础资料，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param entityName       实体标识
                 * @param selectProperties 读取字段，使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters          查询条件
                 * @return 返回缓存的实体数据
                 */
                loadSingleFromCache(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 读取单张实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>，
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk 主键
                 * @param type 实体类型
                 * @return 返回实体数据包
                 */
                loadSingle(pk:any,type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 加载有权的数据。权限控制字段、特殊数据权限、数据规则
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体编码
                 * @param selectProperties 查询字段
                 * @param filters 过滤条件
                 * @param orderBy 排序字段
                 * @param top 加载前top条记录
                 * @param appId 验权appId，默认验实体所在应用
                 * @return 有权限的动态对象数组
                 */
                loadWithPermission(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[],orderBy:string,top:number,appId:string):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 按条件读取实体数据，使用缓存
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>适用于少量读取基础数据，大批量读取推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果读取数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName       实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters          条件
                 * @param orderBy          排序方式
                 * @return 返回缓存实体数据Map，使用主键作为Key值，实体数据为Value值
                 */
                loadFromCache(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[],orderBy:string):$.java.util.Map;
                /**
                 * 读取单张实体数据，指定读取字段范围
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk               主键
                 * @param entityName       实体标识
                 * @param selectProperties 读取字段，使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @return 返回实体数据包，仅含指定的字段
                 */
                loadSingle(pk:any,entityName:string,selectProperties:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 按条件读取单据数据，单据体分录仅包括指定分页分录行，自带特殊数据权限、数据规则和管控策略等过滤条件
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBy 排序
                 * @param pageIndex 分页索引
                 * @param pagesize 每页数据量
                 * @param appId 验权appId，默认验实体所在应用
                 * @param customParam     自定义参数 可以传null
                 * 目前只有三种参数：
                 * 一、是控制对于受控基础资料是否返回重复数据（例如物料有个性化数据），这时用PermissionService.CUSTPARAMKEY_BDCTRL_ISREMOVEDUP作为key，value是Boolean，true是去重，false是不去重；
                 * 二、是对于受控基础资料查询，获取使用组织id的集合，这时用PermissionService.CUSTPARAMKEY_BDCTRL_USEORGIDS作为key，value是使用组织id的集合，用List<Long>
                 *
                 * @return 返回指定分页的实体数据
                 */
                loadWithPermAndBdCtrl(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[],orderBy:string,pageIndex:number,pagesize:number,appId:string,customParam:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 读取单张实体数据，使用缓存，指定字段范围（减少读取的字段，可节省性能）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>本方法适用于少量取用基础资料数据，如果大量查询基础资料，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk 主键
                 * @param entityName       实体标识
                 * @param selectProperties 读取字段，使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @return 返回缓存的实体数据
                 */
                loadSingleFromCache(pk:any,entityName:string,selectProperties:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 清理缓存的实体数据
                 * @param type 实体类型
                 */
                removeCache(type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):void;
                /**
                 * 读取第一张符合条件的实体数据，包含全部字段
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param entityName       实体标识
                 * @param filters          查询条件
                 * @return 返回满足条件的第一张实体数据，找不到符合条件的数据则返回null
                 */
                loadSingle(entityName:string,filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 通过实体标识创建一个动态实体数据包
                 * @param entityName 实体标识
                 * @return 返回动态实体数据包
                 */
                newDynamicObject(entityName:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 批量读取实体数据，使用缓存
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>适用于少量读取基础数据，大批量读取推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置读取的数据量，如果读取数据过多，容易引发OOM异常。</li>
                 *
                 * @param pkArray 主键数组
                 * @param type 实体类型
                 * @return
                 */
                loadFromCache(pkArray:any[],type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):$.java.util.Map;
                /**
                 * 按条件读取实体数据，指定读取字段、排序字段（减少读取字段，可节省性能）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBy 排序字段
                 * @return 返回符合条件的实体数据
                 */
                load(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[],orderBy:string):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 按条件读取实体数据，限定最大取数量，指定读取字段、排序字段
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters 过滤条件
                 * @param orderBy 排序字段
                 * @param top 取前几条
                 * @return 返回符合条件的实体数据
                 */
                load(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[],orderBy:string,top:number):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 按条件读取实体数据，指定读取字段（减少读取字段，可节省性能）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param entityName 实体标识
                 * @param selectProperties 读取字段：使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters 过滤条件
                 * @return 返回符合条件的实体数据
                 */
                load(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 读取单张实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk    主键
                 * @param entityName 实体标识
                 * @return 返回实体数据包
                 */
                loadSingle(pk:any,entityName:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 加载实体数据中引用的基础数据，填充到实体数据包中
                 * 实体数据的加载通常分为两步：
                 * 1. 读取实体本身的属性值，基础资料字段取到内码
                 * 2. 根据基础资料内码，读取引用的基础资料数据包，填充在实体数据包中
                 * @param dataEntitys 实体数据包集合
                 * @param type 实体类型
                 */
                loadRefence(dataEntitys:any[],type_arg:$.kd.bos.dataentity.metadata.IDataEntityType):void;
                /**
                 * 读取实体数据，仅含根实体数据（单据头），不含分录数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合。单据体分录是空集合，未加载数据。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk    主键
                 * @param type  实体类型
                 * @return 返回仅含根实体的数据包，不含分录数据
                 */
                loadHead(pk:any,type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 创建一个动态实体数据包
                 * @param entityName 实体标识
                 * @param fillDefVal 是否填充字段默认值
                 * @param option 可选的参数，可用于传递主业务组织、单据类型,暂时不提供实现，日后根据需要补充实现
                 * @return 返回动态实体数据包
                 */
                newDynamicObject(entityName:string,fillDefVal:boolean,option:$.kd.bos.dataentity.OperateOption):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 读取单张实体数据，指定分录起始行
                 * <p></p>
                 * <strong>适用场景：</strong>
                 * <li>读取超大单（分录行过万），默认一次性把全部分录行都读取出来，会非常消耗性能。通过此方法指定分录行范围，减少数据量，提升性能 </li>
                 * <p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk    主键
                 * @param type  实体类型
                 * @param start 分录起始行
                 * @param limit 分录行数
                 * @return 返回实体数据包，仅按指定范围的分录行数据
                 */
                loadSingle(pk:any,type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,start:number,limit:number):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 读取第一张符合条件的实体数据，指定读取字段范围（减少读取的字段，可节省性能开销）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>返回的数据包修改后可调用保存服务。</li>
                 * <li>如果仅查询数据不修改保存，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param entityName       实体标识
                 * @param selectProperties 读取字段，使用逗号分隔字段标识，单据体字段要带单据体标识，格式如："id, bill, entryentity.qty"
                 * @param filters          查询条件
                 * @return 返回满足条件的第一张实体数据
                 */
                loadSingle(entityName:string,selectProperties:string,filters:$.kd.bos.orm.query.QFilter[]):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 读取单张实体数据，使用缓存
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>本方法适用于少量取用基础资料数据，如果大量查询基础资料，推荐使用性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 *
                 * @param pk 主键
                 * @param type 实体类型
                 * @return 缓存的实体数据
                 */
                loadSingleFromCache(pk:any,type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 按条件读取实体数据，使用缓存
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>返回的数据包是树形结构：单据头包含单据体分录集合，单据体分录包含子单据体分录集合。</li>
                 * <li>本方法优先从缓存中取数，缓存是线程间共享的，请勿修改返回数据包中的字段值，进行影响其他线程。</li>
                 * <li>缓存的实体数据缺少数据状态（快照、脏标记），不能修改后保存，保存可能会导致重复插入或误删数据。</li>
                 * <li>适用于少量读取基础数据，大批量读取推荐使用流式取数、性能更优的{@link QueryServiceHelper#queryDataSet(String, String, String, QFilter[], String, int)}。</li>
                 * <li>请合理设置取数条件，如果符合条件的数据过多，容易引发OOM异常。</li>
                 *
                 * @param type 实体类型
                 * @param filters 过滤条件
                 * @return 返回缓存实体数据Map，使用主键作为Key值，实体数据为Value值
                 */
                loadFromCache(type_arg:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,filters:$.kd.bos.orm.query.QFilter[]):$.java.util.Map;
            }
            interface BusinessDataServiceHelper_C extends BusinessDataServiceHelper_S {
                new():BusinessDataServiceHelper;
            }
            interface BusinessDataServiceHelper$ {
            }
            type BusinessDataServiceHelper_T = BusinessDataServiceHelper$;
            interface BusinessDataServiceHelper extends BusinessDataServiceHelper_T {
            }
            interface OpBizRuleSetServiceHelper_S {
                /**
                 * 删除单据的操作服务（物理删除）
                 * 特别注意：如果修改配置，请不要先调用{@link #deleteOpBizRuleSet(String, String)}，然后调用{@link #saveOpBizRuleSet(String, String, List)}
                 * 先删除后插入会有个时间差，如果操作服务正在执行，就极可能读取到操作服务被删的结果，导致极个别单据执行操作时，未同步执行操作服务。
                 * 修改配置，直接调用{@link #saveOpBizRuleSet(String, String, List)}即可，该服务内部会先把原有配置读出，改动后再保存，不会有时间差
                 * @param entityNumber 单据
                 * @param opBizRuleId 服务
                 */
                deleteOpBizRuleSet(entityNumber:string,opBizRuleId:string):void;
                /**
                 * 读取操作的服务
                 *
                 * @param entityNumber 单据
                 * @param opKey 操作
                 * @return 如果操作没有挂服务，返回空集合
                 */
                getOpBizRuleSet(entityNumber:string,opKey:string):$.java.util.List;
                /**
                 * 保存单据启用的操作服务
                 *
                 * @param entityNumber 实体
                 * @param opBizRuleId 服务id
                 * @param selectAllop 是否所有操作（请注意，该参数值不会清空操作分录的配置）   true:应用于所有操作   false:按操作分录的配置启用
                 */
                saveOpBizRuleSet(entityNumber:string,opBizRuleId:string,selectAllop:boolean):void;
                /**
                 * 清除缓存
                 */
                clearCache():void;
            }
            interface OpBizRuleSetServiceHelper_C extends OpBizRuleSetServiceHelper_S {
                new():OpBizRuleSetServiceHelper;
            }
            interface OpBizRuleSetServiceHelper$ {
            }
            type OpBizRuleSetServiceHelper_T = OpBizRuleSetServiceHelper$;
            interface OpBizRuleSetServiceHelper extends OpBizRuleSetServiceHelper_T {
            }
            interface DBServiceHelper_S {
                /**
                 * @description 生成字符型表格主键
                 * @param count：主键数量
                 * @return
                 */
                genStringIds(count:number):string[];
                /**
                 * @description 生成实体主键
                 * @param tableName：物理表格名
                 * @param count：生成的主键个数
                 * @return 可用的表格主键数组
                 */
                genStringIds(tableName:string,count:number):string[];
                /**
                 * @description 生成表格主键
                 * @param dbRouteKey：数据库路由
                 * @param tableName：表格名称
                 * @param count：主键数量
                 * @return
                 * @deprecated 请改用 genIntIds(tableName, count)函数
                 */
                genIntIds(dbRouteKey:string,tableName:string,count:number):number[];
                /**
                 * @description 生成全局唯一的长整形主键
                 *
                 * @return	long类型的id
                 */
                genGlobalLongId():long;
                /**
                 * @description 生成实体主键
                 * @param tableName：物理表格名
                 * @param count：生成的主键个数
                 * @return 可用的表格主键数组
                 */
                genLongIds(tableName:string,count:number):long[];
                /**
                 * @description 查询表格最大seq
                 * @param entryTableName：表格名称
                 * @return 当前最大seq
                 */
                getDBCurrentMaxSeq(route:string,entryTableName:string,fid:string):number;
                /**
                 * @description 生成表格主键
                 * @param dbRouteKey：数据库路由
                 * @param tableName：表格名称
                 * @param count：主键数量
                 * @return
                 * @deprecated 请改用 genLongIds(tableName, count)函数
                 */
                genLongIds(dbRouteKey:string,tableName:string,count:number):long[];
                /**
                 * @description 生成实体主键
                 * @param tableName：物理表格名
                 * @param count：生成的主键个数
                 * @return 可用的表格主键数组
                 */
                genStringId():string;
            }
            interface DBServiceHelper_C extends DBServiceHelper_S {
                new():DBServiceHelper;
            }
            interface DBServiceHelper$ {
            }
            type DBServiceHelper_T = DBServiceHelper$;
            interface DBServiceHelper extends DBServiceHelper_T {
            }
            interface AttDto_S {
            }
            interface AttDto_C extends AttDto_S {
                new():AttDto;
            }
            interface AttDto$ {
                /**
                 * 设置文件名
                 * @return
                 */
                setFileName(fileName:string):void;
                /**
                 * 设置附件标识
                 * @param attKey
                 */
                setAttKey(attKey:string):void;
                /**
                 * 获取附件面板的标识
                 * @return
                 */
                getAttKey():string;
                /**
                 * 获取附件路径
                 * @return
                 */
                getPath():string;
                /**
                 * 设置创建用户id
                 * @param createUserId
                 */
                setCreateUserId(createUserId:string):void;
                /**
                 * 或者上传用户id
                 * @return
                 */
                getCreateUserId():string;
                /**
                 * 设置附件路径
                 * @param path
                 */
                setPath(path:string):void;
                /**
                 * 获取文件名
                 * @return
                 */
                getFileName():string;
                /**
                 * 设置文件大小
                 * @param size
                 */
                setSize(size:long):void;
                /**
                 * 获取文件大小
                 * @return
                 */
                getSize():long;
            }
            type AttDto_T = AttDto$;
            interface AttDto extends AttDto_T {
            }
            interface MetadataServiceHelper_S {
                /**
                 * 加载业务对象运行时主实体模型
                 * @param number 业务对象实体编码
                 * @return 返回动态表单主实体
                 */
                getDataEntityType(number_arg:string):$.kd.bos.entity.MainEntityType;
                /**
                 * 复制移动表单模板元数据
                 * @param tplId			源模版的PK
                 * @param bizUnitId		所属业务单元
                 * @param newNumber		新建表单编码
                 * @param newName		新建表单名称
                 * @return Map对象
                 */
                copyMobleFormMetadata(tplId:string,bizAppId:string,bizUnitId:string,newNumber:string,newName:$.kd.bos.dataentity.entity.LocaleString):$.java.util.Map;
            }
            interface MetadataServiceHelper_C extends MetadataServiceHelper_S {
                new():MetadataServiceHelper;
            }
            interface MetadataServiceHelper$ {
            }
            type MetadataServiceHelper_T = MetadataServiceHelper$;
            interface MetadataServiceHelper extends MetadataServiceHelper_T {
            }
            interface BillTypeDifferentialHelper_S {
                /**
                 * 获取已存储的单据类型信息
                 * @param formId 表单id
                 * @return
                 */
                getStoreControlInfos(formId:string):$.java.util.Map;
                /**
                 * @description 存储差量信息
                 * @param entityId
                 *            实体标识
                 * @param billtypeId
                 *            单据类型id
                 * @param difInfos
                 *            控件的差量信息
                 */
                storeDifferentialControlInfos(entityId:string,billtypeId:long,difInfos:$.java.util.List):void;
                /**
                 * @description 获取控件差量化信息（从缓存）
                 * @param entityId
                 *            实体标识
                 * @param billtypeId
                 *            单据类型内码
                 * @return 差量信息列表
                 */
                getDifferentialControlInfos2(entityId:string,billtypeId:long):$.java.util.List;
                /**
                 * 读取指定单据下，所有单据类型的字段设置
                 *
                 * 仅包含运行时用到的信息，与设计时相比，不填充  必录类型mustInputType ，
                 *     	   设计时字段类名fieldType，默认值类型defValueType，控件名getFieldName
                 * @param formId 单据主实体编码
                 * @param isMob 是否是移动端
                 * @return
                 */
                getRuntimeDiffControlInfosFromCache(formId:string,isMob:boolean):$.java.util.Map;
                /**
                 * @description 删除运行时单据类型实体元数据
                 * @param billtypeId
                 *            单据类型内码
                 */
                deleteBillTypeRuntime(billtypeId:long):void;
                /**
                 * @description 删除运行时单据类型元数据
                 * @param entityId
                 *            实体标识
                 * @param billtypeId
                 *            单据类型主键（内码）
                 */
                deleteBillTypeRuntime(entityId:string,billtypeId:long):void;
                /**
                 * 获取控件差量化信息（从缓存）
                 *
                 * @param entityId
                 * @param billtypeId
                 * @return
                 */
                getDifferentialControlInfosFromCache(entityId:string,billtypeId:long):$.java.util.List;
                /**
                 * @param formId 布局编码
                 * @param originalFormId 原始布局编码
                 * @return
                 */
                getFullControlInfos(formId:string,originalFormId:string):$.java.util.Map;
                /**
                 * @description 获取控件差量化信息（从缓存）
                 * @param entityId
                 *            实体标识
                 * @param billtypeId
                 *            单据类型内码
                 * @return 差量信息列表
                 */
                getRuntimeDiffControlInfos(entityId:string,billtypeId:long):$.java.util.List;
                /**
                 * 读取指定单据下，所有单据类型的字段设置
                 *
                 * 仅包含运行时用到的信息，与设计时相比，不填充  必录类型mustInputType ，
                 *     	   设计时字段类名fieldType，默认值类型defValueType，控件名getFieldName
                 * @param formId 单据主实体编码
                 * @return
                 */
                getRuntimeDiffControlInfosFromCache(formId:string):$.java.util.Map;
                /**
                 * @description 通过formid获取单据类型控件信息
                 * @param formId
                 *            表单id
                 * @return 单据类型控件信息集合
                 */
                getFullControlInfos(formId:string):$.java.util.Map;
                /**
                 * @description 获取控件差量化信息（从缓存）
                 * @param entityId 实体标识
                 * @param billtypeId 单据类型内码
                 * @param isMob 是否是移动端
                 * @return 差量信息列表
                 */
                getRuntimeDiffControlInfos(entityId:string,billtypeId:long,isMob:boolean):$.java.util.List;
                /**
                 * 实时读取指定单据下，所有单据类型的字段设置（性能非常差，请改用getDifferentialControlInfosFromCache）
                 */
                getDifferentialControlInfos(formId:string):$.java.util.Map;
                /**
                 * 读取指定单据下，所有单据类型的字段设置
                 *
                 * @param formId 单据主实体编码
                 * @return
                 */
                getDifferentialControlInfosFromCache(formId:string):$.java.util.Map;
                /**
                 * @description 获取已存储的单据类型信息
                 * @param formId
                 *            表单id
                 * @param billTypeId
                 *            单据类型内码
                 * @return
                 */
                getStoreControlInfos(formId:string,billTypeId:long):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * @description 实时获取控件差量化信息(不能完全差量化)
                 *
                 * @param formId
                 *            表单id
                 * @param billTypeId
                 *            单据类型内码
                 * @return List<DifferentialControlInfo>
                 */
                getDifferentialControlInfos(formId:string,billTypeId:long):$.java.util.List;
            }
            interface BillTypeDifferentialHelper_C extends BillTypeDifferentialHelper_S {
                new():BillTypeDifferentialHelper;
            }
            interface BillTypeDifferentialHelper$ {
            }
            type BillTypeDifferentialHelper_T = BillTypeDifferentialHelper$;
            interface BillTypeDifferentialHelper extends BillTypeDifferentialHelper_T {
            }
            interface CtSyncLogServiceHelper_S {
                getTSyncLogsByUniqueKeys(uniqueKeys:$.java.util.List):$.java.util.List;
                getSSyncLogMaps(ctLkQueryArgs:kd.bos.entity.ctbotp.sync.SyncQueryArgs):$.java.util.Map;
                getSSyncLogsBySbillIds(ids:$.java.util.List):$.java.util.List;
                getSSyncLogsByIds(ids:$.java.util.List):$.java.util.List;
                getSyncLogsByQFilters(qFilters:$.kd.bos.orm.query.QFilter[],orderby:string,top:number):$.java.util.List;
                /**
                 * 释放下推网控
                 *
                 * @param srcEntityNumber 源单实体标识
                 * @param srcBillIds 源单单据内码（已成功申请了网控的源单内码）
                 *
                 * @return 按单输出下推网控释放是否成功
                 */
                releasePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set):$.java.util.Map;
                getSSyncLogByBillNos(billNos:$.java.util.List):$.java.util.List;
                getSSyncLogsByUniqueKeys(uniqueKeys:$.java.util.List):$.java.util.List;
                getSSyncLog(ctLkQueryArgs:kd.bos.entity.ctbotp.sync.SyncQueryArgs):$.java.util.List;
                getSyncLogsByQFilters(qFilters:$.kd.bos.orm.query.QFilter[],top:number):$.java.util.List;
                getTSyncLogMaps(ctLkQueryArgs:kd.bos.entity.ctbotp.sync.SyncQueryArgs):$.java.util.Map;
                getSSyncLogByRootJobId(ctLkQueryArgs:kd.bos.entity.ctbotp.sync.SyncQueryArgs):$.java.util.List;
            }
            interface CtSyncLogServiceHelper_C extends CtSyncLogServiceHelper_S {
                new():CtSyncLogServiceHelper;
            }
            interface CtSyncLogServiceHelper$ {
            }
            type CtSyncLogServiceHelper_T = CtSyncLogServiceHelper$;
            interface CtSyncLogServiceHelper extends CtSyncLogServiceHelper_T {
            }
            interface CtConvertMetaServiceHelper_S {
                /**
                 * @param ruleIds
                 * @return
                 * @description 跨租户同步转换规则保存
                 */
                saveRuleVer(ruleIds:string[]):void;
                /**
                 * @param entityNumber 单据
                 * @return
                 * @description 加载单据主实体的表格定义对象，从而获知主实体的表格编码
                 */
                loadMainTableDefine(entityNumber:string):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * @param entityNumber 单据
                 * @param entityKey    实体
                 * @return
                 * @description 根据单据和实体，加载其表格定义对象，从而获知其对应的表格编码
                 */
                loadTableDefine(entityNumber:string,entityKey:string):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * @param ruleIds
                 * @return
                 * @description 删除转换规则
                 */
                delete(ruleIds:string[]):$.java.util.Map;
                /**
                 * @param metadata
                 * @return
                 * @description 保存转换规则
                 */
                save(metadata:kd.bos.metadata.ctbotp.CtConvertRuleMetadata):$.java.util.Map;
                /**
                 * @param meta
                 * @description 更新规则的默认选项到数据库
                 */
                saveDefaultStatus(meta:kd.bos.metadata.ctbotp.CtConvertRuleMetadata):void;
                /**
                 * @param id：转换规则标识
                 * @param runtime：是否运行时刻
                 * @return
                 * @description 读取指定的转换规则元数据对象
                 */
                loadMeta(id:string,runtime:boolean):kd.bos.metadata.ctbotp.CtConvertRuleMetadata;
                /**
                 * @param sourceEntityNumber
                 * @param targetEntityNumber
                 * @return
                 * @description 加载两单之间，全部的转换规则元数据对象，包括扩展的规则：用于设计器显示出规则树
                 */
                loadMetas(sourceTenant:string,sourceDataCenter:string,sourceEntityNumber:string,targetTenant:string,targetDataCenter:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * @param entityNumber 单据
                 * @return
                 * @description 读取单据的关联配置信息
                 */
                loadCtLinkSet(entityNumber:string):$.kd.bos.entity.CtLinkSetElement;
                /**
                 * @param sourceEntityNumber
                 * @param targetEntityNumber
                 * @return
                 * @description 加载两单之间，全部的转换规则元数据对象，包括扩展的规则：用于设计器显示出规则树
                 */
                loadMetas(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * @return
                 * @description 加载全部转换路线
                 */
                loadAllConvertPaths():$.java.util.List;
                /**
                 * @param tableId 表格编码
                 * @return
                 * @description 根据表格编码，加载其表格定义对象，从而获知其对应的单据与实体
                 */
                loadTableDefine(tableId:long):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * @param ruleId 转换规则标识
                 * @return
                 * @description 加载转换规则
                 */
                loadRule(ruleId:string):$.kd.bos.entity.ctbotp.CtConvertRuleElement;
                /**
                 * @param entityNumber：当前单据编码
                 * @return 可转换的目标单列表
                 * @description 加载全部目标单据信息，用于下推操作，列出可选目标单
                 */
                loadTenantDatas(tenantId:string,accountId:string,entityNumber:string):$.java.util.List;
                /**
                 * @param ids：转换规则标识
                 * @param runtime：是否运行时刻
                 * @return
                 * @description 读取指定的转换规则元数据对象-批量版本
                 */
                batchLoadMeta(ids:string[],runtime:boolean):$.java.util.List;
                /**
                 * @param sourceEntityNumber
                 * @param targetEntityNumber
                 * @return
                 * @description 加载两单之间，全部的转换规则：用于转换操作，不包括扩展的规则
                 */
                loadRules(sourceTenant:string,sourceDataCenter:string,sourceEntityNumber:string,targetTenant:string,targetDataCenter:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * @param path 转换路径
                 * @return
                 * @description 删除两单之间的全部规则
                 */
                delete(path:kd.bos.entity.ctbotp.CtConvertPath,existSourceEntity:boolean,existTargetEntity:boolean):$.java.util.Map;
                /**
                 * @param metaDatas
                 * @return
                 * @description 跨租户同步转换规则保存
                 */
                syncRuleSave(metaDatas:kd.bos.metadata.ctbotp.CtConvertRuleMetadata[]):$.java.util.Map;
            }
            interface CtConvertMetaServiceHelper_C extends CtConvertMetaServiceHelper_S {
                new():CtConvertMetaServiceHelper;
            }
            interface CtConvertMetaServiceHelper$ {
            }
            type CtConvertMetaServiceHelper_T = CtConvertMetaServiceHelper$;
            interface CtConvertMetaServiceHelper extends CtConvertMetaServiceHelper_T {
            }
            interface CtConvertServiceHelper_S {
                /**
                 * 申请下推网控
                 *
                 * @param srcEntityNumber 源单实体内码
                 * @param srcBillIds 源单单据内码，需申请网控
                 * @param isStrict 是否严格网控，在未释放指定源单下推网控前，不允许本人再次该单据下推网控
                 *
                 * @return 按单输出下推网控申请是否成功
                 */
                requirePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set,isStrict:boolean):$.java.util.Map;
                /**
                 * @description 下推服务
                 * @param args ：下推参数
                 * @return ：下推结果，其中包括了生成的目标单，生成报告
                 */
                ctPush(args:$.kd.bos.entity.ctbotp.runtime.CtPushArgs):$.kd.bos.entity.ctbotp.runtime.CtConvertOperationResult;
                /**
                 * 释放下推网控
                 *
                 * @param srcEntityNumber 源单实体标识
                 * @param srcBillIds 源单单据内码（已成功申请了网控的源单内码）
                 *
                 * @return 按单输出下推网控释放是否成功
                 */
                releasePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set):$.java.util.Map;
            }
            interface CtConvertServiceHelper_C extends CtConvertServiceHelper_S {
                new():CtConvertServiceHelper;
            }
            interface CtConvertServiceHelper$ {
            }
            type CtConvertServiceHelper_T = CtConvertServiceHelper$;
            interface CtConvertServiceHelper extends CtConvertServiceHelper_T {
            }
            interface CtSyncServiceHelper_S {
                /**
                 * 释放下推网控
                 *
                 * @param srcEntityNumber 源单实体标识
                 * @param srcBillIds 源单单据内码（已成功申请了网控的源单内码）
                 *
                 * @return 按单输出下推网控释放是否成功
                 */
                releasePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set):$.java.util.Map;
                /**
                 * 申请下推网控
                 *
                 * @param srcEntityNumber 源单实体内码
                 * @param srcBillIds 源单单据内码，需申请网控
                 * @param isStrict 是否严格网控，在未释放指定源单下推网控前，不允许本人再次该单据下推网控
                 *
                 * @return 按单输出下推网控申请是否成功
                 */
                requirePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set,isStrict:boolean):$.java.util.Map;
                /**
                 * @description 下推服务
                 * @param args ：下推参数
                 * @return ：下推结果，其中包括了生成的目标单，生成报告
                 */
                ctSync(args:$.kd.bos.entity.ctbotp.runtime.CtSyncArgs):$.kd.bos.entity.ctbotp.runtime.CtSyncResult;
            }
            interface CtSyncServiceHelper_C extends CtSyncServiceHelper_S {
                new():CtSyncServiceHelper;
            }
            interface CtSyncServiceHelper$ {
            }
            type CtSyncServiceHelper_T = CtSyncServiceHelper$;
            interface CtSyncServiceHelper extends CtSyncServiceHelper_T {
            }
            interface CtBillTrackerServiceHelper_S {
                loadBillLinkDownRows(sTenantCode:string,sAccountId:string,entityNumber:string,billIds:long[],onlyDirtTarget:boolean):$.java.util.List;
                loadBillLinkDown(sTenantCode:string,sAccountId:string,entityNumber:string,billIds:long[],onlyDirtTarget:boolean):kd.bos.entity.ctbotp.apiresponse.CtBillLkDownRes;
                /**
                 * 按单下查，输出下游关联追溯树（按单追溯，不含明细分录行关联信息）
                 *
                 * @param entityNumber 上游单据实体编码
                 * @param billIds 上游单据内码
                 * @param onlyDirtTarget true = 仅包含直接下游单据，不做跨级搜索
                 *
                 * @return 按传入的源单，绑定其下游关联追溯树（按单追溯，不含明细分录行关联信息）
                 */
                loadBillLinkDownNodes(sTenantCode:string,sAccountId:string,entityNumber:string,billIds:long[],onlyDirtTarget:boolean):$.java.util.Map;
                /**
                 * 按单上查，输出上游关联追溯树（按单追溯），不含明细分录行关联信息。默认含跨级源单，可指定不含跨级源单
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param billIds 下游单据内码
                 * @param onlyDirtSource true = 仅包含直接源单，不取跨级源单；默认为false，含跨级源单
                 *
                 * @return 按传入的下游单内码，绑定其上游关联追溯树（按单追溯）
                 */
                loadBillLinkUpNodes(tTenantCode:string,tAccountId:string,entityNumber:string,billIds:long[],onlyDirtSource:boolean):$.java.util.Map;
                loadBillLinkUp(tTenantCode:string,tAccountId:string,entityNumber:string,billIds:long[],onlyDirtTarget:boolean):kd.bos.entity.ctbotp.apiresponse.CtBillLkUpRes;
                loadBillLinkUpRows(tTenantCode:string,tAccountId:string,entityNumber:string,billIds:long[],onlyDirtTarget:boolean):$.java.util.List;
            }
            interface CtBillTrackerServiceHelper_C extends CtBillTrackerServiceHelper_S {
                new():CtBillTrackerServiceHelper;
            }
            interface CtBillTrackerServiceHelper$ {
            }
            type CtBillTrackerServiceHelper_T = CtBillTrackerServiceHelper$;
            interface CtBillTrackerServiceHelper extends CtBillTrackerServiceHelper_T {
            }
            interface CtSaveServiceHelper_S {
                /**
                 * 申请下推网控
                 *
                 * @param srcEntityNumber 源单实体内码
                 * @param srcBillIds      源单单据内码，需申请网控
                 * @param isStrict        是否严格网控，在未释放指定源单下推网控前，不允许本人再次该单据下推网控
                 * @return 按单输出下推网控申请是否成功
                 */
                requirePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set,isStrict:boolean):$.java.util.Map;
                /**
                 * @param args ：下推参数
                 * @return ：下推结果，其中包括了生成的目标单，生成报告
                 * @description 下推服务
                 */
                ctSave(args:$.kd.bos.entity.ctbotp.runtime.CtSaveArgs):$.kd.bos.entity.ctbotp.runtime.CtSaveOperationResult;
                /**
                 * 释放下推网控
                 *
                 * @param srcEntityNumber 源单实体标识
                 * @param srcBillIds      源单单据内码（已成功申请了网控的源单内码）
                 * @return 按单输出下推网控释放是否成功
                 */
                releasePushMutex(srcEntityNumber:string,srcBillIds:$.java.util.Set):$.java.util.Map;
            }
            interface CtSaveServiceHelper_C extends CtSaveServiceHelper_S {
                new():CtSaveServiceHelper;
            }
            interface CtSaveServiceHelper$ {
            }
            type CtSaveServiceHelper_T = CtSaveServiceHelper$;
            interface CtSaveServiceHelper extends CtSaveServiceHelper_T {
            }
            interface AttachmentModule_S {
            }
            type AttachmentModule_ST = $.kd.sdk.module.Module & AttachmentModule_S;
            interface AttachmentModule_C extends AttachmentModule_ST {
                new():AttachmentModule;
            }
            interface AttachmentModule$ {
            }
            type AttachmentModule_T = $.kd.sdk.module.Module & AttachmentModule$;
            interface AttachmentModule extends AttachmentModule_T {
            }
            interface AttachmentDto_S {
            }
            interface AttachmentDto_C extends AttachmentDto_S {
                new():AttachmentDto;
            }
            interface AttachmentDto$ {
                getResourcePath():string;
                getCreateUserId():string;
                getAttachmentType():kd.bos.mservice.attachment.AttachmentType;
                getEntityNum():string;
                setAttachmentType(attachmentType:kd.bos.mservice.attachment.AttachmentType):void;
                setBillPkId(billPkId:string):void;
                getBillPkId():string;
                getFilename():string;
                setSize(size:number):void;
                setAttPk(attPk:any):void;
                getAttPk():any;
                setCreateUserId(createUserId:string):void;
                getSize():number;
                setEntityNum(entityNum:string):void;
                setResourcePath(resourcePath:string):void;
                getCreateTime():Date;
                setCreateTime(createTime:Date):void;
                setFilename(filename:string):void;
            }
            type AttachmentDto_T = AttachmentDto$;
            interface AttachmentDto extends AttachmentDto_T {
            }
            interface AttachmentServiceHelper_S {
                /**
                 * 生成符合雪花算法规范的唯一标识符(UID)
                 *
                 *     本方法基于雪花算法(Snowflake)生成分布式系统下具有时间有序性的唯一ID，生成的ID由以下部分组成：
                 * 固定前缀rc-upload + ID
                 * @return 基于雪花算法生成的19位长整型唯一标识符 rc-upload-2153606081487855616
                 * @since 6.0
                 */
                generateUid():string;
                /**
                 * 附件删除接口 - 永久删除指定表单单据关联的附件面板的指定文件
                 * <p><span style="color:red;font-weight:bold">高危提醒：本方法执行文件物理删除且影响多张单据，请严格进行操作审计。</p></span>
                 * <p><span style="color:red;font-weight:bold">高危提醒：本方法将移除单据与文件服务器文件的关联关系（数据表）。</p></span>
                 * <p><span style="color:red;font-weight:bold">高危提醒：建议调用此接口的外部业务限制调用频次。</p></span>
                 * <h3>接口特性：</h3>
                 * <ul>
                 *   <li>根据表单标识和单据主键定位附件</li>
                 *   <li>级联删除关联的附件</li>
                 *   <li>直接操作数据库和文件存储系统</li>
                 * </ul>
                 *
                 * @param formId 表单唯一标识（格式：表单标识）
                 *                      示例："purchase"、"contract"
                 * @param pkId    单据业务主键（通常为单据主键也可能是字符格式）
                 *                      示例："123"、"456"
                 * @param fileUid    附件唯一标识
                 *                      示例："rc_upload_12345678910_22"、"rc_upload_12345678910_55"
                 *                   可通过查询附件面板表t_bas_attachment获取
                 *                   或通过 @See getAttachments(String, Object, String,boolean) 获取
                 * <h3>使用示例：</h3>
                 * <pre>{@code
                 * // 物理删除（不可恢复）采购单附件
                 * QFilter qFilter = new QFilter("billno", QCP.equals, "purchase");
                 *         QFilter[] qFilters = new QFilter[]{qFilter};
                 *         DynamicObject[] newBillFid = BusinessDataServiceHelper.load("purchase", "fid", qFilters);
                 * String pkid = newBillFid[0].getString("id");
                 * //字符attachmentPanel为单据附件面板标识
                 * List<Map<String, Object> panelData = AttachmentServiceHelper.getAttachments("purchase", pkid, "attachmentPanel",false);
                 * String uid = panelData.get(0).get("uid") + "";
                 * AttachmentServiceHelper.remove("purchase", pkid, uid);
                 * }</pre>
                 *
                 * <h3>注意事项：</h3>
                 * <ol>
                 *   <li>删除操作不可逆，建议执行前进行二次确认</li>
                 *   <li>将影响关联的审批流、日志记录等依赖附件的业务功能</li>
                 *   <li>高并发场景可能触发数据库行锁</li>
                 * </ol>
                 */
                remove(formId:string,pkId:any,fileUid:any):void;
                /**
                 * 重命名
                 * @param uid 附件编码
                 * @param name 名称
                 */
                rename(uid:string,name:string,attPkId:string):void;
                batchRemove(formId:string,pkIds:$.java.util.List):void;
                /**
                 * 获取要绑定的附件数据，搭配bindingAttachment使用
                 * @param formNumber 表单标识
                 * @param billPkId 单据主键
                 * @param attDtoList 附件信息集合
                 * @return 附件绑定所需参数集合 @See bindingAttachment(Map param)
                 * 参数 | 含义
                 * -------|------
                 * formNumber    | 单据标识
                 * billPkId    | 单据主键值
                 * data    | 需要绑定的附件参数信息集合（元素类型为AttDto的List集合)
                 * AttDto的部分参数说明：
                 * 参数 | 含义
                 * -------|------
                 * entryPkId    | 所在分录内码，若不在分录可以不填
                 * fileName    | 文件名
                 * size    | 附件大小
                 * path    | 附件全路径 包含域名
                 * attKey    | 附件标识
                 * @throws Exception 获取失败抛出异常
                 */
                genBindingParam(formNumber:string,billPkId:string,attDtoList:$.java.util.List):$.java.util.Map;
                /**
                 *  重命名
                 * @param uid 附件编码
                 * @param name 名称
                 */
                rename(uid:string,name:string):void;
                /**
                 *  获取指定单据指定附件面板的附件列表
                 * @param formId 表单标识
                 * @param pkId 单据主键
                 * @param attachKey 附件面板标识
                 * @param enableTempAccess 请传递false
                 * @return 附件信息 建议可获取使用的参数如下
                 * 参数 | 含义
                 * -------|------
                 * attPkId    | 附件全局表主键
                 * creator    | 创建人
                 * fileSource    | 文件来源 附件字段、附件面板等  kd.bos.service.attachment.FileSource
                 * type    | 文件类型
                 * url    | 文件服务器地址 （含域名的全路径）
                 * uid    | 附件uid（一般为前端生成）
                 * size    | 附件大小 单位是字节
                 * name    | 附件名称
                 * entityNum    | 附件所在的单据的单据标识
                 * billPkId    | 附件所在的单据的主键值
                 * status    | 附件状态
                 */
                getAttachments(formId:string,pkId:any,attachKey:string,enableTempAccess:boolean):$.java.util.List;
                /**
                 * 将业务单据的附件元数据持久化至数据库
                 * <p><span style="color:red;font-weight:bold">提醒：该方法仅处理数据记录不涉及文件存储。</p></span>
                 * <p><span style="color:red;font-weight:bold">提醒：使用该方法绑定附件时，通常需要绑定持久化附件，
                 * 验证附件是否是持久化附件可通过判断url中是否包含"tempfile/download.do?configKey"字符判断。即url.contains("tempfile/download.do?configKey")，
                 * 请勿使用url.contains("configKey=redis.serversForCache&id=tempfile")等其他字符串判断</p></span>
                 * <p>此方法执行以下核心操作：
                 * 1. 关联单据绑定 - 建立附件记录与业务单据(formId/pkId)的映射关系
                 * 2. 批量插入 - 使用事务批量写入附件元数据记录
                 *
                 * <p><b>服务边界说明：</b>
                 * - 不执行物理文件的上传/下载操作
                 * @param formId 关联业务单据类型编码
                 *
                 * @param pkId 关联业务单据主键ID，需满足：
                 *             - 与formId对应的单据记录存在
                 *             - 类型匹配（varchar/number）
                 * @param attachments 附件元数据集合
                 *
                 * @see FileService#upload(FileItem) 关联的文件物理存储方法
                 *
                 * @usageNote 典型调用时序：
                 * 1. 调用FileService上传文件获得path
                 * 2. 收集附件元数据构建Attachment对象
                 * 3. 调用本方法持久化元数据
                 */
                upload(formId:string,pkId:any,attachKey:string,attachments:$.java.util.List):void;
                /**
                 * :附件面板临时附件保存类 保存指定单据的临时附件到远程服务器
                 * @param formId 表单标识
                 * @param pkId 单据主键
                 * @param appId 应用编码
                 * @param attachmentMap 附件信息
                 * @return 新上传到文件服务器的附件信息
                 */
                saveTempAttachments(formId:string,pkId:any,appId:string,attachmentMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 为指定附件添加或更新业务备注信息
                 *
                 * <p><b>建议调用前执行如下逻辑：</b>
                 * 1. 校验附件是否存在
                 * 2. 过滤非法字符（如HTML标签、敏感词）
                 *
                 * @param uid 附件全局唯一标识，需满足：
                 *            - 如rc-upload-1739842919039-24
                 *            - 必须存在于t_bas_attachment表
                 * @param attPkId 附件主键，uid未传递或传空时使用，需满足：
                 *            - 必须存在于t_bas_attachment主表
                 * @param description 备注内容，需满足：
                 *                    - 非空（长度范围：1-50字长）
                 *                    - 不包含未转义的XML特殊字符
                 *                    - 禁止脚本标签
                 *
                 * @example
                 * // 添加带格式的备注
                 * AttachmentServiceHelper.addRemark(
                 *     "rc-upload-1739842919039-24",
                 *     "**2023-12-01更新**: 客户补充以下材料：- 身份证扫描件- 营业执照"
                 * );
                 */
                mark(uid:string,description:string,attPkId:string):void;
                bindingAttachment(params:$.java.util.Map):$.java.util.Map;
                /**
                 * 把临时附件上传到文件服务器
                 * @param tempUrl 临时附件url
                 * @param appId 应用编码
                 * @param formId 表单标识
                 * @param attachKey 控件标识
                 * @param pkId 单据pkid
                 * @param fileName 文件名
                 * @param isDeleteTempFile 是否删除临时文件
                 * @param createNewFileWhenExists 当文件存在时新建文件
                 * @return 文件相对于文件服务器的相对路径
                 */
                saveTempToFileService(tempUrl:string,appId:string,formId:string,attachKey:string,pkId:any,fileName:string,isDeleteTempFile:boolean,createNewFileWhenExists:boolean):string;
            }
            interface AttachmentServiceHelper_C extends AttachmentServiceHelper_S {
                new():AttachmentServiceHelper;
            }
            interface AttachmentServiceHelper$ {
            }
            type AttachmentServiceHelper_T = AttachmentServiceHelper$;
            interface AttachmentServiceHelper extends AttachmentServiceHelper_T {
            }
            interface PrintServiceHelper_S {
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面Id
                 * @param formId 表单标识
                 * @param templateFromId 模板Id
                 * @param pkId 单据Id
                 * @return pdf路径
                 */
                createSinglePdf(pageId:string,formId:string,templateFromId:string,pkId:any):number[];
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param fileName 文件名称
                 * @param jobs 打印构造的任务
                 * @return pdf路径
                 */
                createPdfUrl(fileName:$.kd.bos.dataentity.entity.LocaleString,jobs:$.java.util.List):string;
                /**
                 * 合并PDF
                 * @param pdfPages 字节流
                 * @return 合并后的字节流
                 */
                mergeMultiPdf(pdfPages:$.java.util.List):number[];
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面id
                 * @param formId 单据标识
                 * @param templateFormId 打印模板标识
                 * @param printerId 打印机内码
                 * @return pdf路径
                 */
                createPrintJob(pageId:string,formId:string,templateFormId:string,printerId:any):boolean;
                /**
                 * 生成打印任务
                 * @param jobs 打印job集合
                 * @return 是否成功
                 */
                createPrintJob(jobs:$.java.util.List):boolean;
                /**
                 * 创建一个包含打印指令的打印任务(自动匹配打印机)
                 * @param formId       单据标识
                 * @param billPkId     内码(主键)
                 * @param templatePkId 脚本模板内码(主键)
                 * @return 是否成功
                 */
                createScriptPrintJob(formId:string,billPkId:any,templatePkId:any):boolean;
                /**
                 * 创建打印任务
                 * @param formId
                 * @param billPkId
                 * @param templatePkId
                 * @param separator
                 * @param isShowLastSep
                 * @return
                 */
                createScriptPrintJob(formId:string,billPkId:any,templatePkId:any,separator:string,isShowLastSep:boolean):boolean;
                /**
                 * 获取真实的formId，如通过布局，扩展界面，继承界面获取原单formId
                 * @param formId
                 * @return
                 */
                getRealBillFormId(formId:string):string;
                /**
                 * 还没支持
                 * @param formId      单据标识
                 * @return 获取打印机
                 */
                getPrinter(formId:string):$.java.util.Map;
                /**
                 * 读取打印设置
                 * @param formId 页面Id
                 * @param userId 用户Id
                 * @param pks 单据Id
                 * @return
                 */
                readPrintSetting(formId:string,userId:string,pks:$.java.util.List):$.java.util.Map;
                /**
                 * 创建一个包含打印指令的打印任务
                 * @param formId       单据标识
                 * @param billPkId     单据内码(主键)
                 * @param templatePkId 脚本模板内码(主键)
                 * @param printerPkId  打印机内码(主键)
                 * @return 是否成功
                 * @throws Exception 没找到打印机
                 */
                createScriptPrintJob(formId:string,billPkId:any,templatePkId:string,printerPkId:string):boolean;
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面Id
                 * @param formId 表单Id
                 * @param templateFormId 模板Id
                 * @param pkids 单据PkIds
                 * @param dataProvider 数据提供
                 * @return pdf路径
                 */
                createPdfUrl(pageId:string,formId:string,templateFormId:string,pkids:any[],dataProvider:com.kingdee.bos.ctrl.reportone.r1.print.data.IPrintDataProvider):string;
                /**
                 * 获取文件流，请使用 BosPrintServiceHelper.getInputStream 方法
                 * @param taskId 打印任务Id
                 * @param printType 打印类型
                 * @param jobs 打印构造的任务
                 * @param extParam 扩展参数
                 * @return
                 */
                execPrint(taskId:string,printType:string,jobs:$.java.util.List,extParam:$.java.util.Map):string;
                /**
                 * 改造为微服务调用
                 * 生成Excel 并返回下载路径
                 * @param jobs 打印job集合
                 * @param para 传递参数
                 * @return Excel文件路径
                 */
                createXlsUrl(jobs:$.java.util.List,para:$.java.util.Map):string;
                /**
                 * @description生成脚本打印任务(值来源于调用方)
                 *
                 * @param formId       用处不大，预留下吧
                 * @param templatePkId 模板PK
                 * @param printerPkId  打印机PK
                 * @param values       变量和对应的值
                 * @return 是否成功
                 */
                createScriptPrintJob(formId:string,templatePkId:any,printerPkId:any,values:$.java.util.Map):boolean;
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param jobs 打印构造的任务
                 * @return pdf路径
                 */
                createCrossPdf(jobs:$.java.util.List):number[];
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面Id
                 * @param formId 表单标识
                 * @param templateFromId 模板Id
                 * @param billPkId 单据Id
                 * @param entryFilterExp
                 * @return pdf路径
                 */
                createPdfBytes(pageId:string,formId:string,templateFromId:string,billPkId:any,entryFilterExp:$.java.util.Map):number[];
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面Id
                 * @param formId 表单标识
                 * @param templateFromId 模板Id
                 * @param billPkId 单据Id
                 * @param entryFilterExp
                 * @return pdf路径
                 */
                createPdfUrl(pageId:string,formId:string,templateFromId:string,billPkId:any,entryFilterExp:$.java.util.Map):string;
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面Id
                 * @param formId 表单标识
                 * @param btMap
                 * @return pdf路径
                 */
                createPdfUrl(pageId:string,formId:string,btMap:$.java.util.Map):string;
                /**
                 * 创建一个包含打印指令的打印任务
                 * @param formId       单据标识
                 * @param billPkId     单据内码(主键)
                 * @param templatePkId 脚本模板内码(主键)
                 * @param printerPkId  打印机内码(主键)
                 * @param separator    分隔符
                 * @param separator    是否显示末尾分隔符
                 * @return
                 * @throws Exception 没找到打印机
                 */
                createScriptPrintJob(formId:string,billPkId:any,templatePkId:string,printerPkId:string,separator:string,isShowLastSep:boolean):boolean;
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面id
                 * @param formId 单据标识
                 * @param templateFormId 打印模板标识
                 * @param printerId 打印机内码
                 * @param pkid 单据内码
                 * @return pdf路径
                 */
                createPrintJob(pageId:string,formId:string,templateFormId:string,printerId:any,pkid:any):boolean;
                /**
                 * 创建打印指令 还没支持
                 * @param formId      单据标识
                 * @param printerPkId 打印机基础资料内码(主键)
                 * @param pkId        内码(主键)
                 * @return 可直接发往打印机的指令集
                 */
                createPrintCommand(formId:string,printerPkId:any,pkId:any):string;
                /**
                 * 创建打印任务
                 *
                 * @param pageId         页面id
                 * @param formId         表单ID
                 * @param templateFormId 打印模板标识
                 *
                 * @param printerId      打印机内码
                 *
                 * @param pkids          单据内码数组
                 *
                 * @return 是否创建成功
                 */
                createPrintJob(pageId:string,formId:string,templateFormId:string,printerId:any,pkids:any[]):boolean;
                /**
                 * 生成PDF 根据单据的第一条数据示例
                 *
                 * @param pageId         页面id
                 * @param formId         单据标识
                 * @param templateFormId 模板标识
                 * @return pdf路径
                 */
                createSamplePdfUrl(pageId:string,formId:string,templateFormId:string):string;
                /**
                 * 创建一个包含打印指令的打印任务
                 * @param formId        单据标识
                 * @param billPkId      单据内码(主键)
                 * @param templatePkId  脚本模板内码(主键)
                 * @param printerPkId   打印机内码(主键)
                 * @param separator     分隔符
                 * @param isShowLastSep 是否显示末尾分隔符
                 * @param isSplitEntry  是否拆分单据体打印, 例如： 单据体10行数据，如果这个参数值为true, 打印10次
                 * @return 是否成功
                 * @throws Exception 没找到打印机
                 */
                createScriptPrintJob(formId:string,billPkId:any,templatePkId:string,printerPkId:string,separator:string,isShowLastSep:boolean,isSplitEntry:boolean):boolean;
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param pageId 页面Id
                 * @param formId 表单Id
                 * @param templateFormId 模板Id
                 * @param pkids 单据PkIds
                 * @return pdf路径
                 */
                createPdfUrl(pageId:string,formId:string,templateFormId:string,pkids:any[]):string;
                /**
                 * 复制打印模板
                 *
                 * @param tplId     源模版的PK
                 *
                 * @param bizUnitId 所属业务单元
                 *
                 * @param newNumber 新建编码
                 *
                 * @param newName   新建名称
                 *
                 * @return Map对象，失败会返回提示信息，成功返回模板Id
                 */
                copyPrintMetadata(tplId:string,bizAppId:string,bizUnitId:string,newNumber:string,newName:$.kd.bos.dataentity.entity.LocaleString):$.java.util.Map;
                /**
                 * 创建打印任务
                 *
                 * @param pageId         页面id
                 * @param formId         单据标识
                 *
                 * @param templateFormId 打印模板标识
                 *
                 * @param printerId      打印机内码
                 *
                 * @param pkid           单据内码
                 *
                 * @param dataProvider   数据提供器
                 *
                 * @return 是否创建成功
                 */
                createPrintJob(pageId:string,formId:string,templateFormId:string,printerId:any,pkid:any,dataProvider:com.kingdee.bos.ctrl.reportone.r1.print.data.IPrintDataProvider):boolean;
                /**
                 * 当前方法废弃，请使用doPrint
                 * @param jobs 打印构造的任务
                 * @return pdf路径
                 */
                createPdfUrl(jobs:$.java.util.List):string;
                /**
                 * 生成Excel 并返回下载路径
                 * 当前方法废弃，请使用doPrin
                 * @param jobs 打印构造的任务
                 * @return pdf路径
                 */
                createXlsUrl(jobs:$.java.util.List):string;
                /**
                 * 创建打印任务
                 * @param formId
                 * @param billPkId
                 * @param templatePkId
                 * @param separator
                 * @param isShowLastSep
                 * @param isSplitEntry
                 * @return
                 */
                createScriptPrintJob(formId:string,billPkId:any,templatePkId:any,separator:string,isShowLastSep:boolean,isSplitEntry:boolean):boolean;
            }
            interface PrintServiceHelper_C extends PrintServiceHelper_S {
                new():PrintServiceHelper;
            }
            interface PrintServiceHelper$ {
            }
            type PrintServiceHelper_T = PrintServiceHelper$;
            interface PrintServiceHelper extends PrintServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.attachment{
            interface AttachmentFieldServiceHelper_S {
                /**
                 * 将临时附件持久化存储到文件服务器
                 * <p>
                 * 调用文件服务上传接口
                 * <p>
                 * 记录附件操作信息到日志表
                 *
                 * @param attachmentFieldSaveDto
                 * @return 文件在服务器中的存储路径，格式：加密路径或相对路径
                 * @see FileService#upload(FileItem)
                 *
                 * @implNote 上传完成后会自动清除本地缓存文件
                 * @since 3.0
                 *
                 * @example 典型调用示例：
                 *
                 *    {@code
                 * String path = saveTempToFileService(
                 *     "http://xx/ierp/tempfile/download.do?configKey=tempfile.fileserver
                 *     &id=/tempfile/2025021917/xx/xx/tempfile-xx.tmpdata",
                 *     "2153783568746438656",
                 *     "测试.docx");
                 * // 返回示例：/attachments/20250219/FILE_67890.docx
                 * }
                 */
                saveTempToFileService(attachmentFieldSaveDto:AttachmentFieldSaveDto):string;
            }
            interface AttachmentFieldServiceHelper_C extends AttachmentFieldServiceHelper_S {
                new():AttachmentFieldServiceHelper;
            }
            interface AttachmentFieldServiceHelper$ {
            }
            type AttachmentFieldServiceHelper_T = AttachmentFieldServiceHelper$;
            interface AttachmentFieldServiceHelper extends AttachmentFieldServiceHelper_T {
            }
            interface AttachmentFieldSaveDto_S {
            }
            interface AttachmentFieldSaveDto_C extends AttachmentFieldSaveDto_S {
                /**
                 * @param appId  应用id
                 * @param formId  表单标识
                 * @param attKey  附件字段元数据标识
                 * @param tempUrl  临时附件访问地址
                 * @param billPk  单据主键
                 * @param attPk    附件主键
                 * @param fileName 带扩展名的完整文件名（如"合同.pdf"），字符集限制为UTF-8
                 */
                new(appId:string,formId:string,attKey:string,tempUrl:string,billPk:any,attPk:any,fileName:string):AttachmentFieldSaveDto;
            }
            interface AttachmentFieldSaveDto$ {
                /**
                 * 获取临时附件访问地址
                 * @return
                 */
                getTempUrl():string;
                /**
                 * 获取应用id
                 * @return
                 */
                getAppId():string;
                /**
                 * 获取附件字段元数据标识
                 * @return
                 */
                getAttKey():string;
                /**
                 * 获取单据主键
                 * @return
                 */
                getBillPk():any;
                /**
                 * 获取附件主键
                 * @return
                 */
                getAttPk():any;
                /**
                 * 获取带扩展名的完整文件名（如"合同.pdf"），字符集限制为UTF-8
                 * @return
                 */
                getFileName():string;
                /**
                 * 获取表单标识
                 * @return
                 */
                getFormId():string;
            }
            type AttachmentFieldSaveDto_T = AttachmentFieldSaveDto$;
            interface AttachmentFieldSaveDto extends AttachmentFieldSaveDto_T {
            }
        }
        namespace kd.bos.servicehelper.basedata{
            interface BaseDataServiceHelper_S {
                readonly ctrlstrategy_cu_share:string;
                readonly entityID_basedataview:string;
                readonly entityID_entityoporgview:string;
                readonly orgBiz_entityID:string;
                readonly ENTITYID_ORG_STRUCTURE:string;
                readonly baseDataExcSuffix:string;
                readonly entityID_entitymeta:string;
                readonly entityID_exchangeRate:string;
                readonly ctrlstrategy_cu_assign:string;
                readonly BD_ACCOUNTINGSYS_BASE:string;
                readonly DATA_STATUS:string;
                readonly ExRate_CONVERT_MODE_INDIRECT:string;
                readonly managestrategy_cu:string;
                readonly ExRate_CONVERT_MODE_DIRECT:string;
                readonly entityID_workCalendar:string;
                readonly ctrlstrategy_cu_free_assign:string;
                readonly bos_user_entityID:string;
                readonly ctrlstrategy_global_share:string;
                readonly ctrlstrategy_private:string;
                readonly baseDataUseRangeSuffix:string;
                readonly ctrltype_share:string;
                readonly bdctrlstrtgy_entityID:string;
                readonly ctrlstrategy_ou_free_assign:string;
                readonly baseDataUseRegSuffix:string;
                readonly DATA_STATUS_C:string;
                readonly BD_ACCOUNTINGSYS:string;
                readonly DATA_STATUS_A:string;
                readonly ctrlstrategy_ou_assign:string;
                readonly ctrltype_assign:string;
                readonly DATA_STATUS_B:string;
                readonly managestrategy_createOrg:string;
                readonly defaultctrlstrategy_entityID:string;
                readonly BD_ACCOUNTINGSYSVIEWSCH:string;
                readonly org_entityID:string;
                /**
                 * 描述：批量查询物料计量单位转换率
                 * @param params key说明：materialId 物料ID；srcmuid 源单位ID；desmuid 目标单位ID
                 * @return DynamicObject[] 计量单位转换率
                 */
                getMUConv(params:$.java.util.List):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 判断指定组织工作日历的某天，是否休息日
                 * 查不到组织,工作日历,非休息日 都返回false
                 * @param orgId 组织ID
                 * @param date 检查日期
                 * @return boolean 是否休息日
                 */
                isRestDay(orgId:long,date:Date):boolean;
                /**
                 * 根据核算体系id 和 记账范围 获取核算主体
                 *
                 * @param acctSysId
                 * @param bizacctorgs
                 * @return
                 */
                getAccountingSysAcctOrg(acctSysId:long,bizacctorgs:long[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据核算体系id获取视图
                 *
                 * @param acctSysId
                 * @return
                 */
                getAccountingSysView(acctSysId:long):$.java.util.Map;
                /**
                 * 获取目标单位数量
                 *
                 * @param materialId 物料id
                 * @param srcmuid    原目标单位ID
                 * @param srcmuCount 原目标单位数量
                 * @param desmuid    目标单位ID
                 * @return 目标单位数量
                 */
                getDesmuCount(materialId:long,srcmuid:long,srcmuCount:$.java.math.BigDecimal,desmuid:long):$.java.math.BigDecimal;
                /**
                 * 求最大公约数
                 *
                 * @param num1
                 * @param num2
                 * @return
                 */
                getMaxComDiv(num1:long,num2:long):long;
                /**
                 * 获取基础资料过滤
                 *
                 * @param entityID 实体标识
                 * @param orgID    组织机构ID
                 * @param property 过滤属性
                 * @return QFilter 过滤条件。类似于QFilter("id", "in", baseDataIdSet)
                 */
                getBaseDataProFilter(entityID:string,orgID:long,property:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据查询日期获取基础资料
                 *
                 * @param entityID     实体标识
                 * @param orgID        组织机构ID
                 * @param filter		过滤条件
                 * @param selectFields 查询字段列表
                 * @param queryDate 查询日期
                 * @return dataObj
                 */
                queryBaseDataByDate(entityID:string,orgID:long,filter:$.kd.bos.orm.query.QFilter,selectFields:string,queryDate:Date):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 批量分配
                 *
                 * @param entityID 实体标志
                 * @param dataIDs  待分配的基础资料ID
                 * @param orgIDs   待分配的目标组织ID
                 * @return 检查失败的待分配基础资料及组织信息map, key是基础资料ID，value是目标组织ID集合
                 * @deprecated 请使用带 分配组织ID 参数的batchAssign
                 */
                batchAssignWithDetail(entityID:string,dataIDs:$.java.util.List,orgIDs:$.java.util.List):$.java.util.Map;
                /**
                 * 管理权转让接口
                 * @param entityNumber 基础资料实体ID
                 * @param ids 基础资料ID
                 * @param orgId 转让目标组织ID
                 */
                managePermChange(entityNumber:string,ids:$.java.util.List,orgId:long):void;
                /**
                 * 描述：检查实体的属性是否配置全文索引。
                 *
                 * @param entityNumber   实体编码
                 * @param propertyNumber
                 * @return isDBFulltextProperty 检查属性在实体中已经配置全文索引则返回true,否则返回false;
                 */
                isDBFulltext(entityNumber:string,propertyNumber:string):boolean;
                /**
                 * 刷新基础资料使用范围
                 *
                 * @param entityID  实体标识
                 * @param orgIDList 组织ID列表
                 */
                refreshBaseDataUseRange(entityID:string,orgIDList:$.java.util.List):void;
                baseDataDeleteHandler(dataInfos:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 描述：基础数据批量审核时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 * @param datas 基础数据信息对象
                 */
                baseDataAuditHandler(datas:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 描述：批量个性化后续处理，如维护相关的使用登记表和个性化排除表记录。
                 *
                 * @param entityID 受控基础资料类型
                 * @param orgID    执行批量个性化操作的组织ID
                 * @param dataList 批量个性化的受控基础资料列表。列表元素是一个长度为2的DynamicObject数组。其中 DynamicObject[0] 是个性化前的数据，DynamicObject[1] 是个性化后的数据。
                 * @return 批量个性化后续处理失败的基础资料ID和失败原因映射。
                 */
                batchHandleModify(entityID:string,orgID:long,dataList:$.java.util.List):$.java.util.Map;
                /**
                 * 获取基础资料配置的masterid字段名
                 * 如果没有配置，返回默认的fmasterId
                 *
                 * @param entityName 基础资料实体ID
                 * @return String 基础资料masterid对应属性名
                 */
                getMasterIdFieldName(entityName:string):string;
                /**
                 * 基础资料个性化接口
                 * @param entityId 基础资料标识
                 * @param useOrgId 使用组织
                 * @param appId    应用ID
                 * @param dataIds  基础资料ID
                 * @return BaseDataResponse 返回实体 success：是否成功 errorMsg：错误信息
                 */
                individualize(entityId:string,useOrgId:long,appId:string,dataIds:$.java.util.Set):$.kd.bos.entity.basedata.BaseDataResponse;
                /**
                 * 分配接口
                 * 兼容逐级分配/自由分配、新/旧模型
                 * @param entityId 基础资料标识
                 * @param assignOrgId 分配组织ID
                 * @param appId 基础资料所在应用ID
                 * @param dataIds 被分配数据ID
                 * @param orgIds 被分配组织ID
                 */
                assign(entityId:string,assignOrgId:long,appId:string,dataIds:$.java.util.Set,orgIds:$.java.util.Set):$.kd.bos.entity.basedata.BaseDataResponse;
                /**
                 * 给受控资料主表添加特定的字段
                 * <li> 场景一：模板新增属性，对于历史已经发布的资料，DDL语句无该字段，可以用该接口补全
                 * <li> 场景二：历史资料新预置数据时，如果无DDL语句更新，则需要业务线先在beforeExecuteSqlWithResult调用，防止预置数据失败
                 * <li> 场景三：模板新增了属性，对应所有继承模板的历史资料类型，如果需要矫正数据，需要在矫正数据接口中先调用该接口处理新字段不存在的问题
                 * @param dbKey 数据库路由标识
                 * @param tableName 基础资料主表名称
                 * @return 成功true/false
                 */
                addCtrlTableColumns(dbKey:string,tableName:string):boolean;
                /**
                 * 获取与源单位相关联的浮动类型的辅助单位列表
                 *
                 * @param materialId  物料ID
                 * @param srcmuId     来源单位ID
                 * @param convertType 换算类型 浮动 "2"； 固定 "1"; 不限 "";
                 * @return assistMUListResult  辅助单位ID列表
                 */
                getAssistMUListResult(materialId:long,srcmuId:long,convertType:string):$.java.util.List;
                /**
                 * 批量获取基础资料过滤
                 *
                 * @param entityID 实体标识
                 * @param orgID    组织机构ID
                 * @param isRemoveDup 是否去除重复数据，只返回masterid=fid的数据,默认传true
                 * @return QFilter 过滤条件。
                 * 类似于QFilter fstategy ='5' and fstatus ='C' or (id in (select fdataid from t_bd_xxx_u))
                 */
                getBaseDataFilter(entityID:string,orgID:$.java.util.List,isRemoveDup:boolean):$.kd.bos.orm.query.QFilter;
                /**
                 * 描述：检查基础数据是否受控
                 * @param entityID 基础数据实体ID
                 * @return 基础数据是否受控
                 */
                checkBaseDataCtrl(entityID:string):boolean;
                /**
                 * 描述：清除缓存
                 *
                 * @param dataInfo 基础数据信息对象
                 */
                clearCache(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 模板新加入属性，历史数据矫正接口，接口中除了矫正平台默认添加的属性字段，同时还提供扩展点给业务处理
                 * @param entity 实体标识
                 * @return 成功true/false
                 */
                repairNewPropsValue(entity:string):boolean;
                /**
                 * 获取与源单位相关联的浮动类型的辅助单位列表，新增开关参数
                 *
                 * @param materialId      物料ID
                 * @param srcmuId         来源单位ID
                 * @param convertType     换算类型 浮动 "2"； 固定 "1"; 不限 "";
                 * @param isAllAssistUnit 默认为false ，为否时只取物料上计量单位页签上的设置的计量单位
                 * @return assistMUListResult  辅助单位ID列表
                 */
                getAssistMUListResult(materialId:long,srcmuId:long,convertType:string,isAllAssistUnit:boolean):$.java.util.List;
                /**
                 * @Description 基础资料管理权转让接口
                 * @param entityId 基础资料标识
                 * @param useOrgId 使用组织
                 * @param appId    应用ID
                 * @param dataIds  基础资料ID
                 * @param targetOrgId 目标组织ID
                 * @return BaseDataResponse 返回实体 success：是否成功 errorMsg：错误信息
                 */
                changeManageRight(entityId:string,useOrgId:long,appId:string,dataIds:$.java.util.Set,targetOrgId:long):$.kd.bos.entity.basedata.BaseDataResponse;
                /**
                 * 获取使用组织的组织职能
                 *
                 * @param entity
                 * @return
                 */
                getUseOrgFunc(entity:string):string;
                /**
                 * 获取快速查询过滤条件
                 * @param entityId 资料实体
                 * @param orgId 组织id
                 * @param customFilter 过滤条件
                 * @return 快速查询过滤条件
                 */
                getLookUpListFilter(entityId:string,orgId:long,customFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据汇率表，源币，目标币和日期得到汇率
                 * 1.当希望得到最新汇率时，则设date为null;
                 * 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
                 *
                 * @param exchangeTableID  汇率表ID
                 * @param sourceCurrencyID 源货币ID
                 * @param targetCurrencyID 目标货币ID
                 * @param convertMode      换算方式 1:直接汇率;2:间接汇率
                 * @param date             日期 格式yyyy-MM-dd
                 * @return exchangeRate 汇率
                 */
                getExchangeRate(exchangeTableID:long,sourceCurrencyID:long,targetCurrencyID:long,convertMode:string,date:Date):$.java.math.BigDecimal;
                /**
                 * 获取单位换算率
                 *
                 * @param srcmuid 原目标单位ID
                 * @param desmuid 目标单位ID
                 * @return 换算率动态对象
                 */
                getMUConv(materialId:long,srcmuid:long,desmuid:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：控制策略变更时，更新对应的使用关系表
                 *
                 * @param dataInfo 基础数据信息对象
                 */
                baseDataCtrlChangeHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 	根据换算方式获取汇率
                 * @param originalCurrency	原币
                 * @param targetCurrency	目标币
                 * @param exchangeRateType	汇率类型
                 * @param conversionDate	折算日期
                 * @param quoteType	换算方式
                 * @return	汇率值
                 */
                getExchangeRateByQuoteType(originalCurrency:long,targetCurrency:long,exchangeRateType:long,conversionDate:Date,quoteType:boolean):$.java.math.BigDecimal;
                /**
                 * 描述：检查目标组织是否存在相同编码的基础数据
                 *
                 * @param entityType 实体类型ID
                 * @param orgID      使用组织ID
                 * @param numberList 基础数据编码列表
                 * @return Boolean true：有重复；false：没有重复
                 */
                chectDuplicate(entityType:string,orgID:long,numberList:$.java.util.List):boolean;
                /**
                 * 描述：获取指定组织,开始日期，结束日期的工作日历，日历明细通过dateTypeSet筛选。
                 *
                 * @param orgId     组织机构
                 * @param startDate 开始日期
                 * @param endDate   结束日期
                 * @param dateTypeSet   需要筛选的日期类型列表
                 * @return DynamicObject 工作日历
                 */
                getWorkCalendar(orgId:long,startDate:Date,endDate:Date,dateTypeSet:$.java.util.Set):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取物料转换单位
                 *
                 * @param materialId 物料ID
                 * @param muId       计量单位ID
                 * @return DynamicObject 物料多计量单位
                 */
                getMaterialMU(materialId:long,muId:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：获取基础数据控制插件
                 *
                 * @param entityType 实体标识
                 * @return IBaseDataCtrlPlugin 基础数据控制插件
                 */
                getBaseDataCtrlPlugin(entityType:string):IBaseDataCtrlPlugin;
                /**
                 * 1、根据管控视图在基础数据管控策略找到使用该视图的所有基础数据；
                 * 2、从某个基础数据的使用关系表中查找使用组织=新增组织所属管控单元并且控制策略=按管控单元逐级分配或按管控单元自由分配的记录；
                 * 3、如果找到则在使用关系表中增加新增组织的记录，如果没有则不处理；
                 * 4、存在多个基础数据时，按第2，3点逐一处理。
                 *
                 * @param orgId 组织单元信息对象
                 */
                orgAddnewHandler(orgId:long):void;
                /**
                 * 获取单据可选的创建组织集合
                 */
                getCreateOrgList(entity:string):$.java.util.List;
                /**
                 * 获取辅助单元
                 *
                 * @param materialId 物料ID
                 * @param srcMUid    源单位ID
                 * @return 辅助单元ID列表
                 */
                getDescMU(materialId:long,srcMUid:long):$.java.util.List;
                /**
                 * 描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 *
                 * @param dataInfo    基础数据信息对象
                 * @param orgID       分配组织
                 * @param createorgId 创建组织ID
                 */
                baseDataAssignHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:long,createorgId:long):void;
                /**
                 * 描述：批量清除缓存
                 * @param datas 基础数据信息对象数组
                 */
                clearCache(datas:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 描述：控制策略变更时，批量更新对应的使用关系表
                 *
                 * @param dataInfoList 基础数据信息对象
                 */
                baseDataCtrlChangeHandler(dataInfoList:$.java.util.List):void;
                /**
                 * 根据实体获取基础数据管控策略的创建组织
                 */
                getBdCtrlOrgs(entity:string):$.java.util.List;
                /**
                 * 描述：判断基础数据是否被分配过。
                 *
                 * @param entityNumber 实体标识
                 * @param dataID       基础数据ID
                 * @return boolean 如果基础数据被分配过，则返回true,否则返回false.
                 */
                isHasAssignData(entityNumber:string,dataID:any):boolean;
                /**
                 * 获取已个性化分配未插入个性化排除表的异常数据
                 * @param entityID 受控基础资料类型
                 * @return Object[3]:useorgid,dataid,createorgid(使用组织ID，数据ID,创建组织ID)
                 */
                getUnInsertExcHistory(entityID:string):$.java.util.List;
                /**
                 * 取消分配接口
                 * @param entityId 基础资料实体ID
                 * @param  dataIds 数据ID
                 * @param  orgIds 取消组织ID集合
                 * @return CancelAssignResult 取消分配结果
                 */
                cancelAssign(entityId:string,dataIds:$.java.util.Set,orgIds:$.java.util.Set):$.java.util.List;
                /**
                 * 自由分配型基础资料个性化接口
                 * @param entity 实体标识
                 * @param useOrgId 使用组织
                 * @param appId    应用ID， 验权使用
                 * @param dataIds  基础资料ID
                 * @param service 业务自定义控制服务
                 * @return 失败的数据信息，K：数据ID，V：失败原因
                 */
                executeIndividualizeOnFreeStrategy(entity:string,useOrgId:long,appId:string,dataIds:$.java.util.Set,service:IBaseDataCtrlPlugin):$.java.util.Map;
                /**
                 * 判断entityID是否开启了变更配置
                 * @param entityID
                 * @return: java.lang.Boolean
                 */
                isEnableNameVersion(entityID:string):boolean;
                /**
                 * 查询获取视图信息
                 *
                 * @param entityID
                 * @return
                 */
                getCtrlview(entityID:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 *
                 * @param dataInfo    基础数据信息对象
                 * @param createOrgID 创建组织ID
                 */
                baseDataAddnewHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,createOrgID:long):void;
                /**
                 * 获取基础资料ID过滤
                 * 在列表查询性能优化后，对于部分暂时不能使用inner join过滤条件的应用场景，调用原来的实现逻辑。
                 *
                 * @param entityID 实体标识
                 * @param orgID    组织机构ID
                 * @return QFilter 过滤条件。类似于QFilter("id", "in", baseDataIdsSet)
                 */
                getBaseDataIdInFilter(entityID:string,orgID:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 描述：根据业务组织取本位币和汇率表
                 * 1、先根据单据返回的主业务组织获取实体核算组织（已提供接口）；
                 * 2、再从核算组织本位币设置中获取本位币或汇率表；
                 * 3、获取逻辑：优先获取核算组织本身的本位币或汇率表，若没有则往上找上级，直到找到为止；
                 *
                 * @param accountOrgID 实体核算组织ID
                 */
                getBaseAccountingInfo(accountOrgID:long):$.java.util.Map;
                /**
                 * 变更控制策略
                 * @param entityId 基础资料标识ID
                 * @param dataIds 数据ID
                 * @param ctrlStrategy 目标控制策略
                 * @param useOrgId 使用组织ID
                 * @return BaseDataResponse
                 *  boolean success 成功/失败
                 *  String errorMsg 失败原因
                 */
                changeCtrlStrategy(entityId:string,dataIds:$.java.util.Set,ctrlStrategy:string,appId:string,useOrgId:long):$.kd.bos.entity.basedata.BaseDataResponse;
                /**
                 * 从缓存获取基础资料
                 * @param entityID
                 * @param orgID
                 * @param filter
                 * @param selectFields
                 * @return
                 */
                queryBaseDataFromCache(entityID:string,orgID:long,filter:$.kd.bos.orm.query.QFilter,selectFields:string):$.java.util.Map;
                /**
                 * 描述：处理受控基础数据修改。
                 *
                 * @param dataInfo 基础数据
                 */
                handleModify(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                /**
                 * 根据汇率表，源币，目标币和日期得到直接汇率
                 * 1.当希望得到最新汇率时，则设date为null;
                 * 2.当该日期的汇率不存在时，就往前找离该日期最近的生效日期的汇率
                 *
                 * @param exchangeTableID  汇率表ID
                 * @param sourceCurrencyID 源货币ID
                 * @param targetCurrencyID 目标货币ID
                 * @param date             日期 格式yyyy-MM-dd
                 * @return exchangeRate 汇率
                 */
                getExchangeRate(exchangeTableID:long,sourceCurrencyID:long,targetCurrencyID:long,date:Date):$.java.math.BigDecimal;
                /**
                 * 求最大公约数
                 *
                 * @param num1
                 * @param num2
                 * @return
                 */
                getMaxComDiv(num1:number,num2:number):number;
                /**
                 * 获取目标单位数量
                 *
                 * @param srcmuid    原目标单位ID
                 * @param srcmuCount 原目标单位数量
                 * @param desmuid    目标单位ID
                 * @return 目标单位数量
                 */
                getDesmuCount(materialId:long,srcmuid:long,srcmuCount:number,desmuid:long):number;
                /**
                 * 给数据重新生成位图、原位图字段的值
                 * <li> 使用场景：通过拷贝数据之后不走保存操作，而且直接执行save方法，此时所保存的是数据是无法正常生成管控范围数据信息，需要先执行该方法后save，再重建使用范围数据
                 * @param entity 实体
                 * @param dataList 数据集合
                 */
                fillCtrlStrategyFieldAfterCopy(entity:string,dataList:$.java.util.List):void;
                /**
                 * 根据汇率表id，判断此汇率表是否可以修改汇率
                 * @param exRateTableId 汇率表id
                 * @return
                 */
                canModifyExchangeRate(exRateTableId:long):boolean;
                /**
                 * 描述：判断指定实体是不是不会有个性化的基础资料实体。
                 *
                 * @param entityNumber 实体编码
                 * @return true entityNumber 是不会有个性化的基础资料实体
                 */
                isNoneCustomEntity(entityNumber:string):boolean;
                /**
                 * @category 判断当前日期是否指定日期类型
                 * @param orgId 组织ID
                 * @param date 检查日期
                 * @param dateType 日期类型 1 工作日；2 半休日；3 节假日；4 休息日
                 * @return boolean 是否
                 */
                checkWorkCalendarDateType(orgId:long,date:Date,dateType:string):boolean;
                /**
                 * 描述：获取分配目标组织。
                 * 1、按当前基础数据的创建组织查找基础数据对应的基础数据管控策略，获取相关参数；
                 * 2、当控制策略=按管控单元逐级分配时，从基础数据的管控视图中获取当前组织的直接下级控制单元；
                 * 当控制策略=按组织逐级分配时，从基础数据的管控视图中获取当前组织的直接下级组织；
                 * 当控制策略=按管控单元自由分配时，从基础数据的管控视图中获取当前组织以外的所有控制单元；
                 * 当控制策略=按组织自由分配时，从基础数据的管控视图中获取当前组织以外的所有组织；
                 * 3、根据组织在当前基础数据的使用关系表中获取已分配组织；
                 * 4、将第2步的数据排除第3步的数据得到待分配组织；
                 *
                 * @param srcOrgID  分配源组织
                 * @param ctrlType  控制类型
                 * @param orgViewID 组织视图ID
                 * @return List<Long> 分配目标组织
                 */
                getAssignDesOrgs(srcOrgID:long,ctrlType:string,orgViewID:long):$.java.util.List;
                /**
                 * 获取可分配的使用组织集合
                 *
                 * @param dataInfo
                 * @param orgID
                 * @param createorgId
                 */
                getAssignUseOrgSet(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:long,createorgId:long):$.java.util.List;
                /**
                 * 描述：处理管理费用组织。
                 *
                 * @param dataInfo 基础数据
                 */
                handleManageOrg(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 判断指定组织工作日历的某天，是否工作日
                 * 查不到组织,工作日历,非工作日 都返回false
                 * @param orgId 组织ID
                 * @param date 检查日期
                 * @return boolean 是否工作日
                 */
                isWorkDay(orgId:long,date:Date):boolean;
                /**
                 * 描述：根据实体编码获取配置的全文索引，未配置则返回null。
                 *
                 * @param entityNumber 实体编码
                 * @return fullTextIndex 对应实体配置的全文索引，未配置则返回null;
                 */
                getFullTextIndex(entityNumber:string):string;
                /**
                 * 描述：保存基础数据修改化排除表
                 *
                 * @param dataInfo    基础数据ID
                 * @param createOrgID 创建组织ID
                 * @param orgList     组织ID集合
                 */
                saveBaseDataExc(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,dataPk:long,createOrgID:long,orgList:$.java.util.List):void;
                /**
                 * 批量分配自助游
                 * @param assignOrgId 分配组织ID
                 * @param appId 基础资料所在应用ID
                 * @param dataIds 被分配数据ID
                 * @param orgIds 被分配组织ID
                 * @param entity 实体
                 * @return BaseDataResponse 全部校验不通过Success为false，全部成功或者部分成功时为true
                 */
                batchAssignOnFreeStrategy(assignOrgId:long,appId:string,dataIds:$.java.util.Set,orgIds:$.java.util.Set,entity:string):$.kd.bos.entity.basedata.BaseDataResponse;
                /**
                 * 判断指定组织工作日历的某天，是否半工作日
                 * 查不到组织,工作日历,非休息日 都返回false
                 * @param orgId 组织ID
                 * @param date 检查日期
                 * @return boolean 是否半工作日
                 */
                isHalfWorkDay(orgId:long,date:Date):boolean;
                /**
                 * 描述：基础数据审核时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 *
                 * @param dataInfo    基础数据信息对象
                 * @param createOrgID 创建组织ID
                 */
                baseDataAuditHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,createOrgID:long):void;
                /**
                 * 描述：检查基础数据是否存在重复
                 *
                 * @param entityType      实体类型ID
                 * @param chectProperties 检查属性,如 key = "number", value = "A001";key = "name", value = "AAA"
                 * @param orgID           使用组织ID
                 * @param dataID          基础数据ID
                 * @return Boolean true：有重复；false：没有重复
                 */
                chectDuplicate(entityType:string,chectProperties:$.java.util.Map,orgID:long,dataID:long):boolean;
                /**
                 * 获取受控辅助资料过滤条件
                 *
                 * @param dataTypeId 受控辅助资料类型id
                 * @return
                 */
                getBdCtrlAssistDataFilter(dataTypeId:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 判断指定组织工作日历的某天，是否节假日
                 * 查不到组织,工作日历,非休息日 都返回false
                 * @param orgId 组织ID
                 * @param date 检查日期
                 * @return boolean 是否节假日
                 */
                isWeekendDay(orgId:long,date:Date):boolean;
                /**
                 * 描述：获取实体操作的验权组织属性名
                 *
                 * @param entityType   实体标识
                 * @param operationKey 操作标识
                 * @return
                 */
                getVerifyOrgPropertyName(entityType:string,operationKey:string):string;
                /**
                 * 分配查询，查询对应的数据都分配给了哪些组织
                 * @param dataIds 数据id集合，orgId能使用的数据
                 * @param entity 受控资料实体
                 * @param orgId 当前执行分配查询的组织，是数据dataIds的使用组织
                 * @param appId 资料所属应用ID，用于验权
                 * @return 数据分配情况
                 */
                assignQueryByData(dataIds:$.java.util.List,entity:string,orgId:long,appId:string):kd.bos.entity.basedata.AssignQueryResponse;
                /**
                 * 批量获取基础资料配置的控制策略
                 * @param entity 基础资料实体ID
                 * @param createOrgs 创建组织ID集合
                 * @return Map<String,String> 组织ID-控制策略
                 */
                getBdCtrlStrgyBatch(entity:string,createOrgs:$.java.util.List):$.java.util.Map;
                /**
                 * 组织保存后，管控策略使用关系的处理
                 * 绑定的每个受控基础资料调清除缓存，将上级的管控范围共享的数据加到使用关系表,只处理CU组织
                 * @param orgIds 组织ID
                 */
                orgSaveHandler(orgIds:$.java.util.List):void;
                /**
                 * 描述：处理禁用基础资料时相关处理。
                 *
                 * @param entityID 实体标识
                 * @param objs     待禁用的基础数据
                 */
                handleDisable(entityID:string,objs:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 描述：批量个性化前校验。
                 *
                 * @param entityID 受控基础资料类型
                 * @param orgID    执行批量个性化操作的组织ID
                 * @param dataList 需要批量个性化的受控基础资料列表
                 * @return 校验失败的基础资料ID和失败原因映射。
                 */
                batchModifyVerify(entityID:string,orgID:long,dataList:$.java.util.List):$.java.util.Map;
                /**
                 * 是否分配的数据
                 */
                isAssignData(number_arg:string,primaryKeyValue:any,useOrgId:long):boolean;
                /**
                 * 描述：基础数据批量提交时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 * 批量处理校验规则：同一批数据的创建组织一致，控制策略一致。
                 * @param datas 基础数据信息对象
                 */
                baseDataSubmitHandler(datas:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 描述：基础数据提交时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 *
                 * @param dataInfo    基础数据信息对象
                 * @param createOrgID 创建组织ID
                 */
                baseDataSubmitHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,createOrgID:long):void;
                /**
                 * 描述：管理权转让时，确定使用组织并更新对应的使用关系表
                 *
                 * @param dataInfo 基础数据信息对象
                 */
                baseDataOrgChangeHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 是否启用换算方式
                 * @return	true、false
                 */
                isEnableIndirectRateConversion():boolean;
                /**
                 * 设置为管控单元后，清除分配的数据
                 * @param orgViewId 视图ID
                 * @param orgs 组织ID
                 */
                afterSetCtrlUintHandle(orgViewId:string,orgs:$.java.util.List):void;
                /**
                 * 获取所有能显示的使用组织
                 *
                 * @param entityType
                 * @return
                 */
                getAllUseOrg(entityType:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取单据可选的创建组织集合
                 */
                getCreateOrgList(entity:string,appid:string):$.java.util.List;
                /**
                 * 获取物料转换单位换算类型服务
                 *
                 * @param materialId 物料ID
                 * @param muId       计量单位ID
                 * @return String  换算类型  "1":固定  ;  "2":浮动
                 */
                getMaterialMUConvertType(materialId:long,muId:long):string;
                /**
                 * 获取基础资料
                 *
                 * @param entityID
                 * @param orgID
                 * @param filter
                 * @param selectFields
                 * @return
                 * @method queryBaseData
                 * @description
                 */
                queryBaseData(entityID:string,orgID:long,filter:$.kd.bos.orm.query.QFilter,selectFields:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取控制策略
                 *
                 * @return
                 */
                getBdCtrlStrgy(entity:string,createOrg:string):string;
                /**
                 * 批量分配
                 *
                 * @param entityID    实体标志
                 * @param assignOrgID 分配组织ID
                 * @param dataIDs     待分配的基础资料ID
                 * @param orgIDs      待分配的目标组织ID
                 * @return 检查失败的待分配基础资料及组织信息map, key是基础资料ID，value是目标组织ID集合
                 */
                batchAssignWithDetail(entityID:string,assignOrgID:long,dataIDs:$.java.util.List,orgIDs:$.java.util.List):$.java.util.Map;
                /**
                 * 受控基础资料预置数据自动生成相关使用范围数据
                 * <li> 1、新模型生成位图值，补充位图数据
                 * <li> 2、旧模型补充使用范围表的数据
                 * @param dbKey 数据库路由标识
                 * @param entity 受控资料实体
                 * @param tableName  基础资料主表名称
                 * @param dataOrgMap 需要预置的数据和组织的信息， K：数据Id，V：创建组织Id
                 * @param isTreeType 是否树形基础资料，树形：true， 非树形：false
                 * @return UpgradeResult
                 */
                presetCtrlOrgUseRangData(dbKey:string,entity:string,tableName:string,dataOrgMap:$.java.util.Map,isTreeType:boolean):$.kd.bos.service.upgrade.UpgradeResult;
                /**
                 * 获取受控辅助资料过滤条件
                 *
                 * @param orgID 组织机构ID
                 * @return QFilter 过滤条件。类似于QFilter("id", "in", baseDataIdsSet)
                 */
                getBdCtrlAssistantDataFilter(orgID:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 描述：处理启用基础资料时相关处理。
                 *
                 * @param entityID 实体标识
                 * @param objs     待启用的基础数据
                 */
                handleEnable(entityID:string,objs:$.kd.bos.dataentity.entity.DynamicObject[]):boolean;
                /**
                 * 获取基础资料ID过滤
                 *
                 * @param entityID 实体标识
                 * @param orgID    组织机构ID
                 * @return QFilter 过滤条件。类似于inner join T_BD_BaseData_U ur on ur.fdataid = bd_basedata.fid and ur.fuseorgid=100000
                 */
                getBaseDataFilter(entityID:string,orgID:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取控制策略的管控视图
                 *
                 * @param entity
                 * @return
                 */
                getCtrlStgyViewSchema(entity:string):string;
                /**
                 * 描述：基础数据保存时根据基础数据管控策略，确定使用组织并更新对应的使用关系表
                 *
                 * @param objs 基础数据信息对象数据
                 */
                baseDataAddnewHandler(objs:$.kd.bos.dataentity.entity.DynamicObject[]):void;
                /**
                 * 获取基础资料配置的masterid属性名
                 * 如果没有配置，返回默认的masterid
                 *
                 * @param entityName 基础资料实体ID
                 * @return String 基础资料masterid对应属性名
                 */
                getMasterIdPropName(entityName:string):string;
                /**
                 * 描述：获取默认控制策略
                 *
                 * @param entityID 基础数据实体ID
                 * @return DynamicObject 默认控制策略
                 */
                getDefaultCtrlStrtgy(entityID:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 	根据外币换算规则查询汇率值及换算方式
                 * @param originalCurrency	原币
                 * @param targetCurrency	目标币
                 * @param exchangeRateType	汇率类型
                 * @param conversionDate	折算日期
                 * @return	{"quoteType": true, "exchangeRate": 1.343}
                 */
                getExchangeRateMap(originalCurrency:long,targetCurrency:long,exchangeRateType:long,conversionDate:Date):$.java.util.Map;
                /**
                 * 1、根据管控视图在基础数据管控策略找到使用该视图的所有基础数据；
                 * 2、从某个基础数据的使用关系表中查找使用组织=新增组织所属管控单元并且控制策略=按管控单元逐级分配或按管控单元自由分配的记录；
                 * 3、如果找到则在使用关系表中增加新增组织的记录，如果没有则不处理；
                 * 4、存在多个基础数据时，按第2，3点逐一处理。
                 *
                 * @param orgViewId 组织视图ID
                 * @param orgs      组织ID
                 */
                orgAddnewHandler(orgViewId:long,orgs:$.java.util.List):void;
                /**
                 * 根据核算主体获取基本会计政策
                 *
                 * @param orgIds
                 * @return
                 */
                getAccountingSysBaseInfo(orgIds:long[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                baseDataDeleteHandler(dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:long):void;
                /**
                 * 	查询币种对换算配置。
                 * 	没有开启，默认false；开启：按优先级获取原币->目标币是否使用间接汇率，是->返回true，否->返回false。
                 * @param originalCurrency	原币
                 * @param targetCurrency	目标币
                 * @param conversionDate	折算日期
                 * @return	true/false 使用间接/直接汇率
                 */
                getRateConversionConfig(originalCurrency:long,targetCurrency:long,conversionDate:Date):boolean;
                /**
                 * 描述：查找基础数据管控策略
                 */
                getCtrlStrtgy(dataObj:$.kd.bos.dataentity.entity.DynamicObject):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 根据核算体系id 和 核算主体 获取记账范围
                 *
                 * @param acctSysId
                 * @param acctorgs
                 * @return
                 */
                getAccountingSysBizOrg(acctSysId:long,acctorgs:long[]):$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            interface BaseDataServiceHelper_C extends BaseDataServiceHelper_S {
                new():BaseDataServiceHelper;
            }
            interface BaseDataServiceHelper$ {
                /**
                 * @param orgId
                 * @return
                 */
                getWorkCalendarVersion(orgId:long):string;
                /**
                 * 获取基础资料创建组织过滤
                 *
                 * @param entityID 实体标识
                 * @param orgID    组织机构ID
                 * @return QFilter 过滤条件。类似于QFilter("createorg", "in", baseDataCreaterOrgSet)
                 */
                getBaseDataCreaterOrgFilter(entityID:string,orgID:long):$.kd.bos.orm.query.QFilter;
                /**
                 * @param orgId
                 * @param arg0
                 * @param arg1
                 * @return
                 */
                getCalHolidays(orgId:long,arg0:Date,arg1:Date):number;
                /**
                 * 描述：获取指定组织,开始日期，结束日期的工作日历。
                 *
                 * @param orgId     组织机构
                 * @param startDate 开始日期
                 * @param endDate   结束日期
                 * @return DynamicObject 工作日历
                 */
                getWorkCalendar(orgId:long,startDate:Date,endDate:Date):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 用于树形列表删除分组节点
                 *
                 * @param ids  批量节点id
                 * @param prop 分组属性
                 * @return 批量操作结果
                 */
                deleteFormGroup(ids:any[],prop:$.kd.bos.entity.property.GroupProp):$.kd.bos.entity.operate.IOperationResult;
                /**
                 * 描述：批量获取指定组织的工作日历。
                 * @param orgIds 组织机构
                 * @return Map<Long,DynamicObject> 组织ID和工作日历的映射map
                 */
                getWorkCalendarBatch(orgIds:$.java.util.List):$.java.util.Map;
                /**
                 * @param orgId
                 * @param arg0
                 * @param arg1
                 * @return
                 */
                getCalRestDays(orgId:long,arg0:Date,arg1:Date):number;
                /**
                 * @param orgId
                 * @param arg0
                 * @param arg1
                 * @return
                 */
                getCalWorkDays(orgId:long,arg0:Date,arg1:Date):number;
                /**
                 * @param orgId
                 * @param arg0
                 * @return
                 */
                isHalfHolidays(orgId:long,arg0:Date):boolean;
                /**
                 * 用于树形列表更新节点
                 *
                 * @param currentId   当前节点id
                 * @param newParentId 新的父节点id
                 * @param prop        分组属性
                 * @return 操作结果
                 */
                treeNodeUpdate(currentId:any,newParentId:any,prop:$.kd.bos.entity.property.GroupProp):boolean;
                /**
                 * 描述：获取指定组织的工作日历。
                 *
                 * @param orgId 组织机构
                 * @return DynamicObject 工作日历
                 */
                getWorkCalendar(orgId:long):$.kd.bos.dataentity.entity.DynamicObject;
            }
            type BaseDataServiceHelper_T = BaseDataServiceHelper$;
            interface BaseDataServiceHelper extends BaseDataServiceHelper_T {
            }
            interface IBaseDataCtrlPlugin_S {
            }
            type IBaseDataCtrlPlugin_ST = $.java.io.Serializable & IBaseDataCtrlPlugin_S;
            interface IBaseDataCtrlPlugin_C extends IBaseDataCtrlPlugin_ST {
            }
            interface IBaseDataCtrlPlugin$ {
                /**
                 * 描述：个性化保存之后，需要处理处理的业务逻辑，由业务实现
                 * @param entityId 受控基础资料实体标识
                 * @param data2CreateOrgMap 被个性化的数据id和其创建组织，K：原始数据id，V：数据对应的创建组织
                 * @param useOrgId 使用组织，也就是对数据执行个性化操作的组织
                 * @param individualizeMap 个性化数据（K：原始数据id，V：根据原始数据Id查询出来的DynamiceObject 进行COPY之后的对象）
                 */
                afterSaveIndividualizeData?(entityId:string,data2CreateOrgMap:$.java.util.Map,useOrgId:long,individualizeMap:$.java.util.Map):void;
                /**
                 * 描述：分配检查，带详细信息。
                 * @param dataIDs 待分配的基础资料ID
                 * @param orgIDs 待分配的目标组织ID
                 * @return 检查失败的待分配基础资料及组织信息map,key是基础资料ID，value是目标组织ID对应分配失败的详细信息映射表。
                 */
                assignCheckWithDetail?(dataIDs:$.java.util.List,orgIDs:$.java.util.List):$.java.util.Map;
                /**
                 * @description 获取外部组织过滤条件
                 *
                 * @return QFilter 外部过滤条件
                 */
                getExtendOrgQFilter():$.kd.bos.orm.query.QFilter;
                /**
                 * 描述：取消分配成功后回调接口
                 * @param entityId 基础资料实体ID
                 * @param cancelDataMap key:dataIds  value: orgIds
                 * Long dataIds 被取消分配的基础资料数据ID
                 * Set<Long> orgIds 被取消分配的组织ID
                 */
                afterUnAssign?(entityId:string,cancelDataMap:$.java.util.Map):void;
                /**
                 * 描述：增加下级基础资料前校验处理
                 *  @param entityType 实体类型
                 *  @param dataIds 基础资料ID列表
                 *  @return 校验失败的基础资料信息map,key是基础资料ID，value是失败的详细信息。
                 */
                checkBeforeAddSubData?(entityType:string,dataIds:$.java.util.List):$.java.util.Map;
                /**
                 * 描述：业务实现基础资料管理权转让校验
                 *  @param ids 待转让的基础资料ID
                 *  @param org 待转让的目标组织
                 *  @return 转让失败的基础资料信息map,key是基础资料ID，value是失败的详细信息。
                 */
                orgPermChangeCheck?(ids:$.java.util.List,org:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 描述：变更控制策略成功后回调接口
                 * @param entityId 基础资料实体ID
                 * @param dataIds 基础资料数据ID
                 * @param ctrlStrategy 变更后的控制策略
                 */
                afterChangeCtrlStrategy?(entityId:string,dataIds:$.java.util.List,ctrlStrategy:string):void;
                /**
                 * @description 检查目标组织是否存在相同编码的基础数据
                 * @param entityType 实体类型ID
                 * @param orgID 使用组织ID
                 * @param idList 基础数据ID列表
                 * @return Boolean true：有重复；false：没有重复
                 */
                chectDuplicate(entityType:string,orgID:long,idList:$.java.util.List):boolean;
                /**
                 * 描述：反分配检查
                 * @param unAssignDatas 待检查的取消分配数据列表，
                 * 列表里的每个元素是一个整形的二维数据，Long[0]是基础资料ID，Long[1]是使用组织ID。
                 * @return 检查失败的待取消分配基础资料及组织信息列表,
                 * Object[0]是基础资料ID，Object[1]是使用组织ID,Object[2]是报错信息
                 */
                unAssignCheckWitchDetail?(unAssignDatas:$.java.util.List):$.java.util.List;
                /**
                 * 描述：业务实现基础资料管理权转让后处理
                 *  @param ids 转让成功的基础资料ID
                 *  @return 处理失败的基础资料信息map,key是基础资料ID，value是失败的详细信息。
                 */
                afterPermChangeCheck?(ids:$.java.util.List):$.java.util.Map;
                /**
                 * 描述：个性化保存之前，需要处理处理的业务逻辑，由业务实现
                 * @param entityId 受控基础资料实体标识
                 * @param data2CreateOrgMap 被个性化的数据id和其创建组织，K：原始数据id，V：数据对应的创建组织
                 * @param useOrgId 使用组织，也就是对数据执行个性化操作的组织
                 * @param individualizeMap 个性化数据（K：原始数据id，V：根据原始数据Id查询出来的DynamiceObject 进行COPY之后的对象）
                 */
                beforeSaveIndividualizeData?(entityId:string,data2CreateOrgMap:$.java.util.Map,useOrgId:long,individualizeMap:$.java.util.Map):void;
                /**
                 * 描述：判断是否需要创建个性化数据
                 * @param entityType 实体类型
                 * @param dataInfo 基础数据
                 * @return true 需要创建个性化数据;false 不需要创建个性化数据
                 */
                checkNeedCustomData?(entityType:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                /**
                 * 描述：业务实现基础资料个性化处理
                 */
                handleModify?(dataInfo:$.kd.bos.dataentity.entity.DynamicObject):boolean;
            }
            type IBaseDataCtrlPlugin_T = $.java.io.Serializable & IBaseDataCtrlPlugin$;
            interface IBaseDataCtrlPlugin extends IBaseDataCtrlPlugin_T {
            }
            interface BaseDataRefrenceHelper_S {
                /**
                 * 获取所有引用关系
                 * @param baseEntityTypeKey
                 * @param objId
                 * @return
                 */
                getAllRefs(baseEntityTypeKey:string,objId:any):$.java.util.List;
                /**
                 * 检查引用
                 * @param baseEntityType 基础资料主实体
                 * @param objIds 基础资料内码
                 * @param ignoreRefEntityIds 指定需要忽略引用检查的单据。如果为空，则会检查全部引用了本基础资料的单据表格
                 * @param checkRefEntityIds 指定需要引用检查的单据。如果为空，则会检查全部引用了本基础资料的单据表格
                 * @param option 可选参数
                 * @return
                 */
                checkRefrenced(baseEntityType:$.kd.bos.entity.BasedataEntityType,objIds:any[],ignoreRefEntityIds:$.java.util.Collection,checkRefEntityIds:$.java.util.Collection,option:$.kd.bos.dataentity.OperateOption):$.java.util.Map;
                /**
                 * 是否存在引用
                 * @param baseEntityType 元数据类型
                 * @param objId 基础资料ID
                 * @return
                 */
                isRefrenced(baseEntityType:$.kd.bos.entity.BasedataEntityType,objId:any):boolean;
                /**
                 * 获取所有引用关系
                 * @param baseEntityType
                 * @param objId
                 * @return
                 */
                getAllRefs(baseEntityType:$.kd.bos.entity.BasedataEntityType,objId:any):$.java.util.List;
                /**
                 * 获取所有引用关系（返回的Map结果根据主键的类型不同其key可为String或Long，所以需要注意传入的objIds值为整数范围时，去取结果时要转成Long型。或者传入的objIds直接指定为Long）
                 * @param baseEntityTypeKey
                 * @param objIds
                 * @return
                 */
                getAllRefs(baseEntityTypeKey:string,objIds:any[]):$.java.util.Map;
                /**
                 * 检查引用
                 * @param baseEntityTypeKey 基础资料类型
                 * @param objIds 基础资料内码
                 * @param ignoreRefEntityIds 指定需要忽略引用检查的单据。如果为空，则会检查全部引用了本基础资料的单据表格
                 * @param checkRefEntityIds 指定需要引用检查的单据。如果为空，则会检查全部引用了本基础资料的单据表格
                 * @return
                 */
                checkRefrenced(baseEntityTypeKey:string,objIds:any[],ignoreRefEntityIds:$.java.util.Collection,checkRefEntityIds:$.java.util.Collection,option:$.kd.bos.dataentity.OperateOption):$.java.util.Map;
                /**
                 * 是否存在引用
                 * @param baseEntityTypeKey 元数据类型
                 * @param objId 基础资料ID
                 * @return
                 */
                isRefrenced(baseEntityTypeKey:string,objId:any):boolean;
                /**
                 * 获取所有引用关系（返回的Map结果根据主键的类型不同其key可为String或Long，所以需要注意传入的objIds值为整数范围时，去取结果时要转成Long型。或者传入的objIds直接指定为Long）
                 * @param baseEntityType
                 * @param objIds
                 * @return
                 */
                getAllRefs(baseEntityType:$.kd.bos.entity.BasedataEntityType,objIds:any[]):$.java.util.Map;
            }
            interface BaseDataRefrenceHelper_C extends BaseDataRefrenceHelper_S {
                new():BaseDataRefrenceHelper;
            }
            interface BaseDataRefrenceHelper$ {
            }
            type BaseDataRefrenceHelper_T = BaseDataRefrenceHelper$;
            interface BaseDataRefrenceHelper extends BaseDataRefrenceHelper_T {
            }
            interface BaseDataService_S {
            }
            type BaseDataService_ST = BaseDataService_S & kd.bos.service.IBaseDataService_S;
            interface BaseDataService_C extends BaseDataService_ST {
                new():BaseDataService;
            }
            interface BaseDataService$ {
                /**
                 * @description 清除基础数据过滤缓存
                 * @param entityType
                 * @param orgID
                 */
                clearBaseDataFilterCache(entityType:string,orgID:long):void;
            }
            type BaseDataService_T = BaseDataService$ & kd.bos.service.IBaseDataService;
            interface BaseDataService extends BaseDataService_T {
            }
            interface AssistantDataServiceHelper_S {
                /**
                 * 获取辅助资料过滤条件
                 * @param typeId 辅助资料分类ID
                 * @param orgId 组织ID
                 * @return QFilter
                 */
                getAssistantDataFilter(typeId:long,orgId:long):$.kd.bos.orm.query.QFilter;
                /**
                 * 批量获取辅助资料过滤条件
                 * @param typeId 辅助资料分类ID
                 * @param orgId 组织ID
                 * @return QFilter
                 */
                getAssistantDataFilter(typeId:long,orgId:$.java.util.List):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取辅助资料控制策略
                 * @param typeId 辅助资料分类ID
                 * @return String 5:全局共享 6:管控范围共享 7:私有
                 */
                getAssistantDataCtrlstrategy(typeId:long):string;
                /**
                 * 获取辅助资料控制策略视图
                 * @param typeId 辅助资料分类ID
                 * @return String 视图id 如果不存在，默认返回16
                 */
                getAssistantDataCtrlView(typeId:long):string;
            }
            interface AssistantDataServiceHelper_C extends AssistantDataServiceHelper_S {
                new():AssistantDataServiceHelper;
            }
            interface AssistantDataServiceHelper$ {
            }
            type AssistantDataServiceHelper_T = AssistantDataServiceHelper$;
            interface AssistantDataServiceHelper extends AssistantDataServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.billtype{
            interface BillTypeServiceHelper_S {
                /**
                 * 根据表单的number修正单据类型
                 *
                 * @param formId
                 *            新的表单number
                 * @param oldFormId
                 *            旧的表单number
                 */
                updateBillTypeFormId(formId:string,oldFormId:string):void;
                /**
                 * 根据表单编码来查找该单据或基础资料的所有布局方案
                 * @param formId
                 * @param baseOrBill
                 * @return
                 */
                getBillLayoutByFormId(formId:string,baseOrBill:boolean):$.java.util.List;
                /**
                 * 根据formId设置默认的单据类型
                 *
                 * @param billTypeId
                 *            对应fformid字段
                 */
                setDefaultBillType(billTypeId:long):void;
                /**
                 * 根据表单ID来查找该单据所有的布局方案
                 * @param formId
                 * @param domainModelType 领域模型的种类
                 * @return
                 */
                getBillLayoutByFormId(formId:string,domainModelType:string):$.java.util.List;
                /**
                 * @Description:获取应用下的单据类型，返回一个结果集，每个结果包含id，number，name
                 * @param appIds
                 * @return
                 */
                getBillTypesByAppId(appIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据表单ID来查找该单据所有的布局方案
                 *
                 * @return key：布局id，value：布局名称
                 */
                getBillLayoutByFormId(formId:string):$.java.util.List;
                /**
                 * 根据单据类型的内码来导出单据类型sql
                 *
                 * @param billTypeIds
                 *            单据类型的内码集
                 * @return
                 */
                exportBillTypeByIds(billTypeIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据表单id获取单据类型
                 * @param formId 表单id
                 * @return
                 */
                getBillTypeObject(formId:string):$.java.util.Map;
                /**
                 * 根据表单ID来查找该单据的移动布局方案
                 * @param formId
                 * @return
                 */
                getMobileBillLayoutByFormId(formId:string):$.java.util.List;
                /**
                 * 根据appId来导出单据类型的sql
                 *
                 * @param appIds
                 * @return
                 */
                exportBillTypeByAppIds(appIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据单据实体id来导出单据类型sql
                 *
                 * @param entityIds
                 *            实体id
                 * @return
                 */
                exportBillTypeByEntityIds(entityIds:$.java.util.List):$.java.util.List;
            }
            interface BillTypeServiceHelper_C extends BillTypeServiceHelper_S {
                new():BillTypeServiceHelper;
            }
            interface BillTypeServiceHelper$ {
            }
            type BillTypeServiceHelper_T = BillTypeServiceHelper$;
            interface BillTypeServiceHelper extends BillTypeServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.billtype.entity{
            interface BillTypeFile_S {
            }
            interface BillTypeFile_C extends BillTypeFile_S {
                new():BillTypeFile;
            }
            interface BillTypeFile$ {
                /**
                 * 获取文件名
                 * @return
                 */
                getFileName():string;
                /**
                 * 设置文件名
                 * @param fileName
                 */
                setFileName(fileName:string):void;
                /**
                 * 获取文件内容
                 * @return
                 */
                getFileContent():$.java.util.List;
                /**
                 * 设置文件内容
                 * @param fileContent
                 */
                setFileContent(fileContent:$.java.util.List):void;
            }
            type BillTypeFile_T = BillTypeFile$;
            interface BillTypeFile extends BillTypeFile_T {
            }
        }
        namespace kd.bos.servicehelper.botp{
            interface ConvertMetaServiceHelper_S {
                /**
                 * 加载两单之间，全部的转换规则：用于转换操作，不包括扩展的规则
                 * @param sourceEntityNumber 源单据的实体标识
                 * @param targetEntityNumber 目标单据的实体标识
                 * @return 返回包含两单之间所有转换规则元素对象的列表，如果没有规则则返回空列表。
                 *
                 * <p>
                 *     <strong>ConvertRuleElement 参数详细信息 {@link kd.bos.entity.botp.ConvertRuleElement}</strong>
                 * </p>
                 */
                loadRules(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * 加载第三方目标单据信息，用于下推操作，列出可选转换规则
                 * @param sourceEntityNumber：源单
                 * @param targetEntityNumber：目标单
                 * @return 可转换的目标单列表
                 *
                 * <p>
                 *     <strong>ConvertBill 参数详细信息 {@link kd.bos.entity.botp.ConvertBill}</strong>
                 * </p>
                 */
                loadThirdConvertBills(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
                /**
                 * 加载转换规则
                 *
                 * @param ruleId 转换规则标识
                 * @return 返回加载到的转换规则元素对象，如果未找到则可能返回 null。
                 *
                 * <p>
                 *     <strong>ConvertRuleElement 参数详细信息 {@link kd.bos.entity.botp.ConvertRuleElement}</strong>
                 * </p>
                 */
                loadRule(ruleId:string):$.kd.bos.entity.botp.ConvertRuleElement;
                /**
                 * 获取下推可用的单据
                 * @param entityNumber       当前单据的实体标识，用于指定当前操作的单据。
                 * @param thirdPushManage    第三方下推管理对象，用于处理第三方下推相关逻辑。
                 * @param srcBillTypeIds     源单据类型，用于筛选可用的目标单据。
                 * @return 返回包含下推可用单据的列表，如果没有可用单据则返回空列表。
                 * @return
                 *
                 * <p>
                 *     <strong>ConvertBill 参数详细信息 {@link kd.bos.entity.botp.ConvertBill}</strong></>
                 *     <br>
                 *     <strong>ThirdPushManage 参数详细信息 {@link kd.bos.form.operate.botp.ThirdPushManage}</strong>
                 * </p>
                 */
                loadTargetBills(entityNumber:string,thirdPushManage:kd.bos.form.operate.botp.ThirdPushManage,srcBillTypeIds:$.java.util.Set):$.java.util.List;
                /**
                 * 批量读取指定的转换规则元数据对象
                 * @param ids：转换规则标识集合
                 * @param runtime：是否运行时刻
                 * @return 返回包含多个转换规则元数据对象的列表，如果未找到任何规则则返回空列表。
                 *
                 * <p>
                 *     <strong>ConvertRuleMetadata 参数详细信息 {@link kd.bos.metadata.botp.ConvertRuleMetadata}</strong>
                 * </p>
                 */
                batchLoadMeta(ids:string[],runtime:boolean):$.java.util.List;
                /**
                 * 加载全部目标单据信息，用于下推操作，列出可选目标单
                 * @param entityNumber：当前单据编码
                 * @param opType：转换操作类型
                 * @return 可转换的目标单列表
                 *
                 * <p>
                 *     <strong>ConvertBill 参数详细信息 {@link kd.bos.entity.botp.ConvertBill}</strong>
                 *     <br>
                 *     <strong>ConvertOpType 参数详细信息 {@link kd.bos.entity.botp.ConvertOpType}</strong>
                 * </p>
                 */
                loadConvertBills(entityNumber:string,opType:$.kd.bos.entity.botp.ConvertOpType):$.java.util.List;
                /**
                 * 加载全部转换路线
                 * @return 返回包含所有转换路线对象的列表，如果没有路线则返回空列表。
                 *
                 * <p>
                 *     <strong>ConvertPath 参数详细信息 {@link kd.bos.entity.botp.ConvertPath}</strong>
                 * </p>
                 */
                loadAllConvertPaths():$.java.util.List;
                /**
                 * 获取选单可用的单据
                 * @param targetEntityNumber 目标单据的实体标识，用于指定目标单据。
                 * @param targetBillTypeObj  目标单据类型的动态对象，包含目标单据类型的详细信息。
                 * @return 返回包含选单可用单据的列表，如果没有可用单据则返回空列表。
                 *
                 * <p>
                 *     <strong>ConvertBill 参数详细信息 {@link kd.bos.entity.botp.ConvertBill}</strong>
                 *     <br>
                 *     <strong>DynamicObject 参数详细信息 {@link kd.bos.dataentity.entity.DynamicObject}</strong>
                 * </p>
                 */
                loadSourceBills(targetEntityNumber:string,targetBillTypeObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * 读取单据的关联配置信息
                 *
                 * @param entityNumber 单据
                 * @return 返回读取到的单据关联配置元素对象，如果未找到则可能返回 null。
                 *
                 * <p>
                 *     <strong>LinkSetElement 参数详细信息 {@link kd.bos.entity.LinkSetElement}</strong>
                 * </p>
                 */
                loadLinkSet(entityNumber:string):$.kd.bos.entity.LinkSetElement;
                /**
                 * 加载单据主实体的表格定义对象，从而获知主实体的表格编码
                 *
                 * @param entityNumber 单据的实体标识，用于指定需要加载表格定义的单据。
                 * @return 返返回加载到的表格定义对象，如果未找到则可能返回 null。
                 *
                 * <p>
                 *     <strong>TableDefine 参数详细信息 {@link kd.bos.entity.botp.runtime.TableDefine}</strong>
                 * </p>
                 */
                loadMainTableDefine(entityNumber:string):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 根据表格id，加载其表格定义对象，从而获知其对应的单据与实体
                 *
                 * @param tableId 表格id
                 * @return 返回加载到的表格定义对象，如果未找到则可能返回 null。
                 *
                 * <p>
                 *     <strong>TableDefine 参数详细信息 {@link kd.bos.entity.botp.runtime.TableDefine}</strong>
                 * </p>
                 */
                loadTableDefine(tableId:long):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 读取指定的转换规则元数据对象
                 * @param id：转换规则标识
                 * @param runtime：是否运行时刻
                 * @return 返回读取到的转换规则元数据对象，如果未找到则可能返回 null。
                 *
                 * <p>
                 *     <strong>ConvertRuleMetadata 参数详细信息 {@link kd.bos.metadata.botp.ConvertRuleMetadata}</strong>
                 * </p>
                 */
                loadMeta(id:string,runtime:boolean):kd.bos.metadata.botp.ConvertRuleMetadata;
                /**
                 * 根据单据和实体，加载其表格定义对象，从而获知其对应的表格编码
                 *
                 * @param entityNumber 单据
                 * @param entityKey 实体
                 * @return 返回加载到的表格定义对象，如果未找到则可能返回 null。
                 *
                 * <p>
                 *     <strong>TableDefine 参数详细信息 {@link kd.bos.entity.botp.runtime.TableDefine}</strong>
                 * </p>
                 */
                loadTableDefine(entityNumber:string,entityKey:string):$.kd.bos.entity.botp.runtime.TableDefine;
                /**
                 * 加载两单之间，全部的转换规则元数据对象，包括扩展的规则：用于设计器显示出规则树
                 *
                 * @param sourceEntityNumber 源单据的实体标识
                 * @param targetEntityNumber 目标单据的实体标识
                 * @return 返回包含两单之间所有转换规则元数据对象的列表，如果没有规则则返回空列表。
                 *
                 * <p>
                 *     <strong>ConvertRuleMetadata 参数详细信息 {@link kd.bos.metadata.botp.ConvertRuleMetadata}</strong>
                 * </p>
                 */
                loadMetas(sourceEntityNumber:string,targetEntityNumber:string):$.java.util.List;
            }
            interface ConvertMetaServiceHelper_C extends ConvertMetaServiceHelper_S {
                new():ConvertMetaServiceHelper;
            }
            interface ConvertMetaServiceHelper$ {
            }
            type ConvertMetaServiceHelper_T = ConvertMetaServiceHelper$;
            interface ConvertMetaServiceHelper extends ConvertMetaServiceHelper_T {
            }
            interface ConvertServiceHelper_S {
                /**
                 * 选单前服务
                 * @param args ：选单参数
                 * @return ：选单前服务结果，其中包括了源单筛选条件
                 */
                beforeDraw(args:$.kd.bos.entity.botp.runtime.BeforeDrawArgs):$.kd.bos.entity.botp.runtime.ConvertOperationResult;
                /**
                 * 选单服务
                 * @param args ：选单参数
                 * @return ：选单结果，其中包括了生成的目标单，生成报告
                 */
                draw(args:$.kd.bos.entity.botp.runtime.DrawArgs):$.kd.bos.entity.botp.runtime.ConvertOperationResult;
                /**
                 * 下推服务
                 * @param args ：下推参数
                 * @return ：下推结果，其中包括了生成的目标单，生成报告
                 */
                push(args:$.kd.bos.entity.botp.runtime.PushArgs):$.kd.bos.entity.botp.runtime.ConvertOperationResult;
                /**
                 * 下推并保存服务：适用于大批量数据下推，分批执行，自动保存入库
                 * @param args ：下推参数
                 * @return ：下推结果，其中包括了生成的目标单，生成报告
                 */
                pushAndSave(args:$.kd.bos.entity.botp.runtime.PushArgs):$.kd.bos.entity.botp.runtime.ConvertOperationResult;
            }
            interface ConvertServiceHelper_C extends ConvertServiceHelper_S {
                new():ConvertServiceHelper;
            }
            interface ConvertServiceHelper$ {
            }
            type ConvertServiceHelper_T = ConvertServiceHelper$;
            interface ConvertServiceHelper extends ConvertServiceHelper_T {
            }
            interface BFTrackerServiceHelper_S {
                /**
                 * 搜索下游关联单据，含跨级下游单据
                 *
                 * @param entityNumber 上游单据实体编码，如"sal_order"
                 * @param billIds 上游单据主键
                 *
                 * @return 按单据类型分组的下游单据内码，如 "{ pur_purorder : [xxx1, xxx2, xxx3] }"。
                 *     弊端：批量查询时，未输出各单据的下游单据。如需找到各单之间明确的关联关系，建议使用loadBillLinkDownNodes(entityNumber, billIds, onlyDirtSource)方法
                 */
                findTargetBills(entityNumber:string,billIds:long[]):$.java.util.Map;
                /**
                 * 按单上查，输出上游分录行之间关联关系，默认含跨级上游单，可指定参数不含跨级源单
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param billIds 下游单据内码
                 * @param option 可选参数，可传null；botp_track_only_dirt_link=true，不含跨级源单
                 *
                 * @return 行关联信息集合，记录各分录行和源单行的一一对应关系
                 *
                 * <p>
                 *     <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 *     <br>
                 *     <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadSourceRowIds(entityNumber:string,billIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 按单下查，输出下游关联追溯树（按单追溯，不含明细分录行关联信息）
                 *
                 * @param entityNumber 上游单据实体编码
                 * @param billIds 上游单据内码
                 * @param onlyDirtTarget true = 仅包含直接下游单据，不做跨级搜索
                 *
                 * @return 按传入的源单，绑定其下游关联追溯树（按单追溯，不含明细分录行关联信息）
                 *
                 * <p>
                 *     <strong>BFRowLinkDownNode 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRowLinkDownNode}</strong>
                 * </p>
                 */
                loadBillLinkDownNodes(entityNumber:string,billIds:long[],onlyDirtTarget:boolean):$.java.util.Map;
                /**
                 * 按单下查，输出下游关联追溯树（默认按分录行追溯，可指定参数按单追溯），默认含跨级下游单，可指定参数仅含直接下游单
                 *
                 * @param entityNumber 上游单据实体编码，如"sal_order"
                 * @param billIds 上游单据内码
                 * @param option 自定义参数，可传null。botp_track_only_dirt_link=true，不含跨级下游单；botp_track_only_bill_link=true，仅输出单据级关联关系
                 *
                 * @return 下游关联追溯树（按分录行追溯，或按单追溯）
                 *
                 * <p>
                 *     <strong>BFRowLinkDownNode 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRowLinkDownNode}</strong>
                 *     <br>
                 *     <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadLinkDownNodes(entityNumber:string,billIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 上查，输出上游单据之间单据级关联关系，不含明细分录行关联信息，默认含跨级源单
                 *
                 * @param entityNumber   下游单据实体编码
                 * @param billIds        下游单据内码
                 * @param onlyDirtSource true = 仅包含直接源单，不跨级
                 * @return 输出两两单据之间的关联关系，没有按照源单到目标的顺序排列
                 *
                 * <p>
                 * <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 * </p>
                 */
                loadBillLinkUp(entityNumber:string,billIds:long[],onlyDirtSource:boolean):$.java.util.List;
                /**
                 * 下查，输出下游单据之间单据级关联关系，不含明细分录行关联信息，默认含跨级下游单
                 *
                 * @param entityNumber   上游单据实体编码
                 * @param billIds        上游单据内码
                 * @param onlyDirtTarget true = 仅包含直接下游单，不跨级
                 * @return 输出两两单据之间的关联关系，没有按照源单到目标的顺序排列
                 *
                 * <p>
                 * <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 * </p>
                 */
                loadBillLinkDown(entityNumber:string,billIds:long[],onlyDirtTarget:boolean):$.java.util.List;
                /**
                 * 判断分录行有没有下推
                 *
                 * @param entityNumber 单据实体编码，如"sal_order"
                 * @param entryKey 分录标识，如"entryentity"
                 * @param billId 单据内码
                 * @param entryId 分录内码
                 *
                 * @return 如果有关联关系，返回true，已经下推
                 */
                isPush(entityNumber:string,entryKey:string,billId:long,entryId:long):boolean;
                /**
                 * 按分录行下查，输出下游关联追溯树（按分录行追溯），默认含跨级下游单，可指定参数仅含直接下游单
                 *
                 * @param entityNumber 上游单据实体编码，如"sal_order"
                 * @param entryKey 上游单据分录标识，如"entryentity"
                 * @param billIds 上游单据内码
                 * @param entryIds 上游分录行内码
                 * @param option 自定义参数，可传null。botp_track_only_dirt_link=true，不含跨级下游单
                 *  @param option 自定义参数，可传null。botp_track_search_entry=true，分录下查，过滤掉目标单tableid等于单据体tableid的数据
                 * @return 下游关联追溯树（按分录行追溯）
                 *
                 * <p>
                 *     <strong>BFRowLinkDownNode 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRowLinkDownNode}</strong>
                 *     <br>
                 *     <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadLinkDownNodes(entityNumber:string,entryKey:string,billIds:long[],entryIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 按单下查，输出下游分录行之间关联关系，默认含跨级下游单据
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param billIds      下游单据内码
                 * @param option       可选参数，可传null； botp_track_only_dirt_link=true，不含跨级下游单据
                 * @return 行关联信息集合，记录各源单行和目标单行的一一对应关系
                 *
                 * <p>
                 * <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 * <br>
                 * <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadTargetRowIds(entityNumber:string,billIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 按分录行上查，输出上游分录行之间关联关系，默认含跨级上游单，可指定参数不含跨级源单
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param entryKey 下游单据分录标识，如"entryentity"
                 * @param billIds 下游单据内码
                 * @param entryIds 下游单据分录内码
                 * @param option 可选参数，可传null; botp_track_only_dirt_link=true，不含跨级源单
                 *
                 * @return 行关联信息集合，记录各分录行和源单行的一一对应关系
                 *
                 * <p>
                 *     <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 *     <br>
                 *     <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadSourceRowIds(entityNumber:string,entryKey:string,billIds:long[],entryIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 按单上查，输出上游关联追溯树（按单追溯），不含明细分录行关联信息。默认含跨级源单，可指定不含跨级源单
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param billIds 下游单据内码
                 * @param onlyDirtSource true = 仅包含直接源单，不取跨级源单；默认为false，含跨级源单
                 *
                 * @return 按传入的下游单内码，绑定其上游关联追溯树（按单追溯）
                 *
                 * <p>
                 *     <strong>BFRowLinkUpNode 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRowLinkUpNode}</strong>
                 * </p>
                 */
                loadBillLinkUpNodes(entityNumber:string,billIds:long[],onlyDirtSource:boolean):$.java.util.Map;
                /**
                 * 下游单上查，输出下游单据各分录行对应的直接源单分录行：仅包含直接源单，不进行跨级搜索
                 *
                 * @param entityNumber 下游单据主实体编码
                 * @param billIds      下游单据单据内码集合
                 * @return 输出字典，按下游单据内码分组，包含下游单据各分录行与其直接源单分录行（可能有多条）之间的对应关系
                 *
                 * <p>
                 * <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 * </p>
                 */
                findDirtSourceBills(entityNumber:string,billIds:long[]):$.java.util.Map;
                /**
                 * 按单上查，输出上游关联追溯树（按单据、或按分录行追溯），默认按明细分录行往上追溯、含跨级源单。可以通过自定义参数控制是否包含跨级源单、是否仅按单据级追溯
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param billIds 下游单据内码
                 * @param option 自定义参数，可传null。botp_track_only_dirt_link=true，不含跨级源单；botp_track_only_bill_link=true，仅输出单据级关联关系
                 *
                 * @return 上游关联追溯树（按单据、或按分录行追溯）
                 *
                 * <p>
                 *     <strong>BFRowLinkUpNode 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRowLinkUpNode}</strong>
                 *     <br>
                 *     <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadLinkUpNodes(entityNumber:string,billIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * @description 搜索上游关联单据，含跨级源单
                 *
                 * @param entityNumber 下游单据实体编码，如"pur_purorder"
                 * @param billIds 下游单据内码
                 *
                 * @return 按单据类型分组的上游单据内码，如 "{ sal_order : [xxx1, xxx2, xxx3] }"。
                 *     弊端：批量查询时，未输出各单据的上游单据。如需找到各单之间明确的关联关系，建议使用loadBillLinkUpNodes(entityNumber, billIds, onlyDirtSource)方法
                 */
                findSourceBills(entityNumber:string,billIds:long[]):$.java.util.Map;
                /**
                 * 判断单据是否已下推
                 *
                 * @param entityNumber 单据实体编码，如"sal_order"
                 * @param billId 单据内码
                 * @return
                 */
                isPush(entityNumber:string,billId:long):boolean;
                /**
                 * 按分录行上查，输出上游关联追溯树（按分录行追溯）。默认含跨级源单的分录行，可以通过自定义参数控制不含跨级源单
                 *
                 * @param entityNumber 下游单据实体编码，如"sal_order"
                 * @param entryKey 下游单据分录标识，如"entryentity"
                 * @param billIds 下游单据内码
                 * @param entryIds 下游单据分录行内码
                 * @param option 自定义参数，可传null。botp_track_only_dirt_link=true，不含跨级源单
                 * @param option 自定义参数，可传null。botp_track_search_entry=true，分录上查，过滤掉源单tableid等于单据体tableid的数据
                 * @return 上游关联追溯树（按分录行追溯）
                 *
                 * <p>
                 *     <strong>BFRowLinkUpNode 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRowLinkUpNode}</strong>
                 *     <br>
                 *     <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadLinkUpNodes(entityNumber:string,entryKey:string,billIds:long[],entryIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 按分录行下查，输出下游分录行之间关联关系，含跨级下游单据的分录行
                 *
                 * @param entityNumber 上游单据实体编码，如"sal_order"
                 * @param entryKey     上游单据分录标识，如"entryentity"
                 * @param billIds      上游单据内码
                 * @param entryIds     上游单据分录内码
                 * @param option       可选参数，可传null； botp_track_only_dirt_link=true，不含跨级下游单据
                 * @return 行关联信息集合，记录各源单行和目标单行的一一对应关系
                 *
                 * <p>
                 * <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 * <br>
                 * <strong>OperateOption 参数详细信息 {@link kd.bos.dataentity.OperateOption}</strong>
                 * </p>
                 */
                loadTargetRowIds(entityNumber:string,entryKey:string,billIds:long[],entryIds:long[],option:$.kd.bos.dataentity.OperateOption):$.java.util.List;
                /**
                 * 源单下查，输出源单各分录行直接下推的下游单据分录行：仅包含直接下游单据，不进行跨级搜索
                 *
                 * @param entityNumber 源单主实体编码
                 * @param billIds      源单单据内码集合
                 * @return 输出字典，按上游单据内码分组，包含各源单各分录行与其直接下游单据分录行（可能有多条）之间的对应关系
                 *
                 * <p>
                 * <strong>BFRow 参数详细信息 {@link kd.bos.entity.botp.runtime.BFRow}</strong>
                 * </p>
                 */
                findDirtTargetBills(entityNumber:string,billIds:long[]):$.java.util.Map;
            }
            interface BFTrackerServiceHelper_C extends BFTrackerServiceHelper_S {
                new():BFTrackerServiceHelper;
            }
            interface BFTrackerServiceHelper$ {
            }
            type BFTrackerServiceHelper_T = BFTrackerServiceHelper$;
            interface BFTrackerServiceHelper extends BFTrackerServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.ca{
            interface SignCommandParam_S {
            }
            type SignCommandParam_ST = $.java.io.Serializable & SignCommandParam_S;
            interface SignCommandParam_C extends SignCommandParam_ST {
                /**
                 * 构造函数。
                 * <p>
                 *     创建一个签名指令参数对象。
                 * </p>
                 * @param entityNumber 实体编码
                 * @param docs 数据包集合
                 * @param callback 签名回调
                 */
                new(entityNumber:string,docs:$.kd.bos.dataentity.entity.DynamicObjectCollection,callback:kd.bos.form.operate.SignOperateCallback):SignCommandParam;
                /**
                 * 构造函数。
                 * <p>
                 *     创建一个签名指令参数对象。
                 * </p>
                 * @param entityNumber 实体编码
                 * @param docs 数据包集合
                 * @param callback 签名回调
                 * @param clearPin 是否清除pin码
                 * @param schemeFilter 是否启用过滤范围
                 */
                new(entityNumber:string,docs:$.kd.bos.dataentity.entity.DynamicObjectCollection,callback:kd.bos.form.operate.SignOperateCallback,clearPin:boolean,schemeFilter:boolean):SignCommandParam;
            }
            interface SignCommandParam$ {
                /**
                 * 获取签名回调对象。
                 * @return 签名回调对象
                 */
                getSignOperateCallback():kd.bos.form.operate.SignOperateCallback;
                /**
                 * 是否启用过滤范围。
                 * @return 是否启用过滤范围
                 */
                isSchemeFilter():boolean;
                /**
                 * 设置是否启用过滤范围。
                 * @param schemeFilter 是否启用过滤范围
                 */
                setSchemeFilter(schemeFilter:boolean):void;
                /**
                 * 获取实体编码。
                 * @return 实体编码
                 */
                getEntityNumber():string;
                /**
                 * 是否清除pin码。
                 * @return 是否清除pin码
                 */
                isClearPin():boolean;
                /**
                 * 获取数据包集合。
                 * @return 数据包集合
                 */
                getDocs():$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            type SignCommandParam_T = $.java.io.Serializable & SignCommandParam$;
            interface SignCommandParam extends SignCommandParam_T {
            }
            interface SignCommandResult_S {
            }
            type SignCommandResult_ST = $.java.io.Serializable & SignCommandResult_S;
            interface SignCommandResult_C extends SignCommandResult_ST {
                new():SignCommandResult;
            }
            interface SignCommandResult$ {
                /**
                 * 设置操作结果。
                 * @param operationResult 操作结果
                 */
                setOperationResult(operationResult:$.kd.bos.entity.operate.result.OperationResult):void;
                /**
                 * 设置需要签名的单据pkId集合。
                 * @param needPkIds pkId集合
                 */
                setNeedPkIds(needPkIds:$.java.util.List):void;
                /**
                 * 获取需要签名的单据pkId集合。
                 * @return pkId集合
                 */
                getNeedPkIds():$.java.util.List;
                /**
                 * 设置不需要签名的单据pkId集合。
                 * @return pkId集合
                 */
                getNotNeedPkIds():$.java.util.List;
                /**
                 * 获取操作结果。
                 * @return 操作结果
                 */
                getOperationResult():$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 获取不需要签名的单据pkId集合。
                 * @param notNeedPkIds pkId集合
                 */
                setNotNeedPkIds(notNeedPkIds:$.java.util.List):void;
            }
            type SignCommandResult_T = $.java.io.Serializable & SignCommandResult$;
            interface SignCommandResult extends SignCommandResult_T {
            }
            interface SignServiceHelper_S {
                /**
                 * 保存签名后的签名字符串等信息，并记录签名日志。
                 * @param entityNumber 实体标识
                 * @param signTextsMap 签名后字符串集合，（<tt>Map.key</tt>：单据pk，<tt>Map.value</tt>：签名字符串）。
                 * @param clearTextsMap 加密后明文串集合，（<tt>Map.key</tt>：单据pk，<tt>Map.value</tt>：明文串）。
                 */
                saveSignMessage(entityNumber:string,signTextsMap:$.java.util.Map,clearTextsMap:$.java.util.Map):void;
                /**
                 * 根据单据编码和组织获取签名配置方案。
                 * @param formId 表单id
                 * @param orgId 组织id，默认取当前用户的组织。
                 * @return 签名配置方案
                 */
                getSignSCheme(orgId:string,formId:string):kd.bos.entity.ca.SignScheme;
                /**
                 * 批量验签。
                 * @param entityNumber 单据实体编码
                 * @param ids 单据pk集合
                 * @return 验签结果集合，（<tt>Map.key</tt>：记录id，<tt>Map.value</tt>：验签结果）。
                 */
                verifySignByIds(entityNumber:string,ids:$.java.util.List):$.java.util.Map;
                /**
                 * 判断指定操作是否需要签名。
                 * @param orgId 组织id
                 * @param formId 表单id
                 * @param operateKey 操作编码
                 * @return 操作是否需要签名
                 */
                needSign(orgId:string,formId:string,operateKey:string):boolean;
                /**
                 * 发送客户端签名指令。
                 * <p>
                 *     执行客户端签名，可指定客户端签名后回调，回调中处理后续业务逻辑。
                 * </p>
                 * @param signParam 签名指令参数
                 * @return 签名指令发送结果
                 */
                sendClientSignCommand(signParam:SignCommandParam):SignCommandResult;
                /**
                 * 单条记录验签。
                 * @param entityNumber 单据实体编码
                 * @param id 单据pk
                 * @return 验签结果
                 */
                verifySignById(entityNumber:string,id:any):kd.bos.entity.ca.VerifySignInfo;
            }
            interface SignServiceHelper_C extends SignServiceHelper_S {
                new():SignServiceHelper;
            }
            interface SignServiceHelper$ {
            }
            type SignServiceHelper_T = SignServiceHelper$;
            interface SignServiceHelper extends SignServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.cloudhub{
            interface CloudHubAppServiceHelper_S {
                /**
                 * @method getAppInfoByNumber
                 * @description 根据编码获取云之家应用信息
                 * @param number 云之家应用编码
                 * @return	云之家应用信息
                 */
                getAppInfoByNumber(number_arg:string):$.java.util.Map;
            }
            interface CloudHubAppServiceHelper_C extends CloudHubAppServiceHelper_S {
                new():CloudHubAppServiceHelper;
            }
            interface CloudHubAppServiceHelper$ {
            }
            type CloudHubAppServiceHelper_T = CloudHubAppServiceHelper$;
            interface CloudHubAppServiceHelper extends CloudHubAppServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.coderule{
            interface CodeRuleServiceHelper_S {
                /**
                 * 预览断号的方法
                 * @param coderule 编码规则对象
                 * @param sortItemValue 编码规则依据
                 * @param intermitNum 断号数量 ( 传-1 获取所有 )
                 * @return 预览的断号集合(如果传入的数量比目前数据中断号的数量还多, 集合中也仅会返完已存在的数据, 不会补足空值对象)
                 */
                readIntermitNumber(coderule:$.kd.bos.coderule.api.CodeRuleInfo,sortItemValue:string,intermitNum:number):$.java.util.List;
                /**
                 * 更新最大号的方法
                 * @param coderule 编码规则对象
                 * @param sortItemValue 编码规则依据
                 * @param maxserial 更新的最大号码
                 * @return 更新最大号的成功失败结果
                 */
                updateNumber(coderule:$.kd.bos.coderule.api.CodeRuleInfo,sortItemValue:string,maxserial:number):boolean;
                /**
                 * 批量生成的编码, 根据动态对象集合, 顺序返回对应的编号
                 * (未匹配到的动态对象也会在返回集合中占用一个位置, 值为null)
                 * @param entityId 实体ID
                 * @param dynamicObjects 动态对象集合
                 * @return 返回对应的编号 (按照 dynamicObjects 的顺序)
                 */
                getNumbers(entityId:string,dynamicObjects:$.java.util.List):$.java.util.List;
                /**
                 * 获取编码
                 * @param entityId 实体ID串
                 * @param dataInfo 需要获取编码的数据对象，可能是基础资料或者单据。
                 * @param orgId 组织架构ID
                 * @return 编码
                 */
                getNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgId:string):string;
                /**
                 * 根据应用id导出编码规则
                 * @param appIDList 业务应用ID列表
                 * @return 指定应用id所对应的全部编码规则
                 */
                exportCodeRuleByAppID(appIDList:$.java.util.List):$.java.util.List;
                /**
                 * 获取编码规则
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 */
                getCodeRule(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):$.kd.bos.coderule.api.CodeRuleInfo;
                /**
                 * 新增编码是否允许修改
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @return true:新增编码允许修改；false:新增编码不允许修改。
                 */
                isModifiable(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):boolean;
                /**
                 * 编码规则是否不允许断号
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @return true:不允许断号；false:允许断号。
                 */
                isUseIntermitNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):boolean;
                /**
                 * 自动回收断号，智能补号。
                 */
                autoRecycleNumber(entityId:string):boolean;
                /**
                 * 回收断号 当删除某些号码时，应该调用此接口以保存断号
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @param number 待回收的编码
                 * @return 是否成功
                 */
                recycleNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string,number_arg:string):boolean;
                /**
                 * 根据指定的编码规则生成批量编码
                 *
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @param count 生成批量编码的数目
                 * @return String[] 编码规则生成的批量编码
                 */
                getBatchNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string,count:number):string[];
                /**
                 * 注入动态对象批量生成的编码
                 * @param entityId 实体ID
                 * @param dynamicObjects 动态对象集合
                 * @return
                 */
                injectNumbers(entityId:string,dynamicObjects:$.java.util.List):void;
                /**
                 * 根据实体标识id导出编码规则
                 * @param entityIDList 实体标识列表
                 * @return	指定实体id所对应的全部编码规则
                 */
                exportCodeRuleByEntityID(entityIDList:$.java.util.List):$.java.util.List;
                /**
                 * 批量回收断号 当删除某些号码时，应该调用此接口以保存断号
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @param numbers 待回收的编码数组
                 * @return 是否成功
                 */
                recycleBatchNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject[],orgID:string,numbers:string[]):boolean[];
                /**
                 * 获取指定应用id的全部启用状态的编码规则。
                 * @param appIds
                 * @return
                 */
                getAllCodeRuleByAppId(appIds:$.java.util.List):$.java.util.List;
                /**
                 * 新增编码是否显示
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @return true:新增显示；false:新增不显示。
                 */
                isAddView(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):boolean;
                /**
                 * 消费断号的方法
                 * @param coderule 编码规则对象
                 * @param sortItemValue 编码规则依据
                 * @param intermitNum 断号数量 ( 传-1 获取所有 )
                 * @return 消费的断号集合(如果传入的数量比目前数据中断号的数量还多, 集合中也仅会返完已存在的数据, 不会补足空值对象)
                 */
                consumeIntermitNumber(coderule:$.kd.bos.coderule.api.CodeRuleInfo,sortItemValue:string,intermitNum:number):$.java.util.List;
                /**
                 * 回收断号的方法 (批量)
                 * @param coderule 编码规则对象
                 * @param sortItemValue 编码规则依据
                 * @param intermits 回收的断号数组
                 * @return 回收断号数组的成功失败结果
                 */
                recycleNumber(coderule:$.kd.bos.coderule.api.CodeRuleInfo,sortItemValue:string,intermits:number[]):boolean[];
                /**
                 * 根据编码规则id导出编码规则
                 * @param coderuleIDList 编码规则id列表
                 * @return	指定编码规则id所对应的编码规则
                 */
                exportCodeRuleByCoderuleID(coderuleIDList:$.java.util.List):$.java.util.List;
                /**
                 * 删除断号
                 * @param entityId 实体标识
                 * @param dataInfo 数据对象
                 * @param orgID 组织ID
                 * @param numbers 断号列表
                 * @return true 处理成功;false 处理失败
                 */
                deleteBreakNumbers(entityId:string,dataInfo:$.java.util.Map,orgID:long,numbers:$.java.util.List):boolean;
                /**
                 * 编码规则是否存在
                 * @param entityId 实体ID串
                 * @param dataInfo 数据对象
                 * @param orgID 组织架构ID
                 * @return true:存在编码规则；false:不存在编码规则。
                 */
                isExist(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:string):boolean;
                /**
                 * 获取编码
                 * @param codeRuleInfo 编码规则
                 * @param dataInfo 需要获取编码的数据对象，可能是基础资料或者单据。
                 */
                getNumber(codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo,dataInfo:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 获取编码,不占用流水号,不支持不允许断号
                 * @param codeRuleInfo 编码规则
                 * @param dataInfo 需要获取编码的数据对象，可能是基础资料或者单据。
                 */
                readNumber(codeRuleInfo:$.kd.bos.coderule.api.CodeRuleInfo,dataInfo:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 获取编码,不占用流水号,不支持不允许断号
                 * @param entityId 实体标识
                 * @param dataInfo 需要获取编码的数据对象，可能是基础资料或者单据。
                 * @return 编码
                 */
                readNumber(entityId:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgId:string):string;
            }
            interface CodeRuleServiceHelper_C extends CodeRuleServiceHelper_S {
                new():CodeRuleServiceHelper;
            }
            interface CodeRuleServiceHelper$ {
                /**
                 * 检查编码是否符合编码规则
                 * @param entityID 实体标识
                 * @param dataInfo 数据对象
                 * @param orgID 组织ID
                 * @param number 待检查的编码
                 * @return boolean true:符合编码规则; false: 不符合编码规则。
                 */
                checkNumber(entityID:string,dataInfo:$.kd.bos.dataentity.entity.DynamicObject,orgID:long,number_arg:string):boolean;
                /**
                 * 获取指定实体的全部启用状态的编码规则。
                 * @param entityID 实体标识
                 * @return 指定实体的全部启用状态的编码规则。
                 */
                getAllCodeRuleByEntity(entityID:string):$.java.util.List;
            }
            type CodeRuleServiceHelper_T = CodeRuleServiceHelper$;
            interface CodeRuleServiceHelper extends CodeRuleServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.dbversion{
            interface IndustryVersionServiceHelper_S {
                /**
                 * 获取平台、业务中最大版本
                 */
                getVersionInfos():$.java.util.List;
                /**
                 * 跟据产品编码+开发商标识获取唯一版本信息
                 * @param productNumber
                 * @param isv
                 * @return
                 */
                getVersion(productNumber:string,isv:string):$.kd.bos.dbversion.IndustryVersionInfo;
                /**
                 * 获取所有产品的显示版本信息
                 * @return
                 */
                getCaptions():$.java.util.List;
                /**
                 * 清理补丁版本缓存
                 * @param productNumber
                 * @param isv
                 */
                clearCache(productNumber:string,isv:string):void;
                /**
                 * 根据产品编码获取行业版本信息
                 * @param productNumber
                 * @return
                 */
                getVersion(productNumber:string):$.java.util.List;
                /**
                 * @param productNumber 补丁产品编码 例如：平台:cosmic_bos/cosmic_biz
                 * @param isv 开发商标识 ,例如：kingdee
                 * @param productName 显示版本对应的产品名称 例如：starry:星空
                 * @return
                 */
                getCaption(productNumber:string,isv:string,productName:string):$.kd.bos.dbversion.IndustryVersionInfo;
                /**
                 * 根据开发商+产品名称获取显示版本信息，
                 * 因补丁产品编码不确定，这里返回的显示版本不一定唯一
                 * 业务调用方自行判断处理
                 * @param isv
                 * @param producName
                 * @return
                 */
                getCaption(isv:string,producName:string):$.java.util.List;
                /**
                 * 清理显示版本缓存
                 * @param productNumber
                 * @param isv
                 * @param productName
                 */
                clearCache(productNumber:string,isv:string,productName:string):void;
                /**
                 * 根据产品名称获取显示版本信息，
                 * 因产品编码、开发商不确定，这里返回的显示版本不一定唯一
                 * 业务调用方自行判断处理
                 * @param producName 显示版本对应的产品名称 例如：starry:星空
                 * @return
                 */
                getCaption(producName:string):$.java.util.List;
            }
            interface IndustryVersionServiceHelper_C extends IndustryVersionServiceHelper_S {
                new():IndustryVersionServiceHelper;
            }
            interface IndustryVersionServiceHelper$ {
            }
            type IndustryVersionServiceHelper_T = IndustryVersionServiceHelper$;
            interface IndustryVersionServiceHelper extends IndustryVersionServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.devportal{
            interface AppMetaServiceHelper_S {
                loadAppMetadataById(bizAppId:string,runtime:boolean):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 获取父类应用元数据差量，结果序列号化为字符串
                 *
                 * @param metadata     父类应用元数据
                 * @param baseMetadata 基类应用元数据
                 */
                serializeToJSONString(metadata:$.kd.bos.metadata.devportal.AppMetadata,baseMetadata:$.kd.bos.metadata.devportal.AppMetadata):string;
                /**
                 * 清除应用元数据的缓存，包括设计期和运行期的元数据
                 *
                 * @param appId 应用id
                 * @param appId 应用id
                 */
                cleanAppMetaCache(appId:string):boolean;
                /**
                 * 通过应用元数据，获取应用实体实例对象，只包含应用自身的属性，不包括应用菜单和应用功能分组。
                 * 应用场景：bizAppListPlugin
                 *
                 * @param metadata 应用元数据
                 */
                convertAppMetadataToDynamicAppObject(metadata:$.kd.bos.metadata.devportal.AppMetadata):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 保存应用元数据对象
                 *
                 * @param metadata 应用元数据
                 * @return 返回map对象, key值为success，value值为true，表示保存成功，为false表示保存失败；key值为message，表示成功或失败的原因
                 */
                save(metadata:$.kd.bos.metadata.devportal.AppMetadata):$.java.util.Map;
                /**
                 * 获取两个AppMetadata的差量化xml数据
                 *
                 * @param metadata        扩展应用元数据
                 * @param baseMetadata    源应用元数据
                 * @param onlyLocaleValue boolean值。true表示取得当前语种下的差量化数据，false表示取得3种语种下的多语言信息
                 * @return String 差量
                 */
                buildAppMetadataDiffXml(metadata:$.kd.bos.metadata.devportal.AppMetadata,baseMetadata:$.kd.bos.metadata.devportal.AppMetadata,onlyLocaleValue:boolean):string;
                /**
                 * 根据菜单id，删除指定菜单
                 *
                 * @param menuId   菜单id
                 * @param bizAppId 应用id
                 */
                deleteMenuById(menuId:string,bizAppId:string):void;
                /**
                 * 根据应用id，获取应用元数据文件
                 *
                 * @param id 应用id
                 */
                getAppDeployFile(id:string):$.java.util.List;
                /**
                 * 将应用实体实例中的属性值更新到应用功能分组实体实例的属性中。
                 *
                 * @param obj                      应用实体实例
                 * @param appFunctionPacketElement 应用功能分组实体实例
                 * @return 返回map对象, key值success为true, 表示更新成功，为false，表示更新失败；key值为message为String,表示结果信息
                 */
                convertDynamicObjectToAppFunctionPacketElement(obj:$.kd.bos.dataentity.entity.DynamicObject,appFunctionPacketElement:$.kd.bos.entity.devportal.AppFunctionPacketElement):$.java.util.Map;
                /**
                 * 根据功能分组id，删除指定功能分组
                 *
                 * @param funcId   功能分组id
                 * @param bizAppId 应用id
                 */
                deleteFunctionPacketById(funcId:string,bizAppId:string):void;
                /**
                 * 获取父类的应用元数据对象
                 *
                 * @param json         字符串，表示应用元数据差量
                 * @param baseMetadata 基类的应用元数据对象
                 */
                deserializeFromJSONString(json:string,baseMetadata:$.kd.bos.metadata.devportal.AppMetadata):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 根据实体实例对象更新元数据信息
                 * 对于扩展应用中的菜单，由于obj对象的bizapp值是原厂应用，这里就需要指定当前扩展应用的id
                 *
                 * @param obj      实体实例对象
                 * @param bizAppid 应用id
                 * @return 返回map对象, key值为success，value值为true，表示保存成功，为false表示保存失败；key值为message，表示成功或失败的原因
                 */
                save(obj:$.kd.bos.dataentity.entity.DynamicObject,bizAppid:string):$.java.util.Map;
                /**
                 * 将功能分组实体实例中的属性值更新到应用实体实例的属性中。
                 * 功能分组中上级功能分组不是F7，而是分开为id和name两个文本框
                 *
                 * @param appFunctionPacketElement 功能分组实体实例
                 * @param obj                      应用实体实例
                 * @return 返回map对象, key值success为true, 表示更新成功，为false，表示更新失败；key值为message为String,表示结果信息
                 */
                convertAppFunctionPacketElementToDynamicObject(appFunctionPacketElement:$.kd.bos.entity.devportal.AppFunctionPacketElement,obj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 创建一个空的应用功能分组对象，只设置了Id
                 */
                CreateBlankAppFunctionPacketElement():$.kd.bos.entity.devportal.AppFunctionPacketElement;
                /**
                 * 获取业务云的元数据文件内容
                 *
                 * @param cloudId 业务云id
                 */
                getCloudDeployFile(cloudId:string):$.java.util.List;
                /**
                 * 根据应用元数据内容，安装应用到指定业务云下
                 *
                 * @param content    应用元数据内容
                 * @param bizCloudId 业务云id
                 * @return 返回当前应用继承路径，应用id的集合
                 */
                deployAppMetadata(content:string,bizCloudId:string):$.java.util.List;
                /**
                 * 创建一个空的应用对象，只设置了ModelType和Id
                 */
                CreateBlankAppMetadata():$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 获取开发商标志
                 */
                getDeveloperInfo():string;
                /**
                 * 根据bizAppId，获取应用自身的DynamicObject属性
                 *
                 * @param bizAppId 应用id
                 * @param runtime  boolean值，ture表示读取合并扩展后的运行时元数据，false表示读取该应用自身的元数据
                 */
                loadDynamicAppObjectById(bizAppId:string,runtime:boolean):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 根据菜单编码，获取应用菜单实体实例对象。
                 *
                 * @param menuNumber 菜单编码
                 * @param bizAppId   应用id
                 * @param runtime    boolean值。true，表示运行时的元数据；false,表示设计时的元数据
                 */
                getMenuByNumber(menuNumber:string,bizAppId:string,runtime:boolean):$.kd.bos.entity.devportal.AppMenuElement;
                /**
                 * 删除应用
                 *
                 * @param appId 应用id
                 * @return 返回map对象, key值result；value值为success表示删除成功
                 */
                deleteApp(appId:string):$.java.util.Map;
                /**
                 * 将应用菜单实例中的属性值更新到应用动态实体实例对象的属性里。
                 *
                 * @param appMenuElement 应用菜单实例
                 * @param obj            应用动态实体实例对象
                 * @param metadata       可以为null，但是如需返回parent对象的话，不能为空
                 * @return 返回map对象, key值success为true, 表示更新成功，为false，表示更新失败；key值为message为String,表示结果信息
                 */
                convertAppMenuElementToDynamicObject(appMenuElement:$.kd.bos.entity.devportal.AppMenuElement,obj:$.kd.bos.dataentity.entity.DynamicObject,metadata:$.kd.bos.metadata.devportal.AppMetadata):$.java.util.Map;
                /**
                 * 通过租户id，获取svnurl
                 */
                getSvnUrl():string;
                /**
                 * 根据菜单编码，删除指定菜单
                 *
                 * @param menuNumber 菜单编码
                 * @param bizAppId   应用id
                 */
                deleteMenuByNumber(menuNumber:string,bizAppId:string):void;
                /**
                 * 根据功能分组编码，删除指定功能分组
                 *
                 * @param funcNumber 功能分组编码
                 * @param bizAppId   应用id
                 */
                deleteFunctionPacketByNumber(funcNumber:string,bizAppId:string):void;
                /**
                 * 根据差量化元数据xml，解析出扩展的元素。
                 * 该方法会在加载设计期元数据后，如果是扩展应用，进一步对一个用菜单和功能分组对象的type属性(默认为原厂值：1)赋值。
                 *
                 * @param diffXml 差量化元数据xml
                 * @return 返回map对象, key值为菜单ID或功能分组ID；value值为addNew/edit/remove作为value，来区分出：原厂/扩展/自建
                 */
                parseDiffOperations(diffXml:string):$.java.util.Map;
                /**
                 * 通过应用id,读取合并扩展后的运行时元数据
                 *
                 * @param bizAppId
                 */
                loadAppMetadataById(bizAppId:string):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 将应用实体实例中的属性值更新到应用菜单实例的属性
                 *
                 * @param obj            应用实体实例
                 * @param appMenuElement 应用菜单实体实例
                 * @return 返回map对象, key值success为true, 表示更新成功，为false，表示更新失败；key值为message为String,表示结果信息
                 */
                convertDynamicObjectToAppMenuElement(obj:$.kd.bos.dataentity.entity.DynamicObject,appMenuElement:$.kd.bos.entity.devportal.AppMenuElement):$.java.util.Map;
                /**
                 * 根据实体实例对象更新元数据信息
                 *
                 * @param obj 实体实例对象，可能是应用、菜单或功能分组
                 * @return 返回map对象, key值为success，value值为true，表示保存成功，为false表示保存失败；key值为message，表示成功或失败的原因
                 */
                save(obj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 根据bos_devportal_bizapp，bos_devportal_menu，bos_devportal_bizunit这三个表中的数据，对应用元数据为空时生成元数据。DynamicObject[0]必须是bos_devportal_bizapp对象。
                 *
                 * @param objects 动态实例数组
                 *                dynObjArry[0] bos_devportal_bizapp对象
                 *                dynObjArry[1..] bos_devportal_menu对象
                 *                dynObjArry[...] bos_devportal_bizunit对象
                 */
                convertDynamicObjectsToAppMetadata(objects:$.kd.bos.dataentity.entity.DynamicObject[]):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 根据bizAppId，获取应用合并扩展后的DynamicObject属性
                 *
                 * @param bizAppId 应用id
                 */
                loadDynamicAppObjectById(bizAppId:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 创建一个空的应用菜单对象，只设置了Id
                 */
                CreateBlankAppMenuElement():$.kd.bos.entity.devportal.AppMenuElement;
                /**
                 * 仅设计期使用
                 * 根据应用的实体实例对象，获取应用元数据。
                 * 如果该应用对应的元数据对象已存在，则更新应用元素信息，如果不存在或id为空，创建新的元数据对象，并更新应用元素信息
                 *
                 * @param appObject 应用的实体实例对象
                 */
                getAppMetadata(appObject:$.kd.bos.dataentity.entity.DynamicObject):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 根据功能分组编码，获取应用功能分组实体实例对象。
                 *
                 * @param funcNumber 功能分组编码
                 * @param bizAppId   应用id
                 * @param runtime    boolean值。true，表示运行时的元数据；false,表示设计时的元数据
                 */
                getFunctionPacketByNumber(funcNumber:string,bizAppId:string,runtime:boolean):$.kd.bos.entity.devportal.AppFunctionPacketElement;
                /**
                 * 获取应用功能分组实体实例对象。
                 *
                 * @param funcId   功能分组id
                 * @param bizAppId 应用id
                 * @param runtime  boolean值。true，表示运行时的元数据；false,表示设计时的元数据
                 */
                getFunctionPacketById(funcId:string,bizAppId:string,runtime:boolean):$.kd.bos.entity.devportal.AppFunctionPacketElement;
                /**
                 * 根据应用id，获取当前应用的开发商标识
                 *
                 * @param bizAppId 应用id
                 */
                getIsvByAppId(bizAppId:string):string;
                /**
                 * 根据应用id，从缓存中获取应用元数据。如果缓存中没有，则生成应用元数据，并存入缓存
                 *
                 * @param bizAppId 应用id
                 * @param runtime  boolean值。true，表示运行时的元数据；false,表示设计时的元数据
                 * @return 应用元数据
                 */
                loadAppMetadataFromCacheById(bizAppId:string,runtime:boolean):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 根据应用实体实例对象，保存应用元数据
                 *
                 * @param appObject 应用实体实例对象
                 * @return 返回map对象, key值为success，value值为true，表示保存成功，为false表示保存失败；key值为message，表示成功或失败的原因
                 */
                saveDynamicAppObject(appObject:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 根据菜单id，获取应用菜单实体实例对象。
                 *
                 * @param menuId   菜单id
                 * @param bizAppId 应用id
                 * @param runtime  boolean值。true，表示运行时的元数据；false,表示设计时的元数据
                 */
                getMenuById(menuId:string,bizAppId:string,runtime:boolean):$.kd.bos.entity.devportal.AppMenuElement;
                /**
                 * 根据应用元数据内容，安装应用
                 *
                 * @param content 应用元数据内容
                 * @return 返回当前应用继承路径，应用id的集合
                 */
                deployAppMetadata(content:string):$.java.util.List;
                /**
                 * 根据应用元数据对象，获取当前应用的开发商标识
                 *
                 * @param metadata 应用元数据
                 */
                getIsvByApp(metadata:$.kd.bos.metadata.devportal.AppMetadata):string;
            }
            interface AppMetaServiceHelper_C extends AppMetaServiceHelper_S {
                new():AppMetaServiceHelper;
            }
            interface AppMetaServiceHelper$ {
            }
            type AppMetaServiceHelper_T = AppMetaServiceHelper$;
            interface AppMetaServiceHelper extends AppMetaServiceHelper_T {
            }
            interface DevPortalServiceHelp_S {
                /**
                 * 根据用户 id 获取当前用户拥有开发平台哪些应用权限
                 *
                 * @param userId 用户 id
                 * @return
                 */
                getPermissionAppByUser(userId:long):$.java.util.Set;
                /**
                 * 根据用户 id 获取当前用户拥有开发平台哪些业务云权限
                 *
                 * @param userId 用户 id
                 * @return
                 */
                getPermissionCloudByUser(userId:long):$.java.util.Set;
                /**
                 * 开发平台权限授权接口
                 * 如果只授权应用或者只授权云，另一个 id传入空集合即可
                 *
                 * @param userIds           用户 id
                 * @param authorizeType     授权方式
                 * @param authorizeAppIds   授权的应用 id
                 * @param authorizeCloudIds 授权的业务云 id
                 */
                authorizeDevPortalPermission(userIds:$.java.util.List,authorizeType:$.kd.bos.devportal.enums.AuthorizeType,assignPermMode:$.kd.bos.devportal.enums.AssignPermMode,authorizeAppIds:$.java.util.List,authorizeCloudIds:$.java.util.List):$.kd.bos.devportal.api.DevPortalServiceResult;
                /**
                 * 删除指定用户的开发平台权限
                 *
                 * @param userId
                 * @return
                 */
                deleteDevPortalPermissionByUser(userId:long):$.kd.bos.devportal.api.DevPortalServiceResult;
                /**
                 * 将游离页面添加到开发者门户下
                 *
                 * @param formID 表单ID
                 * @param unitID 功能分组ID
                 * @param appID  应用ID
                 */
                addFormDevportal(formId:string,unitID:string,appId:string):void;
            }
            interface DevPortalServiceHelp_C extends DevPortalServiceHelp_S {
                new():DevPortalServiceHelp;
            }
            interface DevPortalServiceHelp$ {
            }
            type DevPortalServiceHelp_T = DevPortalServiceHelp$;
            interface DevPortalServiceHelp extends DevPortalServiceHelp_T {
            }
            interface BizAppServiceHelp_S {
                /**
                 * 获取指定业务云下，设计期符合条件的应用信息
                 *
                 * @param cloudId      业务云id，指定ID只查改ID，不指定将查所有云下的
                 * @param onlyOriginal 是否只查原生应用
                 * @param onlyVisible  是否只查可见应用
                 * @param onlyActive   是否只查已启用应用
                 * @return 数据结构：[{id:xxx,number:xxx,name:xxx,seq:xxx,image:xxx,description:xxx}...]
                 */
                getAppsDesigntimeInfo(cloudId:string,onlyOriginal:boolean,onlyVisible:boolean,onlyActive:boolean):$.java.util.List;
                /**
                 * 根据业务应用ID，获取该应用下运行时一级功能分组的id,number,name,parentid
                 * [{id:xxx,number:xxx,name:xxx,parentid:xxx,seq:xxx}...]
                 *
                 * @param appId 应用id
                 * @return 数据结构：[{id:xxx,number:xxx,name:xxx,parentid:xxx,seq:xxx}...]
                 */
                getAppLevelOneFuncsRuntimeInfoById(appId:string):$.java.util.List;
                /**
                 * 获取业务云、应用、功能分组、菜单的结构数据
                 *
                 * @param bizCloudIds 业务云id的集合。获取指定业务云的过滤条件，可以为null，此时表示无过滤条件
                 * @param bizAppIds   应用id的集合。获取指定应用的过滤条件，可以为null，此时表示无过滤条件
                 * @param industryId  行业标识id。可以为null，此时表示不进行行业过滤
                 * @param leafType    叶子节点类型，可以是业务云、应用、菜单、功能分组，对应的取值分别为：cloud,app,menu,func
                 * @return 是一个TreeNode的数据结构
                 */
                getRuntimeSubsysTree(bizCloudIds:string[],bizAppIds:string[],industryId:string,leafType:string):any;
                /**
                 * 根据业务应用ID，获取应用下指定编码的功能分组
                 *
                 * @param appID      应用ID
                 * @param funcNumber 功能分组编码
                 * @return 功能分组对象
                 */
                getAppFunctionPacketByNumber(appID:string,funcNumber:string):$.kd.bos.entity.devportal.AppFunctionPacketElement;
                /**
                 * 根据业务云ID，获取应用下的所有应用对象
                 *
                 * @param cloudID 业务云id
                 * @return 应用对象集合
                 */
                getAllBizAppsByCloudID(cloudID:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * @param cloudID 业务云id
                 * @return 应用元数据集合
                 * @description 根据业务云ID，获取云下业务应用元数据
                 */
                getAllAppMetadatasByCloudID(cloudID:string):$.java.util.List;
                /**
                 * 根据业务云ID，获取应用下的所有应用对象
                 *
                 * @param cloudID 业务云id
                 * @return 应用对象集合
                 */
                getAllBizAppsByCloudID(cloudIDs:$.java.util.List):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据业务云ID，获取云下运行期所有可见已启用的应用ID
                 *
                 * @param cloudId 业务云id
                 */
                getAppsIdByCloudId(cloudId:string):$.java.util.List;
                /**
                 * 根据业务应用ID，获取应用下指定编码的菜单
                 *
                 * @param appID      应用ID
                 * @param menuNumber 菜单编码
                 * @return 菜单对象集合
                 */
                getAppMenuByNumber(appID:string,menuNumber:string):$.kd.bos.entity.devportal.AppMenuElement;
                /**
                 * 根据应用ID，获取应用下的所有表单的运行期配置信息
                 *
                 * @param appId 应用id
                 * @return 是一个list的map对象：[{id:xxx,number:xxx,name:xxx}...]
                 */
                getFormsRuntimeInfoByAppId(appId:string):$.java.util.List;
                /**
                 * 根据业务云ID，获取云下运行期的所用应用信息
                 *
                 * @param cloudId 业务云id
                 * @return 数据结构为：[{cloudinfo:{id:xxx,number:xxx,name:xxx},
                 * appsinfo:[{id:xxx,number:xxx,name:xxx,menus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx,
                 * submenus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx}...]}...]}...]}...]
                 */
                getRuntimeMainConsoleInfoByCloudId(cloudId:string):$.java.util.List;
                /**
                 * 据业务应用ID，获取应用下的所有表单功能分组
                 *
                 * @param appID 应用id
                 * @return 功能分组对象集合
                 */
                getAllAppFunctionPacketsByAppID(appID:string):$.java.util.List;
                /**
                 * 根据页面的ID，获取表单所在的应用对象
                 *
                 * @param formID 页面ID
                 * @return 应用对象
                 */
                getBizAppByFormID(formID:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 通过脚本id，获取表单开发商标识
                 *
                 * @param scriptId 脚本id
                 * @return 开发商标识
                 */
                getScriptIsvByScriptId(scriptId:string):string;
                /**
                 * 获取业务云、应用、功能分组、菜单的结构数据
                 *
                 * @param bizCloudIds 业务云id的集合。获取指定业务云的过滤条件，可以为null，此时表示无过滤条件
                 * @param bizAppIds   应用id的集合。获取指定应用的过滤条件，可以为null，此时表示无过滤条件
                 * @param industryId  行业标识id。可以为null，此时表示不进行行业过滤
                 * @param leafType    叶子节点类型，可以是业务云、应用、菜单、功能分组，对应的取值分别为：cloud,app,menu,func
                 *                    isRuntime: 是否取运行期数据，为真则只显示非扩展应用且包含扩展信息
                 *                    onlyVisible,onlyDeployed: isRuntime为真时，默认onlyVisible和onlyDeployed都会真，如需要排除这两项过滤条件，可设为false
                 * @return 是一个TreeNode的数据结构
                 */
                getSubsysTree(bizCloudIds:string[],bizAppIds:string[],industryId:string,leafType:string,isRuntime:boolean,onlyVisible:boolean,onlyDeployed:boolean):any;
                /**
                 * 根据业务应用ID和上级功能分组ID，获取子功能分组的id,number,name,parentid
                 *
                 * @param appId
                 * @param parentFuncId
                 * @return 数据结构:[{id:xxx,number:xxx,name:xxx,parentid:xxx,seq:xxx}...]
                 */
                getAppSubFuncsRuntimeInfo(appId:string,parentFuncId:string):$.java.util.List;
                /**
                 * @param bizAppId
                 * @param extAppId
                 * @return
                 * @Description:创建扩展应用
                 */
                createExtAppMetadata(bizAppId:string,extAppId:string):$.java.util.Map;
                /**
                 * 判断传入的应用，是否为全员应用，全员应用不验功能权限
                 *
                 * @param appID 应用id
                 */
                isAllUserApp(appID:string):boolean;
                /**
                 * 根据应用ID，获取应用下运行期的所有表单ID
                 *
                 * @param appId 应用id
                 * @return 表单id的集合
                 */
                getFormsIdByAppId(appId:string):$.java.util.List;
                /**
                 * 获取灰度节点业务应用元数据信息
                 */
                getAppGroupAllAppInfo(appGroup:string):string;
                /**
                 * 根据业务云ID，获取云下运行期的所用应用信息
                 *
                 * @param cloudId 业务云id
                 * @return 数据结构：[{id:xxx,number:xxx,name:xxx,seq:xxx,image:xxx,description:xxx}...]
                 */
                getAppsRuntimeInfoByCloudId(cloudId:string):$.java.util.List;
                /**
                 * 获取应用的parentId和number
                 *
                 * @param bizAppId 应用id
                 * @return 开发商标识
                 */
                getParentIdAndNumberByAppId(bizAppId:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取应用的开发商标识
                 *
                 * @param bizAppId 应用id
                 * @return 开发商标识
                 */
                getAppIsvByAppId(bizAppId:string):string;
                /**
                 * 取全部业务应用对象
                 */
                getAllBizApps():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 按云分组获取各云下运行期的应用信息，如果云下无可显示应用，不显示该云
                 *
                 * @param onlyActive boolean值，true，表示只包含已启用的应用；false，标识所以应用
                 * @return 数据结构为：[{cloudinfo:{id:xxx,number:xxx,name:xxx},
                 * appsinfo:[{id:xxx,number:xxx,name:xxx,menus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx,
                 * submenus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx}...]}...]}...]}...]
                 */
                getSysAppsRuntimeInfoGroupByCloud(onlyActive:boolean):$.java.util.List;
                /**
                 * 根据业务应用ID，获取应用下指定ID的菜单
                 *
                 * @param appID  应用ID
                 * @param menuId 菜单ID
                 * @return 菜单对象集合
                 */
                getAppMenuById(appID:string,menuId:string):$.kd.bos.entity.devportal.AppMenuElement;
                /**
                 * 根据业务应用ID，获取应用下指定ID的功能分组
                 *
                 * @param appID  应用ID
                 * @param funcId 功能分组ID
                 * @return 功能分组对象
                 */
                getAppFunctionPacketById(appID:string,funcId:string):$.kd.bos.entity.devportal.AppFunctionPacketElement;
                /**
                 * @param formID 页面ID
                 * @return 应用元数据对象
                 * @description 根据页面的ID，获取表单所在的业务应用元数据
                 */
                getAppMetadataByFormID(formID:string):$.kd.bos.metadata.devportal.AppMetadata;
                /**
                 * 根据业务应用ID，获取应用下的所有菜单
                 *
                 * @param appID 应用ID
                 * @return 菜单对象集合
                 */
                getAllAppMenusByAppID(appID:string):$.java.util.List;
                /**
                 * 获取全部业务应用元数据信息
                 */
                getAllAppInfo():any;
                /**
                 * 获取系统下运行期所有可见已启用的应用ID
                 */
                getSysAppsId():$.java.util.List;
                /**
                 * 根据业务应用id，获取应用编码
                 *
                 * @param appId 应用id
                 * @return 应用编码
                 */
                getAppNumByAppId(appId:string):string;
                /**
                 * 根据业务应用编码，获取每个菜单的id,numbe,name
                 *
                 * @param appNumber 为应用编码
                 * @return 数据结构：[{id:xxx,number:xxx,name:xxx,parentid:xxx,seq:xxx}...]
                 */
                getAppRuntimeMenusInfo(appNumber:string):string;
                /**
                 * 获取方案资源
                 *
                 * @param appId 应用内码
                 */
                getCustomerCtlResourcesByAppId(appId:string):$.java.util.List;
                /**
                 * 部署方案资源
                 *
                 * @param schemaId 方案Id
                 * @param fileName 文件名
                 * @param in       文件流
                 */
                deployCustomerCtlSchema(schemaId:string,fileName:string,in_arg:$.java.io.InputStream):boolean;
                /**
                 * 通过表单id，获取表单的开发商标识
                 *
                 * @param formId 表单id
                 * @return 开发商标识
                 */
                getFormIsvByFormId(formId:string):string;
                /**
                 * 根据业务应用编码，获取应用svn地址
                 *
                 * @param appNumber 应用编码
                 */
                getSVNPathByAppNumber(appNumber:string):string;
                /**
                 * 获取指定业务云下，设计期所有可见且启用的应用信息
                 *
                 * @param cloudId 业务云id
                 * @return 数据结构：[{id:xxx,number:xxx,name:xxx,seq:xxx,image:xxx,description:xxx}...]
                 */
                getAppsDesigntimeInfo(cloudId:string):$.java.util.List;
                /**
                 * 获取全部业务应用元数据
                 */
                getAllAppMetadatas():$.java.util.List;
                /**
                 * 根据业务应用ID，获取应用svn地址
                 *
                 * @param appId 应用ID
                 */
                getSVNPathByAppId(appId:string):string;
                /**
                 * 根据业务应用编码，获取应用的运行期元数据信息，包括应用id,number,name
                 *
                 * @param appNumber 为应用编码
                 * @return 数据结构：{id:xxx,number:xxx,name:xxx,image:xxx,description:xxx}
                 */
                getAppRuntimeInfo(appNumber:string):string;
                /**
                 * 根据搜素关键字搜素:应用的编码,名称；菜单的名称;
                 * 返回值数据结构说明：{apps:[{name:"xxx",number:"xxx",id:"xxx"},{name:"xxx",number:"xxx",id:"xxx"}...],menus:[{id:"xxx",name:"xxx",appId:"xxx"}]}
                 *
                 * @param key
                 * @return
                 */
                searchAppAndMenu(key:string):any;
                /**
                 * 根据表单标识获取应用id
                 *
                 * @param formNum 表单标识
                 * @return 应用id
                 */
                getAppIdByFormNum(formNum:string):string;
                /**
                 * 获取方案资源
                 *
                 * @param formId 表单编码
                 */
                getCustomerCtlResourcesBySchemaId(formId:string):$.java.util.List;
                /**
                 * 获取系统下运行期所有可见已启用的应用编码
                 */
                getSysAppsNumber():$.java.util.List;
                /**
                 * 根据业务应用编码，获取应用id
                 *
                 * @param appNumber 应用编码
                 * @return 应用id
                 */
                getAppIdByAppNumber(appNumber:string):string;
                /**
                 * 按云分组获取各云下运行期的应用信息，如果云下无可显示应用，不显示该云
                 *
                 * @return 数据结构为：[{cloudinfo:{id:xxx,number:xxx,name:xxx},
                 * appsinfo:[{id:xxx,number:xxx,name:xxx,menus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx,
                 * submenus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx}...]}...]}...]}...]
                 */
                getSysRuntimeMainConsoleInfoGroupByCloud():$.java.util.List;
                /**
                 * 获取各业务云下运行期的应用信息，如果云下无可显示应用，不显示该云，只包含已启用的应用
                 *
                 * @return 数据结构为：[{cloudinfo:{id:xxx,number:xxx,name:xxx},
                 * appsinfo:[{id:xxx,number:xxx,name:xxx,menus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx,
                 * submenus:[{id:xxx,name:xxx,number:xxx,formid:xxx,formnumber:xxx,formname:xxx}...]}...]}...]}...]
                 */
                getSysAppsRuntimeInfoGroupByCloud():$.java.util.List;
            }
            interface BizAppServiceHelp_C extends BizAppServiceHelp_S {
                new():BizAppServiceHelp;
            }
            interface BizAppServiceHelp$ {
            }
            type BizAppServiceHelp_T = BizAppServiceHelp$;
            interface BizAppServiceHelp extends BizAppServiceHelp_T {
            }
            interface BizCloudServiceHelp_S {
                /**
                 * 根据应用的ID，获取应用所在的业务云对象
                 * @param appID 应用ID
                 * @return 业务云对象
                 */
                getBizCloudByAppID(appID:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取全部业务云对象
                 */
                getAllBizClouds():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据页面ID，获取表单所在的业务云对象
                 * @param formID 页面ID
                 * @return 业务云对象
                 */
                getBizCloudByFormID(formID:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 根据业务云ID，获取业务云对象
                 * @param cloudID 业务云ID
                 * @return 业务云对象
                 */
                getBizCloudByID(cloudID:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取业务云的开发商标识
                 * @param bizCloudId 业务云id
                 * @return 业务云开发商标识
                 */
                getIsvByCloudId(bizCloudId:string):string;
            }
            interface BizCloudServiceHelp_C extends BizCloudServiceHelp_S {
                new():BizCloudServiceHelp;
            }
            interface BizCloudServiceHelp$ {
            }
            type BizCloudServiceHelp_T = BizCloudServiceHelp$;
            interface BizCloudServiceHelp extends BizCloudServiceHelp_T {
            }
        }
        namespace kd.bos.servicehelper.earlywarn{
            interface EarlyWarnLogHelper_S {
                readonly log:$.kd.bos.logging.Log;
                /**
                 * 判断日志是否已经创建
                 * @param id 主键
                 * @return true表示存在 false 表示不存在
                 */
                existLog(id:long):boolean;
                /**
                 * 结束日志，更新状态
                 * @param id 日志id
                 * @param status 监控方案状态
                 * <p>
                 *     <strong>WarnScheduleStatus 参数详细信息 {@link kd.bos.entity.earlywarn.log.WarnScheduleStatus}</strong>
                 * </p>
                 */
                endLog(id:long,status:kd.bos.entity.earlywarn.log.WarnScheduleStatus):void;
                /**
                 * 保存详细执行日志
                 * @param earlyWarnLogId 日志id
                 * @param action 操作动作
                 * @param result 操作结果
                 */
                saveDetailLog(earlyWarnLogId:long,action:string,result:string):void;
                /**
                 * 批量保存详细执行日志
                 * @param detailLogs 日志列表
                 * <p>
                 *     <strong>EarlyWarnDetailLog 参数详细信息 {@link kd.bos.entity.earlywarn.log.EarlyWarnDetailLog}</strong>
                 * </p>
                 */
                batchSaveDetailLogs(detailLogs:$.java.util.List):void;
                /**
                 * 批量创建预警消息日志
                 * @param earlyWarnLogId 预警日志id
                 * @param msgIds 消息ID集合
                 * @return
                 */
                batchCreateMsgLog(earlyWarnLogId:long,msgIds:$.java.util.List):void;
                /**
                 * 创建预警执行日志
                 * @param warnScheduleId  预警监控方案id
                 * @param operationType   操作类型
                 * @return 日志id
                 * <p>
                 *     <strong>WarnScheduleOperationType 参数详细信息 {@link kd.bos.entity.earlywarn.log.WarnScheduleOperationType}</strong>
                 * </p>
                 */
                createLog(warnScheduleId:string,operationType:kd.bos.entity.earlywarn.log.WarnScheduleOperationType):long;
            }
            interface EarlyWarnLogHelper_C extends EarlyWarnLogHelper_S {
                new():EarlyWarnLogHelper;
            }
            interface EarlyWarnLogHelper$ {
            }
            type EarlyWarnLogHelper_T = EarlyWarnLogHelper$;
            interface EarlyWarnLogHelper extends EarlyWarnLogHelper_T {
            }
            interface EarlyWarnMetaServicHelper_S {
                /**
                 * 保存业务预警对象元数据
                 * @param metadata 业务对象元数据
                 * @return 合并后业务对象元数据
                 */
                save(metadata:kd.bos.metadata.earlywarn.warn.EarlyWarnMetadata):$.java.util.Map;
                /**
                 * 根据masterId加载所有业务对象元数据（包含根节点）
                 * @param masterId 业务对象根节点id
                 * @return 所有业务对象元数据
                 */
                loadMetasByMasterId(masterId:string):$.java.util.List;
                /**
                 * 检查是否被业务预警对象使用
                 * @param id 预警对象ids
                 * @return 是否被使用
                 */
                hasUsedByWarnSchedule(id:string):boolean;
                /**
                 * 根据masterId删除业务预警对象数据
                 * @param masterIds masterId
                 * @return 删除内容
                 */
                deleteByMasterIds(masterIds:$.java.util.List):$.java.util.Map;
                /**
                 * 加载业务预警对象元数据
                 * @param number 业务对象编码
                 * @param runtime 是否为运行时
                 * @return 业务预警对象元数据
                 */
                loadMetaByNumber(number_arg:string,runtime:boolean):kd.bos.metadata.earlywarn.warn.EarlyWarnMetadata;
                /**
                 * 根据id查找业务预计对象元数据
                 * @param id 主键
                 * @param runtime 是否为运行时
                 * @return 业务预警对象元数据
                 */
                loadMetaById(id:string,runtime:boolean):kd.bos.metadata.earlywarn.warn.EarlyWarnMetadata;
                /**
                 * 删除业务预警对象元数据
                 * @param ids 业务预警对象ids
                 * @return 操作结果{success:true, message:"删除成功"}
                 */
                delete(ids:$.java.util.List):$.java.util.Map;
                /**
                 * 判断指定id的业务元数据对象是否存在
                 * @param id 主键
                 * @return 存在返回true
                 */
                idExists(id:string):boolean;
                /**
                 * 检测该编码业务对象是否已经存在
                 * @param number 业务对象编码
                 * @return boolean 存在返回true
                 */
                exists(number_arg:string):boolean;
            }
            interface EarlyWarnMetaServicHelper_C extends EarlyWarnMetaServicHelper_S {
                new():EarlyWarnMetaServicHelper;
            }
            interface EarlyWarnMetaServicHelper$ {
            }
            type EarlyWarnMetaServicHelper_T = EarlyWarnMetaServicHelper$;
            interface EarlyWarnMetaServicHelper extends EarlyWarnMetaServicHelper_T {
            }
            interface WarnScheduleMetaServiceHelper_S {
                /**
                 * 判断指定id的监控方案元数据对象是否存在
                 * @param id 主键
                 * @return 存在返回true
                 */
                idExists(id:string):boolean;
                /**
                 * 删除监控方案元数据
                 * @param ids 监控方案ids
                 * @return 操作结果{success:true, message:"删除成功"}
                 */
                delete(ids:$.java.util.List):$.java.util.Map;
                /**
                 * 保存监控方案元数据
                 * @param metadata 监控方案元数据
                 * @return 合并后监控方案元数据
                 */
                save(metadata:kd.bos.metadata.earlywarn.warnschedule.WarnScheduleMetadata):$.java.util.Map;
                /**
                 * 禁用监控方案
                 * @param id 启用监控id
                 * @return 操作结果
                 */
                disable(id:string):$.java.util.Map;
                /**
                 * 根据id查找监控方案元数据
                 * @param id 主键
                 * @param runtime 是否为运行时
                 * @return 监控方案元数据
                 */
                loadMetaById(id:string,runtime:boolean):kd.bos.metadata.earlywarn.warnschedule.WarnScheduleMetadata;
                /**
                 * 启用监控方案
                 * @param id 启用监控id
                 * @return 操作结果
                 */
                enable(id:string):$.java.util.Map;
                /**
                 * 检测该编码监控方案是否已经存在
                 * @param number 监控方案编码
                 * @return boolean 存在返回true
                 */
                exists(number_arg:string):boolean;
                /**
                 * 获取调度相关信息
                 * @param ids 主键id
                 * @return DynamicObjectCollection [{id:"id",job_id:"",plan_id:""}]
                 */
                getJobInfosBy(ids:$.java.util.List):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 加载监控方案元数据
                 * @param number 监控方案编码
                 * @param runtime 是否为运行时
                 * @return 监控方案元数据
                 */
                loadMetaByNumber(number_arg:string,runtime:boolean):kd.bos.metadata.earlywarn.warnschedule.WarnScheduleMetadata;
                /**
                 * 依据编码查找id
                 * @param number 编码
                 * @return id
                 */
                getIdByNumber(number_arg:string):string;
            }
            interface WarnScheduleMetaServiceHelper_C extends WarnScheduleMetaServiceHelper_S {
                new():WarnScheduleMetaServiceHelper;
            }
            interface WarnScheduleMetaServiceHelper$ {
            }
            type WarnScheduleMetaServiceHelper_T = WarnScheduleMetaServiceHelper$;
            interface WarnScheduleMetaServiceHelper extends WarnScheduleMetaServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.filter{
            interface FilterServiceHelper_S {
                /**
                 * @description 通过方案和指定实体，返回QFilter
                 * @param fs 方案过滤储存对象
                 * @param entityTypeId 实体ID
                 * @param preFilter
                 * @param isolationOrg 是否隔离组织
                 * @param appId 应用编码
                 * @return QFilter集
                 */
                getQFiltersByFilterScheme(fs:$.kd.bos.entity.filter.FilterScheme,entityTypeId:string,preFilter:$.kd.bos.orm.query.QFilter,isolationOrg:boolean,appId:string):$.java.util.List;
                /**
                 * @description 获取指定方案ID和指定实体的记录集条数
                 * @param schemeId 方案ID
                 * @param preFilter QFilter对象
                 * @param isolationOrg 是否隔离组织
                 */
                getQFilterCount(schemeId:string,entityTypeId:string,preFilter:$.kd.bos.orm.query.QFilter,isolationOrg:boolean):number;
                /**
                 * @description 获取指定方案ID和指定实体的记录集条数
                 * @param schemeId 方案ID
                 * @param preFilter QFilter对象
                 */
                getQFilterCount(schemeId:string,entityTypeId:string,preFilter:$.kd.bos.orm.query.QFilter):number;
                /**
                 * @description 获取指定方案和指定实体的记录集条数
                 * @param fs 方案过滤对象
                 * @param formId 表单ID
                 * @param preFilter QFilter对象
                 */
                getQFilterCount(fs:$.kd.bos.entity.filter.FilterScheme,formId:string,preFilter:$.kd.bos.orm.query.QFilter):number;
                /**
                 * @description 获取当前用户指定实体的默认方案
                 * @param formid 表单ID
                 */
                getDefaultScheme(formid:string):$.kd.bos.entity.filter.FilterScheme;
                /**
                 * @description 通过方案ID获取方案
                 * @param schemeId 方案ID
                 */
                getFilterSchemeById(schemeId:string):$.kd.bos.entity.filter.FilterScheme;
                /**
                 * @description 获取指定实体的预制方案列表
                 * @param formid 表单ID
                 */
                getPreSchemeList(formid:string):$.java.util.List;
                /**
                 * @description 获取当前用户指定实体的方案列表
                 * @param formid 表单ID
                 */
                getSchemeList(formid:string):$.java.util.List;
                /**
                 * @description 获取指定方案和指定实体的记录集条数
                 * @param fs 方案过滤对象
                 * @param preFilter QFilter对象
                 * @param isolationOrg 是否隔离组织
                 */
                getQFilterCount(fs:$.kd.bos.entity.filter.FilterScheme,entityTypeId:string,preFilter:$.kd.bos.orm.query.QFilter,isolationOrg:boolean,appId:string):number;
                /**
                 * @description 获取指定方案和指定实体的记录集条数
                 * @param fs 方案过滤对象
                 * @param entityTypeId 实体ID
                 * @param preFilter QFilter对象
                 * @param isolationOrg 是否隔离组织
                 */
                getQFilterCount(fs:$.kd.bos.entity.filter.FilterScheme,entityTypeId:string,preFilter:$.kd.bos.orm.query.QFilter,isolationOrg:boolean):number;
                /**
                 * @description 通过方案和指定实体，返回QFilter
                 * @param fs 方案过滤储存对象
                 * @param entityTypeId 实体编码
                 * @param preFilter QFilter对象
                 */
                getQFilterByFilterScheme(fs:$.kd.bos.entity.filter.FilterScheme,entityTypeId:string,preFilter:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter;
            }
            interface FilterServiceHelper_C extends FilterServiceHelper_S {
                new():FilterServiceHelper;
            }
            interface FilterServiceHelper$ {
            }
            type FilterServiceHelper_T = FilterServiceHelper$;
            interface FilterServiceHelper extends FilterServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.flex{
            interface FlexHelper_S {
                /**
                 * 保存弹性域数据
                 * @param flexEntityType
                 *            弹性域实体类型（基础资料的弹性域完整实体类型）
                 * @param flexObject
                 *            弹性域数据
                 * @return 保存的弹性域数据id
                 */
                save(flexEntityType:$.kd.bos.entity.MainEntityType,flexObject:$.kd.bos.dataentity.entity.DynamicObject):long;
                /**
                 * 根据基础资料值获取启用的弹性域属性
                 *
                 * @param entityNumber
                 *            基础资料实体标识
                 * @param basePKVal
                 *            基础资料值
                 * @param flexPropertyKey
                 *            基础资料上的弹性域属性标识
                 * @return 弹性域属性的id集合
                 */
                getBaseUseFlexProperties(entityNumber:string,basePKVal:any,flexPropertyKey:string):$.java.util.List;
                /**
                 * 批量保存弹性域数据
                 * @param flexTypeId  弹性域类型  1：辅助属性  2：核算维度
                 * @param flexEntireDatas  弹性域数据集合
                 * @return 批量保存弹性域数据id集合
                 */
                batchSaveFlexData(flexTypeId:number,flexEntireDatas:$.java.util.List):$.java.util.List;
                /**
                 * 保存弹性域数据
                 * @param flexEntityType 弹性域实体类型（基础资料的弹性域完整实体类型）
                 * @param flexEntireData 弹性域数据
                 * @return 保存的弹性域数据id
                 */
                saveFlexData(flexEntityType:$.kd.bos.entity.MainEntityType,flexEntireData:$.kd.bos.entity.flex.FlexEntireData):long;
            }
            interface FlexHelper_C extends FlexHelper_S {
                new():FlexHelper;
            }
            interface FlexHelper$ {
            }
            type FlexHelper_T = FlexHelper$;
            interface FlexHelper extends FlexHelper_T {
            }
        }
        namespace kd.bos.servicehelper.image{
            interface ImageServiceHelper_S {
                /**
                 * 删除影像
                 */
                discardImage(noticeImageInfo:kd.bos.image.pojo.NoticeImageInfo):boolean;
                /**
                 * 影像系统通知EAS影像状态变更(退扫)
                 */
                updateImageState(inputXml:string):void;
                /**
                 * 通知下一代上传成功
                 * @param inputXml
                 */
                imageReady(inputXml:string):string;
                /**
                 * 同步数据
                 */
                invokeSynBillImageMap(map:$.java.util.HashMap):boolean;
                /**
                 * 查看影像
                 */
                viewPhoto(imageNumber:string,userID:string,userName:string):string;
                /**
                 * 获取票据信息
                 * @param inputXml
                 */
                getImageInfo(inputXml:string):string;
                /**
                 * 查看影像
                 */
                viewPhoto(viewImageVo:kd.bos.image.pojo.ViewImageVo):kd.bos.image.pojo.ViewImageVo;
                /**
                 *  批量异步生成影像编码接口
                 */
                createImageInfoBatchAsyn(imageInfoList:$.java.util.List):void;
                /**
                 * 获取扫描员首页
                 * @param personId
                 * @param scanLocation
                 * @param allowShowAnnotation
                 * @param allowHideMask
                 * @param allowEditAnnotationMask
                 * @param language
                 * @return
                 */
                getScanHomeUrl(personId:string,scanLocation:string,allowShowAnnotation:boolean,allowHideMask:boolean,allowEditAnnotationMask:boolean,language:string):string;
                /**
                 * 删除影像
                 */
                deleteImage(imageNo:string,userName:string,arg2:string):string;
                /**
                 * 取消影像退扫
                 */
                cancelRescan(barCode:string,cancelMessage:string,cancelUser:string):string;
                /**
                 *  获取影像信息
                 */
                getImageInfoInside(imageInfo:kd.bos.image.pojo.ImageInfo):kd.bos.image.pojo.ImageInfo;
                /**
                 *  影像审核
                 */
                auditImage(imageInfo:kd.bos.image.pojo.ImageInfo):kd.bos.image.pojo.ImageInfo;
                /**
                 *  通知EAS同步影像编码,采用mq队列形式发送同步请求
                 */
                SynEasImageMap(massage:string,imagenumber:string):void;
                /**
                 *  批量生成影像编码接口
                 */
                createImageInfoBatch(imageInfoList:$.java.util.List):$.java.util.Map;
                /**
                 * 影像退扫
                 */
                imageRscan(imageNumber:string,rescanMessage:string,userid:string):string;
                /**
                 *  生成影像编码接口
                 */
                createImageInfo(imageInfo:kd.bos.image.pojo.ImageInfo):string;
            }
            interface ImageServiceHelper_C extends ImageServiceHelper_S {
                new():ImageServiceHelper;
            }
            interface ImageServiceHelper$ {
            }
            type ImageServiceHelper_T = ImageServiceHelper$;
            interface ImageServiceHelper extends ImageServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.inte{
            interface InteServiceHelper_S {
                /**
                 * 判断某个字符串是否阿拉伯币别符号
                 * @param currencySymbol 币别符号
                 * @return 是否阿拉伯币别符号
                 */
                isArabicCurrency(currencySymbol:string):boolean;
                /**
                 * 描述：根据用户ID和精度信息,获取该用户的数字格式
                 * @param userID
                 *            用户ID
                 * @param precision
                 *            精度
                 * @return 数字格式 ##,###.##
                 */
                getNumberFormat(userID:long,precision:number):$.java.util.Map;
                /**
                 * 描述：根据区域格式ID，获取区域格式的具体内容
                 * <p/>注意：底层查询方法会有返回null的情况，所以调用方需要进行null判断
                 * @param formatID 区域格式ID，如果传0则返回默认的区域格式
                 *
                 * @return 区域格式信息
                 */
                getFormat(formatID:long):$.kd.bos.entity.format.FormatObject;
                /**
                 * 描述：批量保存组织时区信息
                 *
                 * @param orgTimeZoneMap 组织时区集合
                 *
                 * 注意:保存成功后,组织时区信息立即生效.对通过组织时区控制的长日期时间控件内容显示会产生影响.
                 */
                saveOrgTimezone(orgTimeZoneMap:$.java.util.Map):void;
                /**
                 * 描述：获取系统的时区信息。
                 *
                 * <p>此方法返回一个包含系统时区信息的 <code>DynamicObject</code> 对象，该对象封装了当前系统的时区数据，通常是一个表示时区的字符串。
                 *    此方法不需要任何外部输入参数，直接调用即可获取时区信息。</p>
                 *
                 * @return 一个 <code>DynamicObject</code> 对象，包含系统时区信息。
                 *
                 * <pre>
                 *     DynamicObject timezone = someObject.getSysTimezone();
                 *     String timezoneString = timezone.getString("number");
                 *     System.out.println("Current System Timezone: " + timezoneString);
                 * </pre>
                 * <p>
                 */
                getSysTimezone():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：同{@link InteServiceHelper#convertDate(ChronoLocalDateType, ChronoLocalDateType, String) }
                 *
                 * @param sourceDateName 源日历类型名称，值应为{@link ChronoLocalDateType#name()}，否则抛出{@link IllegalArgumentException}异常
                 * @param targetDateName 目标日历类型名称，值应为{@link ChronoLocalDateType#name()}，否则抛出{@link IllegalArgumentException}异常
                 * @param sourceDate     源日历的日期字符串
                 *
                 * @return java.lang.String 对应目标日历日期的字符串
                 *
                 * @author YangHang
                 */
                convertDate(sourceDateName:string,targetDateName:string,sourceDate:string):string;
                /**
                 * 描述：从给定日历 @sourceType 的日期字符串 @sourceDate ，转为目标日历 @targetType 的对应日期字符串。
                 *
                 * @param sourceType 源日历类型
                 * @param targetType 目标日历类型
                 * @param sourceDate 源日历的日期字符串
                 *
                 * @return java.lang.String 对应目标日历日期的字符串
                 *
                 * @author YangHang
                 */
                convertDate(sourceType:$.kd.bos.inte.api.enums.ChronoLocalDateType,targetType:$.kd.bos.inte.api.enums.ChronoLocalDateType,sourceDate:string):string;
                /**
                 * 描述：根据组织ID和时区对象,保存组织的时区信息
                 * @param orgID
                 *            组织ID
                 * @param timezone
                 *            时区
                 *
                 * 注意:保存成功后,组织时区信息立即生效.对通过组织时区控制的长日期时间控件内容显示会产生影响.
                 */
                saveOrgTimezone(orgID:long,timezone:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 描述：获取当前系统设置的默认语言编码
                 * @return 语言编码。例如：zh_CN、en_US、zh_TW
                 */
                getDefaultLangNumber():string;
                /**
                 * 描述：获取当前系统中启用的语言信息
                 *
                 * @return 启用语言列表
                 */
                getEnabledLang():$.java.util.List;
                /**
                 * 描述：地址信息保存
                 * @param addressInfo 地址信息
                 * @return 地址信息保存结果对象
                 */
                commitAddressInfo(addressInfo:$.java.util.Map):$.kd.bos.inte.api.address.AddressCommitResult;
                /**
                 * 描述：根据职能组织ID，获取职能组织时区
                 * @param orgID 职能组织ID
                 * @return DynamicObject 职能组织时区
                 */
                getBizOrgTimezone(orgID:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：根据用户ID,获取用户日期格式
                 * @param userID 用户ID
                 * @return 日期格式 yyyy-MM-dd
                 */
                getDateFormat(userID:long):string;
                /**
                 * 描述：根据组织ID，获取组织时区
                 * @param orgID 组织ID
                 * @return DynamicObject 组织时区
                 */
                getOrgTimezone(orgID:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：地址格式信息保存
                 * @param addressConfigInfo 地址格式信息对象
                 * @return 地址格式保持结果对象
                 */
                commitAddressConfig(addressConfigInfo:$.kd.bos.inte.api.address.AddressConfigInfo):$.kd.bos.inte.api.address.AddressCommitResult;
                /**
                 * 描述：根据用户ID和时区对象,保存该用户的个人时区
                 * @param userID
                 *            用户ID
                 * @param timezone
                 *            时区
                 *
                 * 注意:保存成功后,个人时区信息立即生效.对通过个人时区控制的长日期控件内容显示会产生影响.
                 */
                saveUserTimezone(userID:long,timezone:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 描述：根据用户ID，更新用户的个人时区信息
                 * @param userId 人员id
                 * @param timeZoneNum 时区编码
                 * @return 更新结果为Map类型。包含了更新是否成功，错误信息等内容。
                 */
                updateUserTimeZone(userId:long,timeZoneNum:string):$.java.util.Map;
                /**
                 * 描述：根据用户ID,获取用户时间格式
                 * @param userID 用户ID
                 * @return 时间格式 hh:mm:ss
                 */
                getTimeFormat(userID:long):$.java.util.Map;
                /**
                 * 描述：获取用户时区
                 * @param userID 用户ID
                 * @return DynamicObject 用户时区
                 */
                getUserTimezone(userID:long):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 批量查询目标语言的文字方向属性值
                 * @param langSet 语言编码列表
                 * @return Map<语言编码,文字方向> resultMap   - 文字方向属性值:rtl(右>左)/ltr(左>右)
                 */
                batchQueryDirectionByLang(langSet:$.java.util.Set):$.java.util.Map;
                /**
                 * 描述：根据国家ID，获取国家对应的时区/区域配置信息
                 * @param countryId 国家基础资料的ID
                 * @return 国家的时区/区域配置信息
                 */
                getCountryConfiguration(countryId:long):$.java.util.Map;
                /**
                 * 描述：根据用户ID,获取该用户货币格式
                 * @param userID 用户ID
                 * @return 数字格式 ##,###.##
                 */
                getCurrencyFormat(userID:long):$.java.util.Map;
                /**
                 * 描述：根据用户ID信息,获取该用户的区域格式
                 * @param userID 用户ID
                 * @return Map<String, String> key:dateFormat 日期格式 yyyy-MM-dd; timeFormat
                 *         时间格式 hh:mm:ss; numberFormat 数字格式 ##,###.##
                 */
                getUserFormat(userID:long):$.kd.bos.entity.format.FormatObject;
                /**
                 * 描述：获取当前系统中多语言字段控件可以使用的语言种类
                 *
                 * @return 多语言字段控件启用语言列表
                 */
                getMultiLangEnabledLang():$.java.util.List;
                /**
                 * 描述：根据用户ID，获取用户默认消息发送语言
                 * @param userID 用户ID
                 * @return 用户默认消息语言信息对象
                 */
                getUserLang(userID:long):$.kd.bos.inte.api.EnabledLang;
            }
            interface InteServiceHelper_C extends InteServiceHelper_S {
                new():InteServiceHelper;
            }
            interface InteServiceHelper$ {
            }
            type InteServiceHelper_T = InteServiceHelper$;
            interface InteServiceHelper extends InteServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.license{
            interface LicenseGrayServiceHelper_S {
            }
            interface LicenseGrayServiceHelper_C extends LicenseGrayServiceHelper_S {
                new():LicenseGrayServiceHelper;
            }
            interface LicenseGrayServiceHelper$ {
            }
            type LicenseGrayServiceHelper_T = LicenseGrayServiceHelper$;
            interface LicenseGrayServiceHelper extends LicenseGrayServiceHelper_T {
            }
            interface LicenseServiceHelper_S {
                /**
                 * 是否是伙伴的业务对象
                 * @param entityTypeId "lic_license"
                 * @return  是TRUE 否FALSE
                 */
                isIsv(entityTypeId:string):boolean;
                /**
                 * 获取所有产品信息
                 * @return Map<String, String> key:prodInstCode 产品实例码,productID 产品ID,productNo 产品序列号,softwareCode 软件特征码
                 */
                getProductInfos():$.java.util.List;
                /**
                 * 获取分组已占用的许可数量（不包含未同步、同步异常的数据）
                 *
                 * @param groupIds 许可分组ID
                 * @return result, key为分组主键，value为分组的已占用数量
                 */
                getUsedQuantityByGroups(groupIds:$.java.util.List):$.java.util.Map;
                /**
                 * 描述：删除用户所有许可（苍穹版本v6.0之前 只是写入增量表中，下次同步许可时尝试删除，V6.0及之后的版本中为直接删除该用户的全部许可分组分配关系）
                 * @param userID 需要删除许可的用户ID集合
                 */
                deleteUserLic(userID:$.java.util.Set):void;
                /**
                 * 添加用户许可
                 * @param userIds
                 * @param groupIds
                 * @param legalPersonID 开启法人参数时传入，非法人公司可以为null
                 * @return List<LicenseError>  包括错误类型，原因等
                 */
                addUserGroupById(userIds:$.java.util.Set,groupIds:$.java.util.Set,legalPersonID:long):$.java.util.List;
                /**
                 * 将分组编码-用户保存至许可用户分组表
                 *
                 * @param groupNumber 许可分组编码
                 * @param userIds     用户id集合
                 * @return 返回成功用户集合
                 */
                addUserListByGroupNum(groupNumber:string,userIds:$.java.util.List):$.java.util.List;
                /**
                 * 描述：获取指定许可分组的总站点数
                 *
                 * @param groupId 许可分组ID
                 * @return 购买总站点数
                 */
                getTotalNumber(groupId:any):number;
                /**
                 * 描述: 将用户从指定分组中移除
                 *
                 * @param userId   用户ID
                 * @param groupNum 分组编码集合
                 * @return true:移除成功
                 */
                removeUserLicGroupByNum(userId:long,groupNum:$.java.util.Set):boolean;
                /**
                 * 将分组-用户保存至许可用户分组表
                 *
                 * @param groupId       许可分组id
                 * @param userIds       用户id集合
                 * @param legalPersonID 法人公司ID
                 * @return 返回成功用户集合
                 */
                addUserListByGroupId(groupId:any,userIds:$.java.util.List,legalPersonID:long):$.java.util.List;
                /**
                 * 获取分组租赁开始时间以及到期时间
                 * @param groupId
                 * @return Map<String,Date> key: expireDate、beginDate ；value 租赁结束日期、租赁起始日期
                 */
                getGroupTimeRange(groupId:long):$.java.util.Map;
                /**
                 * 描述：根据应用和业务对象分配用户至对应分组
                 * @param userId 用户Id
                 * @param bizAppAndObjInfo Map<应用id,List<业务对象编码>>
                 * @return key:success value:true 调用成功
                 */
                addUserLicGroupByBizAppAndBizObj(userId:long,bizAppAndObjInfo:$.java.util.Map):$.java.util.Map;
                /**
                 * 将分组-用户保存至许可用户分组表
                 *
                 * @param groupId 许可分组id
                 * @param userIds 用户id集合
                 * @return 返回成功用户集合
                 */
                addUserListByGroupId(groupId:any,userIds:$.java.util.List):$.java.util.List;
                /**
                 * 获取许可分组到期时间
                 *
                 * @param groupId 许可分组ID
                 * @return 当前分组到期的时间
                 */
                getExpireDateByGroup(groupId:long):Date;
                /**
                 * 描述：获取指定许可分组的剩余可使用数量。
                 *
                 * @param groupId 许可分组ID
                 * @return int 许可分组的剩余数量
                 */
                getRemainNumber(groupId:any):number;
                /**
                 * 删除用户许可
                 * @param userIds
                 * @param groupIds
                 * @param legalPersonID 开启法人参数时传入，非法人公司可以为null
                 * @return List<LicenseError>  包括错误类型，原因等
                 */
                deleteUserGroupById(userIds:$.java.util.Set,groupIds:$.java.util.Set,legalPersonID:long):$.java.util.List;
                /**
                 * 获取分组已占用的许可数量（不包含未同步、同步异常的数据）
                 *
                 * @param groupId 许可分组ID
                 * @return 已占用的数量
                 */
                getUsedQuantityByGroup(groupId:long):number;
                /**
                 * 描述：获取模式类型。
                 * return 1: 苍穹标准版（单法人单组织）; 2: 苍穹企业版（单法人多组织）|| 星空旗舰（旧） ; 3: 苍穹尊享版（多法人多组织）4：星空旗舰
                 */
                getModeType():number;
                /**
                 * 描述：根据应用和业务对象分配用户至对应分组
                 * @param userIds 用户Id结合
                 * @param bizAppAndObjInfo Map<应用id,List<业务对象编码>>
                 * @return key:success value:true 调用成功
                 */
                addUsersLicGroupByBizAppAndBizObj(userIds:$.java.util.List,bizAppAndObjInfo:$.java.util.Map):$.java.util.Map;
                /**
                 * 描述: 将用户从指定分组中移除
                 *
                 * @param userId  用户ID
                 * @param groupId 分组ID集合
                 * @return true:移除成功
                 */
                removeUserLicGroupById(userId:long,groupId:$.java.util.Set):boolean;
            }
            interface LicenseServiceHelper_C extends LicenseServiceHelper_S {
                new():LicenseServiceHelper;
            }
            interface LicenseServiceHelper$ {
            }
            type LicenseServiceHelper_T = LicenseServiceHelper$;
            interface LicenseServiceHelper extends LicenseServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.log{
            interface LogServiceHelper_S {
                /**
                 * 查询上机操作日志
                 * @param userId
                 * @param month
                 * @return
                 */
                getOperationLogByUserId(userId:long,month:number,top:number):$.java.util.List;
                /**
                 * 批量记录操作日志
                 * @param appLogInfoList 操作日志信息对象列表
                 */
                addBatchLog(appLogInfoList:$.java.util.List):void;
                /**
                 * 记录操作日志
                 * @param appLogInfo 操作日志信息对象
                 */
                addLog(appLogInfo:kd.bos.log.api.AppLogInfo):void;
            }
            interface LogServiceHelper_C extends LogServiceHelper_S {
                new():LogServiceHelper;
            }
            interface LogServiceHelper$ {
            }
            type LogServiceHelper_T = LogServiceHelper$;
            interface LogServiceHelper extends LogServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.message{
            interface MessageServiceHelper_S {
                /**
                 * 消息中心钉钉任务处理方法
                 * @param todoInfo
                 * @return
                 */
                dingdingTodo(todoInfo:$.kd.bos.message.api.DingdingTodoInfo):$.java.util.Map;
                /**
                 * 更新钉钉实例状态
                 * @param state
                 * @param dingProcessInstId
                 * @return
                 */
                dingdingUpdateProcessInstanceState(state:string,dingProcessInstId:string):$.java.util.Map;
                /**
                 * 发送企业微信消息
                 * @param messageInfo
                 * @return
                 */
                sendWeixinqyMessage(messageInfo:$.kd.bos.message.api.WeixinqyMessageInfo):$.java.util.Map;
                /**
                 * 消息中心钉钉处理方法
                 * @param messageInfo
                 * @return
                 */
                dingdingMessage(messageInfo:$.kd.bos.message.api.DingdingMessageInfo):$.java.util.Map;
                /**
                 * 工作流获取消息渠道版本更新hashtag
                 * @return
                 */
                getHashTag(accountId:string):string;
                /**
                 * 查询钉钉待办任务
                 * @param userId
                 * @param offSet
                 * @param count
                 * @param status
                 * @return
                 */
                queryDDTask(userId:string,offSet:long,count:long,status:long):$.java.util.Map;
                /**
                 * 根据消息类型，获取该消息类型的渠道设置
                 * @param msgTypeNum
                 * @return
                 */
                getChannelsByMsgTypeNum(msgTypeNum:string):string;
            }
            interface MessageServiceHelper_C extends MessageServiceHelper_S {
                new():MessageServiceHelper;
            }
            interface MessageServiceHelper$ {
            }
            type MessageServiceHelper_T = MessageServiceHelper$;
            interface MessageServiceHelper extends MessageServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.model{
            interface OrgSaveModel_S {
            }
            type OrgSaveModel_ST = $.java.io.Serializable & OrgSaveModel_S;
            interface OrgSaveModel_C extends OrgSaveModel_ST {
                new():OrgSaveModel;
            }
            interface OrgSaveModel$ {
                getOrgId():string;
                setYzjorgId(yzjorgId:string):void;
                getYzjParentorgId():string;
                getParentorgId():string;
                setYzjParentorgId(yzjParentorgId:string):void;
                setIsCtrlUnit(isIsCtrlUnit:boolean):void;
                setOrgNumber(orgNumber:string):void;
                getOrgNumber():string;
                setParentorgId(parentorgId:string):void;
                isIsCtrlUnit():boolean;
                setOrgName(orgName:string):void;
                setOrgId(orgId:string):void;
                getYzjorgId():string;
                getOrgName():string;
            }
            type OrgSaveModel_T = $.java.io.Serializable & OrgSaveModel$;
            interface OrgSaveModel extends OrgSaveModel_T {
            }
        }
        namespace kd.bos.servicehelper.notification{
            interface NotificationServiceHelper_S {
                /**
                 * 采取根据sessionid方式发送，为了兼容发送端和接收端不在同一种语言环境
                 * @param userSessionIdsMap
                 * @param notificationFormInfo
                 * @param lang
                 */
                sendNotificationByLang(userSessionIdsMap:$.java.util.Map,notificationFormInfo:$.kd.bos.notification.NotificationFormInfo,lang:string):void;
                /**
                 * 发送消息通知
                 * @param userIds
                 * @param notificationFormInfo
                 */
                sendNotification(userIds:$.java.util.List,notificationFormInfo:$.kd.bos.notification.NotificationFormInfo):void;
                /**
                 * 发送清除消息通知
                 * @param userId
                 * @param notificationIds
                 * @param level
                 */
                sendClearNotification(userId:string,notificationIds:$.java.util.List,level:number):void;
                /**
                 * 发送清除消息通知
                 * @param userId
                 */
                sendClearNotification(userId:string):void;
                /**
                 * 发送忽略的消息通知
                 * @param userId
                 * @param notificationId
                 */
                sendIgnoreNotification(userId:string,notificationId:string):void;
            }
            interface NotificationServiceHelper_C extends NotificationServiceHelper_S {
                new():NotificationServiceHelper;
            }
            interface NotificationServiceHelper$ {
            }
            type NotificationServiceHelper_T = NotificationServiceHelper$;
            interface NotificationServiceHelper extends NotificationServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.operation{
            interface OperationServiceHelper_S {
                /**
                 * 调用操作服务
                 * @param operationKey 操作key
                 * @param entityNumber 实体ID，设计器中对应的标识
                 * @param ids 数据实体的id（主键）
                 * @param option 自定义参数
                 * @return 操作结果
                 */
                executeOperate(operationKey:string,entityNumber:string,ids:any[],option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 调用操作服务 （微服务调用，请注意对事务和入参的影响，详情见类注释）
                 *
                 * @param operationKey 操作key
                 * @param entityNumber 实体ID，设计器中对应的标识
                 * @param dataEntities 需要操作的数据
                 * @param option 自定义参数
                 * @return 操作结果
                 */
                executeOperate(operationKey:string,entityNumber:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
            }
            interface OperationServiceHelper_C extends OperationServiceHelper_S {
                new():OperationServiceHelper;
            }
            interface OperationServiceHelper$ {
            }
            type OperationServiceHelper_T = OperationServiceHelper$;
            interface OperationServiceHelper extends OperationServiceHelper_T {
            }
            interface RecordSaveFormServiceHelper_S {
            }
            interface RecordSaveFormServiceHelper_C extends RecordSaveFormServiceHelper_S {
                new():RecordSaveFormServiceHelper;
            }
            interface RecordSaveFormServiceHelper$ {
            }
            type RecordSaveFormServiceHelper_T = RecordSaveFormServiceHelper$;
            interface RecordSaveFormServiceHelper extends RecordSaveFormServiceHelper_T {
            }
            interface DeleteServiceHelper_S {
                /**
                 * 按条件删除实体数据，并限制最大删除数据量（物理删除）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接删库，不走删除校验。</li>
                 * <li>传入空条件或top数超出限制范围会中断</li>
                 * <li>调用本方法，会同步删除主实体及下级实体的所有物理表格数据，不可恢复。</li>
                 * <li>例如，单据实体有单据头、单据体、子单据体、多语言表、拆分表等，调用本方法，会把单据头、单据体、子单据体、多语言表、拆分表等物理表格数据一并删除，不可恢复。</li>
                 * <li>请合理设置删除条件：错误条件可能会导致误删数据，而过于宽松的条件可能会导致整个物理表格数据被删除，不可恢复；符合条件的数据太多，则容易发生OOM异常。</li>
                 *
                 * @param entityName 实体编码
                 * @param qFilters 数据删除条件  禁止传入空条件
                 * @param top 设置最大删除数据量  范围(0,10000]
                 */
                delete(entityName:string,qFilters:$.kd.bos.orm.query.QFilter[],top:number):number;
                /**
                 * 删除一批实体数据（物理删除）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接删库，不走删除校验。</li>
                 * <li>调用本方法，会同步删除主实体及下级实体的所有物理表格数据，不可恢复。</li>
                 * <li>例如，单据实体有单据头、单据体、子单据体、多语言表、拆分表等，调用本方法，会把单据头、单据体、子单据体、多语言表、拆分表等物理表格数据一并删除，不可恢复。</li>
                 * <li>请控制传入的实体数据内码个数，分批调用本方法。一次传入太多内码可能会引发OOM异常。</li>
                 *
                 * @param type 实体
                 * @param pks 要删除的一批实体数据内码
                 */
                delete(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType,pks:any[]):void;
            }
            interface DeleteServiceHelper_C extends DeleteServiceHelper_S {
                new():DeleteServiceHelper;
            }
            interface DeleteServiceHelper$ {
                /**
                 * 调用单据删除操作（物理删除）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>执行删除校验及插件，校验通过后才删库。</li>
                 * <li>调用本方法，会同步删除单据主实体及下级实体的所有物理表格数据，不可恢复。</li>
                 * <li>例如，单据实体有单据头、单据体、子单据体、多语言表、拆分表等，调用本方法，会把单据头、单据体、子单据体、多语言表、拆分表等物理表格数据一并删除，不可恢复。</li>
                 * <li>请控制传入的单据数据内码个数，分批调用本方法。一次传入太多内码可能会引发OOM异常。</li>
                 *
                 * @param entityName 单据主实体编码
                 * @param pks 要删除的一批单据数据内码
                 * @param option 可选参数
                 * @return 返回删除操作结果
                 */
                deleteOperate(entityName:string,pks:any[],option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 调用单据删除操作（物理删除）
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>执行删除校验及插件，校验通过后才删库。</li>
                 * <li>调用本方法，会同步删除单据主实体及下级实体的所有物理表格数据，不可恢复。</li>
                 * <li>例如，单据实体有单据头、单据体、子单据体、多语言表、拆分表等，调用本方法，会把单据头、单据体、子单据体、多语言表、拆分表等物理表格数据一并删除，不可恢复。</li>
                 * <li>请控制传入的单据数据内码个数，分批调用本方法。一次传入太多内码可能会引发OOM异常。</li>
                 *
                 * @param operationKey 删除操作标识
                 * @param entityName 单据主实体编码
                 * @param pks 要删除的一批单据数据内码
                 * @param option 可选参数
                 * @return 返回删除操作结果
                 */
                deleteOperate(operationKey:string,entityName:string,pks:any[],option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
            }
            type DeleteServiceHelper_T = DeleteServiceHelper$;
            interface DeleteServiceHelper extends DeleteServiceHelper_T {
            }
            interface SaveServiceHelper_S {
                /**
                 * 清理ORM实体数据缓存
                 * @param entityNumber 单据实体标识
                 */
                clearDataEntityCache(entityNumber:string):void;
                /**
                 * 更新实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接更新入库，不走操作校验。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param dataEntities 数据包
                 * @param option 可选参数
                 */
                update(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 保存实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接保存入库，不走操作校验。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param type 实体类型
                 * @param dataEntities 数据包
                 * @param option 提供更新快照和清理缓存数据参数，
                 * 		{@link kd.bos.entity.operate.OperateOptionConst#ORM_SAVEOP_REMOVECACHE}
                 * 		{@link kd.bos.entity.operate.OperateOptionConst#ORM_SAVEOP_COMMITPKSNAPSHOT}
                 * @return 返回保存成功的数据包
                 */
                save(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType,dataEntities:any[],option:$.kd.bos.dataentity.OperateOption):any[];
                /**
                 * 更新实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接更新入库，不走操作校验。</li>
                 *
                 * @param dataEntity 数据包
                 */
                update(dataEntity:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 保存实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接保存入库，不走操作校验。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param dataEntities 数据包
                 * @param commitSnapData
                 * 		设置为true，保存完毕同步更新数据包的状态（快照、脏标志），会耗费性能。快照用于保存时对比数据包变化。
                 * 		<p>传入false，不同步更新数据包状态，可以提升性能；但因为数据包状态已过时，再次调用保存，分析增删改行时会出错。</li>
                 * @return 返回保存成功的数据包
                 */
                save(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],commitSnapData:boolean):any[];
                /**
                 * 保存实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接保存入库，不走操作校验。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param dataEntities 数据包
                 * @return 返回保存成功的数据包
                 */
                save(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):any[];
                /**
                 * 调用单据保存操作
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>先执行单据保存操作校验及操作插件，通过后才保存入库。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的单据数据量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param entityNumber 单据主实体编码
                 * @param dataEntities 单据数据包
                 * @param option 自定义参数，可选。可通过设置自定义参数值控制保存操作行为
                 * @return 返回操作结果
                 */
                saveOperate(entityNumber:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 更新数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接更新入库，不走操作校验。</li>
                 *
                 * @param dataEntity 数据包
                 * @param option 提供更新快照和清理缓存数据参数，
                 * 		{@link kd.bos.entity.operate.OperateOptionConst#ORM_SAVEOP_REMOVECACHE}
                 * 		{@link kd.bos.entity.operate.OperateOptionConst#ORM_SAVEOP_COMMITPKSNAPSHOT}
                 */
                update(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,option:$.kd.bos.dataentity.OperateOption):void;
                /**
                 * 保存实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接保存入库，不走操作校验。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param type 实体类型
                 * @param dataEntities 数据包
                 * @param commitSnapData
                 * 		设置为true，保存完毕同步更新数据包的状态（快照、脏标志），会耗费性能。快照用于保存时对比数据包变化。
                 * 		<p>传入false，不同步更新数据包状态，可以提升性能；但因为数据包状态已过时，再次调用保存，分析增删改行时会出错。</li>
                 * @return 返回保存成功的数据包
                 */
                save(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType,dataEntities:any[],commitSnapData:boolean):any[];
                /**
                 * 保存实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接保存入库，不走操作校验。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param dataEntities 数据包
                 * @param option 提供更新快照和清理缓存数据参数，
                 * 		{@link kd.bos.entity.operate.OperateOptionConst#ORM_SAVEOP_REMOVECACHE}
                 * 		{@link kd.bos.entity.operate.OperateOptionConst#ORM_SAVEOP_COMMITPKSNAPSHOT}
                 * @return 返回保存成功的数据包
                 */
                save(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],option:$.kd.bos.dataentity.OperateOption):any[];
                /**
                 * 保存实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接保存入库，不走操作校验。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param type 实体类型
                 * @param dataEntities 数据包
                 * @return 返回保存成功的数据包
                 */
                save(type_arg:$.kd.bos.dataentity.metadata.IDataEntityType,dataEntities:any[]):any[];
                /**
                 * 调用单据保存操作
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>先执行单据保存操作校验及操作插件，通过后才保存入库。</li>
                 * <li>调用本方法时，会自动分析出实体数据中增加、删除、修改的分录行，同步插入、删除、更新物理表格中的分录行记录。</li>
                 * <li>调用本方法前，清理实体数据中的分录行需谨慎：本方法会识别出被清理的分录行，自动同步删除物理表格中的分录行记录，无法恢复。</li>
                 * <li>请控制传入的单据数据量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param operationKey 保存操作标识
                 * @param entityNumber 单据主实体编码
                 * @param dataEntities 单据数据包
                 * @param option 自定义参数，可选。可通过设置自定义参数值控制保存操作行为
                 * @return 返回操作结果
                 */
                saveOperate(operationKey:string,entityNumber:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],option:$.kd.bos.dataentity.OperateOption):$.kd.bos.entity.operate.result.OperationResult;
                /**
                 * 更新实体数据
                 * <p></p>
                 * <strong>注意：</strong>
                 * <li>直接更新入库，不走操作校验。</li>
                 * <li>请控制传入的实体数据数量，分批调用本方法。一次传入太多数据可能会引发OOM异常。</li>
                 *
                 * @param dataEntities 数据包
                 */
                update(dataEntities:$.kd.bos.dataentity.entity.DynamicObject[]):void;
            }
            interface SaveServiceHelper_C extends SaveServiceHelper_S {
                new():SaveServiceHelper;
            }
            interface SaveServiceHelper$ {
            }
            type SaveServiceHelper_T = SaveServiceHelper$;
            interface SaveServiceHelper extends SaveServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.org{
            interface OrgUnitServiceHelper_S {
                /**
                 * 获取根组织ID
                 *
                 * @return 根组织ID
                 */
                getRootOrgId():long;
                /**
                 * 获取组织视图根树节点
                 *
                 * @param param 组织树参数对象
                 * @return 组织树根节点对象
                 */
                getTreeRootNodeById(param:kd.bos.org.model.OrgTreeParam):$.kd.bos.entity.tree.TreeNode;
                /**
                 * @param viewIds 视图Id集合
                 * @return: Map<Long, Long>,key=viewId,value=rootOrgId
                 * @description 批量查询视图根组织ID
                 */
                getRootOrgId(viewIds:$.java.util.List):$.java.util.Map;
                /**
                 * 描述：获取业务组织的核算主体 提供根据业务单元获取上级标识“业务实体”的核算主体接口：
                 * 首先判断当前业务单元是否具有“业务实体”标识的核算主体职能，若具有，则核算主体取当前组织；
                 * 若不具有，则核算主体取当前业务单元的上级具有“业务实体”标识的核算主体。
                 * 总之，就是从当前组织顺着业务单元视图往上找，直到找到具有业务实体”标识的核算主体为止。 项目任务：PRJ00473454
                 *
                 * @param orgId          业务组织ID
                 * @param isBizUnit      是否业务实体，当需要查询“业务实体”的核算主体时传递true，当只需要查询核算主体时传递false.
                 * @param isSearchUpward 是否往上找“业务实体”标识的核算主体
                 * @return Map<String, Object> 业务组织的核算主体信息，key信息： id， number， name
                 */
                getCompanyByOrg(orgId:long,isBizUnit:boolean,isSearchUpward:boolean):$.java.util.Map;
                /**
                 * 根据视图方案编码获取所有组织
                 *
                 * @param viewSchemaNumber 视图方案编码
                 * @param isIncludeDisable 是否包含禁用组织
                 * @return 组织ID列表
                 */
                getAllOrgByViewNumber(viewSchemaNumber:string,isIncludeDisable:boolean):$.java.util.List;
                /**
                 * 根据视图方案编码获取所有下级组织
                 *
                 * @param viewSchemaNumber 视图方案编码
                 * @param orgIds           组织ID列表
                 * @param isIncludeCurOrg  是否包含参数组织（orgIds）
                 * @return 组织与其下级组织ID集合的键值对
                 */
                getAllSubordinateOrgMap(viewSchemaNumber:string,orgIds:$.java.util.List,isIncludeCurOrg:boolean):$.java.util.Map;
                getCompanyfromOrg(arg0:any):$.java.util.Map;
                /**
                 * 根据形态获取所属组织：如获取所属公司。当前组织不符合时查找上级
                 *
                 * @param viewIDOrNumber        视图方案ID或者编码
                 * @param orgIds                组织ID集合
                 * @param isByPatternType       是否根据形态类型获取
                 * @param patternOrPatternTypes 形态或者形态类型集合
                 * @return 组织ID与详情的键值对
                 */
                getOrgByPattern(viewIDOrNumber:any,orgIds:$.java.util.Collection,isByPatternType:boolean,patternOrPatternTypes:$.java.util.List):$.java.util.Map;
                /**
                 * 启用组织职能
                 *
                 * @param orgParamList 组织参数对象列表
                 * @return OrgApiResult类型的执行结果
                 */
                enableDuty(orgParamList:$.java.util.List):kd.bos.org.model.OrgApiResult;
                /**
                 * 获取当前组织支持的职能列表
                 *
                 * @return List<{ 职能编码 = 职能名称 }>
                 */
                getOrgBizList():$.java.util.List;
                /**
                 * 获取业务单元实体各个视图的属性名
                 *
                 * @param orgViewType 组织职能类型编码
                 * @return 职能类型属性名
                 */
                getBizOrgPropertyName(orgViewType:string):string;
                /**
                 * 描述：获取行政组织的核算主体 提供根据行政组织获取核算主体接口：
                 * 1.若业务单据返回的组织是行政组织，则需根据业务单元分配部门的关系，找到业务单元所属核算主体。
                 * 2.因业务单元分配部门存在两者多对多的关系，会导致返回多个核算主体的情况，这种情况下随机返回一个核算组织
                 * 3.若业务单元分配部门没有配置，这种情况下，优先找本组织对应的核算组织，其次上级行政组织是不是核算主体，最后找核算组织视图根组织。
                 * <p>
                 * 是否“业务实体”通过参数传递控制
                 *
                 * @param adminOrgId 行政组织ID
                 * @return Map<String, Object> 业务组织的核算主体信息，key信息： id， number， name
                 */
                getCompanyByAdminOrg(adminOrgId:long):$.java.util.Map;
                /**
                 * 根据视图类型获取视图ID
                 *
                 * @param orgViewType 组织职能类型编码
                 * @return 视图方案ID
                 */
                getViewIdByType(orgViewType:string):long;
                /**
                 * 根据行政组织协作关系查询组织
                 *
                 * @param orgIds           源组织
                 * @param isReturnAdminOrg 是否返回行政组织（反之返回业务单元）
                 * @return 返回业务协作关系对应的组织
                 */
                getAdminOrgRelation(orgIds:$.java.util.List,isReturnAdminOrg:boolean):$.java.util.List;
                /**
                 * 获取组织的所有上级组织
                 *
                 * @param viewNumber
                 *            组织视图方案编码
                 * @param orgIds
                 *            组织类别
                 * @return 组织与其上级组织ID集合的键值对
                 */
                getAllSuperiorOrgs(viewNumber:string,orgIds:$.java.util.List):$.java.util.Map;
                /**
                 * 过滤拥有相应职能的组织
                 *
                 * @param orgIds        原组织ID集合
                 * @param orgViewNumber 视图方案编码
                 * @return 组织ID列表
                 */
                filterOrgDuty(orgIds:$.java.util.List,orgViewNumber:string):$.java.util.List;
                /**
                 * 根据组织ID获取组织视图树所有下级节点列表（包括孙子节点）
                 *
                 * @param param 组织树参数对象
                 * @return 组织ID与其构建树节点信息的键值对列表
                 */
                getTreeChildrenMap(param:kd.bos.org.model.OrgTreeParam):$.java.util.List;
                /**
                 * 保存组织视图方案
                 *
                 * @param param 组织视图方案参数对象
                 * @return OrgApiResult类型的执行结果
                 */
                saveOrgViewSchema(param:kd.bos.org.model.ViewSchemaParam):kd.bos.org.model.OrgApiResult;
                /**
                 * 禁用组织职能
                 *
                 * @param orgParamList 组织参数对象列表
                 * @return OrgApiResult类型的执行结果
                 */
                disableDuty(orgParamList:$.java.util.List):kd.bos.org.model.OrgApiResult;
                /**
                 * 批量增加组织职能
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                addDuty(paramList:$.java.util.List):void;
                /**
                 * 批量删除组织职能
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                deleteDuty(paramList:$.java.util.List):void;
                /**
                 * 判断组织是否为上下级关系
                 *
                 * @param viewNumber 视图方案编码
                 * @param parentId   上级组织ID
                 * @param orgId      组织ID
                 * @return 是否为上下级关系true/false
                 */
                isParentOrg(viewNumber:string,parentId:long,orgId:long):boolean;
                /**
                 * 批量新增或更新组织：参数对象设置了ID时执行更新，否则执行新增
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                addOrUpdate(paramList:$.java.util.List):void;
                /**
                 * 批量封存组织
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                freeze(paramList:$.java.util.List):void;
                /**
                 * 批量启用组织
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                enable(paramList:$.java.util.List):void;
                /**
                 * 获取职能类型
                 *
                 * @param bizViewQueryParam
                 * @return 职能类型动态对象集合
                 */
                getBiz(bizViewQueryParam:kd.bos.org.model.BizViewQueryParam):$.java.util.Map;
                /**
                 * 描述：获取行政组织的核算主体 提供根据行政组织获取核算主体接口：
                 * 1.若业务单据返回的组织是行政组织，则需根据业务单元分配部门的关系，找到业务单元所属核算主体。
                 * 2.因业务单元分配部门存在两者多对多的关系，会导致返回多个核算主体的情况，这种情况下随机返回一个核算组织
                 * 3.若业务单元分配部门没有配置，这种情况下，优先找本组织对应的核算组织，其次上级行政组织是不是核算主体。
                 * <p>
                 * 是否“业务实体”通过参数传递控制
                 *
                 * @param adminOrgId 行政组织ID
                 * @param isBizUnit  是否业务实体，当需要查询“业务实体”的核算主体时传递true，当只需要查询核算主体时传递false.
                 * @return Map<String, Object> 业务组织的核算主体信息，key信息： id， number， name
                 */
                getCompanyByAdminOrg(adminOrgId:long,isBizUnit:boolean):$.java.util.Map;
                /**
                 * 描述：根据行政组织获取成本中心。
                 *
                 * @param adminOrgID 行政组织ID
                 * @return List<DynamicObject> 成本中心列表
                 */
                getCostCenterByAdminOrg(adminOrgID:long):$.java.util.List;
                /**
                 * 批量禁用组织
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                disable(paramList:$.java.util.List):void;
                /**
                 * 根据组织形态或者组织形态类型获取所属组织
                 *
                 * @param isByPatternType       是否根据组织形态类型获取：true（根据组织形态类型查询）/false（根据组织形态查询）
                 * @param orgViewNumber         视图方案编码
                 * @param orgId                 组织ID
                 * @param patternOrPatternTypes 组织形态或者组织形态类型集合(具体形态和类型，参照OrgPatternType)：isByPatternType==true?组织形态类型
                 *                              : 组织形态
                 * @return Map:
                 * <pre><code>
                 * {
                 *    ID：组织ID,
                 *    number：编码，
                 *    name：名称，
                 *    uniformsocialcreditcode：统一信用代码，
                 *    firmname：法人公司的名称，
                 *    address：注册地址，
                 *    representative：法定代表人，
                 *    depositbank：开户银行，
                 *    bankaccount：开户行账号 ，
                 *    taxregnum：纳税识别号
                 *    taxpayertype：纳税人类型
                 * }
                 *
                 * </code></pre>
                 */
                getBelongToOrgByPatternOrType(isByPatternType:boolean,orgViewNumber:string,orgId:long,...patternOrPatternTypes:string[]):$.java.util.Map;
                /**
                 * 获取法人组织
                 *
                 * @param includeDisable 是否包含禁用组织
                 * @return 组织信息列表
                 */
                getCorporateOrg(includeDisable:boolean):$.java.util.List;
                /**
                 * 描述：检查指定组织是否具有指定职能
                 *
                 * @param orgID       组织ID
                 * @param orgFunction 组织职能编码
                 * @return 如果指定组织具有指定职能，则返回true，否则返回false
                 */
                checkOrgFunction(orgID:long,orgFunction:string):boolean;
                /**
                 * 获取直接上级组织
                 *
                 * @param viewSchemaNumber 组织视图方案编码
                 * @param orgIds           组织ID列表
                 * @return 组织与其直接上级ID的键值对
                 */
                getDirectSuperiorOrg(viewSchemaNumber:string,orgIds:$.java.util.List):$.java.util.Map;
                /**
                 * 获得当前组织的所有下属组织，根据参数判断是否包含当前组织
                 *
                 * @param viewType 组织视图ID
                 * @param orgIds orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 * @param bIncludeCurOrg 是否包含本机组织
                 * @return 下级组织ID列表
                 */
                getAllSubordinateOrgs(viewType:long,orgIds:$.java.util.List,bIncludeCurOrg:boolean):$.java.util.List;
                /**
                 * 删除组织视图方案
                 *
                 * @param idList 组织视图方案ID
                 * @return OrgApiResult类型的执行结果
                 */
                deleteOrgViewSchema(idList:$.java.util.List):kd.bos.org.model.OrgApiResult;
                /**
                 * 启用/禁用组织视图方案
                 *
                 * @param idList 组织视图方案ID
                 * @param enable 禁用/启用
                 * @return OrgApiResult类型的执行结果
                 */
                enableOrgViewSchema(idList:$.java.util.List,enable:boolean):kd.bos.org.model.OrgApiResult;
                /**
                 * 执行表单视图懒加载组织树搜索
                 *
                 * @param param 参数对象
                 */
                formViewLazyLoadTreeSearch(param:$.java.util.Map):void;
                /**
                 * 获取组织协作关系
                 *
                 * @param param 组织协作关系参数对象
                 * @return 组织协作关系信息
                 */
                getOrgRelation(param:kd.bos.org.model.OrgRelationParam):$.java.util.Map;
                /**
                 * 批量获取组织协作关系
                 *
                 * @param param 组织协作关系参数对象
                 * @return 组织协作关系信息
                 */
                getMultiOrgRelation(param:kd.bos.org.model.OrgRelationParam):$.java.util.Map;
                /**
                 * 过滤相应职能下禁用或者封存组织
                 *
                 * @param orgIds          原组织ID集合
                 * @param viewId          视图方案编id
                 * @param isFilterDisable 是否过滤禁用组织
                 * @param isFilterFreeze  是否过滤封存组织
                 * @return 过滤后的组织集合
                 * @method filterOrg 过滤相应职能下禁用或者封存组织
                 */
                filterOrg(orgIds:$.java.util.List,viewId:long,isFilterDisable:boolean,isFilterFreeze:boolean):$.java.util.List;
                /**
                 * 批量解封组织
                 *
                 * @param paramList 组织参数对象列表。执行结果回填到参数对象OrgParam，须判断是否执行成功标志success，失败时错误信息通过参数对象OrgParam的msg属性获取。
                 */
                unFreeze(paramList:$.java.util.List):void;
                /**
                 * 获取视图方案
                 *
                 * @param bizViewQueryParam
                 * @return 视图方案动态对象集合
                 */
                getView(bizViewQueryParam:kd.bos.org.model.BizViewQueryParam):$.java.util.Map;
                /**
                 * 获取组织视图根树节点
                 *
                 * @param param 组织树参数对象
                 * @return 组织ID与其构建树节点信息的键值对
                 */
                getTreeRootNodeMapById(param:kd.bos.org.model.OrgTreeParam):$.java.util.Map;
                /**
                 * 获取组织分隔符配置
                 *
                 * @return
                 */
                getOrgSeparation():kd.bos.org.model.OrgSeparation;
                /**
                 * 根据视图类型主键获取所有组织ID
                 *
                 * @param viewId           组织视图ID
                 * @param isIncludeDisable 是否包含禁用组织
                 * @return 组织ID列表
                 */
                getAllOrgByViewId(viewId:long,isIncludeDisable:boolean):$.java.util.List;
                /**
                 * 根据行政组织协作关系查询组织
                 *
                 * @param orgIds           源组织
                 * @param isReturnAdminOrg 是否返回行政组织（反之返回业务单元）
                 * @return 行政组织与业务单元的键值对
                 */
                getAdminOrgRelationMap(orgIds:$.java.util.List,isReturnAdminOrg:boolean):$.java.util.Map;
                /**
                 * 根据视图方案编码获取所有下级组织
                 *
                 * @param viewSchemaNumber 视图方案编码
                 * @param orgIds           组织ID列表
                 * @param isIncludeCurOrg  是否包含参数组织（orgIds）
                 * @param isIncludeDisable 是否包含封存组织
                 * @return 组织ID列表
                 */
                getAllSubordinateOrgs(viewSchemaNumber:string,orgIds:$.java.util.List,isIncludeCurOrg:boolean,isIncludeDisable:boolean):$.java.util.List;
                /**
                 * 获取组织的排序字段（多个字段时用逗号隔开）
                 *
                 * @return 字符串类型的排序字段，多个字段时用逗号隔开
                 */
                getOrgSortFields():string;
                /**
                 * 得到当前组织的所有上级组织
                 *
                 * @param orgFunction
                 *            组织职能
                 * @param orgId
                 *            当前组织
                 * @return 所有上级组织ID列表
                 */
                getAllSuperiorOrgs(orgFunction:string,orgId:long):$.java.util.List;
                /**
                 * 根据组织ID获取组织视图树所有下级节点列表（包括孙子节点）
                 *
                 * @param param 组织树参数对象
                 * @return 组织树根节点对象列表
                 */
                getTreeChildren(param:kd.bos.org.model.OrgTreeParam):$.java.util.List;
                /**
                 * 得到某个组织的所属公司（通过行政组织树获得）。如果当前组织为公司则直接返回，否则向上遍历得到最近的公司。可能返回为空map
                 *
                 * @param orgID 组织内码
                 * @return 行政组织视图上的组织所属公司，数据{id-内码,number-代码,name-名称}
                 */
                getCompanyfromOrg(orgID:long):$.java.util.Map;
                /**
                 * 获取组织职能过滤条件
                 *
                 * @param orgViewType 组织职能类型编码
                 * @return QFilter类型的过滤条件
                 */
                getBizOrgFilter(orgViewType:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据视图方案编码获取所有下级组织
                 *
                 * @param viewId          视图方案ID
                 * @param orgIds          组织ID列表
                 * @param isIncludeCurOrg 是否包含参数组织（orgIds）
                 * @return 组织与其下级组织ID集合的键值对
                 */
                getAllSubordinateOrgMap(viewId:long,orgIds:$.java.util.List,isIncludeCurOrg:boolean):$.java.util.Map;
                /**
                 * 获取组织所属公司
                 *
                 * @param viewIDOrNumber 视图方案ID或者编码
                 * @param orgIds         组织ID集合
                 * @return 组织ID与详情的键值对
                 */
                getCompanyOfOrg(viewIDOrNumber:any,orgIds:$.java.util.Collection):$.java.util.Map;
                /**
                 * 描述：获取指定视图的组织（如行政组织、业务单元）的核算主体 提供根据行政组织获取核算主体接口：
                 * 1.若业务单据返回的组织是行政组织，则需根据业务单元分配部门的关系，找到业务单元所属核算主体。
                 * 2.因业务单元分配部门存在两者多对多的关系，会导致返回多个核算主体的情况，这种情况下随机返回一个核算组织
                 * 3.若业务单元分配部门没有配置，这种情况下，优先找本组织对应的核算组织，其次上级行政组织是不是核算主体。
                 *
                 * @param viewId         视图方案ID
                 * @param orgIds         组织ID
                 * @param isBizUnit      是否业务实体，当需要查询“业务实体”的核算主体时传递true，当只需要查询核算主体时传递false.
                 * @param isSearchUpward 是否逐级查找
                 * @return Map<Long, Map < String, Object>> 组织ID-业务组织的核算主体信息，key信息： id， number， name
                 */
                getAccountingBizUnit(viewId:long,orgIds:$.java.util.List,isBizUnit:boolean,isSearchUpward:boolean):$.java.util.Map;
                /**
                 * 获取默认业务协作组织
                 *
                 * @param param 组织协作关系参数对象
                 * @return 默认协作关系的ID
                 */
                getDefaultOrgRelation(param:kd.bos.org.model.OrgRelationParam):long;
                /**
                 * 根据视图方案编码获取所有下级组织
                 *
                 * @param viewSchemaNumber 视图方案编码
                 * @param orgIds           组织ID列表
                 * @param isIncludeCurOrg  是否包含参数组织（orgIds）
                 * @return 组织ID列表
                 */
                getAllSubordinateOrgs(viewSchemaNumber:string,orgIds:$.java.util.List,isIncludeCurOrg:boolean):$.java.util.List;
                /**
                 * 通过云之家组织内码，返回一个云ERP的组织内码
                 *
                 * @param yzjorgId 云之家组织id，为guid字符串
                 * @return 存在则返回Map{id-内码,number-代码,name-名称}，否则Map为空
                 */
                getOrgbyYzjorgId(yzjorgId:string):$.java.util.Map;
                /**
                 * 获得当前组织的所有下属组织，根据参数判断是否包含当前组织
                 *
                 * @param viewType 组织视图ID
                 * @param orgIds orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 * @param bIncludeCurOrg 是否包含本机组织
                 * @param isIncludeDisable 是否包含封存组织
                 * @return 下级组织ID列表
                 */
                getAllSubordinateOrgs(viewType:long,orgIds:$.java.util.List,bIncludeCurOrg:boolean,isIncludeDisable:boolean):$.java.util.List;
                /**
                 * 获取业务协作组织
                 *
                 * @param param 组织协作关系参数对象
                 * @return 组织协作关系信息
                 */
                getBizRelationOrgIds(param:kd.bos.org.model.OrgRelationParam):$.java.util.List;
                /**
                 * 描述：获取业务组织的核算主体 提供根据业务单元获取上级标识“业务实体”的核算主体接口：
                 * 首先判断当前业务单元是否具有“业务实体”标识的核算主体职能，若具有，则核算主体取当前组织；
                 * 若不具有，则核算主体取当前业务单元的上级具有“业务实体”标识的核算主体。
                 * 总之，就是从当前组织顺着业务单元视图往上找，直到找到具有业务实体”标识的核算主体为止。 项目任务：PRJ00473454
                 *
                 * @param orgId 业务组织ID
                 * @return Map<String, Object> 业务组织的核算主体信息，key信息： id， number， name
                 */
                getCompanyByOrg(orgId:long):$.java.util.Map;
                /**
                 * 获取组织架构的排序字段（多个字段时用逗号隔开）
                 *
                 * @return 字符串类型的排序字段，多个字段时用逗号隔开
                 */
                getOrgStructureSortFields():string;
            }
            interface OrgUnitServiceHelper_C extends OrgUnitServiceHelper_S {
                new():OrgUnitServiceHelper;
            }
            interface OrgUnitServiceHelper$ {
            }
            type OrgUnitServiceHelper_T = OrgUnitServiceHelper$;
            interface OrgUnitServiceHelper extends OrgUnitServiceHelper_T {
            }
            interface OrgServiceHelper_S {
                readonly entityID_org_viewschema:string;
                readonly entityID_bos_org_biz:string;
                readonly entityID_org_structure:string;
                readonly entityID_bos_org_orgrelation:string;
                readonly ENTITYID_BOS_ORG_DUTYRELATION:string;
                readonly entityID_bos_org_typerelation:string;
                readonly number_maindata:string;
                readonly entityID_bos_org:string;
                /**
                 * 获取职能类对应的组织单元中的职能属性名
                 *
                 * @param orgFunction
                 *            组织职能类型编码,如 行政组织 01;采购组织 02 参照OrgViewType
                 * @return String 职能类对应的组织单元中的职能属性名，如fisadministrative
                 */
                getOrgBizPro(orgFunction:string):string;
                /**
                 * 获得当前行政组织的所有下属组织，根据参数判断是否包含当前组织
                 *
                 *            orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 * @param bIncludeCurOrg
                 *            是否包含本机组织
                 * @return 下级组织列表
                 */
                getAllSubordinateOrgs(orgIds:$.java.util.List,bIncludeCurOrg:boolean):$.java.util.List;
                /**
                 * 得到当前组织的直接上级组织，应该只有一个，返回列表，作为冗余
                 *
                 * @param orgFunction
                 *            组织职能
                 * @param orgId
                 *            当前组织
                 * @return 组织内码列表
                 * @deprecated 已经迁移到了OrgUnitServiceHelper
                 */
                getSuperiorOrgs(orgFunction:string,orgId:long):$.java.util.List;
                /**
                 * 获得给定组织信息的所有下属组织，根据参数判断是否包含下级组织
                 *
                 *            orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 *            是否包含下级组织
                 * @return 下级组织列表
                 */
                getSubordinateOrgs(orgInfoMap:$.java.util.Map):$.java.util.List;
                /**
                 * 获取业务组织职能相同的上级组织，如果上一级不是，则一级级往上找,如果最后没有找到，则挂在根节点上
                 *
                 * @param lOldParentID
                 *            组织单元上级组织节点ID
                 * @param lTreetype
                 *            组织类型
                 */
                getSamePropertyParentID(lOldParentID:long,lTreetype:long):long;
                /**
                 * 获得当前组织的所有下属组织，根据参数判断是否包含当前组织
                 *
                 *            orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 * @param bIncludeCurOrg
                 *            是否包含本机组织
                 * @return 下级组织列表
                 */
                getAllSubordinateOrgs(viewType:string,orgIds:$.java.util.List,bIncludeCurOrg:boolean):$.java.util.List;
                /**
                 * 根据组织id查找所有下级（使用长编码查询）
                 *
                 * @param parentId：业务组织上级id
                 * @param viewType：视图类型number
                 * @param isIncludeItself:是否包含本身
                 * @return viewType :视图类型（number）
                 */
                getOrgAllSubIds(parentId:long,viewType:string,isIncludeItself:boolean):$.java.util.List;
                /**
                 * 判断组织节点是否是叶子节点
                 *
                 * @param orgId：组织id
                 * @param viewId：视图id
                 * @return schemaInfo :视图方案信息（id、number）
                 */
                isLeaf(orgId:long,viewId:long):boolean;
                /**
                 * @param orgId       组织ID
                 * @param defaultDuty 默认业务属性（查询不到财务属性配置信息时，根据用户设置的默认值返回）
                 * @return 编码(String): [OrgDutyType] 管理(1)、研发(2)、销售(3)、基本生产(4)、辅助生产(5)
                 * @method getOrgFiDuty
                 * @description 获取部门财务属性
                 */
                getOrgFiDuty(orgId:long,defaultDuty:string):string;
                /**
                 * 根据业务组织职能类别id获取业务组织职能数据
                 */
                getOrgBizDataById(bizId:long):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 描述：获取全部组织协作类型
                 *
                 * @return List<Map < String, String>>, key说明 number 组织协作类型编码； name
                 * 组织协作类型名称；totype 受托组织类型；totypename 受托组织类型名称； fromtype
                 * 委托组织类型；fromtypename 委托组织类型名称。
                 */
                getAllOrgRelationType():$.java.util.List;
                /**
                 * @param orgId 组织ID
                 * @return 编码(String): [OrgDutyType]
                 * 未配置部门财务属性(0)、管理(1)、研发(2)、销售(3)、基本生产(4)、辅助生产(5)
                 * @method getOrgFiDuty
                 * @description 获取部门财务属性
                 */
                getOrgFiDuty(orgId:long):string;
                /**
                 * 描述：更新业务单元视图上的的组织职能状态
                 *
                 * @param viewType-组织职能类型
                 * @param lstOrgId-组织id列表
                 * @param updateValue-组织单元的组织职能状态更新为何值，"1"-勾选 "0"-不勾选
                 * @author rd_zhangxiong_liu
                 */
                updateBizStatus(viewType:string,lstOrgId:$.java.util.List,updateValue:string):boolean;
                /**
                 * 获取业务组织职能相同的上级组织，如果上一级不是，则一级级往上找,如果最后没有找到，则挂在根节点上
                 *
                 * @param lOldParentID
                 * @param lTreetype
                 * @param orgUnitLongnumber
                 * @return
                 * @method getSamePropertyParentIDByLongNumber
                 * @description
                 */
                getSamePropertyParentIDByLongNumber(lOldParentID:long,lTreetype:long,orgUnitLongnumber:string):long;
                /**
                 * 获取组织在某组织树中的长编码等属性
                 *
                 * @param ovType
                 *            组织类型
                 * @param orgId
                 *            组织内码
                 * @return 返回组织的长编码、长名称属性
                 */
                getOrgLongProperty(ovType:string,orgId:long):$.java.util.Map;
                /**
                 * 获得当前组织的所有下属组织，根据参数判断是否包含当前组织
                 *
                 * @param orgId
                 *            orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 * @param bIncludeCurOrg
                 *            是否包含本机组织
                 * @return 下级组织列表
                 */
                getAllSubordinateOrgs(orgId:long,bIncludeCurOrg:boolean):$.java.util.List;
                getCompanyfromOrg(arg0:any):$.java.util.Map;
                /**
                 * 得到当前组织序列的直接下属组织
                 *
                 * @param orgIds
                 *            组织列表
                 * @return 组织列表
                 */
                getSubordinateOrgs(orgIds:$.java.util.List):$.java.util.List;
                /**
                 * 获取当前组织支持的职能列表
                 *
                 * @return List<{ 职能编码 = 职能名称 }>
                 * @deprecated 已经迁移到了OrgUnitServiceHelper 的 getOrgBizList()
                 */
                getAllOrgBiz():$.java.util.List;
                /**
                 * 获取当前组织支持的职能列表
                 *
                 * @return List<{ 职能编码 = 职能名称 }>
                 * @deprecated 已经迁移到了OrgUnitServiceHelper
                 */
                getOrgBizList():$.java.util.List;
                /**
                 * 根据组织职能id获取对应视图id及number
                 *
                 * @param bizId：组织职能id
                 * @return schemaInfo :视图方案信息（id、number）
                 */
                getViewSchemaInfoByBizId(bizId:long):$.java.util.Map;
                /**
                 * 获取职能类别表中的ID
                 */
                getBizID(number_arg:string):long;
                /**
                 *  得到当前组织的直接上级组织，应该只有一个，返回列表，作为冗余
                 *
                 *  @param orgId
                 *             当前组织
                 *  @return 组织内码列表
                 *  @deprecated 请使用OrgUnitServiceHelper中的getSuperiorOrgs(String orgFunction,
                 * long orgId)
                 */
                getSuperiorOrgs(orgId:long):$.java.util.List;
                /**
                 * 获得当前组织的所有下属组织，根据参数判断是否包含当前组织
                 *
                 *            orgId 组织内码，一般为当前组织.如果获取根组织的全部则orgId=0
                 * @param bIncludeCurOrg
                 *            是否包含本机组织
                 * @return 下级组织列表
                 * @deprecated 迁移到OrgUnitServiceHelper
                 */
                getAllSubordinateOrgs(viewType:long,orgIds:$.java.util.List,bIncludeCurOrg:boolean):$.java.util.List;
                /**
                 * 获取指定业务组织的所有下级组织
                 *
                 * @param orgFunction
                 *            组织职能
                 * @param orgId
                 *            orgId 组织内码
                 * @return 下级组织ID列表
                 */
                getAllSubordinateOrgs(orgFunction:string,orgId:long):$.java.util.List;
                /**
                 * 获取业务组织职能相同的上级组织，如果上一级不是，则一级级往上找,如果最后没有找到，则挂在根节点上
                 *
                 * @param lOldParentID
                 *            组织单元上级组织节点ID
                 * @param lTreetype
                 *            组织类型
                 */
                getSamePropertyParentIDByLongNumber(lOldParentID:long,lTreetype:long):long;
                /**
                 * 获取管控单元的所有下级组织
                 *
                 * @param orgId
                 *            orgId 组织内码
                 * @param isIncludeCtrlOrg
                 *            是否包含下级管控单元
                 * @return 下级组织ID列表
                 * @deprecated 请改用 OrgUnitServiceHelper 的 getAllSubordinateCtrlOrgs()
                 */
                getAllSubordinateCtrlOrgs(orgId:long,isIncludeCtrlOrg:boolean):$.java.util.List;
                /**
                 * 获取组织对应的管控单元
                 *
                 * @param viewSchemaID 视图方案ID
                 * @param orgID        组织ID
                 * @return Long 对应的管控单元
                 */
                getCtrlUnitByOrgId(viewSchemaID:long,orgID:long):long;
                /**
                 *  @param orgIds
                 *  @return
                 *  @method getSuperiorOrgs
                 *  @description 根据组织列表获取上级组织的列表
                 *  @deprecated 请使用OrgUnitServiceHelper中的getSuperiorOrgs(String orgFunction,
                 * long orgId)
                 */
                getSuperiorOrgs(orgIds:$.java.util.List):$.java.util.List;
                /**
                 * 得到当前组织的直接下属组织
                 *
                 * @param orgId
                 *            当前组织
                 * @return 组织列表
                 */
                getSubordinateOrgs(orgId:long):$.java.util.List;
                /**
                 * 通过云之家组织内码，返回一个云ERP的组织内码
                 *
                 * @param yzjorgId
                 *            云之家组织id，为guid字符串
                 * @return 存在则返回Map{id-内码,number-代码,name-名称}，否则Map为空
                 * @deprecated 已经迁移到了OrgUnitServiceHelper
                 */
                getOrgbyYzjorgId(yzjorgId:string):$.java.util.Map;
                /**
                 * 获取组织在某组织树中的长编码等属性
                 *
                 * @param ovType
                 *            组织类型
                 * @param orgId
                 *            组织内码
                 * @return 返回组织的长编码、长名称属性
                 */
                getOrgLongProperty(ovType:long,orgId:long):$.java.util.Map;
            }
            interface OrgServiceHelper_C extends OrgServiceHelper_S {
                new():OrgServiceHelper;
            }
            interface OrgServiceHelper$ {
                /**
                 * 描述：根据组织类型,获得指定组织类型的过滤条件 过滤条件针对组织机构实体（bos_org）
                 *
                 * @param orgFunction 组织职能编号
                 * @return QFilter 组织类型过滤条件
                 */
                getBizOrgFilter(orgFunction:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 更新人员变动表，这里分别有两个状态，新增和修改
                 *
                 * @param orgMap
                 *            人员变动数据包，数据包应包含以下信息：orgID，number，phone，operatime，trueName,changeType
                 *            changeType
                 *            变更状态，这里有几种：New-新增，Modity-修改，del-删除，disable-禁用，enable-启用
                 * @return 是否成功
                 */
                updateOrgChange(orgMap:$.java.util.Map):boolean;
                /**
                 * 获取业务组织职能名称
                 */
                getOrgBizNameList():$.java.util.List;
                /**
                 * Author zhangxiong_liu 描述：获取指定组织的直接下级组织
                 *
                 * @param orgViewId   组织视图ID
                 * @param parentOrgId 组织ID
                 * @param isOnlyLeaf  是否仅取下级是叶子的节点
                 * @return List 下级组织对象列表
                 */
                getAllDirectSubordinateOrgList(orgViewId:long,parentOrgId:long,isOnlyLeaf:boolean):$.java.util.List;
                /**
                 * 描述：获取指定组织的直接下级组织（不含下级管控单元）
                 *
                 * @param orgViewId   组织视图ID
                 * @param parentOrgId 组织ID
                 * @return List 下级组织对象列表
                 */
                getDirectSubordinateOrgList(orgViewId:long,parentOrgId:long):$.java.util.List;
                /**
                 * 描述：根据组织ID，组织类型，判断该组织是否具有该组织职能。 如果该组织具有该组织职能，则返回该组织单元的数据对象。
                 * 如果该组织不具有该组织职能，则返回空对象。
                 *
                 * @param orgID       组织机构ID
                 * @param orgFunction 组织职能编号
                 * @return DynamicObject 具有指定职能的组织机构数据对象
                 */
                getBizOrg(orgID:long,orgFunction:string):$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 描述：根据组织类型和权限项，获得有权限的主业务组织
                 */
                getAuthorizedBizOrgUnits(userID:long,orgFunction:string,entityID:string,permissionItem:string):$.java.util.List;
                /**
                 * 自动生成业务组织树
                 *
                 * @param bizList
                 *            需要添加组织视图节点的业务组织职能Id列表，只需传入对应的"id"
                 * @param orgModel
                 *            详细参数说明请参照OrgSaveModel
                 * @deprecated
                 */
                autoBuildBizTree(bizList:$.java.util.List,orgModel:kd.bos.servicehelper.model.OrgSaveModel):boolean;
                getOrgParentInfo(orgId:long,treeType:string):$.java.util.Map;
            }
            type OrgServiceHelper_T = OrgServiceHelper$;
            interface OrgServiceHelper extends OrgServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.org.model{
            class OrgViewTypeEnum {
                static readonly IS_ASSET:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_PURCHASE:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_QC:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_BUDGET:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_SCC:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_SALE:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_CONTROLUNIT:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_INVENTORY:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_ADMINISTRATIVE:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_ACCOUNTING:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_BANKROLL:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_MAINDATACONTROL:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_SETTLEMENT:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_ORGUNIT:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_HR:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static readonly IS_PRODUCE:kd.bos.servicehelper.org.model.OrgViewTypeEnum;
                static values():kd.bos.servicehelper.org.model.OrgViewTypeEnum[];
                static valueOf(arg0:string):kd.bos.servicehelper.org.model.OrgViewTypeEnum;
            }
        }
        namespace kd.bos.servicehelper.parameter{
            interface SystemParamServiceHelper_S {
                /**
                 * 获取公共参数--显示内容
                 */
                getShowContentParameter():kd.bos.entity.param.ShowContentParam;
                /**
                 * 从缓存中加载公共参数
                 * @return 所有公共参数
                 */
                loadPublicParametersFromCache():$.java.util.Map;
                /**
                 * 获取单据参数（缓存）
                 * @param formId 表单编码
                 * @return
                 */
                loadBillParameterFromCache(formId:string):$.kd.bos.entity.param.BillParam;
                /**
                 * 从缓存加载批量应用参数
                 * @param appParam 应用参数对象，其中orgId无效
                 * @param orgIds   组织ID列表
                 * @return 应用参数包，内含各参数值
                 */
                loadBatchAppParameterByOrgFromCache(appParam:$.kd.bos.entity.param.AppParam,orgIds:$.java.util.List):$.java.util.Map;
                /**
                 * 从缓存中加载公共参数
                 * @param key 参数项标识
                 * @return 返回参数值
                 */
                loadPublicParameterFromCache(key:string):any;
                /**
                 * 从缓存中加载应用参数
                 * @param appParam 应用参数对象
                 * @param key 参数项标识
                 * @return 参数值
                 */
                loadAppParameterFromCache(appParam:$.kd.bos.entity.param.AppParam,key:string):any;
                /**
                 * 获取单据类型参数
                 * @param formId      表单编码
                 * @param paramFormId 参数 单据ID
                 * @param billTypeId  单据类型编码
                 */
                getBillTypeParameter(formId:string,paramFormId:string,billTypeId:long):any;
                /**
                 * 获取单据类型参数
                 * @param formId 表单编码
                 * @param key 参数项标识
                 * @return 返回参数值
                 */
                getBillParameter(formId:string,key:string):any;
                /**
                 * 从缓存中加载公共参数
                 * @return 所有公共参数
                 */
                loadPublicParametersFromCache(publicParameterFormId:string):$.java.util.Map;
                /**
                 * 获取应用参数-自定义参数
                 * @param appCustomParam
                 * @return
                 */
                loadAppCustomParameterFromCache(appCustomParam:$.kd.bos.entity.param.AppCustomParam):$.java.util.Map;
                /**
                 * 获取参数表单中的集团控制字段，这些字段是归属于顶部组织管控的
                 * @param formId 参数表单number
                 * @return
                 */
                getGroupControlFields(formId:string):$.java.util.List;
                /**
                 * 获取单据参数（缓存）
                 * @param formId 表单编码
                 * @return
                 */
                loadBillParameterObjectFromCache(formId:string):$.java.util.Map;
                /**
                 * 列表中是否以查看状态打开单据
                 * @param formId 单据标识
                 * @return 是/否
                 */
                isViewBill(formId:string):boolean;
                /**
                 * 获取系统参数-自定义参数
                 * @param customParam
                 * @return
                 */
                loadCustomParameterFromCache(customParam:$.kd.bos.entity.param.CustomParam):$.java.util.Map;
                /**
                 * 从缓存中加载应用参数
                 * @param appParam 应用参数对象
                 * @return 应用参数包，内含各参数值
                 */
                loadAppParameterFromCache(appParam:$.kd.bos.entity.param.AppParam):$.java.util.Map;
            }
            interface SystemParamServiceHelper_C extends SystemParamServiceHelper_S {
                new():SystemParamServiceHelper;
            }
            interface SystemParamServiceHelper$ {
            }
            type SystemParamServiceHelper_T = SystemParamServiceHelper$;
            interface SystemParamServiceHelper extends SystemParamServiceHelper_T {
            }
            interface UserParamterServiceHelper_S {
                /**
                 * 读取列表选项
                 *
                 * @param userId 用户
                 * @param formId 表单标识
                 * @param key 选项
                 */
                getListOption(userId:long,formId:string,listOption:string,key:string):any;
                /**
                 * 获取用户参数值
                 *
                 * @param userId 用户
                 * @param formId 表单标识，如果与表单无关，可传入null
                 * @param paramKey 参数名
                 */
                getUserCustParameter(userId:long,formId:string,paramKey:string):string;
                /**
                 * 保存用户参数值
                 *
                 * @param userId 用户
                 * @param formId 表单标识，如果与表单无关，可传入null
                 * @param paramKey 参数名
                 * @param paramValue 参数值
                 */
                saveUserCustParameter(userId:long,formId:string,paramKey:string,paramValue:string):void;
                /**
                 * 删除用户自定义参数值
                 *
                 * @param filter 删除条件：FUSERID=? AND FFORMID=? AND FEXTEND=? AND FISLISTOPTION=?
                 * @param params 条件参数值
                 */
                deleteUserCustParameter(filter:string,params:$.kd.bos.dataentity.SqlParameter[]):void;
                /**
                 * 读取列表选项
                 *
                 * @param userId 用户
                 * @param formId 表单标识
                 * @param extend 扩展维度，没有填null或者空字符串""
                 * @param key 选项
                 * @return
                 */
                getListOption(userId:long,formId:string,listOption:string,extend:string,key:string):any;
                /**
                 * 读取用户选项
                 *
                 * @param userId 用户ID
                 * @param formId 表单ID
                 * @param extend 扩展维度，没有填null或者空字符串""
                 * @param key 选项
                 */
                getUserOption(userId:long,formId:string,extend:string,key:string):any;
                /**
                 * 读取用户选项
                 *
                 * @param userId 用户ID
                 * @param formId 表单编码
                 * @param key 选项
                 */
                getUserOption(userId:long,formId:string,key:string):any;
            }
            interface UserParamterServiceHelper_C extends UserParamterServiceHelper_S {
                new():UserParamterServiceHelper;
            }
            interface UserParamterServiceHelper$ {
            }
            type UserParamterServiceHelper_T = UserParamterServiceHelper$;
            interface UserParamterServiceHelper extends UserParamterServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.permission{
            interface PermissionServiceHelper_S {
                readonly ADMINTYPE_SUPERADMIN:string;
                readonly ADMINTYPE_ORGADMIN:string;
                /**
                 * 删除指定用户所有权限。
                 * 删除之后，用户将失去所有功能权限、字段权限、数据规则
                 *
                 * @param userIds   用户id的集合
                 * @param errorInfo 执行过程中的错误信息，如果执行失败，才有内容
                 * @return true:执行成功;false:执行失败
                 */
                deleteUserPermission(userIds:$.java.util.List,errorInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 根据业务角色id,获取业务角色禁用权限
                 * @param bizRoleId 业务角色id
                 * @return 业务角色禁用权限
                 */
                getBizRoleDisPermByBizRoleId(bizRoleId:long):$.java.util.List;
                /**
                 * 获取字段权限 (包含字段方案)
                 *
                 * @param userId    用户ID
                 * @param appId     应用ID
                 * @param entityNum 实体编码
                 * @return 字段权限控制信息
                 */
                getFieldControlRules(userId:long,appId:string,entityNum:string):$.kd.bos.permission.api.FieldControlRules;
                /**
                 * 全员应用黑名单询服务
                 *
                 * @param userId 用户id
                 * @return 应用id的集合
                 */
                getAppBlackSet(userId:long):$.java.util.Set;
                /**
                 * 获取用户的有权的组织范围（同首页右上角的切换组织中的内容）
                 *
                 * @param mustQueryAll true: 忽略性能需求，HasPermOrgResult的getHasPermOrgs（）肯定代表用户有权的组织范围；
                 *                     false:考虑性能，HasPermOrgResult的hasAllOrgPerm()为true时，getHasPermOrgs（）为空集合
                 * @return 详情参考HasPermOrgResult的注释
                 */
                getUserHasPermOrgs(userId:long,mustQueryAll:boolean):$.kd.bos.permission.api.HasPermOrgResult;
                /**
                 * 用户组分配用户（记录权限日志）
                 * 为避免OOM，userIdAndGroupIdsMap不要太大，可分批次调用
                 * @param reqList 用户组分配用户-请求参数列表
                 * @param permLogReq 权限日志 请求参数
                 * @return 权限接口结果对象
                 */
                userGroupsAssignUserWithPermLog(reqList:$.java.util.List,permLogReq:$.kd.bos.permission.model.perm.req.PermLogReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 判断指定实体是否需要权限控制，如果当前实体在设计器中打开了权限控制开关，并且至少绑定了一个权限项，那么认为指定实体需要权限控制，否则认为不受控。
                 *
                 * @param entityNum 实体编码
                 * @return true：需要验权；false：不需要验权。
                 */
                hasBindingFunctionPerm(entityNum:string):boolean;
                /**
                 * 获得用户所有授权的隔离维度范围（指定隔离维度）
                 * @param userId 用户id
                 * @param dimType 隔离维度类型（例如组织：bos_org，或 体系：bcm_model）
                 * @return 详情参考HasPermOrgResult的注释
                 */
                getUserHasPermDimObjs(userId:long,dimType:string):$.kd.bos.permission.api.HasPermDimObjResult;
                /**
                 * 获取授权的隔离维度对象范围（没有加入管理员的校验）
                 * @param userId      用户ID
                 * @param appId       应用ID
                 * @param dimType     隔离维度类型
                 * @return  HasPermDimObjResult
                 * 使用时，务必先判断hasAllDimObjPerm（）是否为true，如果是，getHasPermDimObjs()是一个空集合，但含义却是所有隔离维度下都有权。
                 * 如果为false，则getHasPermDimObjs()返回范围即为有权隔离维度的范围。
                 */
                getHasPermDimObjs(userId:long,appId:string,dimType:string):$.kd.bos.permission.api.HasPermDimObjResult;
                /**
                 * 获取管理员管辖的组织范围
                 *
                 * @param adminUserId  管理员的用户ID
                 * @param orgViewType  组织视图类型：只能填OrgViewType.OrgUnit（业务单元）或 OrgViewType.Admin(行政组织)
                 * @param mustQueryAll true:返回值中的getHasPermOrgs()在任何情况都需要查出有权组织范围（不考虑性能）；
                 *                     false：当返回的组织id为所有组织时，考虑性能问题，返回值中的getHasPermOrgs()可能为空集合。（考虑性能）
                 * @param paraMap 其他请求参数Map
                 * @return @see HasPermOrgResult的详细定义
                 */
                getAdminChargeOrgWithParaMap(adminUserId:long,orgViewType:string,mustQueryAll:boolean,paraMap:$.java.util.Map):$.kd.bos.permission.api.HasPermOrgResult;
                /**
                 * 根据角色编码获取该角色下所有用户
                 *
                 * @param roleNum 角色编码
                 * @return 用户ID的集合
                 */
                getUsersByRoleNum(roleNum:string):$.java.util.List;
                /**
                 * 获取指定通用角色的信息
                 *
                 * @param roleId 通用角色角色ID
                 * @return 角色信息对象（包含编码，名称，描述，类型，是否启用等信息）
                 */
                getRoleInfos(roleId:string):$.kd.bos.permission.api.RoleInfo;
                /**
                 * 用户分配隔离维度-通用角色（记录权限日志）
                 * 例如：用户分配组织-用户，如果传入delList，可能导致用户失去某些功能权限、数据权限
                 * ps：先执行req中 addList，再执行 delList
                 *
                 * @param reqList    用户分配隔离维度-通用角色 请求参数 列表
                 * @param permLogReq 权限日志 请求参数
                 * @return 权限接口结果对象
                 */
                userAssignDimRole(reqList:$.java.util.List,permLogReq:$.kd.bos.permission.model.perm.req.PermLogReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 根据用户组id集合获取Map<用户组id,Set<用户id>>
                 * 为避免OOM，建议入参usrGrpIdSet不要太大
                 *
                 * @param usrGrpIdSet 用户组id集合
                 * @return Map<用户组id,Set<用户id>>
                 */
                getGrpIdUIdSetMap(usrGrpIdSet:$.java.util.Set):$.java.util.Map;
                /**
                 * 判断用户对指定应用是否有权
                 * 检查用户是否有权使用应用
                 * @param req 检查用户是否有权使用应用 请求参数类
                 * @return 权限接口结果对象 PermResult
                 */
                checkUserBizApp(req:$.kd.bos.permission.model.perm.req.user.CheckUserBizAppReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 通用角色分配用户-隔离维度
                 * 例如：通用角色分配组织-用户、通用角色分配用户-组织，如果传入delList，可能导致用户失去某些功能权限、数据权限
                 * ps：先执行req中 addList，再执行 delList
                 *
                 * @param reqList    通用角色分配用户-隔离维度 请求参数 列表
                 * @param permLogReq 权限日志 请求参数
                 * @return 权限接口结果对象
                 */
                roleAssignUserDim(reqList:$.java.util.List,permLogReq:$.kd.bos.permission.model.perm.req.PermLogReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 获取指定参数范围对应的特殊数据权限的过滤条件
                 *
                 * @param userId         当前用户id
                 * @param appId          应用id
                 * @param entityNum      实体编码
                 * @param operationKey   操作编码（例如查看是view，提交是submit）
                 * @param sbNotMatchTips 如果不匹配规则，给出的提示语。
                 * @return 返回QFilter，用于数据过滤
                 */
                getOperationRuleFilter(userId:long,appId:string,entityNum:string,operationKey:string,sbNotMatchTips:$.java.lang.StringBuilder):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据业务角色ID解除对应的所有用户绑定
                 * 解除之后，可能导致用户失去某些功能权限、数据权限
                 *
                 * @param bizRoleId 业务角色ID
                 * @return 如果解除成功返回true，否则返回false
                 */
                clearBizRoleUserBundingByBizRoleId(bizRoleId:long,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 检查用户是不是虚拟或实名管理员。
                 * @param userId 用户ID
                 * @param type 管理员类型  两个枚举常量：ADMINTYPE_SUPERADMIN： 虚拟管理员；  ADMINTYPE_ORGADMIN： 实名管理员，当 type 为空，忽略管理员类进行查询返回
                 * @param paraMap 其他请求参数Map
                 *
                 * @return boolean true:是管理员；false：不是管理员。
                 */
                isAdminUserWithParaMap(userId:long,type_arg:string,paraMap:$.java.util.Map):boolean;
                /**
                 * 根据给定的过滤条件查询出角色信息
                 *
                 * @param q 过滤条件
                 * @return 多个角色信息的数组
                 */
                queryRoles(q:$.kd.bos.orm.query.QFilter):$.kd.bos.permission.api.RoleInfo[];
                /**
                 * 修改业务角色(仅修改业务角色的信息，其中包含的对应通用角色，组织不会修改)
                 * 修改业务角色相关的通用角色，组织信息，见modifyCommonRoles,modifyBizRoleOrgs，修改后可能导致用户的权限产生变化
                 * 角色id,number不能修改
                 * @param processInfo 如果创建失败，会有错误信息
                 * @return 如果创建成功返回true，否则返回false。
                 */
                modifyBizRole(bizRoleInfo:$.kd.bos.permission.api.BizRoleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 查询数据规则
                 *
                 * @param qfilter     需要查询的数据规则方案的过滤条件
                 * @param processInfo 如果执行失败，会有错误信息。可以传null，但将无法获取错误原因。
                 * @return 多个数据规则方案基本信息的数组
                 */
                queryDataRule(qfilter:$.kd.bos.orm.query.QFilter[],processInfo:$.java.lang.StringBuilder):$.kd.bos.permission.model.DataRuleInfo[];
                /**
                 * 删除数据规则方案（物理删除）
                 * 删除数据规则方案，可能导致用户查看、操作的数据范围出现变动
                 *
                 * @param qfilter     需要删除的数据规则方案的过滤条件
                 * @param processInfo 如果执行失败，会有错误信息。可以传null，但将无法获取错误原因。
                 * @return true：执行成功; false:执行失败
                 */
                delDataRule(qfilter:$.kd.bos.orm.query.QFilter[],processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 用户分配业务角色
                 * @param userId 用户ID
                 * @param assignInfo 键：业务角色id  值：[生效日期，失效日期]
                 * @return 如果分配成功返回true，否则返回false
                 */
                userBundleBizRole(userId:long,assignInfo:$.java.util.Map,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 删除角色（物理删除）
                 * 如果角色被删除，相应用户使用上会失去角色绑定的功能权限、字段权限、数据规则
                 *
                 * @param roleInfo    角色对象(可以设置角色的ID, 编码来删，如果同时设置多个，优先按ID, 编码来查询 )
                 * @param processInfo 如果删除失败，会有错误信息。可以传null，但将无法获取错误原因。    如果成功，也会有信息。
                 * @return true：执行成功; false:执行失败
                 */
                deleteRole(roleInfo:$.kd.bos.permission.api.RoleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 功能权限检查(按 业务单元+职能类型 验权)
                 *
                 * @param userId      用户id
                 * @param orgViewType 业务单元类型，不确定是可以传null
                 * @param orgId       业务单元id
                 * @param appId       应用id
                 * @param entityNum   业务对象编码
                 * @param permItemId  权限项id
                 * @return 0 无权   1 有权
                 */
                checkPermission(userId:long,orgId:long,orgViewType:string,appId:string,entityNum:string,permItemId:string):number;
                /**
                 * 根据业务角色id获取该业务角色下所有用户
                 * @param bizRoleId 业务角色id
                 * @return 业务角色下所有用户
                 */
                getUsersByBizRoleID(bizRoleId:long):$.java.util.List;
                /**
                 * 根据用户ID解除对应的所有业务角色绑定
                 * 解除之后，可能导致用户失去某些功能权限、数据权限
                 *
                 * @param userId 用户ID
                 * @return 如果解除成功返回true，否则返回false
                 */
                clearBizRoleUserBundingByUserId(userId:long,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 功能权限检查(按多个业务单元+职能类型 验权)
                 *
                 * @param userId           用户id
                 * @param orgIdViewTypeMap 业务单元和组织类型的映射
                 * @param appId            应用id
                 * @param entityNum        业务对象编码
                 * @param permItemId       权限项id
                 * @return 0 无权   1 有权
                 */
                checkPermission(userId:long,orgIdViewTypeMap:$.java.util.Map,appId:string,entityNum:string,permItemId:string):number;
                /**
                 * 修改业务角色相关的通用角色
                 * 修改之后，可能导致用户失去某些功能权限、数据权限
                 * 业务角色ID不能为空，通用角色集合不能为空，更新后，新关联的通用角色会替换之前的全部旧数据
                 * @param processInfo 如果创建失败，会有错误信息
                 * @return 如果创建成功返回true，否则返回false。
                 */
                modifyBizRoleCommRoles(bizRoleId:long,commonRoleList:$.java.util.List,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取管理员行政组织管辖范围外的用户（在管理员的行政组织管辖范围以外的额外用户，这些用户也受管理员控制。）
                 *
                 * @param adminUserId 管理员的用户ID
                 * @param paraMap 其他请求参数Map
                 * @return 返回 List<Long>人员范围结果集
                 */
                getAdminExtraUserWithParaMap(adminUserId:long,paraMap:$.java.util.Map):$.java.util.List;
                /**
                 * 字段权限 FieldControlRules 转换成 Map<pkId, FieldControlRule>
                 * @param req FieldControlRules转换成FieldControlRule-请求类
                 * @return PermRes<Map<String, FieldControlRule>>
                 */
                fieldControlRules2RuleMap(req:$.kd.bos.permission.model.perm.req.field.FieldControlRules2RuleReq):$.kd.bos.permission.model.PermRes;
                /**
                 * 根据业务角色的number，删除业务角色
                 * 删除之后，可能导致用户失去某些功能权限、数据权限
                 *
                 * @param number 业务角色编码
                 * @param processInfo 处理信息
                 * @return 如果删除成功返回true，否则返回false
                 */
                delBizRoleByNum(number_arg:string,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 根据用户id获取用户所属的全部业务角色
                 * @param userID 用户id
                 * @return 用户所属的全部业务角色
                 */
                getBizRolesByUserID(userID:long):$.java.util.List;
                /**
                 * 获取有权的隔离维度对象范围
                 *
                 * @param userId     用户ID
                 * @param appId      应用ID
                 * @param entityNum  实体ID
                 * @param permItemId 权限项ID
                 * @return HasPermDimObjResult
                 * 使用时，务必先判断hasAllDimObjPerm（）是否为true，如果是，getHasPermDimObjs()是一个空集合，但含义却是所有隔离维度下都有权。
                 * 如果为false，则getHasPermDimObjs()返回范围即为有权隔离维度的范围。
                 */
                getHasPermDimObjs(userId:long,appId:string,entityNum:string,permItemId:string):$.kd.bos.permission.api.HasPermDimObjResult;
                /**
                 * 根据业务角色编码获取该业务角色下所有用户
                 * @param bizRoleNum 业务角色编码
                 * @return 业务角色下所有用户
                 */
                getUsersByBizRoleNum(bizRoleNum:string):$.java.util.List;
                /**
                 * 用户解除业务角色
                 * 解除之后，可能导致用户失去某些功能权限、数据权限
                 *
                 * @param userId 用户ID
                 * @param bizRoleIds 业务角色ID集合
                 * @return 如果解除成功返回true，否则返回false
                 */
                userUnBundleBizRole(userId:long,bizRoleIds:$.java.util.Set,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 新增数据规则方案
                 *
                 * @param dataRuleInfo 数据规则方案基本信息
                 * @param processInfo  如果执行失败，会有错误信息。可以传null，但将无法获取错误原因。
                 * @return true：执行成功; false:执行失败
                 */
                newDataRule(dataRuleInfo:$.kd.bos.permission.model.DataRuleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 根据角色ID获取该角色下所有用户
                 *
                 * @param roleId 角色ID
                 * @return 用户ID的集合
                 */
                getUsersByRoleID(roleId:string):$.java.util.List;
                /**
                 * 判断指定用户是否拥有指定授权：应用-表单-权限项
                 * orgViewType这个入参，从目前的实现上来说，可能只有在entityNum对应的是动态表单时，
                 * 可能有意义，因为动态表单有时无法指定权限控制主字段或辅字段，那么此时调用者可能需要按指定组织职能来验权；
                 * 如果当前表单本身有指定权限控制主字段或辅字段，那么按这些字段的组织职能来验权
                 *
                 * @param userId      用户id
                 * @param appId       应用id
                 * @param orgViewType 业务单元职能类型(可以传null，传null意味着不考虑具体职能类型的限定)
                 * @param entityNum   表单编码
                 * @param permItemId  权限项内码
                 * @return true 拥有  false 没有
                 */
                checkPermission(userId:long,orgViewType:string,appId:string,entityNum:string,permItemId:string):boolean;
                /**
                 * 用户组分配用户（记录权限日志）
                 * 为避免OOM，userIdAndGroupIdsMap不要太大，可分批次调用
                 * @param reqList 用户组分配用户-请求参数列表
                 * @param permLogReq 权限日志 请求参数
                 * @return 权限接口结果对象
                 */
                userAssignUserGroupWithPermLog(reqList:$.java.util.List,permLogReq:$.kd.bos.permission.model.perm.req.PermLogReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 业务角色分配用户
                 * @param bizRoleId 角色ID
                 * @param assignInfo 键：用户id  值：[生效日期，失效日期]
                 * @return 如果分配成功返回true，否则返回false
                 */
                bizRoleBundleUser(bizRoleId:long,assignInfo:$.java.util.Map,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 功能权限检查(按多个权限隔离对象)
                 *
                 * @param userId     用户id
                 * @param dimType    权限控制类型（即原来说的权限隔离维度类型）
                 * @param dimObjIds  维度对象的id列表
                 * @param appId      应用id
                 * @param entityNum  业务对象编码
                 * @param permItemId 权限项id
                 * @return 0 无权   1 有权
                 */
                checkPermission(userId:long,dimType:string,dimObjIds:$.java.util.List,appId:string,entityNum:string,permItemId:string):number;
                /**
                 * 根据业务角色的id，删除业务角色
                 * 删除之后，可能导致用户失去某些功能权限、数据权限
                 *
                 * * @return 如果删除成功返回true，否则返回false。
                 * @param bizRoleId 业务角色id
                 * @param processInfo 处理信息
                 * @return 如果删除成功返回true，否则返回false
                 */
                delBizRoleById(bizRoleId:long,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 给业务角色分配补充功能权限
                 * @param bizRoleId   业务角色ID
                 * @param bizRolePermList  应用ID，实体编码和权限项ID组成的javaBean
                 * @param addOrRemove true 为增加， false为删除
                 * @param processInfo 处理信息
                 * @return 如果分配失败，则返回false，否则为true。
                 */
                bizRoleAssignFuncPerm(bizRoleId:long,bizRolePermList:$.java.util.List,addOrRemove:boolean,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 根据业务角色ID，获取业务角色信息
                 * @param bizRoleId 业务角色id
                 * @return 业务角色信息
                 */
                getBizRoleInfoById(bizRoleId:long):$.kd.bos.permission.api.BizRoleInfo;
                /**
                 * 清理所有权限相关缓存
                 *
                 * @return 是否清理成功：true为成功，false是失败
                 */
                clearAllCache():boolean;
                /**
                 * 通用角色分配功能权限
                 *
                 * @param roleId               角色ID
                 * @param appEntityPermItemMap 应用ID，实体编码和权限项ID的映射
                 * @param addOrRemove          true 为增加权限项， false为删除权限项
                 * @param processInfo          处理信息
                 * @return 如果分配失败，则返回false，否则为true。
                 */
                roleAssignFuncPerm(roleId:string,appEntityPermItemMap:$.java.util.Map,addOrRemove:boolean,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 根据给定的过滤条件查询出业务角色信息
                 * @param q 过滤条件QFilter
                 * @return 业务角色数组
                 */
                queryBizRoles(q:$.kd.bos.orm.query.QFilter):$.kd.bos.permission.api.BizRoleInfo[];
                /**
                 * 用户直接授权
                 * 例如：用户分配组织-功能权限
                 * ps：先执行req中 addList，再执行 delList，如果传入delList，可能导致用户失去某些功能权限、数据权限
                 * @param req 用户直接授权分配 请求参数
                 * @return 权限接口结果对象
                 */
                userDirectAssignPerm(req:$.kd.bos.permission.model.perm.req.user.UserDirectAssignReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 获取列表字段权限配置 (包含字段方案)
                 *
                 * @param req 获取列表字段权限配置-请求类
                 * @return FieldControlRule
                 */
                getFieldControlRule(req:$.kd.bos.permission.model.perm.req.field.GetFieldControlRulesReq):$.kd.bos.permission.api.FieldControlRule;
                /**
                 * 根据用户id集合获取Map<用户id,Set<用户组id>>
                 * 为避免OOM，建议入参userIdSet不要太大
                 *
                 * @param userIdSet 用户id集合
                 * @return Map<用户id,Set<用户组id>>
                 */
                getUIdGrpIdSetMap(userIdSet:$.java.util.Set):$.java.util.Map;
                /**
                 * 判断指定用户是否拥有指定应用指定表单的指定权限项(不考虑隔离维度)
                 *
                 * @param req     判断指定用户是否拥有指定应用指定表单的指定权限项(不考虑隔离维度) 请求参数类
                 * @return  PermResult 权限接口结果对象
                 */
                checkPermission(req:$.kd.bos.permission.model.perm.req.CheckPermissionReq):$.kd.bos.permission.model.PermResult;
                /**
                 * 获取指定用户、应用，实体下的数据权限规则
                 *
                 * @param userId    用户ID
                 * @param appId     应用ID
                 * @param entityNum 实体编码
                 * @return 最终过滤条件：条件中包含组织的条件。例如 (orgid=1L and 规则1) or (orgid=2L and 规则2) or (orgid=3L and 规则3) ....
                 */
                getDataPermWithOrg(userId:long,appId:string,entityNum:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取管理员管辖的应用范围（返回扩展应用id）
                 * 相比于getAdminChargeApps（）方法，调用者可以通过返回值判断是否控制管理员的应用管辖范围
                 * （如公共设置-查询配置左树，需要返回扩展应用id）
                 * @param userId 用户ID
                 * @param returnExtAppId 是否返回扩展应用id
                 * @return 返回值是一个AdminAppResult对象，管理员管辖的应用结果类
                 * 使用时，务必先判断needAdminAppRange（）是否为true，
                 * 如果为true，  getAppIds()代表有权应用范围。
                 * 如果为false，则getAppIds()是空集合，没有意义。
                 */
                getAdminApps(userId:long,returnExtAppId:boolean):$.kd.bos.permission.api.AdminAppResult;
                /**
                 * 批量应用 获取用户无权菜单
                 * <p>
                 * 用户进入某个应用时，需将无权的菜单隐藏掉
                 * 根据用户ID和应用ID获取接口返回无权的菜单ID
                 * 用户有权的菜单是已授权业务对象及没有配置权限项的业务对象的并集
                 * 为了避免性能问题，建议appIdSet 一次性不要传入过多。
                 * @param userId   用户ID
                 * @param appIdSet 应用ID集合
                 * @return Map<应用id, 无权菜单Set < String>>
                 */
                getUserNoPermMenuByBatchApp(userId:long,appIdSet:$.java.util.Set):$.java.util.Map;
                /**
                 * 修改角色
                 *
                 * @param roleInfo    角色对象
                 * @param processInfo 如果修改失败，会有错误信息。可以传null，但将无法获取错误原因。  如果成功，也会有信息。
                 * @return true：执行成功; false:执行失败
                 */
                modifyRole(roleInfo:$.kd.bos.permission.api.RoleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 业务角色解除用户
                 * 解除之后，可能导致用户失去某些功能权限、数据权限
                 * @param bizRoleId 业务角色ID
                 * @param userIds 用户ID集合
                 * @return 如果解除成功返回true，否则返回false
                 */
                bizRoleUnBundleUser(bizRoleId:long,userIds:$.java.util.Set,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取当前用户拥有的所有通用角色
                 *
                 * @param userId 用户ID
                 * @return 当前用户拥有的所有通用角色的集合 （不考虑隔离维度）
                 */
                getRolesByUser(userId:long):$.java.util.Set;
                /**
                 * 新建业务角色(需要传入该业务角色对应的通用角色，组织进行关联)
                 * 角色id,num由接口内部生成
                 * @param bizRoleInfo 业务角色对象， 创建成功后， bizRoleInfo的getId会有值。
                 * @param processInfo 如果创建失败，会有错误信息
                 * @return 如果创建成功返回true，否则返回false。
                 */
                newBizRole(bizRoleInfo:$.kd.bos.permission.api.BizRoleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 获取管理员管理的用户范围
                 *
                 * @param req  获取管理员管理的的用户范围 请求参数类
                 * @return 返回 UserScopeResult 类型的人员范围结果集
                 */
                getAdminChargeUser(req:$.kd.bos.permission.model.perm.req.admin.GetAdminChargeUserReq):$.kd.bos.permission.api.UserScopeResult;
                /**
                 * 批量验证指定的权限项的授权情况
                 *
                 * @param pUserId      用户id
                 * @param pAppId       应用id或应用编码
                 * @param pFormNum     表单id
                 * @param pPermItems 权限项ID的集合
                 * @return Map key：权限项标识， value： 是否有权，true为有权，false为无权。
                 */
                checkMultiPermItemInfos(pUserId:long,pAppId:string,pFormNum:string,pPermItems:$.java.util.Set):$.java.util.Map;
                /**
                 * 获取用户在指定表单的基础资料属性上被分配的过滤条件（不考虑隔离维度（如组织，体系，渠道等））
                 *
                 * @param userId     用户ID
                 * @param appId      应用ID
                 * @param entityNum  实体编码
                 * @param propEntNum 基础资料属性标识
                 * @return 数据规则转化后的过滤条件
                 */
                getDataRuleForBdProp(userId:long,appId:string,entityNum:string,propEntNum:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取有权限的业务单元。（带职能类型参数）
                 *
                 * @param userId      用户ID
                 * @param orgViewType 职能类型，值可以使用OrgViewType
                 * @param appId       应用ID
                 * @param entityNum   实体编码
                 * @param permItemId  权限项ID
                 * @param mustQuery   必须查出组织列表内容
                 * @param includeDisable 是否包含封存或禁用
                 * @return 即使HasPermOrgResult的hasAllOrgPerm（）为true，如果mustQuery为true，HasPermOrgResult的getHasPermOrgs()返回值就是有权的组织范围，
                 * 否则当HasPermOrgResult的hasAllOrgPerm（）为true时，HasPermOrgResult的getHasPermOrgs()返回值的内容为空，但表示有权范围为所有业务单元。
                 * 当HasPermOrgResult的hasAllOrgPerm（）为false时， getHasPermOrgs()返回值的内容就是有权的业务单元范围。
                 */
                getAllPermOrgs(userId:long,orgViewType:string,appId:string,entityNum:string,permItemId:string,mustQuery:boolean,includeDisable:boolean):$.kd.bos.permission.api.HasPermOrgResult;
                /**
                 * 判断用户对指定应用是否有权
                 *
                 * @param userID 人员ID
                 * @param appID  应用ID
                 * @return true: 有权；false: 无权。
                 */
                checkUserBizApp(userID:long,appID:string):boolean;
                /**
                 * 判断用户是否拥有指定实体的新增权（不考虑隔离维度）
                 *
                 * @param userId    用户id
                 * @param appId     应用id
                 * @param entityNum 实体编码
                 * @return true：有权；false：无权
                 */
                hasNewPermission(userId:long,appId:string,entityNum:string):boolean;
                /**
                 * 获取用户在指定应用-表单下的有权和无权的权限项情况（不考虑隔离维度分配情况）
                 *
                 * @param userId  用户id
                 * @param appId   应用id
                 * @param formNum 表单编码（注意这个是表单编码，不是实体编码）
                 * @return 返回值为Map。 key：权限项标识；value： 是否显示，true为显示，false为不显示。
                 * 两个特殊情况： 返回null即参数有问题，返回空集合即不需要验权
                 */
                getHasPermItems(userId:long,appId:string,formNum:string):$.java.util.Map;
                /**
                 * 判断用户是不是全功能用户。
                 *
                 * @param userId 用户ID
                 * @return true:是全功能用户；false：不是。
                 */
                isSuperUser(userId:long):boolean;
                /**
                 * 判断用户是否有指定应用-实体的查看权（不考虑隔离维度）
                 *
                 * @param userId    用户id
                 * @param entityNum 表单编码
                 * @return true:有权; false:无权
                 */
                hasViewPermission(userId:long,appId:string,entityNum:string):boolean;
                /**
                 * 获取用户有权使用的应用ID列表
                 *
                 * @param userID 人员ID
                 * @return 用户有权使用的应用ID列表
                 */
                getUserBizApps(userID:long):$.java.util.List;
                /**
                 * 修改数据规则方案
                 *
                 * @param oldDataRuleId 旧数据规则方案的主键id
                 * @param dataRuleInfo  数据规则方案基本信息
                 * @param processInfo   如果执行失败，会有错误信息。可以传null，但将无法获取错误原因。
                 * @return true：执行成功; false:执行失败
                 */
                modifyDataRule(oldDataRuleId:long,dataRuleInfo:$.kd.bos.permission.model.DataRuleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 判断用户在指定应用-表单-权限项下，操作指定条件的表单记录时，是否匹配数据规则
                 *
                 * @param userId     用户ID
                 * @param appId      应用id
                 * @param entityNum  实体编码
                 * @param permItemId 权限项ID
                 * @param qFilters   自定义指定条件，也可以直接提供指定记录的ID，例如：new QFilter[]{new QFilter("id", QFilter.equals, pkId)}
                 * @return
                 */
                matchDataRule(userId:long,appId:string,entityNum:string,permItemId:string,qFilters:$.kd.bos.orm.query.QFilter[]):boolean;
                /**
                 * 新建角色
                 *
                 * @param roleInfo    角色对象， 创建成功后， roleInfo的getId（）会有值。调用方可获取这个id，以便后续做其他处理。
                 * @param processInfo 如果创建失败，会有错误信息。可以传null，但将无法获取错误原因。 如果方法执行成功，也会有信息。
                 * @return true：执行成功; false:执行失败
                 */
                newRole(roleInfo:$.kd.bos.permission.api.RoleInfo,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 判断指定用户是否拥有指定应用指定表单的指定权限项(不考虑隔离维度)，支持任一应用验权
                 *
                 * @param userId     用户id
                 * @param appId      应用id
                 * @param entityNum  表单编码
                 * @param permItemId 权限项内码
                 * @return true: 有权  false: 无权
                 */
                checkPermission(userId:long,appId:string,entityNum:string,permItemId:string):boolean;
                /**
                 * 修改业务角色相关的组织
                 * 修改之后，会导致用户的权限发生变化
                 * 业务角色ID不能为空，组织集合不能为空，修改后，用户的所有关联关系会更新
                 * @param processInfo 如果创建失败，会有错误信息
                 * @return 如果创建成功返回true，否则返回false。
                 */
                modifyBizRoleOrgs(bizRoleId:long,bizRoleOrgList:$.java.util.List,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 批量验证指定的权限项的授权情况（忽略应用验权）
                 *
                 * @param pUserId      用户id
                 * @param pFormNum     表单id
                 * @param pPermItems 权限项ID的集合
                 * @param pNeedCheckMenuApp 是否按表单通过菜单挂载的全员应用验权，不清楚时传 false
                 * @return Map key：权限项标识， value： 是否有权，true为有权，false为无权。
                 */
                checkMultiPermItemInfos(pUserId:long,pFormNum:string,pPermItems:$.java.util.Set,pNeedCheckMenuApp:boolean):$.java.util.Map;
                /**
                 * 给业务角色分配禁用权限
                 * 分配之后，可能导致用户失去某些功能权限、数据权限
                 *
                 * @param bizRoleId   业务角色ID
                 * @param bizRoleDisPermList  应用ID，实体编码和权限项ID组成的javaBean
                 * @param addOrRemove true 为增加， false为删除
                 * @param processInfo 处理信息
                 * @return 如果分配失败，则返回false，否则为true。
                 */
                bizRoleDisFuncPerm(bizRoleId:long,bizRoleDisPermList:$.java.util.List,addOrRemove:boolean,processInfo:$.java.lang.StringBuilder):boolean;
                /**
                 * 校验特殊数据权限
                 * @param userId  用户id
                 * @param entityNum  实体编码
                 * @param operationKey  操作编码
                 * @param pkIds 主键id的集合
                 * @param sbNotMatchTips 提示语
                 * @return  Map<Object, Boolean>： key是主键ID； value是校验结果，true是校验通过，false是不通过。
                 */
                checkOperationRule(userId:long,entityNum:string,operationKey:string,pkIds:$.java.util.List,sbNotMatchTips:$.java.lang.StringBuilder):$.java.util.Map;
                /**
                 * 获取用户在指定表单的权限项下被分配的过滤条件（不考虑隔离维度（如组织，体系，渠道等））
                 *
                 * @param userId     用户ID
                 * @param appId      应用ID
                 * @param entityNum  实体编码
                 * @param permItemId 权限项ID
                 * @return 数据规则转化后的过滤条件
                 */
                getDataRule(userId:long,appId:string,entityNum:string,permItemId:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取当前表单所有权限项的授权情况
                 *
                 * @param pUserId      用户id
                 * @param pAppId       应用id或应用编码
                 * @param pFormNum     表单编码
                 * @return Map key：权限项标识， value： 是否有权，true为有权，false为无权。
                 */
                getMultiPermItemInfos(pUserId:long,pAppId:string,pFormNum:string):$.java.util.Map;
                /**
                 * 根据业务角色ID，获取业务角色补充权限
                 * @param bizRoleId 业务角色id
                 * @return 业务角色补充权限
                 */
                getBizRolePermByBizRoleId(bizRoleId:long):$.java.util.List;
            }
            interface PermissionServiceHelper_C extends PermissionServiceHelper_S {
                new():PermissionServiceHelper;
            }
            interface PermissionServiceHelper$ {
                /**
                 *  不区分组织，获取用户所有有权“查看”的所有业务对象实体的信息
                 *  返回内容如下：
                 *  <pre><code>
                 *  [{
                 * 		//云
                 * 		"id":"cloudid",
                 * 		"name":"cloudName",
                 * 		"children":[
                 * 		{
                 * 			//应用
                 * 			"id":"appId",
                 * 			"name":"appName"
                 * 			"children":[
                 * 			{
                 * 				//表单
                 * 				"id":"formId1",
                 * 				"name":"formName1"
                 * 			},
                 * 			{
                 * 				"id":"formId2",
                 * 				"name":"formName2"
                 * 			},
                 * 			{
                 * 				"id":"formId3",
                 * 				"name":"formName3"
                 * 			}]
                 * 		},
                 * 		{
                 * 			"id":"appId2",
                 * 			"name":"appName2"
                 * 			"children":[
                 * 			{
                 * 				"id":"formId4",
                 * 				"name":"formName4"
                 * 			},
                 * 			{
                 * 				"id":"formId5",
                 * 				"name":"formName5"
                 * 			},
                 * 			{
                 * 				"id":"formId6",
                 * 				"name":"formName6"
                 * 			}]
                 * 		}]
                 * 	}]
                 * </code></pre>
                 *  @param req 获取用户所有有权“查看”的所有业务对象实体的信息 请求参数类
                 *  @return String
                 */
                getUsableEntitiesInfo(req:$.kd.bos.permission.model.perm.req.user.GetUsableEntitiesInfoReq):string;
                /**
                 * 用户禁用权限
                 * 增加用户禁用权限后，可能会导致用户无法使用某功能
                 *
                 * @param userId               用户ID
                 * @param dimType              隔离维度
                 * @param dimObjIds            隔离维度ID
                 * @param appEntityPermItemMap 应用，实体和权限项的映射
                 * @param addOrRemove          true 为禁用 , false为取消禁用
                 * @return
                 */
                userDisFuncPerm(userId:long,dimType:string,dimObjIds:$.java.util.List,appEntityPermItemMap:$.java.util.Map,addOrRemove:boolean):boolean;
            }
            type PermissionServiceHelper_T = PermissionServiceHelper$;
            interface PermissionServiceHelper extends PermissionServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.permission.nocode{
            interface NoCodePermissionServiceHelper_S {
                /**
                 * 复制角色权限
                 *
                 * @param roleId 来源角色ID
                 * @param name   新角色名称
                 * @return 角色权限信息对象
                 */
                copyRolePerm(roleId:string,name:string):kd.bos.permission.nocode.model.RolePerm;
                /**
                 * 根据用户ID查询角色信息
                 *
                 * @param userId 用户ID
                 * @return 返回角色对象Role列表
                 */
                getRoleByUserId(userId:long):$.java.util.List;
                /**
                 * 保存角色权限
                 *
                 * @param rolePerm 角色权限信息对象
                 */
                saveRolePerm(rolePerm:kd.bos.permission.nocode.model.RolePerm):void;
                /**
                 * 获取用户的表单权限项
                 *
                 * @param userId       用户ID
                 * @param entityNumber 表单编码
                 * @return 有权的权限项ID列表
                 */
                getPermItems(userId:long,entityNumber:string):$.java.util.Set;
                /**
                 * 获取用户无权查看的属性
                 *
                 * @param userId       用户ID
                 * @param appId        应用ID
                 * @param entityNumber 表单编码
                 * @return 返回权限项ID与无权查看的属性名的映射
                 */
                getNoPermProperties(userId:long,appId:string,entityNumber:string):$.java.util.Map;
                /**
                 * 根据应用ID查询角色信息
                 *
                 * @param appId 应用ID
                 * @return 返回角色对象Role列表
                 */
                getRoleByAppId(appId:string):$.java.util.List;
                /**
                 * 根据用户ID获取应用创建权人员范围的接口
                 *
                 * @param userId        用户ID
                 * @param includeSubOrg 包含下级组织
                 * @return 返回数据规则的人员ID集合；未配置或者拥有全部权限时，返回null
                 */
                getSystemRoleUserIds(userId:long,includeSubOrg:boolean):$.java.util.Set;
                /**
                 * 根据用户ID获取应用创建权组织范围
                 *
                 * @param userId        用户ID
                 * @param includeSubOrg 包含下级组织
                 * @return 返回数据规则的组织ID集合；未配置或者拥有全部权限时，返回null
                 */
                getSystemRoleOrgIds(userId:long,includeSubOrg:boolean):$.java.util.Set;
                /**
                 * 申请表单权限
                 *
                 * @param entityAppMap 实体编码与应用ID列表的映射
                 * @return 权限操作结果
                 */
                applyPerm(entityAppMap:$.java.util.Map):kd.bos.permission.nocode.model.PermResult;
                /**
                 * 获取用户有权的全部应用
                 *
                 * @param userId 用户ID
                 * @return 应用ID列表
                 */
                getUsableAppIds(userId:long):$.java.util.Set;
                /**
                 * 获取用户的表单权限项
                 *
                 * @param userId       用户ID
                 * @param appId        应用ID
                 * @param entityNumber 表单编码
                 * @return 有权的权限项ID列表
                 */
                getPermItems(userId:long,appId:string,entityNumber:string):$.java.util.Set;
                /**
                 * 保存角色
                 *
                 * @param role 角色信息对象
                 */
                saveRole(role:kd.bos.permission.nocode.model.Role):void;
                /**
                 * 根据用户ID查询系统平台授权角色信息
                 *
                 * @param userId 用户ID
                 * @return 返回角色对象Role列表
                 */
                getSystemRoleByUserId(userId:long):$.java.util.List;
                /**
                 * 批量获取用户的表单指定操作的数据规则过滤条件
                 *
                 * @param userId       用户ID
                 * @param entityNumber 表单编码
                 * @param permItemIds  权限项集合
                 * @return 返回权限项ID和数据规则的过滤条件的映射；未配置或者拥有全部权限时，过滤条件是null
                 */
                getDataRuleFilters(userId:long,entityNumber:string,permItemIds:$.java.util.List):$.java.util.Map;
                /**
                 * 更新角色排序
                 *
                 * @param roleIds 角色ID列表
                 * @return 出错提示信息：为空表示更新成功
                 */
                updateRoleSort(roleIds:$.java.util.List):string;
                /**
                 * 获取用户的表单的数据规则过滤条件
                 *
                 * @param userId       用户ID
                 * @param appId        应用ID
                 * @param entityNumber 表单编码
                 * @return 返回数据规则的过滤条件；未配置或者拥有全部权限时，返回null
                 */
                getDataRuleFilter(userId:long,appId:string,entityNumber:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据应用ID获取已申请权限的表单列表
                 *
                 * @param appIds 应用ID列表
                 * @return 实体编码（entityNumber）与已申请权限的应用ID列表的映射
                 */
                getAppliedAppPerm(appIds:$.java.util.List):$.java.util.Map;
                /**
                 * 删除已申请的表单权限
                 *
                 * @param entityAppMap 实体编码与应用ID列表的映射
                 * @return 权限操作结果
                 */
                deleteAppliedPerm(entityAppMap:$.java.util.Map):kd.bos.permission.nocode.model.PermResult;
                /**
                 * 根据应用ID删除角色
                 *
                 * @param role 角色对象：应用ID（appId）
                 */
                deleteRoleByAppId(role:kd.bos.permission.nocode.model.Role):void;
                /**
                 * 获取角色权限信息
                 *
                 * @param roleId 角色ID
                 * @return 角色权限信息对象
                 */
                getRolePerm(roleId:string):kd.bos.permission.nocode.model.RolePerm;
                /**
                 * 根据ID查询角色信息
                 *
                 * @param roleId 角色ID
                 * @return 角色信息对象
                 */
                getRole(roleId:string):kd.bos.permission.nocode.model.Role;
                /**
                 * 获取用户的表单指定操作的数据规则过滤条件
                 *
                 * @param userId       用户ID
                 * @param entityNumber 表单编码
                 * @param permItem     权限项
                 * @return 返回数据规则的过滤条件；未配置或者拥有全部权限时，返回null
                 */
                getDataRuleFilter(userId:long,entityNumber:string,permItem:kd.bos.permission.nocode.model.PermItemEnum):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据用户ID获取应用创建权组织范围过滤条件
                 *
                 * @param userId        用户ID
                 * @param includeSubOrg 包含下级组织
                 * @return 返回数据规则的过滤条件；未配置或者拥有全部权限时，返回null
                 */
                getSystemRoleOrgFilter(userId:long,includeSubOrg:boolean):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据表单编码获取其权限申请的应用列表
                 *
                 * @param entityNumberList 实体编码列表
                 * @return 实体编码（entityNumber）与已申请权限的应用ID列表的映射
                 */
                getAppliedEntityPerm(entityNumberList:$.java.util.List):$.java.util.Map;
                /**
                 * 根据ID删除角色
                 *
                 * @param role 角色对象：ID（id）
                 */
                deleteRole(role:kd.bos.permission.nocode.model.Role):void;
                /**
                 * 根据用户ID获取应用创建权人员范围过滤条件
                 *
                 * @param userId        用户ID
                 * @param includeSubOrg 包含下级组织
                 * @return 返回数据规则的过滤条件；未配置或者拥有全部权限时，返回null
                 */
                getSystemRoleUserFilter(userId:long,includeSubOrg:boolean):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取用户管理的全部应用
                 *
                 * @param userId 用户ID
                 * @return 应用ID列表
                 */
                getManageAppIds(userId:long):$.java.util.Set;
                /**
                 * 获取用户无权查看的属性
                 *
                 * @param userId       用户ID
                 * @param entityNumber 表单编码
                 * @return 返回权限项ID与无权查看的属性名的映射
                 */
                getNoPermProperties(userId:long,entityNumber:string):$.java.util.Map;
                /**
                 * 获取用户全部有权的应用和表单
                 *
                 * @param userId
                 * @param permItemIds
                 * @return 返回授权应用ID、表单编码与权限项ID的映射
                 */
                getAuthorizedAppEntityNumbers(userId:long,permItemIds:$.java.util.List):$.java.util.Map;
            }
            interface NoCodePermissionServiceHelper_C extends NoCodePermissionServiceHelper_S {
                new():NoCodePermissionServiceHelper;
            }
            interface NoCodePermissionServiceHelper$ {
            }
            type NoCodePermissionServiceHelper_T = NoCodePermissionServiceHelper$;
            interface NoCodePermissionServiceHelper extends NoCodePermissionServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.print{
            interface NotePrintService_S {
                readonly CONFIG_KEY:string;
                readonly CLASS_NAME:string;
                readonly CONFIGKEY:string;
                /**
                 * @description 创建打印数据提供者
                 * @param formId
                 *            表单ID
                 * @param pageId
                 *            页面ID
                 * @param printMeta
                 *            套打功能专用的元数据 用于描述套打设计器中模型的元素
                 * @param pkids
                 *            主键值得集合;
                 */
                createDataProvider(pageId:string,formId:string,printMeta:$.kd.bos.metadata.form.PrintMetadata,pkids:$.java.util.List):com.kingdee.bos.ctrl.reportone.r1.print.data.IPrintDataProvider;
            }
            interface NotePrintService_C extends NotePrintService_S {
                new():NotePrintService;
            }
            interface NotePrintService$ {
                /**
                 * 下面一堆重载的方法都可废弃，统一一个入口，doPrint*
                 */
                createPdfUrl(pdfName:$.kd.bos.dataentity.entity.LocaleString,jobs:$.java.util.List):string;
                createPdfUrl(pdfName:$.kd.bos.dataentity.entity.LocaleString,pdfByte:number[]):string;
                createPdfUrl(pageId:string,formId:string,templateId:string,billPkId:any,entryFilterExp:$.java.util.Map):string;
                createPrintJob(configKey:string,cacheId:string,filepath:string,jobName:$.kd.bos.dataentity.entity.LocaleString,printerId:any,printType:string,dateTime:Date):boolean;
                createSinglePdf(templateId:string,dataProvider:com.kingdee.bos.ctrl.reportone.r1.print.data.IPrintDataProvider):number[];
                createSinglePdf(pageId:string,formId:string,templateId:string,pkId:any,workFlowParams:$.java.util.Map):number[];
                createCrossPdf(jobs:$.java.util.List):number[];
                /**
                 * @description 根据模版ID和单据ID生成PDF数据流
                 * @param templateId
                 *            模版ID
                 * @param pkId
                 *            单据ID
                 */
                createSinglePdf(pageId:string,formId:string,templateId:string,pkId:any):number[];
                createXlsUrl(jobs:$.java.util.List):string;
                createXlsUrl(jobs:$.java.util.List,para:$.java.util.Map):string;
                doPrint(taskId:string,printType:string,jobs:$.java.util.List,para:$.java.util.Map):string;
                /**
                 * @description 创建打印任务
                 * @param configKey
                 *            缓存配置key
                 * @param cacheId
                 *            缓存ID
                 * @param filepath
                 *            文件地址
                 * @param jobName
                 *            任务名称
                 * @param printerId
                 *            云打印机ID
                 * @return 创建打印任务的返回结果
                 */
                createPrintJob(configKey:string,cacheId:string,filepath:string,jobName:$.kd.bos.dataentity.entity.LocaleString,printerId:any,printType:string):boolean;
                /**
                 * @description 创建打印任务
                 * @param configKey
                 *            缓存配置key
                 * @param cacheId
                 *            缓存ID
                 * @param filepath
                 *            文件地址
                 * @param jobName
                 *            任务名称
                 * @param printerId
                 *            云打印机ID
                 * @return 创建打印任务的返回结果
                 */
                createPrintJob(configKey:string,cacheId:string,filepath:string,jobName:$.kd.bos.dataentity.entity.LocaleString,printerId:any):boolean;
                /**
                 * @description 创建打印任务
                 * @param jobs
                 *            需要创建的打印任务
                 * @return 创建打印任务的结果
                 */
                createPrintJob(pdfName:$.kd.bos.dataentity.entity.LocaleString,jobs:$.java.util.List):boolean;
                createPdfBytes(pageId:string,formId:string,templateId:string,billPkId:any,entryFilterExp:$.java.util.Map):number[];
            }
            type NotePrintService_T = NotePrintService$;
            interface NotePrintService extends NotePrintService_T {
            }
        }
        namespace kd.bos.servicehelper.print.dataprovider{
            interface BaseDataProvider_S {
                createEntityType(name:string,selectFields:$.java.util.Set):$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
            }
            type BaseDataProvider_ST = BaseDataProvider_S & com.kingdee.bos.ctrl.reportone.r1.print.data.AbstractPrintDataProvider_S;
            interface BaseDataProvider_C extends BaseDataProvider_ST {
                new():BaseDataProvider;
                new(pageId:string,mainEntityType:$.kd.bos.entity.MainEntityType,customFieldsMap:$.java.util.Map,pluginProxy:$.kd.bos.entity.plugin.PrintServicePluginProxy):BaseDataProvider;
                new(pageId:string,mainEntityType:$.kd.bos.entity.MainEntityType,customFieldsMap:$.java.util.Map,pluginProxy:$.kd.bos.entity.plugin.PrintServicePluginProxy,customDynamicObjectTypes:$.java.util.Map):BaseDataProvider;
            }
            interface BaseDataProvider$ {
                convertToDynamicObject(dt:$.kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType,wfObjs:$.java.util.List):$.java.util.List;
                getFilterExps():$.java.util.Map;
            }
            type BaseDataProvider_T = BaseDataProvider$ & com.kingdee.bos.ctrl.reportone.r1.print.data.AbstractPrintDataProvider;
            interface BaseDataProvider extends BaseDataProvider_T {
            }
            interface ReportDataProvider_S {
            }
            type ReportDataProvider_ST = BaseDataProvider_S & ReportDataProvider_S;
            interface ReportDataProvider_C extends ReportDataProvider_ST {
                new():ReportDataProvider;
                new(pageId:string,mainEntityType:$.kd.bos.entity.MainEntityType,customFieldsMap:$.java.util.Map,pluginProxy:$.kd.bos.entity.plugin.PrintServicePluginProxy):ReportDataProvider;
                new(pageId:string,mainEntityType:$.kd.bos.entity.MainEntityType,customFieldsMap:$.java.util.Map,pluginProxy:$.kd.bos.entity.plugin.PrintServicePluginProxy,customDynamicObjectTypes:$.java.util.Map):ReportDataProvider;
            }
            interface ReportDataProvider$ {
                queryData(queryBuilder:$.kd.bos.entity.report.ReportQueryBuilder):$.kd.bos.algo.DataSet;
            }
            type ReportDataProvider_T = BaseDataProvider & ReportDataProvider$;
            interface ReportDataProvider extends ReportDataProvider_T {
            }
        }
        namespace kd.bos.servicehelper.privacy{
            interface PrivacyCenterServiceHelper_S {
                readonly OPERATETYPE_EXPORT:string;
                readonly OPERATETYPE_API:string;
                readonly OPERATETYPE_LIST:string;
                readonly OPERATETYPE_FORM:string;
                readonly OPERATETYPE_PRINT:string;
                readonly ERRORCODE_PRIVACY:$.kd.bos.exception.ErrorCode;
                /**
                 * 是否脱敏字段
                 *
                 * @param prop          属性元数据
                 * @param localeId      多语言标识，需要脱敏的语种，如Lang.get().toString()
                 * @param operateType   操作类型,如PrivacyCenterServiceHelper.OPERATETYPE_EXPORT
                 * @param dynamicObject 单据对象
                 * @return
                 */
                isDesensitizeField(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,localeId:string,operateType:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                /**
                 * 获取属性对应的脱敏策略
                 *
                 * @param prop          实体属性
                 * @param operateType   操作类型    PrivacyDataConstant.OPERATETYPE_XXX
                 * @param dynamicObject 单据对象
                 * @return
                 */
                getDesensitizeStrategy(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,operateType:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):string;
                /**
                 * 是否加密字段
                 *
                 * @param prop 实体属性
                 * @return
                 */
                isEncryptField(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty):boolean;
                /**
                 * 根据脱敏规则处理获取对应脱敏值
                 *
                 * @param desenRuleId 脱敏规则编码
                 * @param value 字段值原值
                 * @return 脱敏值
                 */
                getDesenValueByRule(desenRuleId:string,value:any):any;
                /**
                 * @param prop         属性元数据，
                 * @param localeid     需要脱敏的语种，如Lang.get().toString()
                 * @param operateType  操作类型,如PrivacyCenterServiceHelper.OPERATETYPE_EXPORT
                 * @param dynmicObject 单据对象(作为预留作用，有可能脱敏的字段需要其他字段作为辅助)
                 * @param value        当前需要处理字段对应的明文值
                 * @return 返回脱敏值，如果不是脱敏字段，返回原值。
                 */
                getDesensitizeValue(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,localeid:string,operateType:string,dynmicObject:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
                /**
                 * 批量获取字段是否脱敏
                 *
                 * @param desensitizeFields 绑定属性
                 * @return 属性脱敏状态 true为脱敏
                 */
                getBatchDesensitizeField(desensitizeFields:$.java.util.List):boolean[];
                /**
                 * @param entityNum     实体标识
                 * @param fieldIdent    属性标识 基础资料支持层级，如currency.name
                 * @param localeid      多语言标识，需要脱敏的语种，如Lang.get().toString()
                 * @param operateType   操作类型,如PrivacyCenterServiceHelper.OPERATETYPE_EXPORT
                 * @param dynamicObject 单据对象
                 * @param value         明文值
                 * @return
                 */
                getDesensitizeValue(entityNum:string,fieldIdent:string,localeid:string,operateType:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
                /**
                 * 是否脱敏字段
                 *
                 * @param entityNum     实体标识
                 * @param fieldIdent    属性标识    基础资料支持层级，如currency.name
                 * @param localeId      多语言标识   需要脱敏的语种
                 * @param operateType   操作类型    PrivacyCenterServiceHelper#OPERATETYPE_XXX
                 * @param dynamicObject 单据对象
                 * @return 是否脱敏字段
                 */
                isDesensitizeField(entityNum:string,fieldIdent:string,localeId:string,operateType:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                /**
                 * 是否脱敏字段，忽略脱敏权限
                 *
                 * @param prop          属性元数据
                 * @param localeId      多语言标识，需要脱敏的语种，如Lang.get().toString()
                 * @param operateType   操作类型,如PrivacyCenterServiceHelper.OPERATETYPE_EXPORT
                 * @param dynamicObject 单据对象
                 * @return
                 */
                isDesensitizeFieldWithoutPerm(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,localeId:string,operateType:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):boolean;
                /**
                 * @param prop          属性元数据，
                 * @param localeid      需要脱敏的语种，如Lang.get().toString()
                 * @param operateType   操作类型,如PrivacyCenterServiceHelper.OPERATETYPE_EXPORT
                 * @param dynamicObject 单据对象
                 * @param value         明文值
                 * @return 返回脱敏值，如果不是脱敏字段，返回原值。
                 */
                getDesensitizeValueWithoutPerm(prop:$.kd.bos.dataentity.metadata.IDataEntityProperty,localeid:string,operateType:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,value:any):any;
            }
            interface PrivacyCenterServiceHelper_C extends PrivacyCenterServiceHelper_S {
                new():PrivacyCenterServiceHelper;
            }
            interface PrivacyCenterServiceHelper$ {
            }
            type PrivacyCenterServiceHelper_T = PrivacyCenterServiceHelper$;
            interface PrivacyCenterServiceHelper extends PrivacyCenterServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.productsetting{
            interface ProductSettingServiceHelper_S {
                /**
                 * 查询该应用下是否有对应的黑名单特性
                 * @param appIdOrNum    应用id或应用编码
                 * @param featureNum    特性编码
                 * @return  true：应用下有该黑名单特性；    false：应用下没有该黑名单特性
                 */
                hasBlackFeature(appIdOrNum:string,featureNum:string):boolean;
                /**
                 * 根据应用id或应用编码，返回特性黑名单列表
                 *
                 * @param appIdOrNum 应用id或应用编码
                 * @return 应用下的特性黑名单列表
                 */
                getBlackFeatureByAppId(appIdOrNum:string):$.java.util.List;
                /**
                 * 清除所有应用元数据、黑名单文件缓存
                 */
                clearAllCache():void;
            }
            interface ProductSettingServiceHelper_C extends ProductSettingServiceHelper_S {
                new():ProductSettingServiceHelper;
            }
            interface ProductSettingServiceHelper$ {
            }
            type ProductSettingServiceHelper_T = ProductSettingServiceHelper$;
            interface ProductSettingServiceHelper extends ProductSettingServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.pushMessage{
            interface PushServiceHelper_S {
                /**
                 * 通过webscoket发送指令给前端
                 * @param actionName  指令名
                 * @param param		指令参数
                 * @param sessionIds	用户id
                 */
                sendWebSocketActionBySession(actionName:string,param:any,sessionIds:string[]):void;
                /**
                 * 推送异步消息
                 * @param message 异步消息
                 */
                push(message:kd.bos.entity.api.AsynMessage):void;
                /**
                 * 推送消息
                 * @param message 消息
                 */
                push(message:$.kd.bos.dataentity.message.PushMessage):void;
                /**
                 * 通过webscoket推送消息
                 * @param message 消息
                 * @param webSocketIdList webscoket服务ID列表
                 */
                push(message:$.kd.bos.dataentity.message.PushMessage,webSocketIdList:$.java.util.List):void;
                /**
                 * 通过webscoket发送指令给前端
                 * @param actionName 指令名
                 * @param param      指令参数
                 * @param userIds    用户id
                 */
                sendWebSocketAction(actionName:string,param:any,userIds:$.java.util.List):void;
            }
            interface PushServiceHelper_C extends PushServiceHelper_S {
                new():PushServiceHelper;
            }
            interface PushServiceHelper$ {
            }
            type PushServiceHelper_T = PushServiceHelper$;
            interface PushServiceHelper extends PushServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.report{
            interface ReportServiceHelper_S {
                /**
                 * 抓取报表所有的报表列，这些列可以用于配置字段权限、打印
                 * @param formId 报表number
                 * @return
                 */
                fetchRptAllColumns(formId:string):$.java.util.List;
            }
            interface ReportServiceHelper_C extends ReportServiceHelper_S {
                new():ReportServiceHelper;
            }
            interface ReportServiceHelper$ {
            }
            type ReportServiceHelper_T = ReportServiceHelper$;
            interface ReportServiceHelper extends ReportServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.runmode{
            interface RunModeServiceHelper_S {
                readonly DEFUALT_PRODUCT_CODE:number;
                readonly ENTITY_BLACKLIST:string;
                readonly APP_BLACKLIST:string;
                readonly CLOUD_BLACKLIST:string;
                readonly GALAXY_PRODUCT_CODE:number;
                /**
                 * 获取表单实体黑名单中ORM规范的Entity主键Filters
                 *
                 * @return
                 */
                getEntityNumBlacklistFilters(appNumber:string,filters:$.kd.bos.orm.query.QFilter[],filterKey:string):$.kd.bos.orm.query.QFilter[];
                /**
                 * 获取表单黑名单中SQL规范的表单Number
                 *
                 * @return
                 */
                getEntityNumFromBlacklist(appNumber:string):string;
                /**
                 * @param filters
                 * @param qf
                 * @return
                 */
                addFilterToFilters(filters:$.kd.bos.orm.query.QFilter[],qf:$.kd.bos.orm.query.QFilter):$.kd.bos.orm.query.QFilter[];
                /**
                 * 获取表单实体黑名单
                 *
                 * @return
                 */
                getAllEntityBlacklist():$.java.util.Map;
                /**
                 * 获取应用黑名单中SQL规范的应用Number
                 *
                 * @return
                 */
                getAppNumFromBlacklist():string;
                /**
                 * 获取应用黑名单
                 *
                 * @return
                 */
                getAppBlacklist():$.java.util.Map;
                /**
                 * 封装not in 过虑器
                 *
                 * @param blaklist
                 * @param filsterKey
                 * @return
                 */
                wrapNotInFilterBy(blaklist:$.java.util.List,filsterKey:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 根据许可获取单前运行模式的产品码
                 *
                 * @return
                 */
                getRunModeCode():number;
                /**
                 * 获取云黑名单中ORM规范的云主键Filter
                 *
                 * @return
                 */
                getCloudIdBlacklistFilters(filters:$.kd.bos.orm.query.QFilter[],filterKey:string):$.kd.bos.orm.query.QFilter[];
                /**
                 * 获取应用黑名单中SQL规范的应用ID
                 *
                 * @return
                 */
                getAppIdFromBlacklist():string;
                /**
                 * 获取表单黑名单中SQL规范的表单ID
                 *
                 * @return
                 */
                getEntityIdFromBlacklist():string;
                /**
                 * 根据应用编码获取所有表单黑名单
                 *
                 * @param appNumber 应用编码
                 * @return 表单黑名单
                 */
                getEntityNumFromBlacklistBy(appNumber:string):$.java.util.List;
                /**
                 * 获取云黑名单
                 *
                 * @return
                 */
                getCloudBlacklist():$.java.util.Map;
                /**
                 * 获取云黑名单中SQL规范的云Number
                 *
                 * @return
                 */
                getCloudNumFromBlackList():string;
                /**
                 * 获取表单黑名单中SQL规范的表单number
                 *
                 * @return
                 */
                getEntityNumFromBlacklist():string;
                /**
                 * 获取应用黑名单中ORM规范的应用主键以及云主健条件的Filters  bos_devportal_bizapp
                 *
                 * @return
                 */
                getAppAndCloudBlacklistFilters(filters:$.kd.bos.orm.query.QFilter[],appfilterKey:string,cloudfilterKey:string):$.kd.bos.orm.query.QFilter[];
                /**
                 * 根据许可获取当前运行模式的产品码
                 *
                 * @return 产品类型
                 */
                getModelType():kd.bos.mservice.runmode.ProductModelType;
                /**
                 * 获取云黑名单中SQL规范的云ID
                 *
                 * @return
                 */
                getCloudIdsFromBlackList():string;
                /**
                 * 封装not in 过虑器
                 *
                 * @param blaklist
                 * @param filsterKey
                 * @return
                 */
                wrapNotInFilterBy(blaklist:$.java.util.Map,filsterKey:string):$.kd.bos.orm.query.QFilter;
                /**
                 * 获取表单实体黑名单中ORM规范的Entity主键Filters
                 *
                 * @return
                 */
                getEntityIdBlacklistFilters(filters:$.kd.bos.orm.query.QFilter[],filterKey:string):$.kd.bos.orm.query.QFilter[];
                /**
                 * 获取应用黑名单中ORM规范的云主键Filters  bos_devportal_bizapp
                 *
                 * @return
                 */
                getAppIdBlacklistFilters(filters:$.kd.bos.orm.query.QFilter[],filterKey:string):$.kd.bos.orm.query.QFilter[];
                /**
                 * 当前运行模式是否为星空环境
                 *
                 * @return
                 */
                isGalaxyMode():boolean;
            }
            interface RunModeServiceHelper_C extends RunModeServiceHelper_S {
                new():RunModeServiceHelper;
            }
            interface RunModeServiceHelper$ {
            }
            type RunModeServiceHelper_T = RunModeServiceHelper$;
            interface RunModeServiceHelper extends RunModeServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.schedule{
            interface ScheduleServiceHelper_S {
                /**
                 * 根据 cron 表达式生成最近执行时间
                 * @param cron	cron表达式
                 * @param endTime	调度计划结束时间
                 * @param timeZoneId	指定运行时区
                 * @param numTimes	生成最近多少次执行时间
                 * @return
                 */
                genPlanDesc(cron:string,oriStartTime:Date,endTime:Date,timeZoneId:long,numTimes:number):string;
                /**
                 * 发布调度作业并执行任务
                 * @param job 作业信息
                 * @return 返回执行的任务内码
                 */
                dispatch(job:$.kd.bos.schedule.api.JobInfo):string;
                /**
                 * 批量根据任务id，查询任务执行情况
                 * @param taskIds 任务内码集合
                 * @return	任务集合
                 */
                queryTask(taskIds:$.java.util.List):$.java.util.List;
                /**
                 * 停止正执行的任务
                 * @param taskId 任务内码
                 */
                stopTask(taskId:string):void;
                /**
                 * 中止灰度
                 * @param params   {"group":""}
                 */
                stopGray(params:$.java.util.Map):void;
                /**
                 * 根据 cron 表达式生成最近执行时间
                 *
                 * @param cron      cron表达式
                 * @param startTime 调度计划开始时间
                 * @param endTime   调度计划结束时间
                 * @param numTimes  生成最近多少次执行时间
                 * @return
                 */
                genPlanDesc(cron:string,startTime:Date,endTime:Date,numTimes:number):string;
                /**
                 * 批量禁用调度计划
                 *
                 * @param scheduleIds 调度计划内码集合
                 * @return 是否禁用成功
                 */
                disableSchedule(scheduleIds:$.java.util.List):boolean;
                /**
                 * 根据任务id，查询任务执行情况
                 * @return 返回任务执行情况
                 */
                queryTask(taskId:string):$.kd.bos.schedule.api.TaskInfo;
            }
            interface ScheduleServiceHelper_C extends ScheduleServiceHelper_S {
                new():ScheduleServiceHelper;
            }
            interface ScheduleServiceHelper$ {
            }
            type ScheduleServiceHelper_T = ScheduleServiceHelper$;
            interface ScheduleServiceHelper extends ScheduleServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.user{
            interface UserService_S {
            }
            type UserService_ST = $.kd.bos.service.IUserService & UserService_S;
            interface UserService_C extends UserService_ST {
                new():UserService;
            }
            interface UserService$ {
            }
            type UserService_T = $.kd.bos.service.IUserService & UserService$;
            interface UserService extends UserService_T {
            }
            interface UserConfigServiceHelper_S {
                /**
                 * 更新人员配置信息
                 *
                 * @param userID 人员ID
                 * @param key 配置项标识
                 * @param setting 配置项
                 * @return
                 */
                setSetting(userID:long,key:string,setting:string):boolean;
                /**
                 * 获取配置信息
                 *
                 * @param userID 人员ID
                 * @param key 配置项标识
                 * @return
                 */
                getSetting(userID:long,key:string):string;
                /**
                 * 清除配置信息
                 *
                 * @param userID 人员ID
                 * @param key 配置项标识
                 * @return
                 */
                clearSetting(userID:long,key:string):boolean;
            }
            interface UserConfigServiceHelper_C extends UserConfigServiceHelper_S {
                new():UserConfigServiceHelper;
            }
            interface UserConfigServiceHelper$ {
            }
            type UserConfigServiceHelper_T = UserConfigServiceHelper$;
            interface UserConfigServiceHelper extends UserConfigServiceHelper_T {
            }
            interface UserServiceHelper_S {
                /**
                 * 禁用用户
                 *
                 * @param userList
                 */
                disableUser(userList:$.java.util.List):void;
                /**
                 * 获取指定人员的负责部门
                 *
                 * @param userID          人员ID
                 * @param isIncludeSubOrg 是否包含下级部门
                 * @return List<Long> 组织ID列表
                 */
                getInchargeOrgs(userID:long,isIncludeSubOrg:boolean):$.java.util.List;
                /**
                 * 启用用户
                 *
                 * @param userList
                 */
                enableUser(userList:$.java.util.List):void;
                /**
                 * 获取用户的主要职务部门
                 *
                 * @param userID 人员ID 人员内码
                 * @return 主职部门内码
                 */
                getUserMainOrgId(userID:long):long;
                /**
                 * 得到给定组织集合的全部人员
                 *
                 * @param orgIds 组织ID列表
                 * @param isFindSubOrg 是否查询下级组织
                 * @return 人员ID列表
                 */
                getAllUsersOfOrg(orgIds:$.java.util.List,isFindSubOrg:boolean):$.java.util.List;
                /**
                 * 人员新增或新增
                 *
                 * @param userList 人员参数对象列表
                 */
                addOrUpdate(userList:$.java.util.List):void;
                /**
                 * 新增或更新汇报关系
                 *
                 * @param relationList 新增或更新的汇报关系list
                 *                     Map中的key：id 汇报关系id typeid 汇报类型id  positionid 岗位id  suppositionid 上级岗位id
                 * @return Map<Long, String> 返回汇报关系id和操作结果的Map
                 */
                addOrUpdateReportRelation(relationList:$.java.util.List):$.java.util.Map;
                /**
                 * 人员删除
                 *
                 * @param userList 人员参数对象列表
                 */
                delete(userList:$.java.util.List):void;
                /**
                 * 描述：更新用户首次登陆标记
                 *
                 * @param userId 用户ID
                 */
                updateFirstLoginFlag(userId:long):void;
                /**
                 * 人员职位修改
                 *
                 * @param userList 人员参数对象列表
                 */
                updatePosition(userList:$.java.util.List):void;
                /**
                 * 获取汇报类型
                 *
                 * @param isIncludeDisable 是否包含禁用
                 * @return 返回Map<Long, Map < String, Object>>,汇报类型id，对应汇报类型number、name、enable
                 */
                getReportType(isIncludeDisable:boolean):$.java.util.Map;
                /**
                 * 根据用户ID判断使用状态
                 *
                 * @param userIds
                 * @return 用户与使用状态的映射列表
                 */
                isUserEnable(userIds:$.java.util.List):$.java.util.Map;
                /**
                 * 人员启用禁用HR
                 *
                 * @param userList 人员参数对象列表
                 */
                enableHR(userList:$.java.util.List):void;
                /**
                 * 设置用户密码的接口
                 *
                 * @param userId      用户id
                 * @param oldPassword 旧密码
                 * @param newPassword 新密码
                 * @return 成功失败的信息 success:boolean,修改成功或失败;msg:String,失败信息
                 */
                changePsw(userId:long,oldPassword:string,newPassword:string):$.java.util.Map;
                /**
                 * 根据用户id获取用户信息（批量）
                 *
                 * @param userID 用户id列表
                 * @return 包含人员的userid、uid、number、name、phone、email、type的map
                 */
                getUserInfoByID(userID:$.java.util.List):$.java.util.List;
                /**
                 * 描述：取人员变动信息接口
                 *
                 * @param timestamp 查询时间戳，格式YYYY-MM-dd
                 * @return List<Map < String, Object>> 人员变动信息列表，Map格式，
                 * <pre><code> key:id,uid,number,name,dpt,phone,email,chargerName,chargerNumber,companyName,type
                 * 描述：人员ID，云之家UID、工号、姓名、部门、手机、邮箱，部门负责人及其工号、调用部门所属公司名称、变更类型（新增、修改、删除，禁用）。
                 * 变更类型:1：新增 2：修改 3：删除 4:禁用
                 * </code></pre>
                 */
                getUserChangeInfos(timestamp:string):$.java.util.List;
                /**
                 * 获取当前组织的负责人，因为允许有多个人，返回列表
                 *
                 * @param orgId 组织内码
                 * @return 组织负责人的ID列表
                 */
                getManagersOfOrg(orgId:long):$.java.util.List;
                /**
                 * 获取岗位下的人员
                 *
                 * @param positionIds 岗位id
                 * @return Map<Long, Set < DynamicObject>> 返回岗位对应岗位下的人员信息
                 */
                getPeopleUnderPosition(positionIds:$.java.util.Set):$.java.util.Map;
                /**
                 * 获取所有人员类型
                 *
                 * @param includeDisable 是否包含禁用的
                 * @return 获取所有的人员类型ID
                 */
                getAllUserType(includeDisable:boolean):$.java.util.List;
                /**
                 * 获取人员头像地址
                 *
                 * @param userIds       人员ID列表
                 * @param isGetFullPath 是否获取全路径
                 * @return 人员ID和头像URI地址映射
                 */
                getUserAvatarPath(userIds:$.java.util.List,isGetFullPath:boolean):$.java.util.Map;
                /**
                 * 根据岗位id的List批量获取岗位信息
                 *
                 * @param positionIds 岗位id
                 * @param isIncludeSuperiorPosition 查询结果是否包含上级岗位id
                 * @return Map<Long, Position>，岗位id，对应岗位的number，name，dptId，ismainposition，enable，remarks，superiorPositionId
                 */
                getPositions(positionIds:$.java.util.List,isIncludeSuperiorPosition:boolean):$.java.util.Map;
                /**
                 * 批量获取用户的主职部门
                 *
                 * @param lstUserIds 用户内码列表
                 * @return 人员和主职部门内码映射关系列表
                 */
                getUserMainOrgId(lstUserIds:$.java.util.List):$.java.util.List;
                /**
                 * 获取人员信息
                 *
                 * @param userIds       人员ID列表
                 * @param properties    人员属性集合：为空时，返回默认属性
                 * @param jobProperties 人员职位属性集合：为空时，返回默认属性
                 * @return 包含指定人员属性值的集合列表
                 */
                get(userIds:$.java.util.List,properties:string[],jobProperties:string[]):$.java.util.List;
                /**
                 * 根据岗位id启用岗位
                 *
                 * @param positionIds 岗位id集合
                 * @return Map<Long, String> 返回id和操作结果的Map
                 */
                enablePosition(positionIds:$.java.util.Set):$.java.util.Map;
                /**
                 * 删除汇报关系
                 *
                 * @param relationMap 汇报类型id，岗位id Set
                 * @return Map<Long, Map < Long, String>> 返回汇报类型id和对应的操作结果
                 */
                deleteReportRelation(relationMap:$.java.util.Map):$.java.util.Map;
                /**
                 * 获取人员的任职部门
                 *
                 * @param userIds      人员ID列表
                 * @param onlyMainJob  是否只查询主职部门
                 * @param onlyInCharge 是否只查询负责的部门
                 * @return 人员ID与任职部门ID列表的映射
                 */
                getUserDepartments(userIds:$.java.util.List,onlyMainJob:boolean,onlyInCharge:boolean):$.java.util.Map;
                /**
                 * 获取人员信息
                 *
                 * @param userIds 人员ID列表
                 * @return
                 */
                get(userIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据部门id查询岗位
                 *
                 * @param dptIds 部门id集合
                 * @return Map<Long, Set < Long>> 返回部门id和岗位id Set的Map
                 */
                getPositionIdsByDptId(dptIds:$.java.util.List):$.java.util.Map;
                /**
                 * 描述：检查用户是否第一次登陆
                 * 如果用户第一次登陆，则展示首页向导.
                 *
                 * @param userId 用户ID
                 * @return Boolean true: 第一次登陆; false: 不是第一次登陆
                 */
                isFirstLogin(userId:long):boolean;
                /**
                 * 根据岗位id禁用岗位
                 *
                 * @param positionIds 岗位id集合
                 * @return Map<Long, String> 返回id和操作结果的Map
                 */
                disablePosition(positionIds:$.java.util.Set):$.java.util.Map;
                addOrUpdatePositions(positionList:$.java.util.List):any;
                /**
                 * 根据岗位number的List批量获取岗位信息(行政汇报关系)
                 *
                 * @param positionNumberList        岗位number
                 * @param isIncludeSuperiorPosition 查询结果是否包含上级岗位
                 * @return Map<Long, Position>，岗位number，对应岗位的id，number，name，dptId，ismainposition，enable，remarks
                 */
                getPositionsByNumber(positionNumberList:$.java.util.List,isIncludeSuperiorPosition:boolean):$.java.util.Map;
                /**
                 * 获取用户默认组织
                 *
                 * @param userID 用户ID
                 * @return 返回指定用户的默认组织
                 */
                getUserDefaultOrgID(userID:long):long;
                /**
                 * 描述：取人员变动信息接口
                 *
                 * @param timestamp       查询时间戳，格式YYYY-MM-dd
                 * @param includeDptAdmin 是否包含人员所在部门的负责人
                 * @param includeCompany  是否包含人员所属公司
                 * @return List<Map < String, Object>> 人员变动信息列表，Map格式，
                 * <pre><code> key:id,uid,number,name,dpt,phone,email,chargerName,chargerNumber,companyName,type
                 * 描述：人员ID，云之家UID、工号、姓名、部门、手机、邮箱，部门负责人及其工号、调用部门所属公司名称、变更类型（新增、修改、删除，禁用）。
                 * 变更类型:1：新增 2：修改 3：删除 4:禁用
                 * </code></pre>
                 */
                getUserChangeInfos(timestamp:string,includeDptAdmin:boolean,includeCompany:boolean):$.java.util.List;
                /**
                 * 获取人员的任职部门
                 *
                 * @param userId       人员ID
                 * @param onlyMainJob  是否只查询主职部门
                 * @param onlyInCharge 是否只查询负责的部门
                 * @return 任职部门ID列表
                 */
                getUserDepartments(userId:long,onlyMainJob:boolean,onlyInCharge:boolean):$.java.util.List;
                /**
                 * 人员启用
                 *
                 * @param userList 人员参数对象列表
                 */
                enable(userList:$.java.util.List):void;
                /**
                 * 根据人员ID获取其所有所属部门
                 *
                 * @param userId 人员ID
                 * @return
                 */
                getAllDepartmentByUserId(userId:long):$.java.util.List;
                /**
                 * 根据条件获取相应组织下所有的人员ID
                 *
                 * @param orgIds         组织ID列表
                 * @param isFindSubOrg   是否查询下级组织
                 * @param includeDisable 是否包含禁用人员
                 * @return 人员ID集合
                 */
                getAllUsersOfOrg(orgIds:$.java.util.List,isFindSubOrg:boolean,includeDisable:boolean):$.java.util.Set;
                /**
                 * 人员禁用
                 *
                 * @param userList 人员参数对象列表
                 */
                disable(userList:$.java.util.List):void;
                /**
                 * 根据条件获取相应组织下所有的商务伙伴用户ID
                 *
                 * @param orgIds         组织ID列表
                 * @param isFindSubOrg   是否查询下级组织
                 * @param includeDisable 是否包含禁用商务伙伴用户
                 * @return 商务伙伴用户ID集合
                 */
                getAllPartnerUsersOfOrg(orgIds:$.java.util.List,isFindSubOrg:boolean,includeDisable:boolean):$.java.util.Set;
                /**
                 * 人员禁用HR
                 *
                 * @param userList 人员参数对象列表
                 */
                disableHR(userList:$.java.util.List):void;
                /**
                 * 获取当前人员ID
                 *
                 * @return 当前人员ID
                 */
                getCurrentUserId():long;
                /**
                 * 设置用户默认组织
                 *
                 * @param userID       用户ID
                 * @param defaultOrgID 默认组织ID
                 */
                setUserDefaultOrg(userID:long,defaultOrgID:long):void;
                /**
                 * 根据岗位id删除岗位
                 *
                 * @param positionIds 岗位id集合
                 * @return Map<Long, String> 返回id和操作结果的Map
                 */
                deletePosition(positionIds:$.java.util.Set):$.java.util.Map;
                /**
                 * 根据条件获取相应组织下所有的人员ID
                 *
                 * @param orgIds         组织ID列表
                 * @param isFindSubOrg   是否查询下级组织
                 * @param includeDisable 是否包含禁用人员
                 * @param inUserIds      预先查询的人员范围
                 * @return 人员ID集合
                 */
                getAllUsersOfOrg(orgIds:$.java.util.List,isFindSubOrg:boolean,includeDisable:boolean,inUserIds:$.java.util.List):$.java.util.Set;
                /**
                 * 根据汇报类型id和岗位id的List批量获取上级岗位信息
                 *
                 * @param reportTypeId 汇报类型id
                 * @param positionIds  岗位id
                 * @return Map<Long, Map < String, Object>>，岗位id，对应上级岗位的id、number、name、enable，没有上级岗位的id为0，其他属性为null
                 */
                getSuperiorPositions(reportTypeId:long,positionIds:$.java.util.List):$.java.util.Map;
                /**
                 * 根据指定部门查询人员
                 *
                 * @param jobType            任职类型 1：只获取主职人员；2：只获取兼职部门人员；其他：部门下所有人员，不区分主职和兼职
                 * @param orgIds             组织ID
                 * @param includeSubOrg      是否包含下级组织
                 * @param includeDisableUser 是否包含禁用人员
                 * @return 人员ID列表
                 */
                getAllUsersOfOrg(jobType:number,orgIds:$.java.util.List,includeSubOrg:boolean,includeDisableUser:boolean):$.java.util.Set;
                /**
                 * 根据汇报类型id和岗位id获取上级岗位
                 *
                 * @param reportTypeId 汇报类型id
                 * @param positionId   岗位id
                 * @return 返回上级岗位id，id为0则表示没有上级岗位
                 */
                getSuperiorPosition(reportTypeId:long,positionId:long):string;
                /**
                 * 获取人员职位信息
                 *
                 * @param userIds 人员ID列表
                 * @return 人员任职信息列表
                 */
                getPosition(userIds:$.java.util.List):$.java.util.List;
                /**
                 * 设置用户密码的接口
                 *
                 * @param userId   用户id
                 * @param password 新密码
                 * @return 成功失败的信息 success:boolean,修改成功或失败;msg:String,失败信息
                 */
                changePsw(userId:long,password:string):$.java.util.Map;
            }
            interface UserServiceHelper_C extends UserServiceHelper_S {
                new():UserServiceHelper;
            }
            interface UserServiceHelper$ {
            }
            type UserServiceHelper_T = UserServiceHelper$;
            interface UserServiceHelper extends UserServiceHelper_T {
            }
        }
        namespace kd.bos.servicehelper.util{
            interface ExcelHelper_S {
            }
            interface ExcelHelper_C extends ExcelHelper_S {
                new():ExcelHelper;
            }
            interface ExcelHelper$ {
            }
            type ExcelHelper_T = ExcelHelper$;
            interface ExcelHelper extends ExcelHelper_T {
            }
            interface DynamicObjectSerializeUtil_S {
            }
            interface DynamicObjectSerializeUtil_C extends DynamicObjectSerializeUtil_S {
                new():DynamicObjectSerializeUtil;
            }
            interface DynamicObjectSerializeUtil$ {
            }
            type DynamicObjectSerializeUtil_T = DynamicObjectSerializeUtil$;
            interface DynamicObjectSerializeUtil extends DynamicObjectSerializeUtil_T {
            }
        }
        namespace kd.bos.servicehelper.workflow{
            interface MessageCenterServiceHelper_S {
                /**
                 * 获取消息内容数据
                 * @param messageRequestInfo 消息请求 {@link kd.bos.workflow.api.MessageRequestInfo}
                 *                           特别提醒:messageRequestInfo中的start与limit为必填项，需要限制单次查询的条数不能超过5000条，详情可见MessageRequestInfo中的描述
                 * @return 返回值为Map对象，存储有消息内容信息，具体包含以下等关键字段
                 * <pre><code>
                 * 		   key="readstate"		value="unread/read"             消息未读已读状态
                 * 		   key="sendername"		value="xxx" 		            消息发送者名称
                 * 		   key="createdate"		value="YYYY-MM-DD hh-mm-ss"     创建时间
                 * 		   key="entitynumber"   value="xxx"                     业务实体名称
                 * 		   key="type"           value="123xxx321"               消息类型id
                 * 		   key="title"          value="xxx"                     消息标题
                 * 		   key="content"		value="xxx"		                消息正文内容
                 * 		   key="bizdataid"		value="xxx"		                业务单据id
                 * 		   key="contenturl"		value="http://localhost:8080/xxx/index.html?formId=xxx" pc端消息链接
                 * 		   key="sender"		    value="xxx" 		            消息发送者id
                 * 		   key="mobcontenturl"	value="http://localhost:8080/xxx/index.html?formId=xxx" 移动端消息链接
                 * 		   key="id"				value="xxx" 		            消息id
                 * 		   key="tag"            value="xxx"                     自定义标签
                 *  </code></pre>
                 */
                getMessageData(messageRequestInfo:$.kd.bos.workflow.api.MessageRequestInfo):$.java.util.List;
                /**
                 * 获取转交任务
                 * @param taskType 任务类型
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务值 示例：{"data":[{"id":12121,"billno":"test-12","entityname":"jichuziliao"},{"id":12121,"billno":"test-12","entityname":"jichuziliao"}]}
                 */
                getTransferTasks(taskType:string,messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 批量删除自定义任务
                 * <p><b>注意：</b>该操作会批量物理删除自定义任务，请谨慎使用。</p>
                 * @param taskIds 任务id
                 * @return map集合
                 * <pre><code>"data" -> "{}"
                 *  "success" -> true - 是否处理成功
                 *  description -> "deleteTasks success" -成功信息，如果失败会报失败原因
                 *  </code></pre>
                 */
                batchDeleteTasks(taskIds:$.java.util.List):$.java.util.Map;
                /**
                 * 获取在办申请数量
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 申请数量 Long
                 */
                getToApplyProcessCount(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 清理个人中心topN的缓存
                 * @param userId 用户id 清理掉当前人的2个topN缓存
                 */
                clearMsgPersonalTopIdsCache(userId:long):void;
                /**
                 * 获取列表(表单)字段信息
                 * @param formId  表单标识 传菜单的key, toHandle,handled,applyed,toApply,transferToHandle,delegateToHandle,transferHandled,delegateHandled,message,warning,alarm,notice,activity
                 * @return List
                 *  <pre><code>
                 * fieldKey	字段标识
                 * fieldName	字段名称
                 * e.g [{fieldKey=id, fieldName=Id}, {fieldKey=billno, fieldName=单据编码}, {fieldKey=entityname, fieldName=单据}, {fieldKey=startname, fieldName=发起人}, {fieldKey=subject, fieldName=主题}, {fieldKey=handlestate, fieldName=状态}, {fieldKey=name, fieldName=当前节点}, {fieldKey=sendername, fieldName=上一步处理人}, {fieldKey=sourcename, fieldName=来源系统}, {fieldKey=createdate, fieldName=接收时间}]
                 * </code></pre>
                 */
                getTaskAndMessageFields(formId:string):$.java.util.List;
                /**
                 * 获取消息模板
                 * @param type	消息类型（预置了6种消息类型，分别是任务(task)、报警(alarm)、预警(warning)、通知(message)、公告(notice)、活动消息（activity））
                 * @param channel	消息渠道（默认内置了8个消息渠道，分别为dingding,email,sms,weixinqy,welink,yunzhijia,yunzhijiaeco,yunzhijiaup）
                 * @param scene	消息场景 msg_tplscene 数据
                 * @param entityNumber	消息实体编码
                 * @return List 消息模板信息集合 其中包含具体的模板内容 {"emailTitle":"demo{billstatus}","emailContent":"<p>demo</p>\n<p>{billno}</p>"}
                 */
                getMessageTemplateByFilters(type_arg:string,channel:string,scene:string,entityNumber:string):$.java.util.List;
                /**
                 * 消息推送失败之后，可以调用该接口手动重发渠道消息，
                 * 注意，messageInfos为业务根据失败的消息自己组装的失败消息集合
                 * 适用于业务自己记录消息详细日志的场景
                 * messageInfo的参数请尽可能的详细正确,比如发送人名称等
                 * @param messageInfos 消息信息  {@link kd.bos.workflow.engine.msg.info.MessageInfo}
                 */
                resendMessageByMsgInfos(messageInfos:$.java.util.List):void;
                /**
                 * 无代码_获取全部消息
                 * @param messageRequestInfo  消息请求 {@link kd.bos.workflow.api.MessageRequestInfo}
                 * @return 返回值为List Map对象，存储有消息内容信息，具体包含以下等关键字段
                 * <pre><code>
                 * 		   key="readstate"		value="unread/read"             消息未读已读状态
                 * 		   key="sendername"		value="xxx" 		            消息发送者名称
                 * 		   key="createdate"		value="YYYY-MM-DD hh-mm-ss"     创建时间
                 * 		   key="entitynumber"   value="xxx"                     业务实体名称
                 * 		   key="type"           value="123xxx321"               消息类型id
                 * 		   key="title"          value="xxx"                     消息标题
                 * 		   key="content"		value="xxx"		                消息正文内容
                 * 		   key="bizdataid"		value="xxx"		                业务单据id
                 * 		   key="contenturl"		value="http://localhost:8080/xxx/index.html?formId=xxx" pc端消息链接
                 * 		   key="sender"		    value="xxx" 		            消息发送者id
                 * 		   key="mobcontenturl"	value="http://localhost:8080/xxx/index.html?formId=xxx" 移动端消息链接
                 * 		   key="id"				value="xxx" 		            消息id
                 * 		   key="tag"            value="xxx"                     自定义标签
                 *  </code></pre>
                 */
                getNoCodeFlowMessageData(messageRequestInfo:$.kd.bos.workflow.api.MessageRequestInfo):$.java.util.List;
                /**
                 * 获取消息数据
                 * @param messageType 消息类型(warning/ message/ activity/ notice/ alarm)
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 对应查询字段消息数据 {data=[{title=“demo”没有进入流程，原因：未找到满足启动条件的流程。},{title=<p>demo1</p>}]}
                 */
                getMessageDatas(messageType:string,messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 *  获取消息模板
                 *  @param type	消息类型（预置了6种消息类型，分别是任务(task)、报警(alarm)、预警(warning)、通知(message)、公告(notice)、活动消息（activity））
                 *  @param channel	消息渠道（默认内置了8个消息渠道，分别为dingding,email,sms,weixinqy,welink,yunzhijia,yunzhijiaeco,yunzhijiaup）
                 *  @param scenen	消息场景 msg_tplscene 数据
                 *  @param entityNumber	实体编码
                 *  @return List 消息模板信息集合 其中包含具体的模板内容 (多语言)
                 * 	<pre><code>List<ILocaleString>
                 *   "zh_TW" -> ""
                 *   "en_US" -> "{"emailTitle":"demo","emailContent":"<p>demo</p>"}"
                 *   "zh_CN" -> "{"emailTitle":"demo{billstatus}","emailContent":"<p>demo</p>\n<p>{billno}</p>"}"
                 *   "commonlang" -> "{"emailTitle":"demo{billstatus}","emailContent":"<p>demo</p>\n<p>{billno}</p>"}"
                 *   </code></pre>
                 */
                getMessageTemplateLocaleByFilters(type_arg:string,channel:string,scenen:string,entityNumber:string):$.java.util.List;
                /**
                 * 获取委托任务
                 * @param taskType 任务类型
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务值 示例：{"data":[{"id":12121,"billno":"test-12","entityname":"jichuziliao"},{"id":12121,"billno":"test-12","entityname":"jichuziliao"}]}
                 */
                getDelegateTasks(taskType:string,messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 *  获取待办任务
                 *  @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 *  @return Map对象 key ->"data" value -> List<Map> - Map中为参数中传递需要查询字段的值kv
                 *  <pre><code>
                 *    // 传递查询字段 subject、name、billno 数量2
                 * 	data=[{subject=请处理:demo1, name=一级审批, billno=demo001}, {subject=pcdemo02, name=审批, billno=demo02}]
                 *  </code></pre>
                 */
                getToHandleTasks(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 获取委托任务数量
                 * @param taskType 任务类型
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务数量 Long
                 */
                getDelegateTaskCount(taskType:string,messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 基础登录模块回写企业微信授权数据到渠道
                 * @param config 授权数据 json字符串 需包含eid，accountId（数据中心id），secret（秘钥）
                 */
                updateWxqyPublicAuthorizeData(config:string):void;
                /**
                 * 批量转交模型运行期任务
                 * @param transferOperationParam 转交操作参数  {@link kd.bos.workflow.engine.task.operation.TransferOperationParam}
                 * @return BatchOperateResult 批量操作结果 {@link kd.bos.workflow.engine.task.BatchOperateResult}
                 */
                transferBizTask(transferOperationParam:$.kd.bos.workflow.engine.task.operation.TransferOperationParam):$.kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 获取任务和消息的菜单数据
                 * @return List <Map>
                 * <pre><code>task/message	表示是任务还是消息（task  message ）	List<Map<String,String>>
                 * menuKey	菜单标识	String
                 * menuName	菜单名称	String
                 * formId	菜单对应列表的实体编码	String
                 * e.g [{formId=wf_task, menuKey=toHandle, menuName=待办任务}, {formId=wf_hitaskinst, menuKey=handled, menuName=已办任务}, {formId=wf_execution_tc, menuKey=toApply, menuName=在办申请}, {formId=wf_hiprocinst, menuKey=applyed, menuName=已办申请}, {formId=wf_task, menuKey=transferToHandle, menuName=我的转交(待办)}, {formId=wf_hitaskinst, menuKey=transferHandled, menuName=我的转交(已办)}, {formId=wf_task, menuKey=delegateToHandle, menuName=我的委托(待办)}, {formId=wf_hitaskinst, menuKey=delegateHandled, menuName=我的委托(已办)}, {formId=wf_task, menuKey=flod, menuName=我的文件夹}, {formId=wf_msg_message, menuKey=activity, menuName=活动消息}, {formId=wf_msg_message, menuKey=message, menuName=通知}, {formId=wf_msg_message, menuKey=warning, menuName=预警}, {formId=wf_msg_message, menuKey=notice, menuName=公告}, {formId=wf_msg_message, menuKey=alarm, menuName=报警}]
                 * </code></pre>
                 */
                getTaskAndMessageCategory():$.java.util.List;
                /**
                 * 海信项目中渠道配置位置处于接口中心，配置完成之后，需要将配置的信息同步到消息渠道中
                 * 保证消息中心消息渠道配置相关功能正常使用。
                 * @param channelParam 参数 map key:number,name,createDate,modifydate,((number=email)smtpHost,smtpPort,userName,password,fromAccount),fromUserName
                 * @return map key:result value:true/false ; key:code value:0/400 ; key:description value:操作成功/失败(信息)
                 */
                updateChannelData(channelParam:$.java.util.Map):$.java.util.Map;
                /**
                 * 构造消息链接
                 * @param formId 表单id
                 * @param mobFormId 移动表单
                 * @param pkId pkid
                 * @param param 参数 {demo=1} 自定义参数，会被拼接到url中
                 * @return map 消息链接数据 {result=true, code=0, data=http://localhost:8080/ierp/integration/yzjShareOpen.do?formId=demo&mb_formId=demo_mob&pkId=2192954646153856768&accountId=2077515216072918912&demo=1, description=操作成功。}
                 */
                builMessageUrl(formId:string,mobFormId:string,pkId:long,param:$.java.util.Map):$.java.util.Map;
                /**
                 * 获取已办任务
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务值 示例：{"data":[{"id":12121,"billno":"test-12","entityname":"jichuziliao"},{"id":12121,"billno":"test-12","entityname":"jichuziliao"}]}
                 */
                getHandledTasks(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 获取转交任务数量
                 * @param taskType 任务类型
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务数量 Long
                 */
                getTransferTaskCount(taskType:string,messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 根据消息id获取消息内容
                 * @param messageIds 消息id
                 * @return map 消息内容
                 * <pre><code>
                 *     e.g ： {messageInfos=[MessageInfo [title=<p>xxx</p>, content=<p>xxx</p>,userid=[2102901203351383040], contentUrl=, bizDataId=xxx, operation=save]]}
                 * 		   key="title"          value="xxx"                     消息标题
                 * 		   key="content"		value="xxx"		                消息正文内容
                 * 		   key="bizdataid"		value="xxx"		                业务单据id
                 * 		   key="contenturl"		value="http://localhost:8080/xxx/index.html?formId=xxx" pc端消息链接
                 * 		   key="userid"			value=[2102901203351383040]		人员
                 *  	   key="operation"		value="save"					操作
                 *  </code></pre>
                 */
                getMessageById(messageIds:$.java.util.List):$.java.util.Map;
                /**
                 * 消息推送失败之后，可以调用该接口手动重发渠道消息，
                 * 注意，msgId为被拆分后的渠道消息Id,可以通过消息推送监听获取到。
                 * 适用于业务只记录失败消息ID的场景
                 * @param channelMsgIds id 可以通过在消息日志表t_wf_msgfail表中获取渠道信息id
                 */
                resendMessageByIds(channelMsgIds:$.java.util.List):void;
                /**
                 * 获取消息类型中使用的消息渠道信息
                 * @param type 消息类型 （预置了6种消息类型，分别是任务(task)、报警(alarm)、预警(warning)、通知(message)、公告(notice)、活动消息（activity））
                 * @return type 渠道编码
                 */
                getChannelsOfMsgType(type_arg:string):string;
                /**
                 * 创建模型运行期任务
                 * @param taskEntityInfo 任务实体  {@link kd.bos.workflow.engine.msg.info.TaskEntityInfo}
                 * @return TaskInfo 任务对象 {@link kd.bos.workflow.engine.task.TaskInfo}
                 */
                createBizTask(taskEntityInfo:$.kd.bos.workflow.engine.msg.info.TaskEntityInfo):$.kd.bos.workflow.engine.task.TaskInfo;
                /**
                 * 无代码_获取全部消息数量
                 * @param userId 用户id
                 * @return 消息数量 Long
                 */
                getNoCodeFlowMessageCount(userId:string):long;
                /**
                 * 批量删除模型运行期任务
                 * <p><b>注意：</b>该操作会物理删除模型运行期任务，请谨慎使用。</p>
                 * @param deleteOperationParam 删除操作参数  {@link kd.bos.workflow.engine.task.operation.DeleteOperationParam}
                 * @return BatchOperateResult 批量操作结果  {@link kd.bos.workflow.engine.task.BatchOperateResult}
                 */
                deleteBizTask(deleteOperationParam:$.kd.bos.workflow.engine.task.operation.DeleteOperationParam):$.kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 描述：消息模板解析
                 * @param config 配置  {@link kd.bos.workflow.engine.msg.MessageServiceConfig}
                 * @param messageInfo 消息  {@link kd.bos.workflow.engine.msg.info.MessageInfo}
                 */
                updateToDoMsgContent(config:$.kd.bos.workflow.engine.msg.MessageServiceConfig,messageInfo:$.kd.bos.workflow.engine.msg.info.MessageInfo):void;
                /**
                 * 获取已办任务数量
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务数量 Long
                 */
                getHandledTaskCount(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 批量推送消息
                 * @param messageInfos 消息中心推送消息接口入参对象属性 {@link kd.bos.workflow.engine.msg.info.MessageInfo}
                 * @return map集合 {data={failMsgs={}, successMsgIds=[2178374492370298880]}, success=true, description=消息发送成功！}
                 * <pre><code>data={failMsgs={}, successMsgIds=[2178374492370298880]} 成功/失败数据
                 *  success=true - 是否处理成功
                 *  description=消息发送成功！ -成功信息，如果失败会报失败原因
                 *  </code></pre>
                 */
                batchSendMessages(messageInfos:$.java.util.List):$.java.util.Map;
                /**
                 * 获取启用的渠道
                 * @return 启用的渠道编码、名称 {welink=WeLink, OATest=OATest, email=电子邮件, dingding=钉钉, yunzhijia=云之家}
                 */
                getEnableChannel():$.java.util.Map;
                /**
                 * 设置该条消息哪些用户已读
                 * @param msgId 消息id
                 * @param userIds 用户id
                 */
                setMsgReadState(msgId:long,userIds:$.java.util.List):void;
                /**
                 * 查询该消息下，消息接收人的阅读状态
                 * @param msgId 消息id
                 * @return 	map对象，存储消息接收人的阅读状态
                 *  <pre><code>
                 * 			key="toAll"			value="true/false"	该消息是否是全员推送
                 * 			key="read"			value="List<Long> read = new ArrayList<>()"	已读该消息的接收人id集合
                 * 			key="unread"		value="List<Long> unread = new ArrayList<>()"	未读该消息的接收人id集合
                 * 			key="messageId"		value="msgId"	入参中的消息id
                 * 	</code></pre>
                 */
                getMessageReadState(msgId:long):$.java.util.Map;
                /**
                 * 获取列表过滤方案
                 * @param formId 页面标识
                 * @return List <Map>
                 *  <pre><code>schemeId    方案id
                 * schemeName	方案名称
                 * formId	表单标识
                 * e.g [{schemeName=1, formId=demo1, schemeId=4SZWDIV+XR5=}]
                 *  </code></pre>
                 */
                getUserFilterSchemes(formId:string):$.java.util.List;
                /**
                 * 用户登录时，消息中心主动推送该用户未读且未过期的系统消息
                 * @param userId 用户id
                 * @return map {result=true, code=0, data=[], description=操作成功。} data中包含消息id集合
                 */
                sendNoticeMessageByLoginUser(userId:long):$.java.util.Map;
                /**
                 * 获取消息中心卡片 消息类型+任务类型（门户首页配置以及初始化）
                 * @param uid 当前用户id
                 * @return 返回值必须确保是List对象，List对象中存储的是Map类型的对象
                 *  <pre><code>
                 * 		key="id"			value="String id = new String()"	消息卡片分类的编号（例如：handled）
                 * 	 	key="name"			value="String id = new String()"	消息卡片分类的名称（例如：已办任务）
                 * 	 	key="formId"		value="String id = new String()"	表单标识（例如：wf_msg_center）
                 * 	 	key="billFormId" 	value="String id = new String()"	列表的表单标识（例如wf_hitaskinst）
                 *  e.g[{formId=wf_msg_center, billFormId=wf_task, name=待办任务, id=toHandle}, {formId=wf_msg_center, billFormId=wf_hitaskinst, name=已办任务, id=handled}, {formId=wf_msg_center, billFormId=wf_execution_tc, name=在办申请, id=toApply}, {formId=wf_msg_center, billFormId=wf_hiprocinst, name=已办申请, id=applyed}, {formId=wf_msg_center, billFormId=wf_msg_message, name=未读消息, id=unread}, {formId=wf_msg_center, billFormId=wf_msg_message, name=活动消息, id=1223746113903789056}, {formId=wf_msg_center, billFormId=wf_msg_message, name=认领, id=1569568690419428352}, {formId=wf_msg_center, billFormId=wf_msg_message, name=公告, id=1005601617044585472}, {formId=wf_msg_center, billFormId=wf_msg_message, name=测试, id=2148666912384223232}, {formId=wf_msg_center, billFormId=wf_msg_message, name=传阅, id=2001413935542051840}, {formId=wf_msg_center, billFormId=wf_msg_message, name=通知, id=475779909600436224}, {formId=wf_msg_center, billFormId=wf_msg_message, name=预警, id=475779578418192384}, {formId=wf_msg_center, billFormId=wf_msg_message, name=报警, id=475779342555701248}]
                 *  </code></pre>
                 */
                getMsgCenterCardType(uid:string):$.java.util.List;
                /**
                 * 更新任务参与人
                 * @param taskId 任务id
                 * @param userIds 用户
                 * @return map集合成功信息
                 * <pre><code>data -> null
                 * success -> {Boolean@31617} true - 是否处理成功
                 * description -> update task [2175546287032656896] participant [[2150037443254967296]] success -成功信息，如果失败会报失败原因
                 * </code></pre>
                 */
                updateTaskParticipant(taskId:long,userIds:$.java.util.List):$.java.util.Map;
                /**
                 * 根据条件获取消息消息内容
                 * @param userId 用户ID
                 * @param entityNumber 业务实体
                 * @param tags 自定义标签
                 * @param msgType 消息类型（预置了6种消息类型，分别是任务(task)、报警(alarm)、预警(warning)、通知(message)、公告(notice)、活动消息（activity））
                 * @param unread 是否已读 true | false
                 * @param top 数量 不使用该参数，设为0
                 * @return 返回值为Map对象，存储有消息内容信息，具体包含以下等关键字段
                 * 		   key="readstate"		value="unread/read"             消息未读已读状态
                 * 		   key="sendername"		value="xxx" 		            消息发送者名称
                 * 		   key="createdate"		value="YYYY-MM-DD hh-mm-ss"     创建时间
                 * 		   key="entitynumber"   value="xxx"                     业务实体名称
                 * 		   key="type"           value="123xxx321"               消息类型id
                 * 		   key="title"          value="xxx"                     消息标题
                 * 		   key="content"		value="xxx"		                消息正文内容
                 * 		   key="bizdataid"		value="xxx"		                业务单据id
                 * 		   key="contenturl"		value="http://localhost:8080/xxx/index.html?formId=xxx" pc端消息链接
                 * 		   key="sender"		    value="xxx" 		            消息发送者id
                 * 		   key="mobcontenturl"	value="http://localhost:8080/xxx/index.html?formId=xxx" 移动端消息链接
                 * 		   key="id"				value="xxx" 		            消息id
                 * 		   key="tag"            value="xxx"                     自定义标签
                 */
                getMessageByFilter(userId:string,entityNumber:string,tags:string,msgType:string,unread:boolean,top:number):$.java.util.List;
                /**
                 * 首页个人中心获取待办任务的数量
                 * @param uid 用户id
                 * @param type 类型（例如tohandle）
                 * @return long 指定类型任务的数量
                 */
                getTohandleTaskCountByType(uid:string,type_arg:string):long;
                /**
                 * 批量处理任务
                 * @param taskIds 任务id
                 * @param userId 用户id
                 * @param opinion 处理意见
                 * @param variables 参数
                 * @return map集合
                 * <pre><code> data -> {"result":"","successIds":[2175569264101057536,2177667133419304960],"failedCount":0,"success":true,"successCount":2,"message":""}-处理的任务信息 如果失败会有失败原因
                 * success ->  true - 是否处理成功
                 * description -> task handle success - 任务成功信息
                 * </code></pre>
                 */
                batchComplateTasks(taskIds:$.java.util.List,userId:long,opinion:$.kd.bos.dataentity.entity.ILocaleString,variables:$.java.util.Map):$.java.util.Map;
                /**
                 * 通过应用编码获取未读运营消息
                 * @param userId 用户ID
                 * @param appNum 应用编码
                 * @return list 消息数据集合[{msgType=activity, id=2193591965898029056, title=您有一条活动消息！, content=请尽快处理}]
                 */
                getUnreadActivityMessageByAppNum(userId:long,...appNum:string[]):$.java.util.List;
                /**
                 * 批量完成模型运行期任务
                 * @param completeOperationParam 完成操作参数  {@link kd.bos.workflow.engine.task.operation.CompleteOperationParam}
                 * @return BatchOperateResult 批量操作结果 {@link kd.bos.workflow.engine.task.BatchOperateResult}
                 */
                completeBizTask(completeOperationParam:$.kd.bos.workflow.engine.task.operation.CompleteOperationParam):$.kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 撤回pc端消息
                 * @param messageId 消息id
                 * @return 返回值为Map对象，存储有撤回pc端消息操作的结果信息
                 * 		   key="msg"			value="success/e.getMessage()" 撤回pc端成功，将会返回success，撤回失败则会返回抛出的异常信息
                 * <p><b>注意：</b>该操作会直接 物理删除 消息表以及接收人表数据，请谨慎使用。</p>
                 */
                retractMessage(messageId:long):$.java.util.Map;
                /**
                 * 批量删除消息
                 * @param msgIds 消息id集合
                 * @return 返回值为Map对象，存储有撤回pc端消息操作的结果信息
                 * 		   key="result"			value=true/false 	操作结果
                 * 		   key="code"			value="0/400" 		操作结果状态码
                 * 		   key="description"	value="****"		操作成功/失败的描述信息
                 * 		   key="data"			value="List<Long> data = new ArrayList<>()" 处理的消息编号集合
                 *  <p><b>注意：</b>该操作会直接 物理删除 消息表数据，请谨慎使用。</p>
                 */
                deleteMessage(msgIds:$.java.util.List):$.java.util.Map;
                /**
                 * 获取在办申请
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务值 示例：{"data":[{"id":12121,"billno":"test-12","entityname":"jichuziliao"},{"id":12121,"billno":"test-12","entityname":"jichuziliao"}]}
                 */
                getToApplyProcess(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 苍穹业务调用接口，传入任务对象，推送任务到消息中心以及产生各渠道待办
                 * @param taskEntityInfo 任务实体信息 {@link kd.bos.workflow.engine.msg.info.TaskEntityInfo}
                 * @return map集合{success=false,// 是否成功	description=taskEntityInfo name[null] or subject[null] is null // 错误信息}
                 */
                createTask(taskEntityInfo:$.kd.bos.workflow.engine.msg.info.TaskEntityInfo):$.java.util.Map;
                /**
                 * 无代码_获取未读消息数量
                 * @param userId 用户id
                 * @return 消息数量 Long
                 */
                getNoCodeFlowUnReadMessageCount(userId:string):long;
                /**
                 * 描述：待办模板解析
                 * @param config 配置   {@link kd.bos.workflow.engine.msg.MessageServiceConfig}
                 * @param taskMsg 任务信息 {@link kd.bos.workflow.engine.msg.info.ITaskMsg}
                 */
                updateToDoMsgContent(config:$.kd.bos.workflow.engine.msg.MessageServiceConfig,taskMsg:$.kd.bos.workflow.engine.msg.info.ITaskMsg):void;
                /**
                 * 业务调用，同步消息的阅读状态，将消息同步为已读
                 * @param msgIds 消息id （Long类型）
                 */
                setMsgReadState(msgIds:$.java.util.List):void;
                /**
                 * 获取未读消息的数量
                 * @param uid 消息归属人id
                 * @return long 消息的数量
                 */
                getUnReadMessageCount(uid:string):long;
                /**
                 * 设置消息的弹出状态
                 * @param messageId 消息id
                 * @param userIds 用户id
                 * @param popupState 状态 消息接收者某条消息是否弹出消息（true:弹出，false:不弹出）
                 */
                setMessagePopup(messageId:long,userIds:$.java.util.List,popupState:boolean):void;
                /**
                 * 更新首页徽章的数量角标
                 * @param userIds 需要更新徽章数量的用户ID
                 */
                updateBadgeCount(userIds:$.java.util.List):void;
                /**
                 * 获取消息中心卡片需要的数据
                 * @param uid 当前用户id
                 * @return  List map 消息中心信息集合 返回值必须确保是List对象，List对象中存储的是Map类型的对象
                 * <pre><code>
                 * 			key="id"			value="String id = new String()"	消息卡片分类的编号（例如：handled）
                 * 			key="name"			value="String id = new String()"	消息卡片分类的名称（例如：已办任务）
                 * 			key="count"			value="int count = 0"				对应类型的任务数量
                 * 			key="formId"		value="String id = new String()"	表单标识（例如：wf_msg_center）
                 * 			key="billFormId" 	value="String id = new String()"	列表的表单标识（例如wf_hitaskinst）
                 * 	 </code></pre>
                 */
                getMsgCenterCardOptions(uid:string):$.java.util.List;
                /**
                 * 获取消息中心卡片需要的数据
                 * @param uid 当前用户id
                 * @param itemKey 门户首页设置的消息卡片分类的key(例如待办任务：tohandle，已办任务：handled，在办申请：toapply，已办申请：applyed)
                 * @return  返回值必须确保是List对象，List对象中存储的是Map类型的对象
                 * <pre><code>
                 * 		    key="id"			value="String id = new String()"	消息卡片分类的编号（例如：handled）
                 * 			key="name"			value="String id = new String()"	消息卡片分类的名称（例如：已办任务）
                 * 			key="count"			value="int count = 0"				对应类型的任务数量
                 * 			key="formId"		value="String id = new String()"	表单标识（例如：wf_msg_center）
                 * 			key="billFormId" 	value="String id = new String()"	列表的表单标识（例如wf_hitaskinst）
                 * 	</code></pre>
                 */
                getMsgCenterCardOptions(uid:string,itemKey:$.java.util.List):$.java.util.List;
                /**
                 * 获取消息数量
                 * @param messageType 消息类型 (warning/ message/ activity/ notice/ alarm)
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 消息总数 Long
                 */
                getMessageDatasCount(messageType:string,messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 获取已办申请数量
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 申请数量 Long
                 */
                getApplyedProcessCount(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 获取已办申请
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 任务值 示例：{"data":[{"id":12121,"billno":"test-12","entityname":"jichuziliao"},{"id":12121,"billno":"test-12","entityname":"jichuziliao"}]}
                 */
                getApplyedProcess(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 获取待办任务数量
                 * @param messageCenterParams 消息中心参数  {@link kd.bos.workflow.engine.task.MessageCenterParams}
                 * @return 数据总数 Long
                 */
                getToHandleTaskCount(messageCenterParams:$.kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 首页个人中心获取未处理任务消息数据
                 * @param userId 当前用户id
                 * @param topCount 前topCount条数据
                 * @return 未处理任务消息数据 List<Map> map内容如下
                 * <pre><code>
                 *  "timeCompare" -> "Tue Mar 25 10:40:28 CST 2025" - 时间
                 *  "handlestate" -> "待审批" - 状态
                 *  "id" ->  2178273433593329664 - 主键
                 *  "time" -> "Tue Mar 25 10:40:28 CST 2025" - 时间
                 *  "title" -> "IERP提交的单据" - 标题
                 *  "content" -> "请处理：demo1" - 内容
                 *  </code></pre>
                 */
                getToHandleTasksMessage(userId:long,topCount:number):$.java.util.List;
                getSmsUsingQuantitySummary():$.kd.bos.workflow.message.api.SmsUsingQuantities;
                /**
                 * 获取未读消息
                 * @param uid 当前用户id
                 * @param topCount 前topCount条数据
                 * @return
                 */
                getUnReadMessage(uid:string,topCount:number):$.java.util.List;
                /**
                 * 更新任务参与人
                 * @param updateParticipantParam 更新参与人参数 {@link kd.bos.workflow.engine.task.operation.UpdateParticipantParam}
                 * @return BatchOperateResult 批量操作结果 {@link kd.bos.workflow.engine.task.BatchOperateResult}
                 */
                updateParticipant(updateParticipantParam:$.kd.bos.workflow.engine.task.operation.UpdateParticipantParam):$.kd.bos.workflow.engine.task.BatchOperateResult;
            }
            interface MessageCenterServiceHelper_C extends MessageCenterServiceHelper_S {
                new():MessageCenterServiceHelper;
            }
            interface MessageCenterServiceHelper$ {
                /**
                 * 批量传阅任务
                 * @param circulateOperationParam 批量传阅参数 {@link kd.bos.workflow.engine.task.operation.CirculateOperationParam}
                 * @return BatchOperateResult 批量操作结果 {@link kd.bos.workflow.engine.task.BatchOperateResult}
                 */
                circulateBizTask(circulateOperationParam:$.kd.bos.workflow.engine.task.operation.CirculateOperationParam):$.kd.bos.workflow.engine.task.BatchOperateResult;
            }
            type MessageCenterServiceHelper_T = MessageCenterServiceHelper$;
            interface MessageCenterServiceHelper extends MessageCenterServiceHelper_T {
            }
            interface NoCodeWorkflowServiceHelper_S {
                readonly SEPARATESTORAGEKEY_NOCODE:string;
                readonly SEPARATESTORAGEKEY:string;
                /**
                 * 根据流程实例ID,节点ID和人员ID获取任务id
                 * @param processInstanceId
                 * @param activityId
                 * @param userId
                 * @return
                 */
                getTaskIdByProcessInstanceIdAndActivityIdAndUserId(processInstanceId:long,activityId:string,userId:long):long;
                /**
                 * 将模型保存为模板
                 * @param appId
                 * @param modelIds
                 * @param entityMap
                 * @param roleMap
                 * @return
                 */
                saveProcessesAsTemplates(appId:string,modelIds:$.java.util.List,entityMap:$.java.util.Map,roleMap:$.java.util.Map):$.java.util.Map;
                /**
                 * 废弃流程，如果disableProcDefinition为true，则同时禁用流程定义；如果terminalProcInst为true，则同时终止流程实例
                 * @param modelIds
                 * @param disableProcDefinition
                 * @param terminalProcInst
                 */
                discardProcesses(modelIds:$.java.util.List,disableProcDefinition:boolean,terminalProcInst:boolean):void;
                /**
                 * 根据流程定义id查询流程实例ids接口：带分页，限制一次最多一万条
                 * @param start
                 * @param limit
                 * @param procDefId
                 * @return
                 */
                getProcInstIdsByProcDefId(start:number,limit:number,procDefId:long):$.java.util.List;
                /**
                 * 根据流程实例ID获取businessKey
                 * @param processInstanceId
                 * @return
                 */
                getBusinessKeyByProcessInstanceId(processInstanceId:long):string;
                /**
                 * 描述:无代码平台_获取任务数量
                 * @param userId
                 * @return
                 */
                getNoCodeFlowTaskCounts(userId:string):$.java.util.Map;
                /**
                 * 获取某类型流程中的所有节点
                 * @param procType
                 * @return
                 */
                getProcessNodes(procType:string):$.java.util.List;
                /**
                 * 更新流程模型对应的最新版流程默认方案
                 * @param modelId
                 */
                updateLatestProcessDefaultScheme(modelId:long):void;
                /**
                 * 根据流程定义id删除流程定义接口
                 * @param procDefId
                 */
                deleteProcessByProcDefId(procDefId:long):void;
                /**
                 * 描述:无代码平台_获取待办任务，已办任务，在办申请，已办申请的数量
                 * @param uid
                 * @param type
                 * @return
                 */
                getNoCodeFlowTaskCountByType(uid:string,type_arg:string):long;
                /**
                 * 完成任务，并记录审批意见
                 * @param taskId 任务ID
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 * @param variables 参数变量
                 */
                completeTask(taskId:long,userId:long,decOptionNumber:string,auditMessage:string,variables:$.java.util.Map):void;
                /**
                 * 根据entityNumber查询流程定义ids接口
                 * @param entityNumber
                 * @return
                 */
                getProcDefIdsByEntityNumber(entityNumber:string):$.java.util.List;
                /**
                 * 根据entityNumber或businessKey查询流程实例数量接口
                 * @param entityNumber
                 * @param businessKey
                 * @return
                 */
                getProcessInstanceCountByEntityNumberOrBusinessKey(entityNumber:string,businessKey:string):long;
                deleteProcessByModelId(modelId:long):boolean;
                /**
                 * 通过实体编码和触发方式获取满足条件的流程定义列表
                 * @param entityNumber
                 * @param triggerMode
                 * @return
                 */
                getProcessDefinitionsByTriggerMode(entityNumber:string,triggerMode:string):$.java.util.List;
                /**
                 * 根据流程模型ID触发对应的最新版本流程
                 * @param modelId
                 * @param businessKey
                 * @param operation
                 */
                tryTriggerProcess(modelId:long,businessKey:string,operation:string):void;
                /**
                 * 根据模板创建流程到指定应用分类下
                 * @param appId
                 * @param templateIds
                 * @param entityMap
                 * @param roleMap
                 * @return
                 */
                createProcessesByTemplates(appId:string,templateIds:$.java.util.List,entityMap:$.java.util.Map,roleMap:$.java.util.Map):$.java.util.Map;
                /**
                 * 发布流程
                 * @param modelId
                 * @param deploymentProperty
                 */
                publishProcess(modelId:long,deploymentProperty:$.java.util.Map):$.kd.bos.workflow.api.model.ProcPublishResult;
                /**
                 * 根据流程定义ID查询流程定义信息
                 * @param procDefId
                 * @return
                 */
                getProcessDefinitionInfoById(procDefId:long):$.kd.bos.workflow.api.model.ProcessDefinitionInfo;
                getNodeMacros(procType:string,nodeJson:string,macroType:string):$.java.util.List;
                /**
                 * 描述:无代码平台_获取在办申请
                 * @param start
                 * @param limit
                 * @param uid
                 * @return
                 */
                getNoCodeFlowInProcessApply(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 导入流程
                 * @param content
                 */
                importProcessFileContent(content:string):$.java.util.Map;
                /**
                 * 获取某类型的所有流程（不包括流程资源）
                 * @param procType 流程类型
                 * @param appOrCloudId 应用或云ID
                 * @return
                 */
                getAllProcesses(procType:string,appOrCloudId:string):$.java.util.List;
                /**
                 * 根据流程定义id查询流程实例数量接口
                 * @param procDefId
                 * @return
                 */
                getProcessInstanceCountByProcDefId(procDefId:long):long;
                /**
                 * 描述:无代码平台_根据businessKey和entityNumber查询审批记录
                 * @param businessKey
                 * @param entityNumber
                 * @return
                 */
                getNoCodeFlowApprovalRecordsFromDetailLog(businessKey:string,entityNumber:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据triggerMode触发对应所有流程定义的最新版本流程
                 * @param entityNumber
                 * @param billId
                 * @param triggerMode
                 */
                tryTriggerProcessByTriggerMode(entityNumber:string,billId:string,triggerMode:string):void;
                /**
                 * 描述：根据流程实例id撤回流程
                 * @param processInstanceId
                 */
                withdrawByProcessInstanceId(processInstanceId:long):void;
                /**
                 * 描述:无代码平台_获取已办任务
                 * @param start
                 * @param limit
                 * @param uid
                 * @param sqlFilterMap
                 * @return
                 */
                getNoCodeFlowHandledTasksByUserId(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 创建空白流程资源
                 * @param procType
                 * @param config
                 * @return
                 */
                createBlankProcessResource(procType:string,config:$.java.util.Map):string;
                /**
                 * 根据流程模型id查询流程定义ids接口
                 * @param modelId
                 * @return
                 */
                getProcDefIdsByModelId(modelId:long):$.java.util.List;
                /**
                 * 描述:无代码平台_获取待办任务
                 * @param start
                 * @param limit
                 * @param uid
                 * @return
                 */
                getNoCodeFlowToHandleTasksByUserId(start:number,limit:number,uid:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                importProcessFileContent(content:string,forceNew:boolean):$.java.util.Map;
                /**
                 * 描述:无代码平台_根据流程编码查询流程实例数量
                 * @param processCode 流程编码
                 * @return
                 */
                getNoCodeFlowProcessInstanceCountByProcessCode(processCode:string):long;
                /**
                 * 删除流程模板
                 * @param templateIds
                 */
                deleteProcessTemplates(templateIds:$.java.util.List):void;
                getNodeMacros(modelJson:string,macroType:string):$.java.util.List;
                /**
                 * 根据流程ID获取流程
                 * @param modelId
                 * @return
                 */
                getProcess(modelId:long):$.kd.bos.workflow.api.model.ProcessModel;
                /**
                 * 获取流程导出文件内容
                 * @param modelId
                 * @return
                 */
                getExportedProcessFileContent(modelId:long):string;
                /**
                 * 根据流程实例ID查询流程定义信息
                 * @param procInstId
                 * @return
                 */
                getProcessDefinitionInfoByProcInstId(procInstId:long):$.kd.bos.workflow.api.model.ProcessDefinitionInfo;
                /**
                 * 保存流程
                 * @param model
                 */
                saveProcess(model:$.kd.bos.workflow.api.model.ProcessModel):long;
                /**
                 * 根据entityNumber或businessKey查询流程实例ids接口：带分页，限制一次最多一万条
                 * @param entityNumber
                 * @param businessKey
                 * @return
                 */
                getProcInstIdsByEntityNumberOrBusinessKey(start:number,limit:number,entityNumber:string,businessKey:string):$.java.util.List;
                /**
                 * 描述：根据流程实例id判断是否能撤回流程
                 * @param processInstanceId
                 */
                canWithdrawByProcessInstanceId(processInstanceId:long):$.java.util.Map;
                getNodeMacros(modelId:long,macroType:string):$.java.util.List;
                /**
                 * 描述:根据id查找task
                 * @param taskId
                 * @return
                 */
                findTaskById(taskId:long):$.kd.bos.workflow.engine.task.TaskInfo;
                /**
                 * 查找某个实体配置的流程，不包括废弃的流程(同getAllProcesses)
                 * @param entityNumber
                 * @return
                 */
                getProcessesByEntityNumber(entityNumber:string):$.java.util.List;
                /**
                 * 描述:无代码平台_根据单据id集合查询在流程中的状态
                 * @param businessKeys
                 * @return
                 */
                getNoCodeFlowBizProcessStatus(businessKeys:string[]):$.java.util.Map;
                /**
                 * 描述：判断某个流程实例是否在流程中
                 * @param processInstanceId 流程实例id
                 * @return
                 */
                inProcessByProcessInstanceId(processInstanceId:long):boolean;
                /**
                 * 获取流程发起人信息
                 * @param procInstIds
                 * @return
                 */
                getProcessesInitiator(procInstIds:$.java.util.List):$.java.util.Map;
                /**
                 * 根据流程实例id删除流程实例接口
                 * @param procInstId
                 */
                deleteProcessInstanceInfoByProcInstId(procInstId:long):void;
                /**
                 * 查询某应用下的流程模板
                 * @param appId
                 * @return
                 */
                getProcessTemplatesByAppId(appId:string):$.java.util.List;
                /**
                 * 描述:无代码平台_根据流程编码查询流程实例信息
                 * @param processCode 流程编码
                 * @return
                 */
                getNoCodeFlowProcessInstanceInfoByProcessCode(start:number,limit:number,processCode:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取流程模板预置SQL
                 * @param templateId
                 * @return
                 */
                getProcTemplatePresetSQL(templateId:long):string;
                /**
                 * 描述:无代码平台_获取已办申请
                 * @param userId
                 * @param start
                 * @param limit
                 * @param starterOrSubjectFilter
                 * @param timeFilter
                 * @param paramFilter
                 * @return
                 */
                getNoCodeFlowApplyedProcess(userId:long,start:number,limit:number,starterOrSubjectFilter:string,timeFilter:string,paramFilter:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
            }
            interface NoCodeWorkflowServiceHelper_C extends NoCodeWorkflowServiceHelper_S {
                new():NoCodeWorkflowServiceHelper;
            }
            interface NoCodeWorkflowServiceHelper$ {
            }
            type NoCodeWorkflowServiceHelper_T = NoCodeWorkflowServiceHelper$;
            interface NoCodeWorkflowServiceHelper extends NoCodeWorkflowServiceHelper_T {
            }
            interface WorkflowServiceHelper_S {
                readonly PRINT_META:string;
                readonly APPLYED:string;
                readonly NOT_IN_PROCESS:string;
                readonly PRINT_TYPE_LASTEDCONSENT:string;
                readonly PRINT_TYPE_ALLCONSENT:string;
                readonly TOHANDLE:string;
                readonly WF_CAN_WITHDRAW_BYABANDONPROC:string;
                readonly WF_CAN_WITHDRAW:string;
                readonly CACHEKEY_WITHDRAWDELETEBIZJOBIDS:string;
                readonly PRINT_TYPE_ALL:string;
                readonly HANDLED:string;
                readonly PRINT_BIZIDENTIFYKEY:string;
                readonly PRINT_ACTIVITYNAME:string;
                readonly PROCESS_INITIATOR:string;
                readonly TOAPPLY:string;
                /**
                 * @author wangxk
                 * 根据流程实例id获取变量信息
                 * @param procInstId 流程实例id
                 * @return
                 */
                getVariablesByProcInstId(procInstId:long,variableKeys:string[]):$.java.util.Map;
                /**
                 * 根据taskId获取节点单据界面属性接口
                 */
                getBillPageAttributeConfig(taskId:long,type_arg:string):$.kd.bos.workflow.engine.dynprocess.billpage.BillPageAttributeConfig;
                /**
                 * 终止根流程
                 *
                 * <p><b>注意：</b>该操作会终止该业务所有在运行的流程，包括子流程，业务流中的所有审批流，请谨慎使用。</p>
                 *
                 * @param businessKey 业务数据标识，即单据内码(主键）
                 */
                abandonRootProcessInstance(businessKey:string):void;
                /**
                 * 流程预测并返回预测结果
                 * @param procInstId 流程实列ID
                 * @return 预计算结果 {@link kd.bos.workflow.engine.precomputor.IPreComputorRecord}
                 */
                getPreComputorRecord(procInstId:long):$.kd.bos.workflow.engine.precomputor.IPreComputorRecord;
                /**
                 * 创建并启动流程
                 * @param businessKey 单据ID
                 * @param operation 操作
                 * @param entityNumber 实体编码
                 * @param variables 变量
                 * @param wfProcess 流程信息 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFProcess}
                 */
                createProcessAndStart(businessKey:string,operation:string,entityNumber:string,variables:$.java.util.Map,wfProcess:$.kd.bos.workflow.engine.dynprocess.freeflow.WFProcess):void;
                /**
                 * 流程跳转（api）
                 *
                 * @param procInstId 流程实例id
                 * @param destId  目标节点id
                 * @param srcId  源节点id
                 */
                jumpToNode(procInstId:long,destId:string,srcId:string):void;
                /**
                 * @author RD_li_fei
                 *
                 * 流程手工解挂
                 */
                revokeSuspendProcessInstancesByProcessInstanceId(processInstanceId:long):void;
                /**
                 * @author wangxk
                 * 根据方案编码获取节点信息
                 * @param schemeNumber 方案编码
                 * @return
                 */
                getProcElementsBySchemeNumber(schemeNumber:string):$.java.util.List;
                /**
                 * 完成任务，并记录审批意见
                 * @param businessKey 单据id
                 * @param nodeId 节点编码
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 * @param variables 参数变量
                 */
                completeTask(businessKey:string,nodeId:string,userId:long,decOptionNumber:string,auditMessage:string,checkUser:boolean,variables:$.java.util.Map):void;
                /**
                 * @param procinstId 流程实例ID
                 * @param activityId 流程活动节点ID
                 * @return
                 */
                addSignClearByAdmin(procinstId:long,activityId:string):string;
                /**
                 * 废弃流程，废弃的流程模型将不允许发布流程
                 * <b>注意：</b> <p>如果废弃并终止流程实列，终止的流程将不可恢复，请谨慎选择调用</p>
                 * @param modelIds 流程模型ID
                 * @param disableProcDefinition 是否禁用流程定义，true时禁用该流程所有启用的流程版本
                 * @param terminalProcInst 是否终止流程实列，disableProcDefinition=true的前提下，如果该参数为true则终止该流程所有版本未结束的流程。
                 */
                discardProcesses(modelIds:$.java.util.List,disableProcDefinition:boolean,terminalProcInst:boolean):void;
                /**
                 * 添加节点模板
                 * @param template 节点模板 {@link kd.bos.workflow.api.NodeTemplate}
                 */
                addNodeTemplate(template_arg:$.kd.bos.workflow.api.NodeTemplate):void;
                getAfterPreComputorRecordItem(computorParams:$.kd.bos.workflow.engine.precomputor.PreComputorParams):$.java.util.Map;
                /**
                 * 撤回的批量接口
                 * @param objs 单据实体
                 * @param operationName 操作名称
                 * @param param 参数，map结构，包括如下字段：
                 * abandonPks: 整单撤回的单据id
                 */
                billUnsubmit(objs:$.kd.bos.dataentity.entity.DynamicObject[],operationName:string,param:$.java.util.Map):void;
                /**
                 * 查看流程图
                 * @param pageId 页面ID
                 * @param style 打开方式 {@link kd.bos.form.OpenStyle}
                 * @param billId 单据ID
                 * @param procDefId 流程定义ID
                 */
                viewFlowchart(pageId:string,style:$.kd.bos.form.OpenStyle,billId:any,procDefId:long):void;
                /**
                 * @author RD_li_fei
                 *
                 * 流程手工挂起
                 */
                suspendProcessInstanceByProcessInstanceId(processInstanceId:long):void;
                /**
                 * 完成任务，并记录审批意见
                 * @param businessKey 单据id
                 * @param nodeId 节点编码
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 */
                completeTask(businessKey:string,nodeId:string,userId:long,decOptionNumber:string,auditMessage:string,checkUser:boolean):void;
                /**
                 * 根据businessKey,userId获取任务id
                 * @param businessKey 单据ID
                 * @param userId 用户ID
                 * @return 任务ID
                 */
                getTaskIdByBusinessKeyAndUserId(businessKey:string,userId:long):long;
                /**
                 * 协办任务撤回
                 * @param taskId 任务id
                 * @param coordinaterIds 被邀请协办人id集合
                 * @return 执行结果
                 */
                taskCoordinateRequestWithdraw(taskId:long,coordinaterIds:$.java.util.List):string;
                /**
                 * 修改对应任务的参与人，该方法会触发管理员进行任务转交功能，即将当前任务转交给指定的用户。
                 * <p><b>注意：</b>方法执行后，之前的任务处理人将不具备该任务的处理权限。</p>
                 * @param taskId 任务ID
                 * @param userIds 新参与人ID
                 */
                updateParticipant(taskId:long,userIds:$.java.util.List):void;
                /**
                 * 获取满足启动条件的流程信息
                 * @param dataEntity 单据实体
                 * @param operation 启动操作
                 * @return 满足启动条件的流程信息 {@link kd.bos.workflow.api.EnabledProcessInfo}
                 */
                getEnabledProcesses(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,operation:string):$.java.util.List;
                /**
                 * 协办回复
                 * @author huhaiyang
                 * @param
                 * @return void
                 * @throws Exception
                 */
                replyCoordinateTask(taskId:long,taskCoordinateOpinion:$.kd.bos.dataentity.entity.ILocaleString,attch:$.java.util.List,userId:long):void;
                /**
                 * 获取流程模型的节点信息。
                 *
                 * <p>返回的节点信息基于流程编码和版本号。如果版本号为空或为 "latest"，则返回最新版本的流程模型节点信息。</p>
                 *
                 * <p>返回的节点类型为 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFFlowElement}，
                 * 该类是流程模型节点的基类，派生出多种子类，不同节点类型对应不同的子类。例如：</p>
                 * <ul>
                 *   <li>{@link kd.bos.workflow.engine.dynprocess.freeflow.WFAuditTask}：审批节点。</li>
                 *   <li>{@link kd.bos.workflow.engine.dynprocess.freeflow.WFGateway}：网关节点。</li>
                 * </ul>
                 *
                 * @param number 流程编码，用于指定需要查询的流程
                 * @param version 流程版本号，如果为空或为 "latest"，则返回最新版本
                 * @return 流程模型节点信息，类型为 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFFlowElement}
                 */
                getProcessElements(number_arg:string,version:string):$.java.util.List;
                /**
                 *  获取审批记录的元数据
                 *  @return Map结构，key为字段标识，value为名称
                 *  <pre>
                 *  {
                 *      "assignee": "审批人“,
                 * 		“activityName": "节点名称",
                 * 		"resultName": "审批结果",
                 * 		"message": "审批意见",
                 * 		"time": "审批时间",
                 * 		"throughRule": "审批通过规则",
                 * 		"auditPropName": "任务属性",
                 * 		"userNameFormatter": "参与人显示信息",
                 * 		"signature": "审批人签名"
                 *  }
                 *  </pre>
                 */
                getApprovalRecordMeta():$.java.util.Map;
                /**
                 * 根据流程实例ID,节点ID和人员ID获取任务id
                 * @param processInstanceId
                 * @param activityId
                 * @param userId
                 * @return
                 */
                getTaskIdByProcessInstanceIdAndActivityIdAndUserId(processInstanceId:long,activityId:string,userId:long):long;
                /**
                 * 根据业务单据ID查对应的流程实例ID
                 * @param businessKey 单据ID
                 * @return 流程实列ID
                 */
                getProcessInstanceIdByBusinessKey(businessKey:string):long;
                /**
                 * 流程预测并返回预测结果,结果不包含当前节点的信息
                 * @param procInstId 流程实列ID
                 * @return 预计算结果 {@link kd.bos.workflow.engine.precomputor.IPreComputorRecord}
                 */
                getPreComputorRecordWithOutCurrentNodes(procInstId:long):$.kd.bos.workflow.engine.precomputor.IPreComputorRecord;
                /**
                 * 触发工作流。调用该接口后，会根据传入的参数进行流程寻址，如果满足条件，则该数据会进入流程进行流转。
                 * @see #tryTriggerProcess(String, String, String, Map)
                 * @param businessKey 业务数据标识，即单据内码(主键）
                 * @param processNumber 流程编码
                 * @param entityNumber 实体编码。如采购订单则传入er_tripreqbill
                 * @param variables 操作变量。
                 */
                tryTriggerProcessByProcNumber(businessKey:string,processNumber:string,entityNumber:string,variables:$.java.util.Map):void;
                /**
                 * 更新第三方审批记录
                 * @param thirdCommentInfo 第三方审批信息 {@link kd.bos.workflow.engine.task.ThirdCommentInfo}
                 */
                updateTrdComment(thirdCommentInfo:$.kd.bos.workflow.engine.task.ThirdCommentInfo):void;
                /**
                 * 查看流程图
                 * @param pageId 页面ID
                 * @param billId 单据ID
                 * @param style 打开方式 {@link kd.bos.form.OpenStyle}
                 */
                viewFlowchart(pageId:string,billId:any,style:$.kd.bos.form.OpenStyle):void;
                /**
                 * 批量催办功能
                 * @param processInstanceIds 流程实例ids
                 * @param reminderMsg 催办消息
                 * @return 批量操作结果 {@link kd.bos.workflow.engine.task.BatchOperateResult}
                 * <pre><code>
                 * （【样例】共6条单据，催办成功3条，失败3条）map中的key
                 * 	successCount- 成功条数
                 * 	failedCount - 失败条数
                 * 	List<OperateResult> - 操作结果集
                 * </code></pre>
                 */
                taskReminders(processInstanceIds:long[],reminderMsg:$.kd.bos.dataentity.entity.ILocaleString):$.kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 过滤出那些单据在工作里中
                 * @param dataEntities {@link  ExtendedDataEntity}
                 * @param dataEntities 单据数据包信息 {@link  kd.bos.entity.ExtendedDataEntity}
                 * @return 在工作流中的单据集合
                 */
                getInProcessDataEntity(dataEntities:$.kd.bos.entity.ExtendedDataEntity[]):$.kd.bos.entity.ExtendedDataEntity[];
                /**
                 * @author wangxk
                 * 根据方案编码获取流程方案
                 * @param schemeNumber 方案编码
                 * @return
                 */
                getProcSchemeBySchemeNumber(schemeNumber:string):$.java.util.Map;
                /**
                 * @author wangxk
                 * 禁用流程
                 * @param procDefId
                 * @return
                 */
                disableProcess(procDefId:long):void;
                /**
                 * @author RD_li_fei
                 * 获取任务对应节点的自动协办人集合
                 * @param taskId 任务id
                 */
                getAutoCoordinateUsers(taskId:long):$.java.util.List;
                /**
                 * 根据单据Id查询操作日志（如果按照条件未查到数据则会从压缩表查）
                 * @param businessKey 业务单据主键
                 * @param selectFeilds 查询字段
                 * @param orderBy 排序字段
                 */
                findOperationLogByBusinessKey(businessKey:string,selectFeilds:string,orderBy:string):$.java.util.List;
                /**
                 * @param taskId
                 * @param type
                 * @return
                 */
                addSignClear(taskId:long,type_arg:string):string;
                /**
                 * 更新第三方关联的流程审批信息
                 * @param relationValue 第三方与流程关联字段值
                 * @param comment 审批信息 {@link  kd.bos.workflow.engine.task.Comment}
                 */
                updateTrdRelatedProcComment(relationValue:string,comment:$.kd.bos.workflow.engine.task.Comment):void;
                withdrawTransferTask(taskId:long,ownerId:long):$.java.util.Map;
                /**
                 * @author RD_li_fei
                 * 指定下一步参与人
                 * @param taskId 任务id
                 * @param dynParticipants
                 */
                assignNextParticipant(taskId:long,dynParticipants:$.java.util.Map):void;
                /**
                 * 获取流程预计算节点信息(单据未进流程)
                 * @param opKey 指定操作类型
                 * @param billObj 单据信息
                 * @return 流程窗口所需数据
                 */
                getProcessWindowRecords(opKey:string,billObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * @param businesskey
                 * @param nodeId
                 * @param userIds
                 * @param variables
                 */
                addJointAuditParticipants(businesskey:string,nodeId:string,userIds:$.java.util.List,variables:$.java.util.Map):void;
                /**
                 * 拿当前节点的前序节点（从模型，静态节点）
                 * @param taskId
                 * @return
                 */
                getRejectedPreNode(taskId:long):$.java.util.List;
                /**
                 * 根据流程实例ID查询流程定义信息
                 * @param procInstId 流程实列ID
                 * @return  流程定义，包括流程定义ID,编码，名称，以及详细流程定义数据。
                 * 		<p> {@link kd.bos.workflow.api.model.ProcessDefinitionInfo} </p>
                 */
                getProcessDefinitionInfoByProcInstId(procInstId:long):$.kd.bos.workflow.api.model.ProcessDefinitionInfo;
                /**
                 * 添加任务关联人
                 * @return
                 */
                addProcessRelationPerson(entityNumber:string,businessKey:string,assigneeIds:$.java.util.List):void;
                /**
                 * 获取最后已经审批节点的审批意见集合。
                 * @param businessKey 单据ID
                 * @return 审批意见集合 {@link  kd.bos.workflow.engine.task.Comment}
                 */
                getLastNodesComment(businessKey:string):$.java.util.List;
                /**
                 * 描述：创建一个新第三方Comment实体
                 * @return ThirdCommentInfo 第三方审批信息 {@link kd.bos.workflow.engine.task.ThirdCommentInfo}
                 */
                createNewTrdComment():$.kd.bos.workflow.engine.task.ThirdCommentInfo;
                /**
                 * 获取任务的详细审批信息
                 * @param taskId 任务ID
                 * @return 审批信息集合 {@link  kd.bos.dataentity.entity.DynamicObjectCollection}
                 */
                getCommentsByTaskId(taskId:long):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 任务挂起
                 * @param taskId
                 * @param userId
                 * @param suspendReason
                 * @return
                 */
                suspendTaskById(taskId:long,userId:long,suspendReason:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * 流程中的单据撤销
                 * @param obj 单据数据 {@link kd.bos.dataentity.entity.DynamicObject}
                 * @param operationKey 操作编码。WfConfigurationUtil.userOldWithdraw()==true时，有效。新的撤回无需该参数
                 * 注意： 集成时，先调用流程撤回，然后调用业务撤回
                 * @throws KDException  流程不允许撤回时抛出该异常
                 */
                withdraw(obj:$.kd.bos.dataentity.entity.DynamicObject,operationKey:string):void;
                /**
                 * 描述:获取给定单据集合的当前审批人集合
                 * @param businessKeyArr
                 * @return 以businessKey为key，当前审批人id集合为value
                 */
                getApproversMapByBusinessKeys(businessKeyArr:string[]):$.java.util.Map;
                /**
                 * @author RD_li_fei
                 *
                 * 获取待办或已办单据名称
                 */
                getTaskEntityName(uid:long,type_arg:string):$.java.util.List;
                /**
                 * 新增第三方审批记录
                 * 方法获取对应的Task任务，然后添加三方审批意见
                 * @param thirdCommentInfo 第三方审批信息 {@link kd.bos.workflow.engine.task.ThirdCommentInfo}
                 */
                addTrdComment(thirdCommentInfo:$.kd.bos.workflow.engine.task.ThirdCommentInfo):void;
                /**
                 * 描述:根据ids批量查找task，批量查询数量超过一定数值，会抛异常。默认最大100，可配置成最大300。
                 *
                 * @param taskIds
                 * @return: java.util.List<kd.bos.workflow.engine.task.TaskInfo>
                 */
                findTaskByIds(taskIds:$.java.util.List):$.java.util.List;
                /**
                 * 根据类型获取审批记录，该接口为打印场景定制
                 * @param businessKey
                 * @param type
                 * {@link  WorkflowServiceHelper.PRINT_TYPE_ALL} 获取所有(多圈+同意+驳回)
                 * {@link WorkflowServiceHelper.PRINT_TYPE_ALLCONSENT} 获取所有同意(多圈+同意)
                 * {@link WorkflowServiceHelper.PRINT_TYPE_LASTEDCONSENT} 获取最新
                 * allContainHiComment 获取所有审批记录（包含历史审批记录）
                 * @return 审批记录集合
                 */
                getCommentForPrintByType(businessKey:string,type_arg:string):$.java.util.Collection;
                /**
                 * 通过实体编码判断是否在有创建过流程
                 * @param entityNumber 实体编码
                 * @return 如果该实体，有创建流程，则返回true,否则返回false
                 */
                existProcDefByEntityNumber(entityNumber:string):boolean;
                /**
                 * @author RD_li_fei
                 *
                 * 获取节点对应的页面参数
                 */
                getPageVariables(taskId:long):$.java.util.Map;
                /**
                 * @author RD_li_fei
                 *
                 * 流程实例强制终止（api）
                 */
                abortProcessInstance(procInstId:long):void;
                /**
                 * 根据单据id和实体编码获取流程实例id
                 *
                 * @param businessKey 单据id
                 * @param entityNumber 实体编码
                 * @return Long 流程实例id
                 */
                getProInsIdByBusinessKeyAndEntityNumber(businessKey:string,entityNumber:string):long;
                /**
                 * 更新流程节点属性
                 * @param procInstId 流程实列ID
                 * @param actId 流程节点ID
                 * @param params 更新的信息
                 */
                updateBpmnModelPropertys(procInstId:long,actId:string,params:$.java.util.Map):void;
                /**
                 * 获取流程预计算节点信息(单据未进流程)
                 * @param procdefId 指定流程
                 * @param billObj 单据信息
                 * @return 流程窗口所需数据
                 */
                getProcessWindowRecords(procdefId:long,billObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * 获取流程信息
                 *
                 * @param number 流程编码
                 * @param version 流程版本，如果为空或为latest表示最新版本
                 * @return 流程信息 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFProcess}
                 */
                getProcessInfo(number_arg:string,version:string):$.kd.bos.workflow.engine.dynprocess.freeflow.WFProcess;
                /**
                 * 根据单据id集合查询在流程中的状态
                 * @param businessKeys 业务单据ID
                 * @return Key为单据id Value为流程中的状态  {@link kd.bos.workflow.api.BizProcessStatus}
                 */
                getBizProcessStatus(businessKeys:string[]):$.java.util.Map;
                getNodeParticipantScop(participantScopeParams:$.kd.bos.workflow.engine.precomputor.ParticipantScopeParams):$.kd.bos.workflow.engine.impl.cmd.task.ParticipantScope;
                /**
                 * 启动流程。调用该接口后，会根据传入的参数进行流程寻址，如果满足条件，则该数据会进入流程进行流转。
                 * @param businessKey 业务数据标识，即单据内码(主键）
                 * @param operation 操作类型编码
                 *                  具体查看操作定义，举例：submit(提交），audit(审批）
                 * @param entityNumber 实体编码。如采购订单则传入er_tripreqbill
                 * @param variables 参数为Map对象，具体包含以下等关键字段
                 * 			freeflowmodelstr  自由流程参数
                 * 		    freeflow     自由流程
                 * 		    dynType  动态类型 rejectToForkInner-驳回到分支内部  dynReject-动态驳回 dynJump-动态跳转  dynBackToRejectNode-动态-再次提交到驳回节点、动态-驳回后再次提交时直接回到本节点
                 * 		                    forceAbort-人工终止   forceAbortAll-人工终止全部  compensationAbort-补偿终止 abortByParentProcessJump-父流程跳转引起的终止
                 * 		                    abortByParentProcessAbort-父流程终止引起的终止    abortByParentProcessWithdraw- 父流程整单撤回引起的终止   terminateProcWhenExceptionOccurs-发生异常时直接终止流程
                 * 		            		billExcepAbort-例外终止  billAbort-整单终止   billWithdrawJump-整单撤回强制跳转至人工    abortByRejectToParentProcess-因驳回至父流程而终止
                 * 		            		meetBillClose-满足业务关闭条件 terminateEvent-终止事件  auditAbort-审批终止 expireSkip-过期跳过  addsignbefore-前加签 addsignbeforebyadmin-前加签
                 * 		            		addsignafter-后加签  addsignafterbyadmin-后加签   freeflow-自由流程   freeflowafternode-自由流程
                 * 		    isCrossTenant   是否跨租户 false-不跨租户  true-跨租户
                 * 		    targetTenantId  目标租户id
                 * 		    currentTenantId  当前租户id
                 * 		    currentTenantAccountId  当前租户数据中心id
                 * 		    crossTenantInfo  跨租户信息  {@Link kd.bos.workflow.engine.crosstenant.CrossTenantInfo}
                 * 		    dataSourceType  数据中心类型  LOCAL-本租户本数据中心 CT-跨租户  TP-第三方系统  DE-动态实体
                 * 		    serialexecutecount  串行执行数量：大于某个数量之后才串行，否则和原来一致
                 * 		    addressbusinesskey 业务key
                 * 		    _billno_   单据id
                 * 		    jobId   任务id
                 * 		    newprocessdefinitionid  新流程定义id
                 * 		    newschmeid   新实例计划id
                 */
                tryTriggerProcess(businessKey:string,operation:string,entityNumber:string,variables:$.java.util.Map):void;
                /**
                 * @param procinstId
                 * @param activityId
                 * @param addSignInfo
                 * @return
                 */
                addSignByAdmin(procinstId:long,activityId:string,addSignInfo:$.kd.bos.workflow.engine.dynprocess.AddSignInfo):string;
                jumpToNodeWithReason(procInstId:long,destId:string,srcId:string,reason:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 根据taskId获取节点上配置的页面可编辑信息
                 *
                 * @param taskId 任务id
                 * @param type 类型   pc-pc端 mobile-移动端
                 * @return  List<Map<String, String>>  参数Map对象，具体包含以下等关键字段 key:字段名称  value:字段编码
                 * 			新版：单据属性获取模型可编辑字段  fieldname-字段名称  filednumber-字段编码
                 * 			老版（pc）: pageAttrConfig中modify = true的字段
                 * 			老版（移动端）:mobilePageAttrConfig中modify = true的字段
                 */
                getAuditAllowModifiedFields(taskId:long,type_arg:string):$.java.util.List;
                /**
                 * 批量完成聚合任务
                 * @param variables map结构参数，key为任务id，value为处理该任务的参数
                 * {
                 *    Long类型的任务id: 处理该任务的参数，{auditType: 审批类型}
                 * }
                 */
                batchCompleteCompositeTasks(variables:$.java.util.Map):void;
                /**
                 * 批量同意任务
                 * @author 胡海洋
                 * @param
                 * @return String
                 * @throws Exception
                 */
                batchAgreeTaskWithUserId(taskIds:$.java.util.List,opinion:$.kd.bos.dataentity.entity.ILocaleString,userId:long):string;
                /**
                 * 根据流程ID获取流程模型信息
                 * @param modelId 模型ID，用于获取指定模型
                 * @return 流程模型信息，包含流程的ID,编码，名称，以及详细的模型数据。{@link kd.bos.workflow.api.model.ProcessModel}
                 */
                getProcess(modelId:long):$.kd.bos.workflow.api.model.ProcessModel;
                /**
                 * 过滤并返回可以撤回的数据包集合。
                 *
                 * <p>返回结果按照数据包的状态类型进行区分，Map 的 key 为以下几种类型：</p>
                 * <ul>
                 *   <li>{@link #NOT_IN_PROCESS}：数据包不在工作流中。</li>
                 *   <li>{@link #WF_CAN_WITHDRAW}：数据包在工作流中且可以撤回。</li>
                 *   <li>{@link #WF_CAN_WITHDRAW_BYABANDONPROC}：数据包在工作流中且已进行处理，可以撤回并终止流程。</li>
                 * </ul>
                 *
                 * <p>Map 的 value 是对应状态类型的数据包主键（PK）集合。</p>
                 *
                 * @param objs 需要过滤的数据包集合，类型为 {@link kd.bos.dataentity.entity.DynamicObject}
                 * @return 可以撤回的数据包集合，按照类型分类的 Map
                 */
                canWithdraw(objs:$.kd.bos.dataentity.entity.DynamicObject[]):$.java.util.Map;
                getNextMandatoryNodes(taskId:long):$.java.util.List;
                /**
                 * 获取某个实体配置的流程模型，不包括废弃的流程
                 * @param entityNumber 实体编码
                 * @return 流程模型信息，包含流程的ID,编码，名称，以及详细的模型数据。 {@link kd.bos.workflow.api.model.ProcessModel}
                 */
                getProcessesByEntityNumber(entityNumber:string):$.java.util.List;
                /**
                 * @author RD_li_fei
                 *
                 * 获取可驳回节点
                 */
                getRejectNodes(taskId:long,decisionOptionNumber:string):$.java.util.List;
                /**
                 * 根据单据id和nodeid完成任务
                 * @author 胡海洋
                 * @param
                 * @return void
                 * @throws Exception
                 */
                completeTaskByBusinessKey(businessKey:string,nodeId:string,userId:long,decOptionNumber:string,auditMessage:string,checkUser:boolean):void;
                /**
                 * @author wangxk
                 * 根据实体编码获取启用的流程
                 * @param entityNumber
                 * @return
                 */
                getEnabledProcDefByEntityNumber(entityNumber:string):$.java.util.List;
                /**
                 * 判断单据是否进入工作流
                 * @param businessKey 单据id
                 * @return 单据在流程中则返回true,否则返回false
                 */
                inProcess(businessKey:string):boolean;
                /**
                 * 添加任务关联人
                 * @return
                 */
                addProcessRelationPerson(processInstanceId:long,assigneeIds:$.java.util.List):void;
                /**
                 * 返回单据的整个审批记录
                 * @param businessKey 单据ID
                 * @return 审批记录对象，具体查看IApprovalRecordGroup的实现类 {@link kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup}
                 */
                getAllApprovalRecord(businessKey:string):$.java.util.List;
                /**
                 *  催办功能 --- 根据流程实例id，查询当前任务的处理人，然后发送云之家消息
                 *  @param processInstanceId 流程实例id
                 *  @param reminderMsg 催办内容
                 *  @return	催办结果，包括如下信息：
                 * 	message: 催办结果
                 * 	showMsg: 显示信息
                 * 	allUserName: 全部处理人名称
                 * 	allUserIdList: 全部处理人id列表
                 * 	validUserName: 格式化的用户名
                 * 	displayTask: 是否显示任务
                 * 	procInstId: 流程实例id
                 * 	当前节点id: 节点信息，包括如下内容：
                 * 		taskdefinitionkey: 任务定义编码
                 * 		taskIdList: 任务id列表
                 * 		processInstanceId: 流程实例id
                 * 		processDefinitionId: 流程定义id
                 * 		userIdList: 用户id列表
                 * 		starterid: 发起人id
                 * 		entityname: 单据名称
                 * 		businesskey: 单据主键
                 * 		returnDataUserId: 返回的用户id
                 * 		returnDataUserName: 返回的用户名
                 */
                taskReminders(processInstanceId:long,reminderMsg:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * @author RD_li_fei
                 *
                 * 获取任务数量
                 */
                getTaskCounts(userId:string):$.java.util.Map;
                updateWorkflowRole(role:$.java.util.List):$.kd.bos.workflow.basedata.role.WorkflowRoleResult;
                /**
                 * 协办任务回复撤回
                 * @author huhaiyang
                 * @param
                 * @return void
                 * @throws Exception
                 */
                coordinateReplyTaskWithdraw(taskId:long,userId:long):void;
                /**
                 * @author wangxk
                 * 根据方案id获取节点信息
                 * @param schemeId
                 * @return
                 */
                getProcElementsBySchemeId(schemeId:long):$.java.util.List;
                /**
                 * @author wangxk
                 * 根据流程定义Id获取方案列表
                 * @param procDefId 流程id
                 * @return
                 */
                getProcSchemesByProcDefId(procDefId:long):$.java.util.List;
                /**
                 *  根据businessKeys批量处理任务，需要传入审批人，批量审批决策类型，审批意见
                 *  @param businessKeys 单据主键列表
                 *  @param param 包括如下参数：
                 *               auditUserId，审批人id
                 * 				batchOpType，批量审批决策类型,approve，同意；reject，驳回
                 * 				terminal， 审批终端，pc：pc端；mobile：移动端；api：api接口
                 * 				auditNumber，决策项编码
                 * 				auditMessage，审批意见
                 *  @return successIds，成功的单据id；errorInfos，错误信息
                 */
                batchAuditByBusinesskeys(businessKeys:$.java.util.List,param:$.java.util.Map):$.java.util.Map;
                /**
                 * 查看流程图
                 * @param pageId 页面ID
                 * @param entityNumber 实体编码
                 * @param billId 单据ID
                 * @param style 打开方式 {@link kd.bos.form.OpenStyle}
                 */
                viewFlowchartWithEntityNumber(pageId:string,entityNumber:string,billId:any,style:$.kd.bos.form.OpenStyle):void;
                /**
                 * 获取(全部)审批记录
                 *
                 * @param entityNumber 实体编码
                 * @param businessKey 单据主键
                 * @param allRecord 是否全部审批记录（包含当前单据历史审批记录） ：true - 全部审批记录；false - 最新审批记录
                 * @return 审批记录对象集合；注意异常的捕获，异常说明参数不对 {@Link kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup}
                 */
                getApprovalRecords(entityNumber:string,businessKey:string,allRecord:boolean):$.java.util.List;
                /**
                 * 描述：根据流程实例id撤回流程
                 * @param processInstanceId
                 */
                withdrawByProcessInstanceId(processInstanceId:long):void;
                /**
                 * 根据流程实例Id查询操作日志（如果按照条件未查到数据则会从压缩表查）
                 * @param procInstId 流程实例Id
                 * @param selectFeilds 查询字段
                 * @param orderBy 排序字段
                 */
                findOperationLogByProcInstId(procInstId:long,selectFeilds:string,orderBy:string):$.java.util.List;
                /**
                 * @param taskId
                 * @param userId
                 * @param decOptionNumber
                 * @param auditMessage
                 * @param innerNodeIds
                 * @param skipPath
                 * @param variables
                 */
                rejectToInnerNode(taskId:long,userId:long,decOptionNumber:string,auditMessage:string,innerNodeIds:$.java.util.List,skipPath:boolean,variables:$.java.util.Map):void;
                /**
                 * @author wangxk
                 * 根据编码和版本号取流程定义
                 * @param processNumber 编码
                 * @param version 版本
                 * @return
                 */
                getProcDefByNumberAndVerson(processNumber:string,version:string):$.java.util.Map;
                /**
                 * 描述：根据businessKey、userId撤回（最近一次已办）任务
                 * @param businessKey 业务主键
                 * @param userId 用户id
                 * 建议：捕获异常信息，如果不存在历史任务，则抛出KDException
                 */
                withdrawTaskByBusinessKeyAndUserId(businessKey:string,userId:long):void;
                /**
                 * 获取下一步可选参与人和选择范围（白名单，黑名单，必选名单）
                 * @param taskId 任务id
                 * @param auditNumber
                 * @return
                 */
                getNextUseableUserAndScope(taskId:long,auditNumber:string):$.java.util.Map;
                /**
                 *  根据businessKey获取可打印的审批记录（驳回没有，人工没有，当前节点没有）
                 *  @param businessKey 单据ID
                 *  @return 审批记录信息列表，审批记录信息为Map格式，包括如下字段：
                 * 	signature: 签名
                 * 	activityName: 节点名称
                 * 	source: 审批记录来源（标准审批记录:comment or 第三方审批记录:thirdComment）
                 * 	bizIdentifyKey: 业务标识
                 * 	message: 审批意见
                 * 	resultName: 审批结果
                 * 	activityId: 节点id
                 * 	userNameFormatter: 格式化后的用户名
                 * 	commentId: 审批记录id
                 * 	step: 步长
                 * 	assignee: 处理人
                 * 	time: 创建时间
                 * 	elementType: 节点类型
                 * 	taskId: 任务id
                 */
                getCommentForPrint(businessKey:string):$.java.util.List;
                /**
                 * 根据实体编码获取对应的流程节点的打印元数据信息
                 *  @param entityNumber 实体编码
                 *  @return 节点集合，节点信息为Map格式，包括如下字段：
                 * 	printMeta: 打印元数据，内容如下：
                 * <pre>
                 *  {
                 *  		auditPropName: 任务属性,
                 *  		userNameFormatter: 参与人显示信息,
                 *  		signature: 审批人签名,
                 *  		activityName: 节点名称,
                 *  		assignee: 审批人,
                 *  		time: 审批时间,
                 *  		message: 审批意见,
                 *  		throughRule: 审批通过规则,
                 *  		resultName: 审批结果,
                 *  	}
                 *
                 * </pre>
                 * 	activityName: 节点名称
                 * 	bizIdentifyKey: 业务标识
                 */
                getPrintMetaEntityNumber(entityNumber:string):$.java.util.Collection;
                /**
                 * 获取启用的流程数量
                 * @return 启用流程数量
                 */
                getEnableProcessCount():long;
                addOneYunzhijiaCompletedChildTask(param:$.kd.bos.workflow.engine.task.AddYunzhijiaTaskParam):void;
                /**
                 * 终止流程
                 * <b>注意：</b>流程终止后不可恢复，请谨慎操作
                 * @param procInstId 流程实列ID
                 */
                abandon(procInstId:long):void;
                /**
                 *  获取指定用户的前若干条待办任务（根据创建时间降序排序）
                 *  @param userId 用户id
                 *  @param topCount 表示返回前面多少条数据
                 *  @return 代办任务列表，列表中每一个Map包含以下字段：
                 * 	handlestate: 任务状态
                 *   id: 任务id
                 *   time: 创建时间
                 *   title: 任务标题
                 *   content: 消息内容
                 */
                getToHandleTasksMessage(userId:long,topCount:number):$.java.util.List;
                /**
                 * @param procinstId
                 * @param activityId
                 * @return
                 */
                getRejectInnerNodes(procinstId:long,activityId:string):$.java.util.List;
                /**
                 * 批量撤回接口
                 * @param objs 单据数据 {@link kd.bos.dataentity.entity.DynamicObject}
                 * @param operationName 操作名称
                 */
                batchWithdraw(objs:$.kd.bos.dataentity.entity.DynamicObject[],operationName:string):string;
                /**
                 * 任务撤回【2.0接口需要传入userId】
                 *
                 * @param taskId 任务id
                 * @param userId 用户id
                 */
                withdrawTaskByTaskId(taskId:long,userId:long):void;
                /**
                 * 判定人员是否属指定的工作流角色
                 * @param userId 人员Id
                 * @param roleNumber 工作流角色编码
                 * @return 属于返回true，不属于返回false
                 */
                isUserBelongToRole(userId:long,roleNumber:string):boolean;
                /**
                 * 批量新增第三方审批记录，ThirdCommentInfo实体会校验任务主键，业务单据主键，流程实例主键不能同时为空
                 * 有一个实体未新增成功，BatchResult.success=false。具体ThirdCommentInfo是否成功，可获取BatchResult.results具体判断
                 * 方法获取对应的Task任务，然后添加三方审批意见。新增一个审批记录，会同时新增一个流程操作日志
                 * @param thirdCommentInfos
                 * @return: 返回kd.bos.workflow.api.BatchResult
                 */
                batchAddTrdComment(thirdCommentInfos:$.java.util.List):$.kd.bos.workflow.api.BatchResult;
                /**
                 * @author RD_li_fei
                 *
                 * 获取已办申请
                 */
                getApplyedProcess(userId:long,start:number,limit:number,starterOrSubjectFilter:string,timeFilter:string,paramFilter:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 任务解挂
                 * @param taskId
                 * @param userId
                 * @return
                 */
                activateTaskById(taskId:long,userId:long):$.java.util.Map;
                /**
                 * 完成任务，并记录审批意见
                 * @param taskId 任务ID
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 */
                completeTask(taskId:long,userId:long,decOptionNumber:string,auditMessage:string):void;
                /**
                 * 获取审批记录（包含协办记录）
                 *
                 * @param businessKey 单据id
                 * @Return    {@Link kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup}
                 */
                getAllApprovalRecordInclCoordinate(businessKey:string):$.java.util.List;
                /**
                 * 完成任务，并记录审批意见
                 * @param taskId 任务ID
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码 Consent / Reject (同意/拒绝)
                 * @param auditMessage 审批意见
                 * @param variables 参数变量 流程相关VariableConstants 常量
                 */
                completeTask(taskId:long,userId:long,decOptionNumber:string,auditMessage:string,variables:$.java.util.Map):void;
                /**
                 * 描述:获取当前人的所有待办任务
                 * @param start 分页开始行
                 * @param limit 最大返回数
                 * @param uid 用户ID
                 * @return DynamicObjectCollection 全部代办任务集合 内容包含单据编号、节点名、单据实体等任务信息
                 */
                getToHandleTasksByUserId(start:number,limit:number,uid:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取当前节点的审批人
                 * @param businessKey 单据id
                 * @return 参与人ID集合
                 */
                getApproverByBusinessKey(businessKey:string):$.java.util.List;
                /**
                 * 任务传阅 for batch
                 * @param taskIds 批量传阅的任务id集合
                 * @param circulationUserIds 发送给谁的userid,并非openid
                 * @param senderUserId 发送人的userid,并非openid
                 * @param circulationMsg 发送的传阅消息
                 * @return 批量操作结果（【样例】共6条单据，传阅成功3条，失败3条）对象
                 * <pre><code> String validateMsg - 校验信息 - 比如缺少参数
                 * int successCount- 成功条数
                 * int failedCount - 失败条数
                 * List<OperateResult> - 操作结果 集
                 * String operateType - 操作类型
                 * String operateStatus - 操作状态
                 * String operateMsg - 操作信息
                 * 	</code></pre>
                 */
                taskCirculateForBatch(taskIds:$.java.util.List,circulationUserIds:$.java.util.List,senderUserId:long,circulationMsg:$.kd.bos.dataentity.entity.ILocaleString):$.kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 打开单据关系图
                 * @param pageId 页面ID
                 * @param billCards 单据卡片信息 {@link kd.bos.workflow.api.model.BillCard}
                 * @param currentEntityNumber 实体编码
                 * @param currentBusinessKey 业务标识（单据ID)
                 */
                showBillRelationGraph(pageId:string,billCards:$.java.util.List,currentEntityNumber:string,currentBusinessKey:string):void;
                /**
                 * @param businesskey
                 * @param nodeId
                 * @param userIds
                 */
                removeJointAuditParticipants(businesskey:string,nodeId:string,userIds:$.java.util.List):void;
                /**
                 * 根据单据信息查找流程信息
                 * @param bill 单据对象
                 * @param operation 操作类型编码
                 *                  具体查看操作定义，举例：submit(提交），audit(审批）
                 * @return 流程信息 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFProcess}
                 */
                getProcessInfo(bill:$.kd.bos.dataentity.entity.DynamicObject,operation:string):$.kd.bos.workflow.engine.dynprocess.freeflow.WFProcess;
                /**
                 * 查看流程图
                 * @param pageId 页面ID
                 * @param entityNumber 实体编码
                 * @param billId 单据ID
                 */
                viewFlowchartWithEntityNumber(pageId:string,entityNumber:string,billId:any):void;
                /**
                 * 获取流程模型节点信息。
                 *
                 * <p>返回的节点信息基于流程编码和版本号。如果版本号为空或为 "latest"，则返回最新版本的流程模型节点信息。</p>
                 *
                 * <p>返回的节点类型为 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFFlowElement}，
                 * 该类是流程模型节点的基类，派生出多种子类，不同节点类型对应不同的子类。例如：</p>
                 * <ul>
                 *   <li>{@link kd.bos.workflow.engine.dynprocess.freeflow.WFAuditTask}：审批节点。</li>
                 *   <li>{@link kd.bos.workflow.engine.dynprocess.freeflow.WFGateway}：网关节点。</li>
                 * </ul>
                 *
                 * @param bill 单据对象
                 * @param operation 操作类型编码
                 *                  具体查看操作定义，举例：submit(提交），audit(审批）
                 * @return 流程模型节点信息，类型为 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFFlowElement}
                 */
                getProcessElements(bill:$.kd.bos.dataentity.entity.DynamicObject,operation:string):$.java.util.List;
                /**
                 * 设置流程变量
                 * @param procInstId 流程实例ID
                 * @param variableName 变量名
                 * @param value 变量值
                 */
                setProcessInstanceVariable(procInstId:long,variableName:string,value:any):void;
                /**
                 * 获取指定用户的特定类型任务或申请的数量。
                 * 该方法可用于查询待办任务、已办任务、在办申请和已办申请的数量。
                 *
                 * @param uid 用户的唯一标识符，用于指定要查询的用户。
                 * @param type 查询的任务或申请类型，支持以下取值：
                 *             - {@link kd.bos.workflow.engine.impl.cmd.task.WorkflowTaskCenterTypes#HANDLED}：已办任务，表示用户已经处理完成的任务数量。</br>
                 *             - {@link kd.bos.workflow.engine.impl.cmd.task.WorkflowTaskCenterTypes#TOHANDLE}：待办任务，表示等待用户处理的任务数量。</br>
                 *             - {@link kd.bos.workflow.engine.impl.cmd.task.WorkflowTaskCenterTypes#APPLYED}：已办申请，表示用户已经提交并处理完成的申请数量。</br>
                 *             - {@link kd.bos.workflow.engine.impl.cmd.task.WorkflowTaskCenterTypes#TOAPPLY}：在办申请，表示用户正在处理中的申请数量。</br>
                 * @return 返回符合指定用户和类型的任务或申请的具体数量，返回值为非负整数。
                 *         如果没有符合条件的记录，返回 0。
                 */
                getTaskCountByType(uid:string,type_arg:string):long;
                /**
                 * @author wangxk
                 * 根据单据ID和节点ID获取节点流转信息（包含审批记录）
                 * @param businessKey 单据主键ID
                 * @param actId 节点ID
                 * @param isOnlyCompleted 是否只查询已完成的节点
                 * @return
                 */
                getActInstInfo(businessKey:string,actIds:$.java.util.List,isOnlyCompleted:boolean):$.java.util.Map;
                /**
                 *  根据流程信息创建流程实例
                 * @param processInstData
                 * @return
                 */
                makeProcessInst(processInstData:$.kd.bos.workflow.engine.process.ProcessInstData):void;
                /**
                 * 查看流程图
                 * 调用方式：例如：WorkflowServiceHelper.viewFlowchart(getView().getPageId(), 347562958684947456L);
                 * @param pageId 页面ID
                 * @param billId 单据ID
                 */
                viewFlowchart(pageId:string,billId:any):void;
                /**
                 *  任务传阅
                 *  @param taskId	任务id
                 *  @param userIds 发送给谁的userid,并非openid
                 *  @param circulationMsg 发送的消息
                 *  返回一个map 成功或失败的信息 需要校验传递的senderUserId是否在该任务的处理人中
                 *  map中包含如下信息：
                 *  {
                 *    issuccess: true/false, 表示传阅成功或者失败
                 * 	 message: 失败信息
                 *  }
                 */
                taskCirculate(taskId:long,userIds:$.java.util.List,circulationMsg:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 *  根据类型、排序方案、是否打印人工节点、是否打印影像上传输出单据打印结果
                 *  @param businessKey
                 *  @param type：all获取所有(多圈+同意+驳回)、allConsent获取所有同意(多圈+同意)、lastedConsent获取最新
                 *  @param printParam Map结构，value为布尔值，key包含如下选项
                 *                    includeUserTask 包含人工节点
                 *                    includeSSCImageUpload 包含共享节点
                 *                    INCLUDECALLACTIVITY 包含子流程
                 *
                 *  @return 审批记录集合，审批记录为Map格式，包括如下字段：
                 * 	signature: 签名
                 * 	activityName: 节点名称
                 * 	source: 来源（标准审批记录comment or 第三方审批记录:thirdComment）
                 * 	bizIdentifyKey: 业务标识
                 * 	message: 审批意见
                 * 	resultName: 审批结果
                 * 	activityId: 节点id
                 * 	userNameFormatter: 格式化用户名
                 * 	commentId: 审批记录id
                 * 	step: 步长
                 * 	assignee: 处理人
                 * 	time: 创建时间
                 * 	elementType: 节点类型
                 * 	taskId: 任务id
                 */
                getPrintCommentWithParam(businessKey:string,type_arg:string,printParam:$.java.util.Map):$.java.util.Collection;
                /**
                 * 动态修改参与人
                 * @param taskId 任务ID
                 * @param list 下一步参与人列表，下一步参与人信息为Map结构，包括如下字段：
                 * nodeId: 节点id
                 * userIds: 用户id，
                 */
                setDynPanticipant(taskId:long,list:$.java.util.List):void;
                /**
                 * @param userId
                 * @param suspendReason
                 */
                SuspendProcessInstanceAndRuleByUserId(userId:long,suspendReason:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * @author wangxk
                 * 启用流程
                 * @param procDefId
                 * @return
                 */
                enableProcess(procDefId:long):void;
                /**
                 * 批量更新第三方审批记录，需要在ThirdCommentInfo实体中传入id
                 * @param thirdCommentInfos
                 */
                batchUpdateTrdComment(thirdCommentInfos:$.java.util.List):void;
                /**
                 * 任务预计算
                 * @param businessKey 业务单据ID
                 * @return 预测信息 1.K:nextNode V:预测下一节点信息 2.K:参与人id V:名称 3.K:users V:用户对象（bos_user）
                 */
                getNextUserTaskNodeByBusinessKey(businessKey:string):$.java.util.List;
                /**
                 * 终止流程
                 * <b>注意：</b> 流程终止后不可恢复，请谨慎操作
                 * @param businessKey 单据ID
                 */
                abandonByBusienssKey(businessKey:string):void;
                /**
                 * @author wangxk
                 * 根据流程id获取流程定义信息
                 * @param procDefId
                 * @return
                 */
                getProcDefById(procDefId:long):$.java.util.Map;
                /**
                 * @author wangxk
                 * 根据方案id获取流程方案
                 * @param schemeId 方案id
                 * @return
                 */
                getProcSchemeBySchemeId(schemeId:long):$.java.util.Map;
                /**
                 * 任务协办（请求）
                 * @param taskId 任务id
                 * @param userIds 协办用户ids
                 * @param coordinateMsg 协办信息
                 * @param isPublic 是否公开
                 * @return
                 */
                taskCoordinate(taskId:long,userIds:$.java.util.List,coordinateMsg:$.kd.bos.dataentity.entity.ILocaleString,isPublic:boolean):string;
                /**
                 * @author RD_li_fei
                 *
                 * 获取已办任务
                 */
                getHandledTasksByUserId(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 发布流程
                 * @param modelId 流程模型ID
                 * @param deploymentProperty 模型发布参数，map结构，可以为空。可选参数：
                 *                           key=versionDescription 版本描述，字符串类型
                 *                           key=ignoreValidateInfo 忽略校验信息，布尔类型，为true时，则不会在结果里返回警告类型的错误信息
                 * @return 流程发布结果,该对象封装了流程发布的结果信息，包括是否发布成功，以及校验结果 {@link kd.bos.workflow.api.model.ProcPublishResult}
                 */
                publishProcess(modelId:long,deploymentProperty:$.java.util.Map):$.kd.bos.workflow.api.model.ProcPublishResult;
                /**
                 * 根据操作和单据对象，进行寻址以及预计算
                 * @param operation  	操作
                 * @param entityNumber	实体编码
                 * @param businessKey	业务主键
                 * @return
                 */
                getAddressAndPreCompute(operation:string,entityNumber:string,businessKey:string):$.java.util.List;
                /**
                 *  获取审批要点计算结果
                 * @param taskId
                 * @return
                 */
                getAuditPointResultsByTaskId(taskId:long):$.java.util.List;
                /**
                 * 记录审批意见
                 * 通过Comment对象中的taskId，找到对应的任务，然后给盖任务添加审批意见。
                 * @param comment 审批意见对象 {@link  kd.bos.workflow.engine.task.Comment}
                 */
                addComment(comment:$.kd.bos.workflow.engine.task.Comment):void;
                /**
                 * 描述：根据流程实例id判断是否能撤回流程
                 * @param processInstanceId
                 */
                canWithdrawByProcessInstanceId(processInstanceId:long):$.java.util.Map;
                /**
                 * @param taskId 任务ID
                 * @param addSignInfo 加签信息
                 * @return
                 */
                addSign(taskId:long,addSignInfo:$.kd.bos.workflow.engine.dynprocess.AddSignInfo):string;
                /**
                 * 获取当前单据的流程图节点信息，包括已经流转的节点以及预计算的节点
                 * @param businessKey 单据id
                 * @return 节点信息列表，节点信息包括：
                 * 		nodeName，节点名称
                 * 		assigneeName，参与人名称
                 * 		nextNode，下一步节点
                 * 		nextNodeName，下一步节点名称
                 * 		executed，是否已经执行
                 * 		assignee，参与人id
                 * 		nodeType，节点类型
                 * 		nodeId，节点id
                 * 		extAttrGroup，额外属性
                 * 		status，节点状态
                 */
                getProcessWindowRecords(businessKey:string):$.java.util.List;
                /**
                 * 描述:根据id查找task
                 * @param taskId
                 * @return TaskInfo {@link kd.bos.workflow.engine.task.TaskInfo}
                 */
                findTaskById(taskId:long):$.kd.bos.workflow.engine.task.TaskInfo;
                /**
                 * 更新节点模板
                 * @param nodeTemplateNumber 节点模板编码
                 * @param nodeTemplateInfo 节点模板信息 {"nodeTemplateName": “新模版名称（多语言字符串）"}
                 */
                updateNodeTemplateInfo(nodeTemplateNumber:string,nodeTemplateInfo:$.java.util.Map):void;
                /**
                 * 根据businessKey获取流程的各类属性
                 *
                 * @param businessKey 单据ID
                 * @return Map<String, Object>   流程相关的属性，关键属性如下所示：
                 * 		processInstanceId    流程实例ID
                 * 		subject	  流程单据主题
                 * 		startUserId 任务发起人
                 * 		billno	单据编号
                 * 		name  流程名称
                 * 		suspensionState  流程状态 1-正常 2-挂起 3-结束
                 * 		suspensionStateName  流程状态名称 1-正常 2-挂起 3-结束
                 * 		activityName  当前语种下的节点名称
                 * 		entityNumber  实体编码
                 * 		businessKey   业务主键（单据id）
                 * 		createDate    创建日期
                 * 		endTime     结束时间
                 * 		duration   持续时间
                 */
                getProcessInstancePropertiesByBusinesskey(businessKey:string):$.java.util.Map;
                /**
                 * 根据流程定义ID查询流程定义信息
                 * @param procDefId 流程定义ID
                 * @return 流程定义，包括流程定义ID,编码，名称，以及详细流程定义数据。{@link kd.bos.workflow.api.model.ProcessDefinitionInfo}
                 */
                getProcessDefinitionInfoById(procDefId:long):$.kd.bos.workflow.api.model.ProcessDefinitionInfo;
                /**
                 * 查看流程图
                 * @param pageId 页面ID
                 * @param entityNumber 实体编码
                 * @param billId 单据ID
                 * @param style 打开方式 {@link kd.bos.form.OpenStyle}
                 * @param procDefId 流程定义ID
                 */
                viewFlowchartWithEntityNumber(pageId:string,entityNumber:string,billId:any,style:$.kd.bos.form.OpenStyle,procDefId:long):void;
                /**
                 * @param userId
                 */
                ActivateProcessInstanceAndRuleByUserIdCmd(userId:long):void;
                /**
                 * 更新任务参与人
                 *
                 * 该接口会删除任务原始的参与人，历史任务参与人。并且会删除旧参与人的待办。
                 * 同时会给改任务添加新的参与人，并给新的参与人创建待办。
                 *
                 * @param task 任务信息 {@link  kd.bos.workflow.engine.task.TaskInfo}
                 * @param userIds 用户ID集合
                 */
                updateTaskInfoAndParticipant(task:$.kd.bos.workflow.engine.task.TaskInfo,userIds:$.java.util.List):void;
                /**
                 * @author RD_li_fei
                 *
                 * 新增任务审批信息
                 */
                addTaskComment(comment:$.kd.bos.workflow.engine.task.Comment):void;
                /**
                 * 根据单据id集合查询在流程中的状态
                 * @param businessKeys
                 * @return
                 */
                getBizProcessStatus(businessKeys:string[],name:string):$.java.util.Map;
                /**
                 * 根据单据实体编码、用户Id获取业务主键
                 * 最多查询数据库中100000条数据
                 * @param businessKeyQueryParams 参数  {@link kd.bos.workflow.engine.task.BusinessKeyQueryParams}
                 * @return 业务主键列表
                 */
                getBusinessKeyByEntityNumberUIds(businessKeyQueryParams:$.kd.bos.workflow.engine.task.BusinessKeyQueryParams):$.java.util.List;
                /**
                 * 使用设计器中的流程模型数据，更新最新版流程定义中的默认方案。
                 *
                 * <p><b>注意：</b>该操作会直接修改当前正在使用的流程方案，对运行中的流程会立即生效。</p>
                 *
                 * @param modelId 模型ID，用于指定需要更新的流程模型
                 * @throws kd.bos.workflow.exception.WFException 如果模型资源与方案资源中的节点结构不一致，
                 *         则抛出此异常，阻止更新操作
                 */
                updateLatestProcessDefaultScheme(modelId:long):void;
                /**
                 * 获取审批节点单据字段可见性-可编辑性-必录性、按钮-可见性、图标及页签可见性
                 * @param taskId
                 * @param type
                 * @return
                 */
                getAuditBillPageAttributeConfigs(taskId:long,type_arg:string):$.java.util.Map;
                /**
                 * 创建一个新的Comment实体
                 * 该方法会new Comment对象进行返回  {@link  kd.bos.workflow.engine.task.Comment}
                 * @return
                 */
                createNewComment():$.kd.bos.workflow.engine.task.Comment;
                /**
                 *  获取下一个人工节点信息
                 *  @param dataEntity -- 单据实体
                 *  @param operation -- 操作
                 *  @param entityNumber -- 实体编码
                 *  @return List<Map<String,Object>> 下一步节点信息，map中包括：
                 *  <pre><code> map.put("nextNode", userTask); // 节点信息
                 *  map.put("users", users); // 用户信息
                 * </code></pre>
                 */
                getNextUserTaskNodeByModel(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,operation:string,entityNumber:string):$.java.util.List;
                /**
                 * @author wangxk
                 * 根据流程定义ID获取节点信息
                 * @param procDefId
                 * @return
                 */
                getProcElementsByProcDefId(procDefId:long):$.java.util.List;
                /**
                 * 工作流撤回
                 * @param obj 单据数据 {@link kd.bos.dataentity.entity.DynamicObject}
                 *
                 * 仅支持单据上提交节点的撤回，当单据已经进入工作，并且任务已经有人处理，撤回会抛出异常
                 * 注意： 集成时，先调用流程撤回，然后调用业务撤回
                 * @throws KDException  流程不允许撤回时抛出该异常
                 */
                withdraw(obj:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 保存流程
                 * @param model 流程模型
                 */
                saveProcess(model:$.kd.bos.workflow.api.model.ProcessModel):long;
                /**
                 * @author RD_li_fei
                 *
                 * 获取在办申请
                 */
                getInProcessApply(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 任务转交
                 * @param taskId 任务id
                 * @param transfererId 转交用户id
                 * @param transferOpinion 转交意见
                 * @param transferSubscribe 是否订阅转交结果
                 * 如果成功，无异常信息；否则请捕获异常信息
                 */
                taskTransfer(taskId:long,transfererId:long,transferOpinion:$.kd.bos.dataentity.entity.ILocaleString,transferSubscribe:boolean):void;
                /**
                 * 获取流程附件
                 * @param entityNumber 实体编码
                 * @param businessKey 单据主键id
                 * @return map数据结构，其中key为commentid值，value为一个List的审批附件信息
                 */
                getProcessAttachmentsInfo(entityNumber:string,businessKey:string):$.java.util.Map;
            }
            interface WorkflowServiceHelper_C extends WorkflowServiceHelper_S {
                new():WorkflowServiceHelper;
            }
            interface WorkflowServiceHelper$ {
                /**
                 * 获取归档路由集合
                 * @param archiveEntity 归档实体
                 * @param archiveRouteIndexConditions 归档实体属性键值对
                 * @return
                 */
                getArchiveRouteKeys(archiveEntity:string,archiveRouteIndexConditions:$.java.util.List):$.java.util.List;
            }
            type WorkflowServiceHelper_T = WorkflowServiceHelper$;
            interface WorkflowServiceHelper extends WorkflowServiceHelper_T {
            }
            interface EventServiceHelper_S {
                readonly IFEVENTFROMAPI:string;
                /**
                 * 通过事件编码、业务主键、实体编码触发事件订阅
                 * @param eventNumber 事件编码
                 * @param businessKey 业务主键
                 * @param entityNumber 实体编码
                 */
                triggerEventSubscribeJobs(eventNumber:string,businessKey:string,entityNumber:string):void;
                /**
                 * 通过事件编码、入参触发事件订阅
                 * @param eventNumber 事件编码
                 * @param json 入参json中需要包含 主键：businesskey，实体编码：entityNumber
                 *             例：{"entityNumber":"wf_demo","businesskey":"2152188820592847872"}
                 */
                triggerEventSubscribe(eventNumber:string,json:string):void;
                /**
                 * 通过事件编码、业务数据集触发事件订阅
                 * @param eventNumber 事件编码
                 * @param objs 业务数据集合
                 */
                triggerEventSubscribeJobs(eventNumber:string,objs:$.kd.bos.dataentity.entity.DynamicObject[]):void;
            }
            interface EventServiceHelper_C extends EventServiceHelper_S {
                new():EventServiceHelper;
            }
            interface EventServiceHelper$ {
            }
            type EventServiceHelper_T = EventServiceHelper$;
            interface EventServiceHelper extends EventServiceHelper_T {
            }
        }
        namespace kd.bos.session{
            interface SessionInfo_S {
            }
            type SessionInfo_ST = $.java.io.Serializable & SessionInfo_S;
            interface SessionInfo_C extends SessionInfo_ST {
                new():SessionInfo;
            }
            interface SessionInfo$ {
                getTenantId():string;
                setLightAppId(lightAppId:string):void;
                getYzjAppId():string;
                setOperationType(operationType:string):void;
                setDefault(default1:string):void;
                setModifyUser(modifyUser:string):void;
                setUserId(userId:string):void;
                getKdCsrfToken():string;
                setAccCompany(accCompany:string):void;
                getAccountId():string;
                setApi3rdAppId(api3rdAppId:string):void;
                getModifyTime():Date;
                getThirdAppTypeID():string;
                getAppType():string;
                setAppType(appType:string):void;
                getAuthType():string;
                getModifyUser():string;
                setAccountId(accountId:string):void;
                getCreatTime():Date;
                setKdCsrfToken(kdCsrfToken:string):void;
                getAccCompany():string;
                getGloableSessionId():string;
                getApi3rdAppId():string;
                getLightAppId():string;
                getUid():string;
                setUserOpenId(userOpenId:string):void;
                setTenantId(tenantId:string):void;
                getSessionType():string;
                setUserName(userName:string):void;
                setOrgId(orgId:string):void;
                getBizPartnerId():string;
                setLoginTime(loginTime:string):void;
                getLoginOrg():string;
                setSsoPramas(ssoPramas:string):void;
                getUserType():string;
                getUserId():string;
                getUserOpenId():string;
                getDefault():string;
                toMap():$.java.util.Map;
                setAuthType(authType:string):void;
                setExpiredTime(expiredTime:string):void;
                getLanguage():string;
                getSandboxId():string;
                getUserName():string;
                setSessionType(sessionType:string):void;
                getLoginIP():string;
                getLoginTime():string;
                setGloableSessionId(gloableSessionId:string):void;
                setBizPartnerId(bizPartnerId:string):void;
                getExpiredTime():string;
                setModifyTime(modifyTime:Date):void;
                setLoginIP(loginIP:string):void;
                setUid(uid:string):void;
                setUserType(userType:string):void;
                getClient():string;
                getOrgId():string;
                getYzjAppTicket():string;
                setYzjAppId(yzjAppId:string):void;
                setThirdAppTypeID(thirdAppTypeID:string):void;
                setCreatTime(creatTime:Date):void;
                getSsoPramas():string;
                setYzjAppTicket(yzjAppTicket:string):void;
                setSandboxId(sandboxId:string):void;
                getApi3rdAppNum():string;
                setApi3rdAppNum(api3rdAppNum:string):void;
                getOperationType():string;
                setClient(client:string):void;
                setLanguage(language:string):void;
                setLoginOrg(loginOrg:string):void;
            }
            type SessionInfo_T = $.java.io.Serializable & SessionInfo$;
            interface SessionInfo extends SessionInfo_T {
            }
        }
        namespace kd.bos.sqlscript{
            interface KSQLDataType_S {
                readonly INT:number;
                readonly DATETIME:number;
                readonly VARCHAR:number;
                readonly BIGINT:number;
                readonly BLOB:number;
                readonly DECIMAL:number;
                readonly EMPTY:number;
                readonly XMLTYPE:number;
                readonly NCLOB:number;
                readonly NVARCHAR:number;
                readonly CLOB:number;
                readonly NCHAR:number;
                readonly SMALLINT:number;
                readonly CHAR:number;
                /**
                 * 转换java.sql.types
                 * @param type KSQLDataType property
                 * @return
                 */
                getJavaSQLType(type_arg:number):number;
                /**
                 * 转换java.sql.types
                 * @param type KSQLDataType property
                 * @return
                 */
                javaSqlType2KSQLDataType(type_arg:number):number;
            }
            interface KSQLDataType_C extends KSQLDataType_S {
                new():KSQLDataType;
            }
            interface KSQLDataType$ {
            }
            type KSQLDataType_T = KSQLDataType$;
            interface KSQLDataType extends KSQLDataType_T {
            }
        }
        namespace kd.bos.svc.attachment{
            interface AttachmentModule_S {
            }
            type AttachmentModule_ST = $.kd.sdk.module.Module & AttachmentModule_S;
            interface AttachmentModule_C extends AttachmentModule_ST {
                new():AttachmentModule;
            }
            interface AttachmentModule$ {
            }
            type AttachmentModule_T = $.kd.sdk.module.Module & AttachmentModule$;
            interface AttachmentModule extends AttachmentModule_T {
            }
        }
        namespace kd.bos.svc.attachment.service{
            interface ThirdPreviewAndEditService_S {
            }
            interface ThirdPreviewAndEditService_C extends ThirdPreviewAndEditService_S {
            }
            interface ThirdPreviewAndEditService$ {
                /**
                 * 保存编辑的文件
                 * @param saveEditFileArgs
                 */
                saveEditFile?(saveEditFileArgs:kd.bos.svc.attachment.service.args.SaveEditFileArgs):void;
                execute?(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
            }
            type ThirdPreviewAndEditService_T = ThirdPreviewAndEditService$;
            interface ThirdPreviewAndEditService extends ThirdPreviewAndEditService_T {
            }
            interface ThirdPreviewAndEditServiceFactory_S {
                getService():ThirdPreviewAndEditService;
            }
            interface ThirdPreviewAndEditServiceFactory_C extends ThirdPreviewAndEditServiceFactory_S {
                new():ThirdPreviewAndEditServiceFactory;
            }
            interface ThirdPreviewAndEditServiceFactory$ {
            }
            type ThirdPreviewAndEditServiceFactory_T = ThirdPreviewAndEditServiceFactory$;
            interface ThirdPreviewAndEditServiceFactory extends ThirdPreviewAndEditServiceFactory_T {
            }
        }
        namespace kd.bos.svc.attachment.service.args{
            interface SaveEditFileArgs_S {
            }
            type SaveEditFileArgs_ST = $.java.io.Serializable & SaveEditFileArgs_S;
            interface SaveEditFileArgs_C extends SaveEditFileArgs_ST {
                new():SaveEditFileArgs;
                new(customEditInfo:string,tempUrl:string,name:string,pageId:string):SaveEditFileArgs;
            }
            interface SaveEditFileArgs$ {
                setPageId(pageId:string):void;
                setName(name:string):void;
                setTempUrl(tempUrl:string):void;
                getCustomEditInfo():string;
                getName():string;
                getTempUrl():string;
                getPageId():string;
                setCustomEditInfo(customEditInfo:string):void;
            }
            type SaveEditFileArgs_T = $.java.io.Serializable & SaveEditFileArgs$;
            interface SaveEditFileArgs extends SaveEditFileArgs_T {
            }
        }
        namespace kd.bos.svc.attachment.wps.action{
            interface WpsAttachAction_S {
                renameForWps(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                getUserInfoForWps(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                history(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                version(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                createNewFileForWps(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                online(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                saveFileForWps(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
            }
            interface WpsAttachAction_C extends WpsAttachAction_S {
                new():WpsAttachAction;
            }
            interface WpsAttachAction$ {
            }
            type WpsAttachAction_T = WpsAttachAction$;
            interface WpsAttachAction extends WpsAttachAction_T {
            }
        }
        namespace kd.bos.svc.ca{
            interface CAModule_S {
                /**
                 * 获取模块名称
                 * @return 模块名称
                 */
                getModuleName():string;
            }
            type CAModule_ST = $.kd.sdk.module.Module & CAModule_S;
            interface CAModule_C extends CAModule_ST {
                new():CAModule;
            }
            interface CAModule$ {
            }
            type CAModule_T = $.kd.sdk.module.Module & CAModule$;
            interface CAModule extends CAModule_T {
            }
        }
        namespace kd.bos.svc.coderule{
            interface CodeRuleModule_S {
            }
            type CodeRuleModule_ST = $.kd.sdk.module.Module & CodeRuleModule_S;
            interface CodeRuleModule_C extends CodeRuleModule_ST {
                new():CodeRuleModule;
            }
            interface CodeRuleModule$ {
            }
            type CodeRuleModule_T = $.kd.sdk.module.Module & CodeRuleModule$;
            interface CodeRuleModule extends CodeRuleModule_T {
            }
        }
        namespace kd.bos.svc.earlywarn{
            interface EarlyWarnModule_S {
            }
            type EarlyWarnModule_ST = $.kd.sdk.module.Module & EarlyWarnModule_S;
            interface EarlyWarnModule_C extends EarlyWarnModule_ST {
                new():EarlyWarnModule;
            }
            interface EarlyWarnModule$ {
            }
            type EarlyWarnModule_T = $.kd.sdk.module.Module & EarlyWarnModule$;
            interface EarlyWarnModule extends EarlyWarnModule_T {
            }
        }
        namespace kd.bos.svc.print{
            interface PrintModule_S {
            }
            type PrintModule_ST = $.kd.sdk.module.Module & PrintModule_S;
            interface PrintModule_C extends PrintModule_ST {
                new():PrintModule;
            }
            interface PrintModule$ {
            }
            type PrintModule_T = $.kd.sdk.module.Module & PrintModule$;
            interface PrintModule extends PrintModule_T {
            }
        }
        namespace kd.bos.svc.util.print{
            interface PrtTaskResult$Attach_S {
            }
            type PrtTaskResult$Attach_ST = $.java.io.Serializable & PrtTaskResult$Attach_S;
            interface PrtTaskResult$Attach_C extends PrtTaskResult$Attach_ST {
                new():PrtTaskResult$Attach;
            }
            interface PrtTaskResult$Attach$ {
                setFilePath(arg0:string):void;
                setExtParam(arg0:string):void;
                setAttachId(arg0:string):void;
                setFileName(arg0:string):void;
                getFileType():string;
                setSource(arg0:string):void;
                getAttachId():string;
                getFilePath():string;
                getFileName():string;
                getSource():string;
                getExtParam():string;
            }
            type PrtTaskResult$Attach_T = $.java.io.Serializable & PrtTaskResult$Attach$;
            interface PrtTaskResult$Attach extends PrtTaskResult$Attach_T {
            }
            interface PrtTaskResult_S {
            }
            type PrtTaskResult_ST = $.java.io.Serializable & PrtTaskResult_S;
            interface PrtTaskResult_C extends PrtTaskResult_ST {
                new():PrtTaskResult;
            }
            interface PrtTaskResult$ {
                getUserId():string;
                setOrgId(arg0:string):void;
                getExtMap():$.java.util.Map;
                setExtType(arg0:string):void;
                getExtType():string;
                setServiceN(arg0:string):void;
                getAttach():$.java.util.List;
                setExtMap(arg0:$.java.util.Map):void;
                setDiskType(arg0:string):void;
                getFormId():string;
                getOrgId():string;
                getTaskName():string;
                getServiceN():string;
                setStatus(arg0:string):void;
                getStatus():string;
                getAppId():string;
                getTaskId():string;
                setAppId(arg0:string):void;
                setTemp(arg0:boolean):void;
                addAttach(arg0:PrtTaskResult$Attach):void;
                setTaskName(arg0:string):void;
                setFormId(arg0:string):void;
                isTemp():boolean;
                setPrinter(arg0:string):void;
                getPrinter():string;
                setUserId(arg0:string):void;
                getDiskType():string;
                setTaskId(arg0:string):void;
            }
            type PrtTaskResult_T = $.java.io.Serializable & PrtTaskResult$;
            interface PrtTaskResult extends PrtTaskResult_T {
            }
        }
        namespace kd.bos.sysint.cache{
            interface PortalAppFeaturesCache_S {
            }
            interface PortalAppFeaturesCache_C extends PortalAppFeaturesCache_S {
                new():PortalAppFeaturesCache;
            }
            interface PortalAppFeaturesCache$ {
                /**
                 * 描述：批量更新应用的显示新特性标志
                 * @param appNumber 应用编码
                 * @param flag 显示新特性标志
                 */
                batchUpdateUserAppFeatureFlag(appNumber:string,flag:boolean):void;
                /**
                 * 描述：更新指定人员、应用的显示新特性标志
                 * @param userID 用户ID
                 * @param appNumber 应用编码
                 * @param flag 显示新特性标志
                 * @param newTime
                 */
                updateUserAppFeatureFlag(userID:long,appNumber:string,flag:boolean,newTime:Date):void;
                /**
                 * 描述：批量更新应用的显示新特性标志。把指定应用的全部新特性显示标志设置为true.
                 * @param appNumber 应用编码
                 */
                batchUpdateUserAppFeatureFlag(appNumber:string):void;
                /**
                 * 描述：根据应用ID/应用编码查最后更新时间；
                 * @param appNumber 应用编码
                 * @return 指定应用的新特性最后更新时间。
                 */
                getAppFeatureLastUpdateTime(appNumber:string):Date;
                /**
                 * 描述：更新应用新特性缓存。
                 */
                updateAppFeature(appNumber:string,appFeatrue:$.java.util.Map):void;
                /**
                 * 描述：根据应用ID/应用编码获取应用新特性内容（摘要，URL）。
                 */
                getAppFeatrue(appNumber:string):$.java.util.Map;
                /**
                 * 描述：获取指定人员、应用的显示新特性标志
                 * @param userID 用户ID
                 * @param appNumber 应用编码
                 * @return 如果
                 * @throws ParseException
                 */
                getUserAppFeatureFlag(userID:long,appNumber:string):boolean;
            }
            type PortalAppFeaturesCache_T = PortalAppFeaturesCache$;
            interface PortalAppFeaturesCache extends PortalAppFeaturesCache_T {
            }
        }
        namespace kd.bos.sysint.servicehelper.constant{
            class LocationConst {
                static readonly SEARCH:kd.bos.sysint.servicehelper.constant.LocationConst;
                static readonly APP_HELP:kd.bos.sysint.servicehelper.constant.LocationConst;
                static readonly NEW_FEATURES_HELP:kd.bos.sysint.servicehelper.constant.LocationConst;
                static readonly PAGE_HELP:kd.bos.sysint.servicehelper.constant.LocationConst;
                static valueOf(arg0:string):kd.bos.sysint.servicehelper.constant.LocationConst;
                static values():kd.bos.sysint.servicehelper.constant.LocationConst[];
                code():string;
            }
        }
        namespace kd.bos.template.orgctrl.model{
            interface PrintTemplateInfo_S {
            }
            interface PrintTemplateInfo_C extends PrintTemplateInfo_S {
                new():PrintTemplateInfo;
            }
            interface PrintTemplateInfo$ {
                setFormId(formId:string):void;
                getFormId():string;
                setPrinterId(printerId:long):void;
                setTplList(tplList:$.java.util.List):void;
                getTplList():$.java.util.List;
                setPrintLang(printLang:string):void;
                getPrinterId():long;
                setUserSettingTplId(userSettingTplId:string):void;
                getUserSettingTplId():string;
                getPrintLang():string;
            }
            type PrintTemplateInfo_T = PrintTemplateInfo$;
            interface PrintTemplateInfo extends PrintTemplateInfo_T {
            }
        }
        namespace kd.bos.template.orgctrl.service{
            interface IPrintTemplateService_S {
            }
            interface IPrintTemplateService_C extends IPrintTemplateService_S {
            }
            interface IPrintTemplateService$ {
                getUserPermPrintTemplateMap(billFormId:string,appId:string,includeBizType:boolean):$.kd.bos.dataentity.Tuple;
                getPrintTemplate?(userId:long,formId:string):kd.bos.template.orgctrl.model.PrintTemplateInfo;
                getTemplates(formId:string,includeNew:boolean):$.java.util.List;
                getUserPermPrintTemplateList(billFormId:string):$.java.util.List;
                getUserPermPrintTemplates(billFormId:string):$.java.util.List;
                getUserPermOldPrintTemplateMap?(billFormId:string,appId:string):$.java.util.Map;
                getTemplates(formId:string,includeNew:boolean,includeBizType:boolean):$.java.util.List;
                getUserPermPrintTemplateMap(billFormId:string,appId:string):$.java.util.Map;
            }
            type IPrintTemplateService_T = IPrintTemplateService$;
            interface IPrintTemplateService extends IPrintTemplateService_T {
            }
            interface PrintTemplateServiceFactory_S {
                getService():IPrintTemplateService;
            }
            interface PrintTemplateServiceFactory_C extends PrintTemplateServiceFactory_S {
                new():PrintTemplateServiceFactory;
            }
            interface PrintTemplateServiceFactory$ {
            }
            type PrintTemplateServiceFactory_T = PrintTemplateServiceFactory$;
            interface PrintTemplateServiceFactory extends PrintTemplateServiceFactory_T {
            }
        }
        namespace kd.bos.template.orgctrl.utils{
            interface ParamUtils_S {
                /**
                 * @Description: 套打模版组织是否开启组织隔离
                 * @Param: []
                 * @return: boolean
                 * @Author: Li.Qiao
                 * @Date: 2021/08/30
                 */
                isTemplateOrgIsolated():boolean;
            }
            interface ParamUtils_C extends ParamUtils_S {
                new():ParamUtils;
            }
            interface ParamUtils$ {
            }
            type ParamUtils_T = ParamUtils$;
            interface ParamUtils extends ParamUtils_T {
            }
        }
        namespace kd.bos.tenant{
            interface TenantInfo_S {
            }
            type TenantInfo_ST = $.java.io.Serializable & TenantInfo_S;
            interface TenantInfo_C extends TenantInfo_ST {
                new(arg0:string,arg1:string):TenantInfo;
            }
            interface TenantInfo$ {
                setName(arg0:string):void;
                setInstanceNumber(arg0:string):void;
                setCreateVersion(arg0:$.java.util.Map):void;
                getInstanceNumber():string;
                isJoinImprovement():boolean;
                getName():string;
                setId(arg0:string):void;
                getCreateVersion():$.java.util.Map;
                getCreateTime():long;
                getId():string;
                setJoinImprovement(arg0:boolean):void;
                setCreateTime(arg0:long):void;
            }
            type TenantInfo_T = $.java.io.Serializable & TenantInfo$;
            interface TenantInfo extends TenantInfo_T {
            }
        }
        namespace kd.bos.thread{
            interface ThreadTruck_S {
                clear():void;
                current():ThreadTruck;
                exists(arg0:any):boolean;
                get(arg0:any):any;
                put(arg0:any,arg1:any):void;
                remove(arg0:any):void;
            }
            interface ThreadTruck_C extends ThreadTruck_S {
                new():ThreadTruck;
            }
            interface ThreadTruck$ {
                close():void;
            }
            type ThreadTruck_T = any & ThreadTruck_S & ThreadTruck$;
            interface ThreadTruck extends ThreadTruck_T {
            }
            interface ThreadLifeCycleListener_S {
            }
            interface ThreadLifeCycleListener$ {
                end():void;
                start():void;
            }
            type ThreadLifeCycleListener_T = ThreadLifeCycleListener_S & ThreadLifeCycleListener$;
            interface ThreadLifeCycleListener extends ThreadLifeCycleListener_T {
            }
            interface ThreadLifeCycleManager_S {
                addListener(arg0:ThreadLifeCycleListener):void;
                addListener(arg0:ThreadLifeCycleListener,arg1:number):void;
                end():void;
                getOriginalExecutorService(arg0:$.java.util.concurrent.ExecutorService):$.java.util.concurrent.ExecutorService;
                removeListener(arg0:ThreadLifeCycleListener):void;
                start():void;
                wrapExecutorService(arg0:$.java.util.concurrent.ExecutorService):$.java.util.concurrent.ExecutorService;
                wrapRunnable(arg0:$.java.lang.Runnable):$.java.lang.Runnable;
                wrapTimerTask(arg0:$.java.lang.Runnable):any;
            }
            interface ThreadLifeCycleManager_C extends ThreadLifeCycleManager_S {
                new():ThreadLifeCycleManager;
            }
            interface ThreadLifeCycleManager$ {
            }
            type ThreadLifeCycleManager_T = ThreadLifeCycleManager_S & ThreadLifeCycleManager$;
            interface ThreadLifeCycleManager extends ThreadLifeCycleManager_T {
            }
        }
        namespace kd.bos.threads{
            interface ThreadPools_S {
                /**
                 * 创建缓存线程池
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param coreThread 核心线程数
                 * @param maxThread 最大线程数
                 * @return 线程池接口ThreadPool
                 */
                newCachedThreadPool(poolName:string,coreThread:number,maxThread:number):ThreadPool;
                /**
                 * 创建动态线程池服务
                 * <p>可创建动态设置线程核心线程数，最大线程数的动态线程池</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param coreThread 核心线程数，限制大于0，小于等于30，当传入的数值不在限制范围时候取值3
                 * @param maxThread 最大线程数，限制大于等于0，小于等于10000，当传入的数值不在限制范围时候取值1000
                 * @return 线程池服务DynamicExecutorService
                 */
                newDynamicExecutorService(poolName:string,coreThread:number,maxThread:number):DynamicExecutorService;
                /**
                 * 带appid执行一次
                 * <p>创建一个线程并执行提交的任务</p>
                 * @param name 线程名
                 * @param runnable 执行的任务
                 * @param appId 应用ID
                 */
                executeOnce(name:string,runnable:$.java.lang.Runnable,appId:string):void;
                /**
                 * 创建缓存线程池服务
                 * <p>默认最大线程数1000</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @return 线程池服务ExecutorService
                 */
                newCachedExecutorService(poolName:string):$.java.util.concurrent.ExecutorService;
                /**
                 * 创建缓存线程池
                 * <p>使用该线程池执行任务都会携带传入的OperationContext上下文</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param coreThread 核心线程数，限制大于0，小于等于30，当传入的数值不在限制范围时候取值3
                 * @param maxThread 最大线程数，限制大于等于0，小于10000，当传入的数值不在限制范围时候取值10000
                 * @param operationContext 操作上下文
                 * @return 线程池接口ThreadPool
                 */
                newCachedThreadPool(poolName:string,coreThread:number,maxThread:number,operationContext:$.kd.bos.context.OperationContext):ThreadPool;
                /**
                 * 创建缓存线程池
                 * <p>根据传入的appId创建OperationContext，使用该线程池执行任务都会携带这个OperationContext上下文</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param coreThread 核心线程数，限制大于0，小于等于30，当传入的数值不在限制范围时候取值3
                 * @param maxThread 最大线程数，限制大于等于0，小于10000，当传入的数值不在限制范围时候取值10000
                 * @param appId 应用ID
                 * @return 线程池接口ThreadPool
                 */
                newCachedThreadPool(poolName:string,coreThread:number,maxThread:number,appId:string):ThreadPool;
                /**
                 * 创建一个绑定OperationContext的固定线程数的线程池
                 * <p>使用该线程池执行任务都会携带传入的OperationContext上下文</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param nThreads 线程池的线程数，最大值不能超过1000，超过会自动取值1000
                 * @param oc 操作上下文OperationContext
                 * @return 线程池接口ThreadPool
                 */
                newFixedThreadPool(poolName:string,nThreads:number,oc:$.kd.bos.context.OperationContext):ThreadPool;
                /**
                 * 创建一个固定线程数的线程池
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param nThreads 线程池的线程数，最大值不能超过1000，超过会自动取值1000
                 * @return 线程池接口ThreadPool
                 */
                newFixedThreadPool(poolName:string,nThreads:number):ThreadPool;
                /**
                 * 创建一个绑定appId的固定线程数的线程池
                 * <p>根据传入的appId创建OperationContext，使用该线程池执行任务都会携带这个OperationContext上下文</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param nThreads 线程池的线程数，最大值不能超过1000，超过会自动取值1000
                 * @param appId APPID
                 * @return 线程池接口ThreadPool
                 */
                newFixedThreadPool(poolName:string,nThreads:number,appId:string):ThreadPool;
                /**
                 * 创建一个固定线程数的线程池
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param nThreads 线程池的线程数，最大值不能超过1000，超过会自动取值1000
                 * @return 原生线程池服务ExecutorService
                 */
                newExecutorService(poolName:string,nThreads:number):$.java.util.concurrent.ExecutorService;
                /**
                 * 创建缓存线程池
                 * <p>默认最大线程数1000</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @return 线程池接口ThreadPool
                 */
                newCachedThreadPool(poolName:string):ThreadPool;
                /**
                 * 通过JDK线程池服务ExecutorService得到被管理的线程池ThreadPool
                 * @param es 线程池服务
                 * @param oc 操作上下文
                 * @return 被管理的线程池ThreadPool
                 */
                toThreadPool(es:$.java.util.concurrent.ExecutorService,oc:$.kd.bos.context.OperationContext):ThreadPool;
                /**
                 * 包含上下文执行一次
                 * <p>创建一个线程并执行提交的任务，并且将当前提交任务线程的上下文RequestContext传递给新创建的线程</p>
                 * @param name 线程名
                 * @param runnable 执行的任务
                 */
                executeOnceIncludeRequestContext(name:string,runnable:$.java.lang.Runnable):void;
                /**
                 * 创建缓存线程池
                 * <p>默认最大线程数1000，根据传入的appId创建OperationContext，使用该线程池执行任务都会携带这个OperationContext上下文</p>
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param appId 应用ID
                 * @return 线程池接口ThreadPool
                 */
                newCachedThreadPool(poolName:string,appId:string):ThreadPool;
                /**
                 * 执行一次
                 * <p>创建一个线程并执行提交的任务</p>
                 * @param name 线程名
                 * @param runnable 执行的任务
                 * @param oc 操作上下文
                 */
                executeOnce(name:string,runnable:$.java.lang.Runnable,oc:$.kd.bos.context.OperationContext):void;
                /**
                 * 通过JDK线程池服务ExecutorService得到被管理的线程池ThreadPool
                 * @param es 线程池服务
                 * @param appId 应用ID
                 * @return 被管理的线程池ThreadPool
                 */
                toThreadPool(es:$.java.util.concurrent.ExecutorService,appId:string):ThreadPool;
                /**
                 * 执行一次
                 * <p>创建一个线程并执行提交的任务</p>
                 * @param name 线程名
                 * @param runnable 执行的任务
                 */
                executeOnce(name:string,runnable:$.java.lang.Runnable):void;
                /**
                 * 包含上下文执行一次
                 * <p>创建一个线程并执行提交的任务，并且将当前提交任务线程的上下文RequestContext传递给新创建的线程，并根据appid创建OperationContext上下文</p>
                 * @param name 线程名
                 * @param runnable 执行的任务
                 * @param appId 应用ID
                 */
                executeOnceIncludeRequestContext(name:string,runnable:$.java.lang.Runnable,appId:string):void;
                /**
                 * 执行一次
                 * <p>创建一个线程并执行提交的任务，并且将当前提交任务线程的上下文RequestContext传递给新创建的线程，并将传入的OperationContext上下文传递给新创建的线程</p>
                 * @param name 线程名
                 * @param runnable
                 * @param operationContext 操作上下文
                 */
                executeOnceIncludeRequestContext(name:string,runnable:$.java.lang.Runnable,operationContext:$.kd.bos.context.OperationContext):void;
                /**
                 * 创建缓存线程池服务
                 * @param poolName 线程池名称，线程池唯一标识，一个节点只能存在一个
                 * @param coreThread 核心线程数，限制大于0，小于等于30，当传入的数值不在限制范围时候取值3
                 * @param maxThread 最大线程数，限制大于等于0，小于等于10000，当传入的数值不在限制范围时候取值1000
                 * @return 线程池服务ExecutorService
                 */
                newCachedExecutorService(poolName:string,coreThread:number,maxThread:number):$.java.util.concurrent.ExecutorService;
            }
            interface ThreadPools_C extends ThreadPools_S {
                new():ThreadPools;
            }
            interface ThreadPools$ {
            }
            type ThreadPools_T = ThreadPools$;
            interface ThreadPools extends ThreadPools_T {
            }
            interface DynamicExecutorService_S {
            }
            type DynamicExecutorService_ST = $.java.util.concurrent.ExecutorService & DynamicExecutorService_S;
            interface DynamicExecutorService_C extends DynamicExecutorService_ST {
            }
            interface DynamicExecutorService$ {
                /**
                 * 设置核心线程数
                 * @param corePoolSize
                 */
                setCorePoolSize(corePoolSize:number):void;
                /**
                 * 获取最大线程池大小
                 * @return
                 */
                getLargestPoolSize():number;
                /**
                 * 获取核心线程数
                 * @return
                 */
                getCorePoolSize():number;
                /**
                 * 获取线程池大小
                 * @return
                 */
                getPoolSize():number;
                /**
                 * 设置最大线程数
                 * @param maximumPoolSize
                 */
                setMaximumPoolSize(maximumPoolSize:number):void;
                /**
                 * 获取活跃线程数
                 * @return
                 */
                getActiveCount():number;
                /**
                 * 获取最大线程数
                 * @return
                 */
                getMaximumPoolSize():number;
            }
            type DynamicExecutorService_T = $.java.util.concurrent.ExecutorService & DynamicExecutorService$;
            interface DynamicExecutorService extends DynamicExecutorService_T {
            }
            interface ThreadPool_S {
            }
            interface ThreadPool_C extends ThreadPool_S {
            }
            interface ThreadPool$ {
                /**
                 * 根据传入的上下文执行线程
                 * @param command
                 * @param rc
                 */
                execute(command:$.java.lang.Runnable,rc:kd.bos.context.RequestContext):void;
                /**
                 * 关闭当前线程池
                 */
                close():void;
                /**
                 * 根据传入的上下文提交线程
                 * @param task
                 * @param rc
                 * @return
                 */
                submit(task:$.java.util.concurrent.Callable,rc:kd.bos.context.RequestContext):$.java.util.concurrent.Future;
                /**
                 * 使用当前线程上下文提交
                 */
                submit(task:$.java.util.concurrent.Callable):$.java.util.concurrent.Future;
                /**
                 * 使用当前线程上下文执行
                 */
                execute(command:$.java.lang.Runnable):void;
            }
            type ThreadPool_T = ThreadPool$;
            interface ThreadPool extends ThreadPool_T {
            }
            interface ThreadsModule_S {
            }
            type ThreadsModule_ST = $.kd.sdk.module.Module & ThreadsModule_S;
            interface ThreadsModule_C extends ThreadsModule_ST {
                new():ThreadsModule;
            }
            interface ThreadsModule$ {
            }
            type ThreadsModule_T = $.kd.sdk.module.Module & ThreadsModule$;
            interface ThreadsModule extends ThreadsModule_T {
            }
        }
        namespace kd.bos.time{
            interface TimeService_S {
            }
            type TimeService_ST = $.kd.bos.service.ITimeService & TimeService_S;
            interface TimeService_C extends TimeService_ST {
                new():TimeService;
            }
            interface TimeService$ {
            }
            type TimeService_T = $.kd.bos.service.ITimeService & TimeService$;
            interface TimeService extends TimeService_T {
            }
        }
        namespace kd.bos.trace.tracer{
            interface MemSpanTrace_S {
                getCurrent():MemSpanTrace;
                create(type_arg:string,name:string):MemSpanTrace;
            }
            type MemSpanTrace_ST = $.java.lang.AutoCloseable & MemSpanTrace_S;
            interface MemSpanTrace_C extends MemSpanTrace_ST {
                new():MemSpanTrace;
            }
            interface MemSpanTrace$ {
                addTag(key:string,value:string):this;
            }
            type MemSpanTrace_T = $.java.lang.AutoCloseable & MemSpanTrace$;
            interface MemSpanTrace extends MemSpanTrace_T {
            }
        }
        namespace kd.bos.tree{
            interface TreeFilterParameter_S {
            }
            type TreeFilterParameter_ST = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & TreeFilterParameter_S;
            interface TreeFilterParameter_C extends TreeFilterParameter_ST {
                /**
                 * 构造方法
                 */
                new():TreeFilterParameter;
                /**
                 * 构造方法
                 *
                 * @param qFilter 过滤条件
                 */
                new(qFilter:$.kd.bos.orm.query.QFilter):TreeFilterParameter;
            }
            interface TreeFilterParameter$ {
                /**
                 * 添加过滤条件
                 *
                 * @param qFilters 过滤条件
                 */
                setQFilters(qFilters:$.java.util.List):void;
                /**
                 * 获取过滤条件
                 *
                 * @return 过滤条件集合
                 */
                getQFilters():$.java.util.List;
            }
            type TreeFilterParameter_T = $.java.io.Serializable & $.kd.bos.dataentity.entity.ISupportInitialize & TreeFilterParameter$;
            interface TreeFilterParameter extends TreeFilterParameter_T {
            }
        }
        namespace kd.bos.unifiedthreadpool.api{
            interface ThreadPoolStrategyFactory_S {
                /**
                 * 创建线程池策略实例
                 * @return
                 */
                create():ThreadPoolStrategy;
            }
            interface ThreadPoolStrategyFactory_C extends ThreadPoolStrategyFactory_S {
                new():ThreadPoolStrategyFactory;
            }
            interface ThreadPoolStrategyFactory$ {
            }
            type ThreadPoolStrategyFactory_T = ThreadPoolStrategyFactory$;
            interface ThreadPoolStrategyFactory extends ThreadPoolStrategyFactory_T {
            }
            interface PoolRejectedExecutionHandler_S {
            }
            interface PoolRejectedExecutionHandler_C extends PoolRejectedExecutionHandler_S {
            }
            interface PoolRejectedExecutionHandler$ {
                rejectedExecution(r:$.java.lang.Runnable,executor:kd.bos.unifiedthreadpool.impl.ThreadPoolExecutor):void;
            }
            type PoolRejectedExecutionHandler_T = PoolRejectedExecutionHandler$;
            interface PoolRejectedExecutionHandler extends PoolRejectedExecutionHandler_T {
            }
            interface ThreadPoolStrategy_S {
            }
            interface ThreadPoolStrategy_C extends ThreadPoolStrategy_S {
            }
            interface ThreadPoolStrategy$ {
                /**
                 * 设置超限线程数
                 *
                 * @param overflowThreadNum
                 * @return
                 */
                setOverflowThreadNum(overflowThreadNum:number):this;
                /**
                 * 设置线程超时回收时间(分钟为单位)
                 *
                 * @param minutes 空闲多少分钟回收
                 * @return
                 */
                setThreadIdeMinutes(minutes:long):this;
                /**
                 * 设置最大线程数
                 *
                 * @param maxThreadNum
                 * @return
                 */
                setMaxThreadNum(maxThreadNum:number):this;
                /**
                 * 设置自定义拒绝策略
                 *
                 * @param handler
                 * @return
                 */
                setRejectedExecutionHandler(handler:PoolRejectedExecutionHandler):this;
                /**
                 * 验证策略
                 *
                 * @return
                 */
                validate():boolean;
                /**
                 * 注册任务类型
                 *
                 * @param taskType
                 * @return
                 */
                register(taskType:kd.bos.unifiedthreadpool.tasktype.TaskType):this;
                /**
                 * 设置最小线程数
                 *
                 * @param minThreadNum
                 * @return
                 */
                setMinThreadNum(minThreadNum:number):this;
                /**
                 * 注册任务类型列表
                 *
                 * @param taskTypeList
                 * @return
                 */
                register(taskTypeList:$.java.util.List):this;
            }
            type ThreadPoolStrategy_T = ThreadPoolStrategy$;
            interface ThreadPoolStrategy extends ThreadPoolStrategy_T {
            }
            interface ThreadExecutorService_S {
            }
            interface ThreadExecutorService_C extends ThreadExecutorService_S {
            }
            interface ThreadExecutorService$ {
                /**
                 * 有返回值方式，执行任务
                 *
                 * @param task                   待执行任务
                 * @param registeredTaskTypeName 线程池策略中已注册的任务类型名称,未注册任务类型名称则拒绝执行
                 * @param context                线程上下文信息
                 * @param oc                     应用上下文信息
                 */
                submit(task:$.java.util.concurrent.Callable,registeredTaskTypeName:string,context:$.kd.bos.context.RequestContext,oc:$.kd.bos.context.OperationContext):$.java.util.concurrent.Future;
                /**
                 * 获取任务类型
                 *
                 *  @param registeredTaskTypeName 已注册的任务类型名称
                 *  @return
                 */
                getTaskType(registeredTaskTypeName:string):kd.bos.unifiedthreadpool.tasktype.TaskType;
                /**
                 * 添加任务类型
                 *
                 * @param taskType              任务类型
                 */
                addTaskType(taskType:kd.bos.unifiedthreadpool.tasktype.TaskType):void;
                /**
                 * 获取所有的任务类型列表
                 *
                 * @return
                 */
                getAllTaskType():$.java.util.List;
                /**
                 * 无返回值方式，执行任务
                 *
                 * @param command                待执行任务
                 * @param registeredTaskTypeName 线程池策略中已注册的任务类型名称,未注册任务类型名称则拒绝执行
                 * @param context                线程上下文信息
                 * @param oc                     应用上下文信息
                 */
                execute(command:$.java.lang.Runnable,registeredTaskTypeName:string,context:$.kd.bos.context.RequestContext,oc:$.kd.bos.context.OperationContext):void;
                /**
                 * 删除任务类型
                 *
                 * @param registeredTaskTypeName 已注册的任务类型名称
                 */
                removeTaskType(registeredTaskTypeName:string):void;
            }
            type ThreadExecutorService_T = ThreadExecutorService$;
            interface ThreadExecutorService extends ThreadExecutorService_T {
            }
            interface ThreadPoolFactory_S {
                /**
                 * 创建线程池实例
                 *
                 * @param region            resouces/threadpoolconfig.xml中配置的region
                 * @param threadPoolName     线程池名称
                 * @param threadPoolStrategy 线程池策略(最小线程数,最大线程数,超限线程数,线程超时回收时间及任务类型)
                 * @return ThreadExecutorService  线程池(web节点返回空)
                 */
                create(region:string,threadPoolName:string,threadPoolStrategy:ThreadPoolStrategy):ThreadExecutorService;
            }
            interface ThreadPoolFactory_C extends ThreadPoolFactory_S {
                new():ThreadPoolFactory;
            }
            interface ThreadPoolFactory$ {
            }
            type ThreadPoolFactory_T = ThreadPoolFactory$;
            interface ThreadPoolFactory extends ThreadPoolFactory_T {
            }
        }
        namespace kd.bos.unifiedthreadpool.impl{
            interface ThreadPoolExecutor_S {
            }
            type ThreadPoolExecutor_ST = ThreadPoolExecutor_S & any & kd.bos.unifiedthreadpool.api.ThreadExecutorService_S;
            interface ThreadPoolExecutor_C extends ThreadPoolExecutor_ST {
                new(region:string,poolName:string,strategy:ThreadPoolStrategyImpl):ThreadPoolExecutor;
            }
            interface ThreadPoolExecutor$ {
                /**
                 * Returns the current number of threads in the pool.
                 *
                 * @return the number of threads
                 */
                getPoolSize():number;
                getPoolName():string;
                submit(task:$.java.lang.Runnable,taskType:string,context:$.kd.bos.context.RequestContext):$.java.util.concurrent.Future;
                pollTask(task:$.java.lang.Runnable):$.java.lang.Runnable;
                /**
                 * Returns the approximate number of threads that are actively
                 * executing tasks.
                 *
                 * @return the number of threads
                 */
                getActiveCount():number;
                setThreadPoolStrategy(strategy:ThreadPoolStrategyImpl):void;
                /**
                 * Sets the thread factory used to create new threads.
                 *
                 * @param threadFactory the new thread factory
                 * @throws NullPointerException if threadFactory is null
                 * @see #getThreadFactory
                 */
                setThreadFactory(threadFactory:any):void;
                /**
                 * Returns the maximum allowed number of threads.
                 *
                 * @return the maximum allowed number of threads
                 * @see #setMaximumPoolSize
                 */
                getMaximumPoolSize():number;
                execute(command:$.java.lang.Runnable,taskType:string,context:$.kd.bos.context.RequestContext):void;
                /**
                 * Sets the maximum allowed number of threads. This overrides any
                 * value set in the constructor. If the new value is smaller than
                 * the current value, excess existing threads will be
                 * terminated when they next become idle.
                 *
                 * @param maximumPoolSize the new maximum
                 * @throws IllegalArgumentException if the new maximum is
                 *         less than or equal to zero, or
                 *         less than the {@linkplain #getCorePoolSize core pool size}
                 * @see #getMaximumPoolSize
                 */
                setMaximumPoolSize(maximumPoolSize:number):void;
                getStrategy():ThreadPoolStrategyImpl;
                /**
                 * Returns the approximate total number of tasks that have
                 * completed execution. Because the states of tasks and threads
                 * may change dynamically during computation, the returned value
                 * is only an approximation, but one that does not ever decrease
                 * across successive calls.
                 *
                 * @return the number of tasks
                 */
                getCompletedTaskCount():long;
                /**
                 * Returns the thread keep-alive time, which is the amount of time
                 * that threads in excess of the core pool size may remain
                 * idle before being terminated.
                 *
                 * @param unit the desired time unit of the result
                 * @return the time limit
                 * @see #setKeepAliveTime(long, TimeUnit)
                 */
                getKeepAliveTime(unit:$.java.util.concurrent.TimeUnit):long;
                execute(command:$.java.lang.Runnable,taskType:string):void;
                /**
                 * Returns the approximate total number of tasks that have ever been
                 * scheduled for execution. Because the states of tasks and
                 * threads may change dynamically during computation, the returned
                 * value is only an approximation.
                 *
                 * @return the number of tasks
                 */
                getTaskCount():long;
                /**
                 * Sets a new handler for unexecutable tasks.
                 *
                 * @param handler the new handler
                 * @throws NullPointerException if handler is null
                 * @see #getPoolRejectedExecutionHandler
                 */
                setPoolRejectedExecutionHandler(handler:kd.bos.unifiedthreadpool.api.PoolRejectedExecutionHandler):void;
                /**
                 * Returns true if this executor is in the process of terminating
                 * after {@link #shutdown} or {@link #shutdownNow} but has not
                 * completely terminated.  This method may be useful for
                 * debugging. A return of {@code true} reported a sufficient
                 * period after shutdown may indicate that submitted tasks have
                 * ignored or suppressed interruption, causing this executor not
                 * to properly terminate.
                 *
                 * @return {@code true} if terminating but not yet terminated
                 */
                isTerminating():boolean;
                /**
                 * Returns the core number of threads.
                 *
                 * @return the core number of threads
                 * @see #setCorePoolSize
                 */
                getCorePoolSize():number;
                /**
                 * Starts a core thread, causing it to idly wait for work. This
                 * overrides the default policy of starting core threads only when
                 * new tasks are executed. This method will return {@code false}
                 * if all core threads have already been started.
                 *
                 * @return {@code true} if a thread was started
                 */
                prestartCoreThread():boolean;
                /**
                 * Returns the task queue used by this executor. Access to the
                 * task queue is intended primarily for debugging and monitoring.
                 * This queue may be in active use.  Retrieving the task queue
                 * does not prevent queued tasks from executing.
                 *
                 * @return the task queue
                 */
                getQueue():kd.bos.unifiedthreadpool.queue.MultiTaskBlockingQueue;
                /**
                 * Returns the thread factory used to create new threads.
                 *
                 * @return the current thread factory
                 * @see #setThreadFactory(ThreadFactory)
                 */
                getThreadFactory():any;
                /**
                 * Starts all core threads, causing them to idly wait for work. This
                 * overrides the default policy of starting core threads only when
                 * new tasks are executed.
                 *
                 * @return the number of threads started
                 */
                prestartAllCoreThreads():number;
                getRegion():string;
                getRejectedTaskCount():long;
                /**
                 * Sets the core number of threads.  This overrides any value set
                 * in the constructor.  If the new value is smaller than the
                 * current value, excess existing threads will be terminated when
                 * they next become idle.  If larger, new threads will, if needed,
                 * be started to execute any queued tasks.
                 *
                 * @param corePoolSize the new core size
                 * @throws IllegalArgumentException if {@code corePoolSize < 0}
                 * @see #getCorePoolSize
                 */
                setCorePoolSize(corePoolSize:number):void;
                submit(task:$.java.lang.Runnable,taskType:string):$.java.util.concurrent.Future;
                /**
                 * Sets the policy governing whether core threads may time out and
                 * terminate if no tasks arrive within the keep-alive time, being
                 * replaced if needed when new tasks arrive. When false, core
                 * threads are never terminated due to lack of incoming
                 * tasks. When true, the same keep-alive policy applying to
                 * non-core threads applies also to core threads. To avoid
                 * continual thread replacement, the keep-alive time must be
                 * greater than zero when setting {@code true}. This method
                 * should in general be called before the pool is actively used.
                 *
                 * @param value {@code true} if should time out, else {@code false}
                 * @throws IllegalArgumentException if value is {@code true}
                 *         and the current keep-alive time is not greater than zero
                 *
                 * @since 1.6
                 */
                allowCoreThreadTimeOut(value:boolean):void;
                /**
                 * Returns the current handler for unexecutable tasks.
                 *
                 * @return the current handler
                 * @see #setPoolRejectedExecutionHandler(PoolRejectedExecutionHandler)
                 */
                getPoolRejectedExecutionHandler():kd.bos.unifiedthreadpool.api.PoolRejectedExecutionHandler;
                /**
                 * Returns the largest number of threads that have ever
                 * simultaneously been in the pool.
                 *
                 * @return the number of threads
                 */
                getLargestPoolSize():number;
                submit(task:$.java.lang.Runnable,registeredTaskTypeName:string,context:$.kd.bos.context.RequestContext,oc:$.kd.bos.context.OperationContext):$.java.util.concurrent.Future;
                /**
                 * Returns true if this pool allows core threads to time out and
                 * terminate if no tasks arrive within the keepAlive time, being
                 * replaced if needed when new tasks arrive. When true, the same
                 * keep-alive policy applying to non-core threads applies also to
                 * core threads. When false (the default), core threads are never
                 * terminated due to lack of incoming tasks.
                 *
                 * @return {@code true} if core threads are allowed to time out,
                 *         else {@code false}
                 *
                 * @since 1.6
                 */
                allowsCoreThreadTimeOut():boolean;
                /**
                 * Removes this task from the executor's internal queue if it is
                 * present, thus causing it not to be run if it has not already
                 * started.
                 *
                 * <p>This method may be useful as one part of a cancellation
                 * scheme.  It may fail to remove tasks that have been converted
                 * into other forms before being placed on the internal queue. For
                 * example, a task entered using {@code submit} might be
                 * converted into a form that maintains {@code Future} status.
                 * However, in such cases, method {@link #} may be used to
                 * remove those Futures that have been cancelled.
                 *
                 * @param task the task to remove
                 * @return {@code true} if the task was removed
                 */
                remove(task:$.java.lang.Runnable):boolean;
                submit(task:$.java.util.concurrent.Callable,registeredTaskTypeName:string):$.java.util.concurrent.Future;
                /**
                 * Sets the time limit for which threads may remain idle before
                 * being terminated.  If there are more than the core number of
                 * threads currently in the pool, after waiting this amount of
                 * time without processing a task, excess threads will be
                 * terminated.  This overrides any value set in the constructor.
                 *
                 * @param time the time to wait.  A time value of zero will cause
                 *        excess threads to terminate immediately after executing tasks.
                 * @param unit the time unit of the {@code time} argument
                 * @throws IllegalArgumentException if {@code time} less than zero or
                 *         if {@code time} is zero and {@code allowsCoreThreadTimeOut}
                 * @see #getKeepAliveTime(TimeUnit)
                 */
                setKeepAliveTime(time:long,unit:$.java.util.concurrent.TimeUnit):void;
                getDescription():string;
                submit(task:$.java.util.concurrent.Callable,taskType:string,context:$.kd.bos.context.RequestContext):$.java.util.concurrent.Future;
                setDescription(description:string):void;
            }
            type ThreadPoolExecutor_T = ThreadPoolExecutor$ & any & kd.bos.unifiedthreadpool.api.ThreadExecutorService;
            interface ThreadPoolExecutor extends ThreadPoolExecutor_T {
            }
            interface ThreadPoolStrategyImpl_S {
                THREAD_OVERFLOW_THRESHOLD:number;
                THREAD_TASK_TYPE_QUEUE_SIZE_THRESHOLD:number;
                THREAD_MAX_THRESHOLD:number;
                build():ThreadPoolStrategyImpl;
            }
            type ThreadPoolStrategyImpl_ST = ThreadPoolStrategyImpl_S & kd.bos.unifiedthreadpool.api.ThreadPoolStrategy_S;
            interface ThreadPoolStrategyImpl_C extends ThreadPoolStrategyImpl_ST {
                new():ThreadPoolStrategyImpl;
            }
            interface ThreadPoolStrategyImpl$ {
                getRegion():string;
                getMinThreadNum():number;
                setFullTaskTypeList(fullTaskTypeList:$.java.util.List):this;
                getPoolName():string;
                setThreadIdeTime(threadIdeTime:number):this;
                getOverflowThreadNum():number;
                getRejectedExecutionHandler():kd.bos.unifiedthreadpool.api.PoolRejectedExecutionHandler;
                setRegion(region:string):void;
                getMaxThreadNum():number;
                validateTaskType(fullTaskType:kd.bos.unifiedthreadpool.tasktype.FullTaskType):kd.bos.unifiedthreadpool.tasktype.FullTaskType;
                getFullTaskTypeList():$.java.util.List;
                getThreadIdeMinutes():long;
                setPoolName(poolName:string):void;
            }
            type ThreadPoolStrategyImpl_T = ThreadPoolStrategyImpl$ & kd.bos.unifiedthreadpool.api.ThreadPoolStrategy;
            interface ThreadPoolStrategyImpl extends ThreadPoolStrategyImpl_T {
            }
        }
        namespace kd.bos.unifiedthreadpool.queue{
            interface MultiTaskBlockingQueue_S {
            }
            interface MultiTaskBlockingQueue_C extends MultiTaskBlockingQueue_S {
                new(size:number):MultiTaskBlockingQueue;
            }
            interface MultiTaskBlockingQueue$ {
                getTaskType(type_arg:string):kd.bos.unifiedthreadpool.tasktype.FullTaskType;
                offer(obj:$.java.lang.Runnable,type_arg:string):boolean;
                poll(timeout:long,unit:$.java.util.concurrent.TimeUnit):$.java.lang.Runnable;
                decrementActiveThreadCount(type_arg:string):void;
                take():$.java.lang.Runnable;
                drainTo(c:$.java.util.Collection):number;
                removeTaskType(taskType:kd.bos.unifiedthreadpool.tasktype.FullTaskType):void;
                addTaskType(task:kd.bos.unifiedthreadpool.tasktype.FullTaskType):void;
                getAllTaskType():$.java.util.Collection;
                poll():$.java.lang.Runnable;
                poll(type_arg:string):$.java.lang.Runnable;
                size():number;
                changeTaskTypeMapping(taskType:string,original:kd.bos.unifiedthreadpool.tasktype.Priority,target:kd.bos.unifiedthreadpool.tasktype.Priority):void;
                remove(o:$.java.lang.Runnable,type_arg:string):boolean;
                incrementActiveThreadCount(type_arg:string):void;
                isEmpty():boolean;
            }
            type MultiTaskBlockingQueue_T = MultiTaskBlockingQueue$;
            interface MultiTaskBlockingQueue extends MultiTaskBlockingQueue_T {
            }
        }
        namespace kd.bos.unifiedthreadpool.tasktype{
            interface FullTaskType_S {
                build():FullTaskType;
                convert(fullTaskType:FullTaskType):TaskType;
                newTaskTypeFor(taskType:TaskType):FullTaskType;
            }
            type FullTaskType_ST = FullTaskType_S & TaskType_S;
            interface FullTaskType_C extends FullTaskType_ST {
                new():FullTaskType;
            }
            interface FullTaskType$ {
                getRejectedTotalCount():long;
                incrementExecutedTotalCount():void;
                addExecutedTotalMilliTime(milliTime:long):void;
                setMaxThreadNum(maxThreadNum:number):this;
                isDeleted():boolean;
                getMaxThreadNum():number;
                getActiveThreadCount():number;
                delete():void;
                getExecuteAvgMilliTime():long;
                setMaxThreadRate(maxThreadRate:number):this;
                getInQueueAvgMilliTime():long;
                incrementActiveThreadCount():void;
                getLimitType():ThreadLimitedModel;
                setQueueTag():void;
                addInQueueTotalMilliTime(milliTime:long):void;
                size():number;
                decrementActiveThreadCount():void;
                getMaxThreadRate():number;
                isFromQueue():boolean;
                getQueueSize():number;
                pollTask():$.java.lang.Runnable;
                drainTo(c:$.java.util.Collection):number;
                remove(runnable:$.java.lang.Runnable):boolean;
                setLimitType(limitType:ThreadLimitedModel):this;
                incrementRejectedTotalCount():void;
                removeQueueTag():void;
                getTask():$.java.lang.Runnable;
                getExecutedTotalCount():long;
                offer(runnable:$.java.lang.Runnable):boolean;
                canSubmit():boolean;
            }
            type FullTaskType_T = FullTaskType$ & TaskType;
            interface FullTaskType extends FullTaskType_T {
            }
            class Priority {
                static readonly EIGHT:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly SEVEN:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly TEN:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly NINE:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly ONE:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly SIX:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly THREE:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly FOUR:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly FIVE:kd.bos.unifiedthreadpool.tasktype.Priority;
                static readonly TWO:kd.bos.unifiedthreadpool.tasktype.Priority;
                static getByLevel(level:number):kd.bos.unifiedthreadpool.tasktype.Priority;
                static valueOf(arg0:string):kd.bos.unifiedthreadpool.tasktype.Priority;
                static values():kd.bos.unifiedthreadpool.tasktype.Priority[];
                getLevel():number;
            }
            interface TaskType_S {
            }
            interface TaskType_C extends TaskType_S {
                new():TaskType;
                /**
                 * 任务类型
                 *
                 * @param name     任务类型名称
                 * @param Priority 任务类型优先级，1-10,,值越大优先级越高
                 */
                new(name:string,Priority:Priority):TaskType;
                new(arg0:string,arg1:Priority,arg2:ThreadLimitedModel,arg3:any,arg4:number):TaskType;
            }
            interface TaskType$ {
                getThreadLimitedModel():ThreadLimitedModel;
                getThreadLimitedValue():any;
                getName():string;
                setPriority(priority:Priority):this;
                isImmutable():boolean;
                setMaxThreadLimit(arg0:any,arg1:ThreadLimitedModel):this;
                getPriority():Priority;
                getTaskQueueMaxSize():number;
                setCanRun(canRun:boolean):this;
                setImmutable(immutable:boolean):this;
                setName(name:string):this;
                setTaskQueueMaxSize(taskQueueMaxSize:number):this;
                isCanRun():boolean;
            }
            type TaskType_T = TaskType$;
            interface TaskType extends TaskType_T {
            }
            class ThreadLimitedModel {
                static readonly RATE:kd.bos.unifiedthreadpool.tasktype.ThreadLimitedModel;
                static readonly NUMBER:kd.bos.unifiedthreadpool.tasktype.ThreadLimitedModel;
                static getTaskLimitEnum(type_arg:number):kd.bos.unifiedthreadpool.tasktype.ThreadLimitedModel;
                static valueOf(arg0:string):kd.bos.unifiedthreadpool.tasktype.ThreadLimitedModel;
                static values():kd.bos.unifiedthreadpool.tasktype.ThreadLimitedModel[];
                getType():number;
            }
        }
        namespace kd.bos.upload{
            interface UploadOption_S {
            }
            type UploadOption_ST = $.java.io.Serializable & UploadOption_S;
            interface UploadOption_C extends UploadOption_ST {
                /**
                 * 构造函数：初始化本地变量
                 */
                new():UploadOption;
            }
            interface UploadOption$ {
                /**
                 * 返回上传文件限制数量
                 *
                 * @return 文件数量
                 */
                getLimitCount():number;
                /**
                 * 文件上传后是否临时存储
                 *
                 * @return 返回true-临时存储
                 */
                isTempStorage():boolean;
                /**
                 * 设置文件上传对话框的标题
                 *
                 * @param title 标题
                 */
                setTitle(title:string):void;
                /**
                 * 返回单个文件限制大小
                 *
                 * @return 文件大小
                 */
                getLimitSize():long;
                /**
                 * 设置是否禁止图片压缩
                 *
                 * @param isUnCompresspic 设置为true禁止图片压缩
                 */
                setUnCompresspic(isUnCompresspic:boolean):void;
                /**
                 * 返回支持的文件后缀
                 *
                 * @return 文件后缀
                 */
                getSuffix():string;
                /**
                 * 设置上传文件限制数量
                 *
                 * @param limitCount 文件数量
                 */
                setLimitCount(limitCount:number):void;
                /**
                 * 返回文件上传对话框的标题
                 *
                 * @return 标题
                 */
                getTitle():string;
                /**
                 * 是否多选
                 *
                 * @return 返回true多选
                 */
                isMultiple():boolean;
                /**
                 * 获取文件后缀，如 .zip .xls等
                 *
                 * @return 文件后缀
                 */
                getAnotherSuffix():string;
                /**
                 * 设置文件上传服务地址，可以不设，由系统自动处理
                 *
                 * @param url 服务地址
                 */
                setUrl(url:string):void;
                /**
                 * 设置支持的文件后缀
                 *
                 * @param suffix 文件后缀，示例：".rar,.zip,.xls"
                 */
                setSuffix(suffix:string):void;
                /**
                 * 获取文件上传服务地址
                 *
                 * @return 服务地址
                 */
                getUrl():string;
                /**
                 * 设置文件后缀
                 *
                 * @param anotherSuffix 文件后缀
                 */
                setAnotherSuffix(anotherSuffix:string):void;
                /**
                 * 设置单个文件限制大小
                 *
                 * @param limitSize 文件大小，byte
                 */
                setLimitSize(limitSize:long):void;
                /**
                 * 设置文件上传后是否临时存储
                 *
                 * @param isTempStorage 设置为true临时存储
                 */
                setTempStorage(isTempStorage:boolean):void;
                /**
                 * 设置是否多选
                 *
                 * @param multiple 设置为true多选
                 */
                setMultiple(multiple:boolean):void;
                /**
                 * 是否禁止图片压缩
                 *
                 * @return 返回true-禁止图片压缩
                 */
                isUnCompresspic():boolean;
            }
            type UploadOption_T = $.java.io.Serializable & UploadOption$;
            interface UploadOption extends UploadOption_T {
            }
        }
        namespace kd.bos.userconfig{
            interface GridConfigDAO_S {
            }
            interface GridConfigDAO_C extends GridConfigDAO_S {
                new():GridConfigDAO;
            }
            interface GridConfigDAO$ {
            }
            type GridConfigDAO_T = GridConfigDAO$;
            interface GridConfigDAO extends GridConfigDAO_T {
            }
        }
        namespace kd.bos.util{
            interface RevProxyUtil_S {
                readonly ATTACHMENTFILESERVER:string;
                readonly DOMAINTENANTCODE:string;
                readonly DOMAINURL:string;
                readonly IMAGEFILESERVER:string;
                readonly OLD_IMAGEFILESERVER:string;
                readonly SPREAD_FLAG_OF_DOMAIN:string;
                readonly TENANT_CODE_TYPE_KEY:string;
                readonly VAR_HTTPS:string;
                readonly VAR_INTERNETSITE:string;
                readonly VAR_TENANTALIAS:string;
                addSlash(arg0:string):string;
                getHttpParamCollectFlag(arg0:string):string;
                getTenantCode(arg0:$.javax.servlet.http.HttpServletRequest):string;
                getTenantId(arg0:$.javax.servlet.http.HttpServletRequest):string;
                getURLContextPath(arg0:$.javax.servlet.http.HttpServletRequest):string;
                removeSlash(arg0:string):string;
            }
            interface RevProxyUtil_C extends RevProxyUtil_S {
                new():RevProxyUtil;
            }
            interface RevProxyUtil$ {
            }
            type RevProxyUtil_T = RevProxyUtil_S & RevProxyUtil$;
            interface RevProxyUtil extends RevProxyUtil_T {
            }
            interface NetAddressUtils_S {
                getAvailablePort(arg0:number):number;
                getBindedHostIP():string;
                getLocalHostName():string;
                getLocalIpAddress():string;
                getRemoteHost(arg0:$.javax.servlet.http.HttpServletRequest):string;
                isAvailable(arg0:number):boolean;
                isPreferIPv6():boolean;
            }
            interface NetAddressUtils_C extends NetAddressUtils_S {
                new():NetAddressUtils;
            }
            interface NetAddressUtils$ {
            }
            type NetAddressUtils_T = NetAddressUtils_S & NetAddressUtils$;
            interface NetAddressUtils extends NetAddressUtils_T {
            }
            interface CollectionUtils_S {
                isEmpty(arg0:$.java.util.Collection):boolean;
                isNotEmpty(arg0:$.java.util.Collection):boolean;
            }
            interface CollectionUtils_C extends CollectionUtils_S {
                new():CollectionUtils;
            }
            interface CollectionUtils$ {
            }
            type CollectionUtils_T = CollectionUtils_S & CollectionUtils$;
            interface CollectionUtils extends CollectionUtils_T {
            }
            interface ConfigurationUtil_S {
                fireChanged(arg0:string,arg1:any):void;
                getBoolean(arg0:string):boolean;
                getBoolean(arg0:string,arg1:boolean):boolean;
                getBoolean(arg0:string,arg1:boolean,arg2:boolean):boolean;
                getBoolean(arg0:string,arg1:boolean,arg2:string):boolean;
                getInteger(arg0:string):number;
                getInteger(arg0:string,arg1:number):number;
                getInteger(arg0:string,arg1:number,arg2:boolean):number;
                getLong(arg0:string):long;
                getLong(arg0:string,arg1:long):long;
                getLong(arg0:string,arg1:long,arg2:boolean):long;
                getString(arg0:string):string;
                getString(arg0:string,arg1:string):string;
                getString(arg0:string,arg1:string,arg2:boolean):string;
                observeBoolean(arg0:string,arg1:boolean,arg2:ConfigurationUtil$ConfigurationChangeHandler):void;
                observeChange(arg0:string,arg1:ConfigurationChangeListener):void;
                observeInteger(arg0:string,arg1:number,arg2:ConfigurationUtil$ConfigurationChangeHandler):void;
                observeLong(arg0:string,arg1:long,arg2:ConfigurationUtil$ConfigurationChangeHandler):void;
                observeString(arg0:string,arg1:string,arg2:ConfigurationUtil$ConfigurationChangeHandler):void;
            }
            interface ConfigurationUtil_C extends ConfigurationUtil_S {
                new():ConfigurationUtil;
            }
            interface ConfigurationUtil$ {
            }
            type ConfigurationUtil_T = ConfigurationUtil_S & ConfigurationUtil$;
            interface ConfigurationUtil extends ConfigurationUtil_T {
            }
            interface ExceptionUtils_S {
                getExceptionStackTraceMessage(arg0:$.java.lang.Exception):string;
                parseException(arg0:$.java.lang.Throwable):void;
            }
            interface ExceptionUtils_C extends ExceptionUtils_S {
                new():ExceptionUtils;
            }
            interface ExceptionUtils$ {
            }
            type ExceptionUtils_T = ExceptionUtils_S & ExceptionUtils$;
            interface ExceptionUtils extends ExceptionUtils_T {
            }
            interface ConfigurationUtil$ConfigurationChangeHandler_S {
            }
            interface ConfigurationUtil$ConfigurationChangeHandler$ {
                onChanged(arg0:any):void;
            }
            type ConfigurationUtil$ConfigurationChangeHandler_T = ConfigurationUtil$ConfigurationChangeHandler_S & ConfigurationUtil$ConfigurationChangeHandler$;
            interface ConfigurationUtil$ConfigurationChangeHandler extends ConfigurationUtil$ConfigurationChangeHandler_T {
            }
            interface HttpClientUtils_S {
                get(arg0:string):string;
                get(arg0:string,arg1:$.java.util.Map):string;
                get(arg0:string,arg1:number,arg2:number):string;
                get(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.Map):string;
                get(arg0:string,arg1:$.java.util.Map,arg2:number,arg3:number):string;
                get(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.Map,arg3:number,arg4:number):string;
                post(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.Map):string;
                post(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.Map,arg3:number,arg4:number):string;
                postAppJson(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.Map):string;
                postAppJson(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.Map,arg3:number,arg4:number):string;
                postFormData(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.List):string;
                postFormData(arg0:string,arg1:$.java.util.Map,arg2:$.java.util.List,arg3:number,arg4:number):string;
                postjson(arg0:string,arg1:$.java.util.Map,arg2:string):string;
                postjson(arg0:string,arg1:$.java.util.Map,arg2:string,arg3:number,arg4:number):string;
                putjson(arg0:string,arg1:$.java.util.Map,arg2:string):string;
                putjson(arg0:string,arg1:$.java.util.Map,arg2:string,arg3:number,arg4:number):string;
                wrapperHttpClient(arg0:number,arg1:number):any;
            }
            interface HttpClientUtils_C extends HttpClientUtils_S {
                new():HttpClientUtils;
            }
            interface HttpClientUtils$ {
            }
            type HttpClientUtils_T = HttpClientUtils_S & HttpClientUtils$;
            interface HttpClientUtils extends HttpClientUtils_T {
            }
            interface ThreadLocals_S {
                create():any;
                create(arg0:any):any;
                create(supplier:()=>any):any;
                release():void;
                start():void;
            }
            interface ThreadLocals_C extends ThreadLocals_S {
                new():ThreadLocals;
            }
            interface ThreadLocals$ {
            }
            type ThreadLocals_T = ThreadLocals_S & ThreadLocals$;
            interface ThreadLocals extends ThreadLocals_T {
            }
            interface HttpUtils_S {
                getJsonRequest(arg0:$.javax.servlet.http.HttpServletRequest):string;
                post(arg0:string):string;
                post(arg0:string,arg1:$.java.util.Map):string;
                post(arg0:string,arg1:$.java.util.Map,arg2:string):string;
                post(arg0:string,arg1:$.java.util.Map,arg2:any,arg3:boolean):string;
                post(arg0:string,arg1:$.java.util.Map,arg2:string,arg3:boolean):string;
                request(arg0:string):string;
                request(arg0:string,arg1:boolean):string;
                request(arg0:string,arg1:string):string;
                request(arg0:string,arg1:string,arg2:$.java.util.Map):string;
                request(arg0:string,arg1:string,arg2:$.java.util.Map,arg3:boolean):string;
            }
            interface HttpUtils_C extends HttpUtils_S {
                new():HttpUtils;
            }
            interface HttpUtils$ {
            }
            type HttpUtils_T = HttpUtils_S & HttpUtils$;
            interface HttpUtils extends HttpUtils_T {
            }
            interface ConfigurationChangeListener_S {
            }
            interface ConfigurationChangeListener$ {
                onChange(arg0:any,arg1:any):void;
            }
            type ConfigurationChangeListener_T = ConfigurationChangeListener_S & ConfigurationChangeListener$;
            interface ConfigurationChangeListener extends ConfigurationChangeListener_T {
            }
            interface StringUtils_S {
                fromInputStream(arg0:any,arg1:string):string;
                getBooleanValue(arg0:string):boolean;
                getBooleanValue(arg0:string,arg1:boolean):boolean;
                getEmpty():string;
                getStringValue(arg0:any):string;
                getStringValue(arg0:any,arg1:string):string;
                isBlank(arg0:string):boolean;
                isEmpty(arg0:string):boolean;
                isNotEmpty(arg0:string):boolean;
                isNotNull(arg0:string):boolean;
                isNull(arg0:string):boolean;
                isNumberString(arg0:string):boolean;
                isNumeric(arg0:string):boolean;
                random(arg0:$.java.security.SecureRandom):number;
                randomNumber(arg0:number):string;
                randomWord(arg0:number):string;
                split(arg0:string,arg1:boolean,arg2:string[]):string[];
                trim(arg0:string):string;
            }
            interface StringUtils_C extends StringUtils_S {
                new():StringUtils;
            }
            interface StringUtils$ {
            }
            type StringUtils_T = StringUtils_S & StringUtils$;
            interface StringUtils extends StringUtils_T {
            }
            interface DisCardUtil_S {
                discard():void;
            }
            interface DisCardUtil_C extends DisCardUtil_S {
                new():DisCardUtil;
            }
            interface DisCardUtil$ {
            }
            type DisCardUtil_T = DisCardUtil_S & DisCardUtil$;
            interface DisCardUtil extends DisCardUtil_T {
            }
            interface FileNameUtils_S {
                readonly FMT_ATT_PATH:string;
                readonly FMT_MONTH:string;
                readonly FMT_PATH:string;
                readonly FMT_PATH_EXPORT:string;
                readonly PATH_VERSION:string;
                readonly TYPE_ATTACHMENT:string;
                readonly TYPE_IMAGE:string;
                readonly TYPE_RICH_RESOURCES:string;
                getAttachmentFileName(arg0:string,arg1:string,arg2:any,arg3:string):string;
                getAttachmentFileName(arg0:string,arg1:string,arg2:string,arg3:string,arg4:any,arg5:string):string;
                getBillImageFileName(arg0:string,arg1:string,arg2:string,arg3:string):string;
                getExportFileName(arg0:string,arg1:string,arg2:string,arg3:string,arg4:string):string;
                getExportFolderName(arg0:string,arg1:string,arg2:string,arg3:string,arg4:string):string;
                getImageAttFileName(arg0:string,arg1:string,arg2:string,arg3:any,arg4:string):string;
                getImageFileName(arg0:string,arg1:string,arg2:string,arg3:string,arg4:any,arg5:string):string;
                getRichTextResource(arg0:string,arg1:string,arg2:string,arg3:string,arg4:any,arg5:string):string;
                getRptImageFileName(arg0:string,arg1:string,arg2:string,arg3:string):string;
            }
            interface FileNameUtils_C extends FileNameUtils_S {
                new():FileNameUtils;
            }
            interface FileNameUtils$ {
            }
            type FileNameUtils_T = FileNameUtils_S & FileNameUtils$;
            interface FileNameUtils extends FileNameUtils_T {
            }
            interface JSONUtils_S {
                cast(arg0:string,arg1:any):any;
                cast(arg0:string,arg1:any,arg2:any[]):any;
                cast(arg0:string,arg1:any,arg2:boolean):any;
                cast(arg0:string,arg1:boolean,arg2:any,arg3:any[]):any;
                getCollectionType(arg0:any,arg1:any[]):any;
                getEmpty():string;
                nullDataToEmptyList(arg0:string):string;
                toString(arg0:any):string;
                toString(arg0:any,arg1:boolean):string;
            }
            interface JSONUtils_C extends JSONUtils_S {
                new():JSONUtils;
            }
            interface JSONUtils$ {
            }
            type JSONUtils_T = JSONUtils_S & JSONUtils$;
            interface JSONUtils extends JSONUtils_T {
            }
        }
        namespace kd.bos.util.dbhint{
            interface DBHintContext_S {
                create(arg0:string,arg1:string):DBHintContext;
                createAndSet(arg0:string,arg1:string):DBHintContext;
            }
            interface DBHintContext_C extends DBHintContext_S {
                new():DBHintContext;
            }
            interface DBHintContext$ {
                close():void;
                getHintContent():string;
                getHintTable():string;
                set():void;
                toString():string;
            }
            type DBHintContext_T = $.java.lang.AutoCloseable & DBHintContext_S & DBHintContext$;
            interface DBHintContext extends DBHintContext_T {
            }
        }
        namespace kd.bos.util.resource{
            interface Resources_S {
                getString(arg0:string,arg1:string):string;
                getString(arg0:string,arg1:string,arg2:string,arg3:any[]):string;
            }
            interface Resources_C extends Resources_S {
                new():Resources;
            }
            interface Resources$ {
            }
            type Resources_T = Resources_S & Resources$;
            interface Resources extends Resources_T {
            }
        }
        namespace kd.bos.web.actions{
            interface AttachmentAction_S {
                writeErrorMessage(response:$.javax.servlet.http.HttpServletResponse,errorMessage:string,code:string):void;
                /**
                 * 文件是否有后缀、后缀是否包含空格
                 * @param fileName 文件名
                 * @param response 响应参数
                 * @return 文件后缀校验结果
                 */
                fileExtCheck(fileName:string,response:$.javax.servlet.http.HttpServletResponse):boolean;
                /**
                 * @description 获取文件名包含特殊符号
                 * @param fileFullName 原字符串
                 * @param response
                 * @return 文件名包含的特殊字符,不包含特殊字符则返回null
                 */
                checkSpeSymbol(fileFullName:string,response:$.javax.servlet.http.HttpServletResponse):string;
                /**
                 * 获取系统允许的附件最大上传大小
                 * @return 系统全局允许的附件最大上传大小
                 */
                getMaxSize():long;
                /**
                 * wps预览回调接口 - 在此回调接口，按照约定的格式返回文件信息，详细信息参考：
                 * https://wwo.wps.cn/docs/server/callback-api-standard/get-file-metadata/
                 * @param request HttpServletRequest
                 * @param response HttpServletResponse
                 * @throws Exception
                 */
                fileInfoForWps(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * 向前端返回错误信息提示窗口
                 *
                 * @param request 请求
                 * @param response 响应
                 * @param errorMessage 错误信息
                 * @throws IOException 异常
                 */
                writeErrorMessage(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse,errorMessage:string):void;
                /**
                 * wps预览回调接口 - 在此回调接口，wps会通知预览响应结果，详细信息参考：
                 * https://wwo.wps.cn/docs/server/callback-api-standard/open-and-close-file-notifications/
                 * @param request HttpServletRequest
                 * @param response HttpServletResponse
                 * @throws Exception
                 */
                onNotifyForWps(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * 向前端返回错误信息提示窗口
                 * @param response 响应
                 * @param errorMessage 错误信息
                 * @throws IOException
                 */
                writeErrorMessage(response:$.javax.servlet.http.HttpServletResponse,errorMessage:string):void;
            }
            interface AttachmentAction_C extends AttachmentAction_S {
                new():AttachmentAction;
            }
            interface AttachmentAction$ {
                /**
                 * 上传按钮： attachment/upload.do请求转发到此
                 * 上传按钮点击上传附件即会发送此请求
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 流异常
                 */
                upload(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * 获取系统参数中的“附件上传域名校验”值
                 * @return 校验结果
                 */
                getCheckuploadurl():boolean;
                /**
                 * attachment/uploadFile.do请求转发到此
                 * 附件上传时文件传输到此接口
                 * @param request 请求参数
                 * @param response 响应参数
                 */
                uploadFile(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * 判断是否是IE浏览器
                 */
                isIEBrowser(request:$.javax.servlet.http.HttpServletRequest):boolean;
                /**
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 异常
                 */
                onlyOfficeEditCallback(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * attachment/preview.do请求转发到此方法
                 * 附件预览 (根据目前浏览器的支持性，仅支持图片和pdf)其它格式为下载
                 * @param request 请求参数
                 * @param response 相应参数
                 * @throws IOException 流异常
                 */
                preview(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * attachment/downloadAll.do请求转发到此
                 * （只有已保存的附件点全部下载时前端才会发送此请求）
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 流异常
                 */
                downloadAll(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * 上传文件 action.xml中未配置。
                 * @param fileName 文件名
                 * @param path 文件path
                 * @param in 文件流
                 * @param servletResponse 响应
                 */
                upload2(fileName:string,path:string,in_arg:$.java.io.InputStream,servletResponse:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * attachment/download.do请求转发到此
                 * 附件下载
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 流异常
                 */
                download(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * 删除excel文件预览存储项
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 流异常
                 */
                removeExcelPreview(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
            }
            type AttachmentAction_T = AttachmentAction$;
            interface AttachmentAction extends AttachmentAction_T {
            }
            interface ImageAction_S {
                readonly FMT_IMAGE:string;
            }
            interface ImageAction_C extends ImageAction_S {
                new():ImageAction;
            }
            interface ImageAction$ {
                /**
                 * image/removeImage.do图片删除请求转发到此
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 流异常
                 */
                removeImage(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * image/downloadImage.do图片下载请求转发到此
                 *
                 * @param request  请求参数
                 * @param response 相应参数
                 * @throws IOException 流异常
                 */
                downloadImage(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
                /**
                 * image/uploadImage.do图片上传请求携带图片文件转发到此
                 *
                 * @param request 请求参数
                 * @param response 响应参数
                 * @throws IOException 流异常
                 */
                uploadImage(request:$.javax.servlet.http.HttpServletRequest,response:$.javax.servlet.http.HttpServletResponse):void;
            }
            type ImageAction_T = ImageAction$;
            interface ImageAction extends ImageAction_T {
            }
        }
        namespace kd.bos.web.actions.export_{
            interface ExportSheetStyle_S {
            }
            interface ExportSheetStyle_C extends ExportSheetStyle_S {
                new(wb:any):ExportSheetStyle;
            }
            interface ExportSheetStyle$ {
                getTitleStyle(align:string):any;
                getDecimalStyle(wb:any,dataMap:$.java.util.Map,align:string):any;
                getTextStyle():any;
                getDatetimeStyle():any;
                getHlinkStyle(align:string):any;
                getTextHighLightStyle(align:string):any;
                getHlinkStyle():any;
                getDecimalStyle(wb:any,dataMap:$.java.util.Map):any;
                getTitleMustInputStyle(align:string):any;
                getTitleStyle():any;
                getTextHighLightStyle():any;
                getTextStyle(align:string):any;
                getTitleMustInputStyle():any;
                getDateStyle():any;
                getNameRow():any;
                getDateStyle(align:string):any;
                getDatetimeStyle(align:string):any;
                setEntityRow(entityRow:any):void;
                getRedFont():any;
                reference(entityRow:any,nameRow:any):void;
                setNameRow(nameRow:any):void;
                getEntityRow():any;
            }
            type ExportSheetStyle_T = ExportSheetStyle$;
            interface ExportSheetStyle extends ExportSheetStyle_T {
            }
            interface ExportModule_S {
            }
            type ExportModule_ST = $.kd.sdk.module.Module & ExportModule_S;
            interface ExportModule_C extends ExportModule_ST {
                new():ExportModule;
            }
            interface ExportModule$ {
            }
            type ExportModule_T = $.kd.sdk.module.Module & ExportModule$;
            interface ExportModule extends ExportModule_T {
            }
            interface ExportWriterFormat_S {
            }
            interface ExportWriterFormat_C extends ExportWriterFormat_S {
                new():ExportWriterFormat;
                new(name:string,displayName:string,col:number):ExportWriterFormat;
            }
            interface ExportWriterFormat$ {
                col:number;
                flexColumnDisplay:$.java.util.Map;
                properties:$.java.util.Map;
                displayName:string;
                next:$.java.util.List;
                fields:$.java.util.List;
                flexColumn:$.java.util.Map;
                name:string;
                flexColumnDesc:$.java.util.Map;
                splitColCount:number;
                getDescription():string;
                setExchangeNameAndMark(exchangeNameAndMark:boolean):void;
                setEnableSetNull(enableSetNull:boolean):void;
                getHideFieldRow():boolean;
                setForUpdateMultiLangFields(forUpdateMultiLangFields:boolean):void;
                setHideFieldRow(hideFieldRow:boolean):void;
                setSplitSubEntries(splitSubEntries:boolean):void;
                getSplitSubEntries():boolean;
                setDescription(description:string):void;
                getExchangeNameAndMark():boolean;
                listFields(list:$.java.util.List):$.java.util.List;
                getEnableSetNull():boolean;
                getForUpdateMultiLangFields():boolean;
            }
            type ExportWriterFormat_T = ExportWriterFormat$;
            interface ExportWriterFormat extends ExportWriterFormat_T {
            }
            interface ExportWriter_S {
                /**
                 * 按列表逐行写数据
                 *
                 * @param wb
                 * @param sheet
                 * @param title
                 * @param data
                 * @param r
                 */
                writeLine(wb:any,sheet:any,styles:ExportSheetStyle,titles:any,row:any,r:number):void;
                /**
                 * 获取Excel的行对象
                 *
                 * @param sheet
                 * @param r
                 * @return
                 */
                getRow(sheet:any,r:number):any;
                /**
                 * 传入备注内容，解析出 语言和属性下的备注内容； 例如key=zh_CN,value=map,map中的key=number,value=属性number在中文下的备注；
                 * 由于历史原因，原始备注字符串，可能存在3种格式：
                 * 格式1：我是备注
                 * 格式2：#name我是名称列备注#number我是编码列备注
                 * 格式3：{"zh_CN":{"number":"中文编码","name":"中文名称"},"zh_TW":{"number":"台湾编码","name":"台湾名称"},"en_US":{"number":"英文编码","name":"英文名称"}}
                 * 无论是以上任一中格式的字符串，都要解析成为格式3的字符串格式下的map对象；
                 * @param des 原始备注字符串内容
                 * @List<String> keyList 关键字列表
                 * @return Map<String,String> key=#关键字；value=关键字对应的内容
                 */
                getLangPropDesMapping(des:string,keyList:$.java.util.List):$.java.util.Map;
                /**
                 * 按列表写表头
                 *
                 * @param wb
                 * @param sheet
                 * @param title
                 * @param r
                 */
                writeLine(wb:any,sheet:any,styles:ExportSheetStyle,titles:any,r:number):void;
                /**
                 * @param j 当前遍历到多列字段的第几个属性
                 * @param property 属性map
                 * @param format ExportWriterFormat
                 * @param splitCols 多列字段列表
                 * @param splitColDisplayNames 多列字段名称列表
                 * @return 处理过后的名称属性
                 */
                dealDisplayName(j:number,exchangeNameAndMark:boolean,property:$.java.util.Map,splitCols:$.java.util.List,splitColDisplayNames:$.java.util.List):string;
                writeHeader(wb:any,sheet:any,styles:ExportSheetStyle,formats:$.java.util.List):void;
                getPropList(splitCols:$.java.util.List):$.java.util.List;
                /**
                 * 从原始备注内容中获取真实的备注信息。
                 * @param entityDesc 原始备注
                 * @param property 各种属性
                 * @param propList
                 * @param columnNumber 属性
                 * @return 真实备注
                 */
                getRealDescByInputType(entityDesc:string,property:$.java.util.Map,propList:$.java.util.List,columnNumber:string):string;
            }
            interface ExportWriter_C extends ExportWriter_S {
                new():ExportWriter;
            }
            interface ExportWriter$ {
            }
            type ExportWriter_T = ExportWriter$;
            interface ExportWriter extends ExportWriter_T {
            }
        }
        namespace kd.bos.workflow{
            interface WorkflowModule_S {
            }
            type WorkflowModule_ST = $.kd.sdk.module.Module & WorkflowModule_S;
            interface WorkflowModule_C extends WorkflowModule_ST {
                new():WorkflowModule;
            }
            interface WorkflowModule$ {
            }
            type WorkflowModule_T = $.kd.sdk.module.Module & WorkflowModule$;
            interface WorkflowModule extends WorkflowModule_T {
            }
        }
        namespace kd.bos.workflow.api{
            interface AgentTask_S {
            }
            interface AgentTask_C extends AgentTask_S {
            }
            interface AgentTask$ {
                /**
                 * 获取处理状态
                 * @return 处理状态
                 */
                getHandleState():string;
                /**
                 * 获取发送人名称
                 * @return 发送人名称
                 */
                getSenderName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 描述：获取外部接口配置的插件参数
                 * @return 外部接口插件参数集合
                 */
                getCurrentWFPluginParams?():$.java.util.Map;
                /**
                 * 获取处理人ID
                 * @return 处理人
                 */
                getAssigneeId():long;
                /**
                 * 获取流程定义ID
                 * @return 流程定义ID
                 */
                getProcessDefinitionId():long;
                /**
                 * 获取所有参与人名称
                 * @return 所有参与人名称
                 */
                getAllParticipantName?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取拥有者
                 * @return 拥有者
                 */
                getOwnerId():long;
                /**
                 * 获取执行实例
                 * @return 执行实例 {@link AgentExecution}
                 */
                getExecution():AgentExecution;
                /**
                 * 获获取发起人名称
                 * @return 发起人名称
                 */
                getStartName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取任务ID
                 * @return 任务ID
                 */
                getId():long;
                /**
                 * 获取任务名称
                 * @return 任务名称
                 */
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取流程实例ID
                 * @return 流程实例
                 */
                getProcessInstanceId():long;
                /**
                 * 获获流程插件
                 * @return 流程插件
                 */
                getCurrentWFPlugin():string;
                /**
                 * 获取单据编码
                 * @return 单据编码
                 */
                getEntityNumber():string;
                /**
                 * 获获主题
                 * @return 主题
                 */
                getSubject():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取参与人
                 * @return 参与人
                 */
                getParticipants():$.java.util.Set;
                /**
                 * 获取执行类型
                 * @return 执行类型
                 */
                getExecutionType?():string;
                /**
                 * 获获实体名称
                 * @return 实体名称
                 */
                getEntityName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取任务描述
                 * @return 任务描述
                 */
                getDescription():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取任务变量
                 * @param variableName 变量名称
                 * @return 变量值
                 */
                getVariable(variableName:string):any;
                /**
                 * 获取任务的活动ID
                 * @return 任务的活动ID
                 */
                getTaskDefinitionKey():string;
                /**
                 * 获取业务ID
                 * @return 业务ID
                 */
                getBusinessKey():string;
                /**
                 * 获取单据编码
                 * @return 单据编码
                 */
                getBillNo():string;
                /**
                 * 获获事件名称
                 * @return 事件名称
                 */
                getEventName():string;
                /**
                 * 获取发起人
                 * @return 发起人
                 */
                getStarterId():long;
            }
            type AgentTask_T = AgentTask$;
            interface AgentTask extends AgentTask_T {
            }
            interface AgentExecution_S {
            }
            interface AgentExecution_C extends AgentExecution_S {
            }
            interface AgentExecution$ {
                /**
                 * 获取当前节点
                 * @return 当前节点 {@link WorkflowElement}
                 */
                getCurrentFlowElement():WorkflowElement;
                /**
                 * 获取流程插件
                 * @return 返回流程插件
                 */
                getCurrentWFPlugin():string;
                /**
                 * 获取单据实体编码
                 * @return 单据实体编码
                 */
                getEntityNumber():string;
                /**
                 * 获取事件名称
                 * {@link ExecutionListener}.
                 */
                getEventName():string;
                /**
                 * 获取当前任务ID
                 * @return 当前任务ID
                 */
                getCurrentTaskId():long;
                /**
                 * 获取当前任务执行结果
                 * @param result 任务结果 {@link WFTaskResultEnum}
                 * @return 结果
                 */
                getCurrentTaskResult(result:kd.bos.workflow.api.constants.WFTaskResultEnum):any;
                /**
                 * 获取审批人
                 * @return 审批人
                 */
                getAllApprover?():$.java.util.List;
                /**
                 * 描述：获取外部接口配置的插件参数
                 * @return 外部接口插件参数集合
                 */
                getCurrentWFPluginParams?():$.java.util.Map;
                /**
                 * 获取当前任务
                 * @return 当前任务 {@link AgentTask}
                 */
                getCurrentTask():AgentTask;
                /**
                 * 获取流程实例ID
                 * @return 流程实例ID
                 */
                getProcessInstanceId():long;
                /**
                 * 获取当前执行对象的ID
                 * @return 执行实例ID
                 */
                getId?():long;
                /**
                 * 描述:获取当前节点的审批人
                 * TODO:并行分支情况下存在问题
                 * @return 参与人集合
                 */
                getCurrentApprover():$.java.util.List;
                /**
                 * 获取单据对象数据
                 * @return 单据对象数据
                 */
                getTransientBill?():$.kd.bos.dataentity.entity.DynamicObject;
                /**
                 * 获取流程定义ID
                 * @return 流程定义ID
                 */
                getProcessDefinitionId():long;
                /**
                 * 单据的BusinessKey
                 * @return 业务主键
                 */
                getBusinessKey():string;
                /**
                 * 获取流程变量
                 * @param variableName 变量名称
                 * @return 变量值
                 */
                getVariable(variableName:string):any;
                /**
                 * 设置流程变量
                 * @param variableName 变量名称
                 * @param value 变量值
                 */
                setVariable(variableName:string,value:any):void;
                /**
                 * 获取流程发起人
                 * @return 流程发起人
                 */
                getStartUserId():long;
            }
            type AgentExecution_T = AgentExecution$;
            interface AgentExecution extends AgentExecution_T {
            }
            interface ProcessInstanceMainOrgView_S {
            }
            type ProcessInstanceMainOrgView_ST = $.java.io.Serializable & ProcessInstanceMainOrgView_S;
            interface ProcessInstanceMainOrgView_C extends ProcessInstanceMainOrgView_ST {
                new():ProcessInstanceMainOrgView;
            }
            interface ProcessInstanceMainOrgView$ {
                getProcessDefinitionId():long;
                setCreateDate(createDate:Date):this;
                setProcessInstanceId(processInstanceId:long):this;
                setRootStatus(rootStatus:boolean):this;
                setProcessDefinitionId(processDefinitionId:long):this;
                setMainOrgId(mainOrgId:long):this;
                getMainOrgId():long;
                getProcessInstanceId():long;
                getCreateDate():Date;
                getRootStatus():boolean;
            }
            type ProcessInstanceMainOrgView_T = $.java.io.Serializable & ProcessInstanceMainOrgView$;
            interface ProcessInstanceMainOrgView extends ProcessInstanceMainOrgView_T {
            }
            interface IConditionalRuleParser_S {
            }
            interface IConditionalRuleParser_C extends IConditionalRuleParser_S {
            }
            interface IConditionalRuleParser$ {
                hasTrueCondition(execution:AgentExecution):boolean;
            }
            type IConditionalRuleParser_T = IConditionalRuleParser$;
            interface IConditionalRuleParser extends IConditionalRuleParser_T {
            }
            interface BatchResult_S {
            }
            type BatchResult_ST = $.java.io.Serializable & BatchResult_S;
            interface BatchResult_C extends BatchResult_ST {
                new(success:boolean):BatchResult;
                new(success:boolean,successCount:number,failCount:number,msg:string):BatchResult;
            }
            interface BatchResult$ {
                addFailResult(arg0:any,arg1:string):void;
                /**
                 * 设置所有item实体结果集合
                 * @param results
                 * @return: void
                 */
                setResults(results:$.java.util.List):void;
                /**
                 * 获取失败的数量
                 * @param
                 * @return: int
                 */
                getFailCount():number;
                /**
                 * 判断成功或者失败
                 *
                 * @param
                 * @return: boolean
                 */
                isSuccess():boolean;
                /**
                 * 获取所有item实体结果集合
                 * @param
                 * @return: java.util.List<kd.bos.workflow.api.BatchResult.ItemResult<T>>
                 */
                getResults():$.java.util.List;
                /**
                 * 设置成功的数量
                 * @param successCount
                 * @return: void
                 */
                setSuccessCount(successCount:number):void;
                /**
                 * 设置失败的原因
                 * @param msg
                 * @return: void
                 */
                setMsg(msg:string):void;
                addSuccessResult(arg0:any):void;
                /**
                 * 获取成功的数量
                 * @param
                 * @return: int
                 */
                getSuccessCount():number;
                /**
                 * 设置成功或者失败
                 *
                 * @param
                 * @return: boolean
                 */
                setSuccess(success:boolean):void;
                /**
                 * 设置失败的数量
                 *
                 * @param failCount
                 * @return: void
                 */
                setFailCount(failCount:number):void;
                /**
                 * 获取失败的原因
                 * @param
                 * @return: java.lang.String
                 */
                getMsg():string;
            }
            type BatchResult_T = $.java.io.Serializable & BatchResult$;
            interface BatchResult extends BatchResult_T {
            }
            interface SuspendInfo_S {
            }
            type SuspendInfo_ST = $.java.io.Serializable & SuspendInfo_S;
            interface SuspendInfo_C extends SuspendInfo_ST {
                new():SuspendInfo;
            }
            interface SuspendInfo$ {
                setEntityNumber(entityNumber:string):void;
                setErrMsg(errMsg:string):void;
                getBusinessKey():string;
                setUserId(userId:long):void;
                getEntityNumber():string;
                getProcessInstanceId():long;
                setProcessInstanceId(processInstanceId:long):void;
                setElementId(elementId:string):void;
                setProcessDefinitionId(processDefinitionId:long):void;
                setBusinessKey(businessKey:string):void;
                getErrMsg():string;
                getProcessDefinitionId():long;
                getElementId():string;
                getUserId():long;
            }
            type SuspendInfo_T = $.java.io.Serializable & SuspendInfo$;
            interface SuspendInfo extends SuspendInfo_T {
            }
            interface ExecutionListener_S {
                readonly EVENTNAME_BILLEND:string;
                readonly EVENTNAME_TAKE:string;
                readonly EVENTNAME_WITHDRAWAUDITEDPROC:string;
                readonly EVENTNAME_END:string;
                readonly EVENTNAME_TERMINATE:string;
                readonly EVENTNAME_BILLSTART:string;
                readonly EVENTNAME_BILLTERMINATE:string;
                readonly EVENTNAME_START:string;
            }
            type ExecutionListener_ST = $.java.io.Serializable & ExecutionListener_S;
            interface ExecutionListener_C extends ExecutionListener_ST {
            }
            interface ExecutionListener$ {
                notify(execution:AgentExecution):void;
                notifyByWithdraw?(execution:AgentExecution):void;
            }
            type ExecutionListener_T = $.java.io.Serializable & ExecutionListener$;
            interface ExecutionListener extends ExecutionListener_T {
            }
            interface IRelationService_S {
            }
            interface IRelationService_C extends IRelationService_S {
            }
            interface IRelationService$ {
                convert?(srcEntity:string,targetEntity:string,srcPks:$.java.util.List,afterOperation:string,extraParams:$.java.util.Map):$.java.util.List;
                getDirectSrcBillByTargetBill?(targetEntiyNumber:string,tpk:$.java.util.List,extraParams:$.java.util.Map):$.java.util.Map;
                getDirectTargetBillBySrcBill?(srcEntityNunber:string,spk:$.java.util.List,extraParams:$.java.util.Map):$.java.util.Map;
            }
            type IRelationService_T = IRelationService$;
            interface IRelationService extends IRelationService_T {
            }
            interface IWorkflowService_S {
            }
            interface IWorkflowService_C extends IWorkflowService_S {
            }
            interface IWorkflowService$ {
                /**
                 * @return 获取流程模板分类树数据
                 * @author huyue.liu
                 */
                getProcessTemplateCategoryData?():any;
                /**
                 * 工作流服务制作多语言安装包
                 * @param resourceId
                 */
                makeWorkflowMultiLanguagePackage?(mutiLangDatas:$.java.util.Map):$.java.util.Map;
                /**
                 * @author wangxk
                 * 根据单据ID和节点ID获取节点流转信息（包含审批记录）
                 * @param businessKey 单据主键ID
                 * @param actId 节点ID
                 * @param isOnlyCompleted 是否只查询已完成的数据
                 * @return
                 */
                getActInstInfo?(businessKey:string,actIds:$.java.util.List,isOnlyCompleted:boolean):$.java.util.Map;
                getAllowPersonListShowParameter?(variables:$.java.util.Map,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,closeCallBack:$.kd.bos.form.CloseCallBack):$.kd.bos.list.ListShowParameter;
                abandonRootProcessInstance?(businessKey:string):void;
                /**
                 * 添加任务关联人
                 * @param entityNumber 实体编码（Sting）不为空
                 * @param businessKey 单据主键（Sting）不为空
                 * @param assigneeIds 关联人的userId（String）集合- 可以为空，获取当前上下文中的用户id
                 * @return void - 如果有异常抛出kdexception，接口进行捕获；否则添加成功
                 */
                addProcessRelationPerson(entityNumber:string,businessKey:string,assigneeIds:$.java.util.List):void;
                /**
                 * 描述：过滤出那些单据在工作里中
                 * @param businessKey 单据id
                 * @return 在工作流中的单据
                 */
                getInProcessDataEntity?(dataEntities:$.kd.bos.entity.ExtendedDataEntity[]):$.kd.bos.entity.ExtendedDataEntity[];
                /**
                 * 描述:更新记录第三方审批意见
                 * @param thirdCommentInfo
                 */
                updateTrdComment(thirdCommentInfo:kd.bos.workflow.engine.task.ThirdCommentInfo):void;
                /**
                 * 任务转交
                 * @param taskId 任务id
                 * @param transfererId 转交用户id
                 * @param transferOpinion 转交意见
                 * @param transferSubscribe 是否订阅转交结果
                 * @param ownerId
                 * 如果成功，无异常信息；否则请捕获异常信息
                 */
                taskTransferNew(taskId:long,transfererId:long,transferOpinion:string,transferSubscribe:boolean,ownerId:long):void;
                /**
                 * 任务转交(转交意见支持多语言)
                 * @param taskId 任务id
                 * @param transfererId 转交用户id
                 * @param transferOpinion 转交意见
                 * @param transferSubscribe 是否订阅转交结果
                 * 如果成功，无异常信息；否则请捕获异常信息
                 */
                taskTransfer(taskId:long,transfererId:long,transferOpinion:$.kd.bos.dataentity.entity.ILocaleString,transferSubscribe:boolean):void;
                /**
                 * 描述：创建一个新的第三方Comment实体
                 * @return
                 */
                createNewTrdComment():kd.bos.workflow.engine.task.ThirdCommentInfo;
                /**
                 * @author wangxk
                 * 根据方案编码获取流程方案
                 * @param schemeNumber
                 * @return
                 */
                getProcSchemeBySchemeNumber?(schemeNumber:string):$.java.util.Map;
                viewFlowchartWithEntityNumber(pageId:string,entityNumber:string,billId:any):void;
                /**
                 * @author RD_li_fei
                 *
                 * 流程跳转（api）
                 */
                jumpToNode?(procInstId:long,destId:string,srcId:string):void;
                /**
                 * 获取下一步节点信息
                 * @param model -- 单据model
                 * @param operation -- 操作
                 * @param entityNumber -- 实体编码
                 * @return List<Map<String,Object>>
                 * 		   map.put("nextNode", userTask); // 节点信息
                 * 		   map.put("users", users); // 用户信息
                 */
                getNextUserTaskNodeByModel?(model:$.kd.bos.dataentity.entity.DynamicObject,operation:string,entityNumber:string):$.java.util.List;
                /**
                 * @author wangxk
                 * 禁用流程
                 * @param procDefId
                 * @return
                 */
                disableProcess?(procDefId:long):void;
                updateBpmnModelPropertys?(procInstId:long,actId:string,params:$.java.util.Map):void;
                /**
                 * 获取操作记录
                 * @param processInstanceId
                 * @param type
                 * @return
                 */
                getOperationLogs?(processInstanceId:long,type_arg:string):$.java.util.List;
                /**
                 * 传递operation+dynamicObject来寻址和预测（通威）
                 * @param operation 	操作
                 * @param entityNumber	单据实体编码
                 * @param businessKey	单据业务主键
                 * @return 寻址和预测的结果数据
                 */
                getAddressAndPreCompute?(operation:string,entityNumber:string,businessKey:string):$.java.util.List;
                /**
                 * 根据userid撤销挂起所属的任务，并启用用消息中心的 自动处理设置
                 * @param userId 流程发起人id
                 * @param suspendReason 挂起意见
                 */
                activateProcessInstanceByUserId?(userId:long):void;
                /**
                 * 根据单据id集合查询在流程中的状态
                 * @param businessKeys
                 * @return
                 */
                getBizProcessStatus(businessKeys:string[]):$.java.util.Map;
                /**
                 * 微服务调用
                 */
                invokeBillRelationMethod?(clazz:string,method:string,...args:any[]):any;
                /**
                 * 根据应用Id(applicationId)获取一个应用下的全部工作流的资源Id(resourceId)
                 * @param applicationId
                 * @return
                 */
                getWorkflowMultiLanguageIdsByAppId?(applicationId:string):$.java.util.List;
                /**
                 * @author RD_li_fei
                 * 指定下一步参与人
                 * @param taskId
                 * @param users
                 */
                assignNextParticipant?(taskId:long,dynParticipants:$.java.util.Map):void;
                /**
                 * 根据流程实例Id查询操作日志
                 * @param procInstId
                 * @param selectFeilds
                 * @param orderBy
                 * @return
                 */
                findOperationLogByProcInstId?(procInstId:long,selectFeilds:string,orderBy:string):$.java.util.List;
                /**
                 * 描述:更新任务节点名称
                 * @param taskId
                 * @param taskName
                 */
                updateTaskInfoAndParticipant(task:kd.bos.workflow.engine.task.TaskInfo,userIds:$.java.util.List):void;
                viewFlowchartWithEntityNumber(pageId:string,entityNumber:string,billId:any,style:$.kd.bos.form.OpenStyle,procDefId:long):void;
                /**
                 * 描述：根据任务id获取任务的详细处理结果
                 * @param taskId
                 * @return 任务的处理结果集合
                 */
                getCommentsByTaskId(taskId:long):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 描述：创建一个新的Comment实体
                 * @return
                 */
                createNewComment():kd.bos.workflow.engine.task.Comment;
                /**
                 *  获取当前节点预计算的后续节点
                 *  @param computorParams
                 *  @return
                 *  Map结构 - 当前节点预计的后续节点 当前节点为auditnode5
                 * 	   		VariableConstants.SCHEMEIDVARIABLE, schemeId
                 * 	   		VariableConstants.AFTERNODES, List<IPreComputorRecordItem> afterNodeList - IPreComputorRecordItem已经在api工程里，返回的是auditnode7、Auditnode9
                 */
                getAfterPreComputorRecordItem?(computorParams:kd.bos.workflow.engine.precomputor.PreComputorParams):$.java.util.Map;
                /**
                 * 获取节点参与人范围
                 * @param participantScopeParams
                 * @return
                 */
                getNodeParticipantScop?(participantScopeParams:kd.bos.workflow.engine.precomputor.ParticipantScopeParams):kd.bos.workflow.engine.impl.cmd.task.ParticipantScope;
                addSignClearByAdmin?(procinstId:long,activityId:string):string;
                /**
                 * @Description:根据传递参数获取（同意+驳回+多圈），获取同意（多圈+同意），获取单圈同意
                 * @param businessKey
                 * @param type：all获取所有(多圈+同意+驳回)、allConsent获取所有同意(多圈+同意)、lastedConsent获取最新
                 * @param printParam
                 * @return
                 */
                getPrintCommentWithParam?(businessKey:string,type_arg:string,printParam:$.java.util.Map):$.java.util.Collection;
                /**
                 * @author RD_li_fei
                 *
                 * 获取审批记录（包含协办记录）
                 */
                getAllApprovalRecordInclCoordinate?(businessKey:string):$.java.util.List;
                batchAgreeTask(taskIds:string,opinion:string,terminalWay:string):string;
                /**
                 * 翻译平台，把翻译好的词条应用回去，即把多语言的词条存储起来，此接口适用于流程设计和流程模板
                 *
                 * @param mutiLangDatas 多语言数据
                 * @author huyue.liu
                 */
                applyWorkflowMultiLanguageWords4ModelAndTpl?(mutiLangDatas:$.java.util.Map):void;
                withdrawTask?(taskId:long,userId:long):void;
                /**
                 * 部署流程模型
                 */
                deployModel(deployModelString:string):void;
                /**
                 * 催办功能 --- 根据当前taskid，查询当前任务的处理人，然后发送云之家消息
                 * @param processInstanceId
                 * @param reminderMsg
                 * @return
                 */
                taskReminders(processInstanceId:long,reminderMsg:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * 任务传阅 for batch
                 * @param List<Long> taskIds 批量传阅的任务id集合
                 * @param List<Long> circulationUserIds 发送给谁的userid,并非openid
                 * @param Long senderUserId 发送人的userid,并非openid
                 * @param ILocaleString circulationMsg 发送的传阅消息
                 * @return 批量操作结果（【样例】共6条单据，传阅成功3条，失败3条）对象
                 * 		   String validateMsg - 校验信息 - 比如缺少参数
                 * 		   int successCount- 成功条数
                 * 		   int failedCount - 失败条数
                 * 		   List<OperateResult> - 操作结果 集
                 * 		    	String operateType - 操作类型
                 *  		 	String operateStatus - 操作状态
                 * 			 	String operateMsg - 操作信息
                 */
                taskCirculateForBatch?(taskIds:$.java.util.List,circulationUserIds:$.java.util.List,senderUserId:long,circulationMsg:$.kd.bos.dataentity.entity.ILocaleString):kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 撤回协办 -- 协办人邀请人撤回协办任务 (A --> B，A向B发出协办邀请后A撤回协办任务)
                 * @param taskId 任务id
                 * @param userIds 被协办人id集合，如果为空则认为撤回所有协办任务
                 * @param userId 协办人邀请人
                 * @return 撤回结果
                 */
                taskCoordinateRequestWithdraw(taskId:long,userIds:$.java.util.List,userId:long):string;
                /**
                 * 把翻译平台翻译好的词条应用回去
                 * @param datas
                 */
                applyWorkflowMultiLanguageWords?(mutiLangDatas:$.java.util.Map):void;
                getProcessInstancePropertiesByBusinesskey?(businessKey:string):$.java.util.Map;
                /**
                 * 根据流程定义ID查询流程定义信息
                 * @param procDefId
                 * @return
                 */
                getProcessDefinitionInfoById?(procDefId:long):kd.bos.workflow.api.model.ProcessDefinitionInfo;
                tryTriggerProcessByProcNumber(objs:$.kd.bos.dataentity.entity.DynamicObject[],processNumber:string,variables:$.java.util.Map):void;
                /**
                 * @author RD_li_fei
                 *
                 * 获取可驳回节点
                 */
                getRejectNodes?(taskId:long,decisionOptionNumber:string):$.java.util.List;
                /**
                 * 任务转交
                 * @param taskId 任务id
                 * @param transfererId 转交用户id
                 * @param transferOpinion 转交意见
                 * @param transferSubscribe 是否订阅转交结果
                 * 如果成功，无异常信息；否则请捕获异常信息
                 */
                taskTransfer(taskId:long,transfererId:long,transferOpinion:string,transferSubscribe:boolean):void;
                /**
                 * 批量触发工作流
                 * @param objs
                 * @param operation
                 * @param params
                 */
                tryTriggerProcess(objs:$.kd.bos.dataentity.entity.DynamicObject[],operation:string,params:$.java.util.Map):void;
                /**
                 * 描述:记录第三方审批意见 comment对外允许设置属性：
                 * @param thirdCommentInfo
                 */
                addTrdComment(thirdCommentInfo:kd.bos.workflow.engine.task.ThirdCommentInfo):void;
                /**
                 * 获取审批节点单据字段可见性-可编辑性-必录性、按钮-可见性、图标及页签可见性
                 * @param taskId
                 * @param type
                 * @return
                 */
                getAuditBillPageAttributeConfigs?(taskId:long,type_arg:string):$.java.util.Map;
                /**
                 * 描述：过滤哪些objs可以撤回
                 * @param objs
                 * @return 可以撤回的objs
                 * 返回结果：1.反操作。2.非反操作但未流入工作流。3.非反操作且流入工作流，且已经走到人工节点
                 */
                canWithdraw(objs:$.kd.bos.dataentity.entity.DynamicObject[]):$.java.util.Map;
                /**
                 * 返回流程信息
                 * @param number 流程编码
                 * @param version 流程版本
                 * @return
                 */
                getProcessInfo(number_arg:string,version:string):kd.bos.workflow.engine.dynprocess.freeflow.WFProcess;
                getEnabledProcesses?(dataEntity:$.kd.bos.dataentity.entity.DynamicObject,operation:string):$.java.util.List;
                getHandledTasksByUserId(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 保存流程
                 * @param model
                 */
                saveProcess?(model:kd.bos.workflow.api.model.ProcessModel):long;
                /**
                 * 描述:根据id集合批量查找task
                 * @param ids
                 * @return
                 */
                findTaskByIds?(ids:$.java.util.List):$.java.util.List;
                addOneYunzhijiaCompletedChildTask?(param:kd.bos.workflow.engine.task.AddYunzhijiaTaskParam):void;
                /**
                 * 描述:记录审批意见 comment对外允许设置属性：
                 * @param comment
                 */
                addComment(comment:kd.bos.workflow.engine.task.Comment):void;
                /**
                 * 发布流程
                 * @param modelId
                 * @param deploymentProperty
                 */
                publishProcess?(modelId:long,deploymentProperty:$.java.util.Map):kd.bos.workflow.api.model.ProcPublishResult;
                /**
                 * 返回单据的整个审批记录
                 * @param businessKey
                 * @return
                 */
                getAllApprovalRecord(businessKey:string):$.java.util.List;
                /**
                 * 描述:记录审批意见，可增加附件
                 * @param comment
                 */
                addCommentWithAttachment?(comment:kd.bos.workflow.engine.task.Comment,attch:$.java.util.List):void;
                /**
                 * 修改节点模板信息
                 */
                updateNodeTemplateInfo?(nodeTemplateNumber:string,nodeTemplateInfo:$.java.util.Map):void;
                /**
                 * 根据流程类别Id(categoryId)获取一个应用下全部工作流的资源Id(resourceId)
                 * @param categoryId
                 * @return
                 */
                getWorkflowResourceIdsByCategoryId?(categoryId:long):$.java.util.List;
                /**
                 * 批量检查是否需要指定下一步参与人
                 * @param formId
                 * @param opKey
                 * @param dataEntities
                 * @return wfAssignPersons：true/false; wfid:xxx;
                 */
                getWfAssignPersons(formId:string,opKey:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.Map;
                /**
                 * 业务手动挂起任务
                 * @param taskId
                 * @param userId
                 * @param suspendReason
                 */
                suspendTaskById?(taskId:long,userId:long,suspendReason:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * 根据应用Id(applicationId)获取一个应用下全部工作流的流程设计资源Id(resourceId)
                 *
                 * @param applicationId 应用id
                 * @return 工作流多语言资源id
                 * @author huyue.liu
                 */
                getWorkflowModelMultiLanguageIdsByAppId?(applicationId:string):$.java.util.List;
                /**
                 * 执行对象扩展属性插件
                 * @param billInfo
                 * @param params
                 * @return
                 */
                invokeParseExpression?(clazz:string,method:string,...args:any[]):any;
                /**
                 * 批量审批任务(审批意见支持多语言)
                 * @param taskIds -- 任务的ids，以“，”号隔开
                 * @param opinion -- 审批意见
                 * @return
                 */
                batchAgreeTask(taskIds:string,opinion:$.kd.bos.dataentity.entity.ILocaleString):string;
                /**
                 * 根据应用ID（开发者门户的应用）获取其所对应的流程
                 */
                getModelByAppId(appId:string):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 根据流程ID获取流程
                 * @param modelId
                 * @return
                 */
                getProcess?(modelId:long):kd.bos.workflow.api.model.ProcessModel;
                getApplyTasksByStartId?(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                rejectToInnerNode?(taskId:long,userId:long,decOptionNumber:string,auditMessage:string,innerNodeIds:$.java.util.List,skipPath:boolean,variables:$.java.util.Map):void;
                /**
                 * @author wangxk
                 * 启用流程
                 * @param procDefId
                 * @return
                 */
                enableProcess?(procDefId:long):void;
                /**
                 * 获取单板任务消息
                 * @param userId 当前用户id
                 * @param topCount 前topCount条数据
                 * @return
                 */
                getToHandleTasksMessage(userId:long,topCount:number):$.java.util.List;
                /**
                 * 设置流程变量
                 * @param procInstId 流程实例ID
                 * @param variableName 变量名
                 * @param value 变量值
                 */
                setProcessInstanceVariable?(procInstId:long,variableName:string,value:any):void;
                /**
                 * 获取流程审批节点信息及预计算节点信息(单据已进流程)
                 * @param businessKey
                 * @return 流程窗口所需数据
                 */
                getProcessWindowRecords(businessKey:string):$.java.util.List;
                /**
                 * 工作流服务制作流程设计和流程模板多语言安装
                 *
                 * @param mutiLangDatas 资源参数
                 * @author huyue.liu
                 */
                makeWorkflowMultiLanguagePackage4ModelAndTpl?(mutiLangDatas:$.java.util.Map):$.java.util.Map;
                /**
                 * 批量审批任务，用于快捷审批
                 * @param taskIds
                 * @param opinion
                 * @param terminalWay
                 * @param userId
                 * @return
                 */
                batchAgreeTaskWithUserId?(taskIds:string,opinion:$.kd.bos.dataentity.entity.ILocaleString,userId:long):string;
                /**
                 * 获取下一步可选参与人和选择范围（白名单，黑名单，必选名单）
                 * @param taskId
                 * @param auditType
                 * @param auditNumber
                 * @return
                 */
                getNextUseableUserAndScope?(taskId:long,auditNumber:string):$.java.util.Map;
                /**
                 * 根据流程模型获取流程部署文件
                 */
                getDeployModel(modelId:long):string;
                /**
                 * 通过实体编码判断是否在工作流这边是否建过流程
                 * @param enetityNumber 实体编码
                 */
                existProcDefByEntityNumber?(entityNumber:string):boolean;
                /**
                 * 根据流程类别Id(categoryId)获取一个应用下全部工作流的资源Id(resourceId)
                 * @param categoryId
                 * @return
                 */
                getProcessCategoryData?():any;
                /**
                 * @author RD_li_fei
                 *
                 * 流程手工挂起
                 */
                suspendProcessInstanceByProcessInstanceId?(processInstanceId:long):void;
                /**
                 * 描述:根据id查找task
                 * @param taskId
                 * @return
                 */
                findTaskById(taskId:long):kd.bos.workflow.engine.task.TaskInfo;
                getProcessElements(bill:$.kd.bos.dataentity.entity.DynamicObject,operation:string):$.java.util.List;
                /**
                 * 完成任务，并记录审批意见,此方法只支持审批节点，不支持会审节点
                 * @param businessKey 单据id
                 * @param nodeId 节点编码
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 * @param checkUser:是否强制校验userId为任务参与人，会审必须校验
                 * @param variables:参数变量
                 */
                completeTask(businessKey:string,nodeId:string,userId:long,decOptionNumber:string,auditMessage:string,checkUser:boolean,variables:$.java.util.Map):void;
                /**
                 * 根据工作流的资源Id(resourceId)获取所有的多语言词条
                 * @param resourceId
                 * @return
                 */
                getWorkflowMultiLanguageWords?(resourceId:long):$.java.util.Map;
                /**
                 * 任务协办 -- 回复
                 * @param taskId
                 * @param taskCoordinateOpinion
                 * @param attch -- 附件 infos
                 */
                taskCoordinateReply(taskId:long,taskCoordinateOpinion:$.kd.bos.dataentity.entity.ILocaleString,attch:$.java.util.List):void;
                /**
                 * 获取流程附件
                 * @param entityNumber 实体编码
                 * @param businessKey 单据主键id
                 * @return map数据结构，其中key为commentid值，value为一个List的审批附件信息
                 */
                getProcessAttachmentsInfo?(entityNumber:string,businessKey:string):$.java.util.Map;
                /**
                 * 获取流程预计算节点信息(单据未进流程)
                 * @param procdefId 指定流程
                 * @param billObj 单据信息
                 * @return 流程窗口所需数据
                 */
                getProcessWindowRecords(procdefId:long,billObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                abandonProInstance?(proInstanceId:long):void;
                /**
                 * 获取指定下一步参与人parameter
                 * @param variables
                 * @param dataEntity
                 * @param closeCallBack
                 * @param scene -- "mob"：移动端；"pc"：PC端
                 * @return
                 */
                getAllowPersonParameter?(variables:$.java.util.Map,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,closeCallBack:$.kd.bos.form.CloseCallBack,scene:string):$.kd.bos.form.FormShowParameter;
                /**
                 * 新增节点模板
                 */
                addNodeTemplate?(template_arg:NodeTemplate):void;
                /**
                 * 流程助手获取待办任务，已办任务，在办申请，已办申请的数量
                 * @param userId
                 * @return
                 */
                getTaskCounts?(userId:string):$.java.util.Map;
                /**
                 *  任务转交(转交意见支持多语言)
                 *  @param taskId 任务id
                 *  @param transfererId 转交用户id
                 *  @param transferOpinion 转交意见
                 *  @param transferSubscribe 是否订阅转交结果
                 *  @param level 优先级别
                 *  @param dynInfo 动态信息，用于设置任务相关特性 -- 数据结构
                 *   	  Map<String, Object> dynInfo = new HashMap<>(); // 动态信息
                 * 		  dynNodeInfo.put(VariableConstants.TASKPRIORITY, TaskMarkEntity.NUMBER_URGENCY); // 设置节点优先级
                 *  如果成功，无异常信息；否则请捕获异常信息
                 */
                taskTransfer(taskId:long,transfererId:long,transferOpinion:$.kd.bos.dataentity.entity.ILocaleString,transferSubscribe:boolean,dynInfo:$.java.util.Map):void;
                /**
                 * 判定给定人员是否属于给定的工作流角色
                 * @param roleNumber 工作流角色编码
                 * @param userId 人员Id
                 * @return 包含返回true，否则返回false
                 */
                isUserBelongToRole(userId:long,roleNumber:string):boolean;
                /**
                 * @author wangxk
                 * 根据实体编码获取启用的流程
                 * @param entityNumber
                 * @return
                 */
                getEnabledProcDefByEntityNumber?(entityNumber:string):$.java.util.List;
                /**
                 * 根据实体编码获取对应的流程的打印元数据
                 *  节点名称和节点编码均为第一个的流程节点的
                 *  采用的是覆盖上个节点名称和编码的方式
                 *  @param entityNumber
                 *  @return
                 */
                getPrintMetaEntityNumber?(entityNumber:string):$.java.util.Collection;
                /**
                 * 获取(全部)审批记录
                 * @param entityNumber 实体编码
                 * @param businessKey 单据主键
                 * @param allRecord 是否全部审批记录（包含当前单据历史审批记录） ：true - 全部审批记录；false - 最新审批记录
                 * @return 审批记录对象集合；注意异常的捕获，异常说明参数不对
                 */
                getApprovalRecords?(entityNumber:string,businessKey:string,allRecord:boolean):$.java.util.List;
                addSignByAdmin?(procinstId:long,activityId:string,addSignInfo:kd.bos.workflow.engine.dynprocess.AddSignInfo):string;
                /**
                 * 获取查询条件
                 * @param uid
                 * @param type
                 * @return
                 */
                getTaskEntityName?(uid:long,type_arg:string):$.java.util.List;
                createProcessAndStart?(businessKey:string,operation:string,entityNumber:string,variables:$.java.util.Map,freeFlowProcess:kd.bos.workflow.engine.dynprocess.freeflow.WFProcess):void;
                /**
                 * 根据分类Id(categoryId)获取一个分类下全部工作流流程模板的资源Id(resourceId)
                 *
                 * @param categoryId 分类Id
                 * @return 工作流多语言资源id
                 * @author huyue.liu
                 */
                getWorkflowTemplateMultiLanguageIdsByCategoryId?(categoryId:long):$.java.util.List;
                batchAgreeTask(taskIds:string,opinion:$.kd.bos.dataentity.entity.ILocaleString,terminalWay:string):string;
                getPreComputorRecordWithOutCurrentNodes?(procInstId:long):kd.bos.workflow.engine.precomputor.IPreComputorRecord;
                /**
                 * 批量检查是否需要指定下一步参与人
                 * @param formId
                 * @param opKey
                 * @param dataEntities
                 * @return wfAssignPersons：true/false; wfid:xxx;
                 */
                getWfAssignPersons(formId:string,opKey:string,dataEntity:$.kd.bos.dataentity.entity.DynamicObject,param:$.java.util.Map):$.java.util.Map;
                /**
                 * @author RD_li_fei
                 *
                 * 根据单据Id完成任务
                 */
                completeTaskByBusinessKey?(businessKey:string,nodeId:string,userId:long,decOptionNumber:string,auditMessage:string,checkUser:boolean):void;
                /**
                 * 批量审批任务
                 * @param taskIds -- 任务的ids，以“，”号隔开
                 * @param opinion -- 审批意见
                 * @return
                 */
                batchAgreeTask(taskIds:string,opinion:string):string;
                /**
                 * @author RD_li_fei
                 *
                 * 流程手工解挂
                 */
                revokeSuspendProcessInstancesByIds?(processInstanceId:long):void;
                /**
                 * 完成任务，并记录审批意见
                 * @param taskId 任务ID
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 */
                completeTask(taskId:long,userId:long,decOptionNumber:string,auditMessage:string):void;
                /**
                 * @author wangxk
                 * 根据流程定义id获取节点信息
                 * @param schemeId
                 * @return
                 */
                getProcElementsByProcDefId?(procDefId:long):$.java.util.List;
                /**
                 * 获取某类型流程中的所有节点
                 * @param procType
                 * @return
                 */
                getProcessNodes?(procType:string):$.java.util.List;
                /**
                 * 获取所有的流程类别信息
                 */
                getAllProcessCategory():$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * 完成任务，并记录审批意见,此方法只支持审批节点，不支持会审节点
                 * @param businessKey 单据id
                 * @param nodeId 节点编码
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 * @param checkUser:是否强制校验userId为任务参与人，会审必须校验
                 */
                completeTask(businessKey:string,nodeId:string,userId:long,decOptionNumber:string,auditMessage:string,checkUser:boolean):void;
                /**
                 * @param businessKey
                 * @param processInstanceId
                 * @param params
                 * @return 完整的审批记录，该方法不走第三方插件，只根据原始的cmd查询
                 */
                getAllOriginalApprovalRecord?(businessKey:string,processInstanceId:long,params:$.java.util.Map):$.java.util.List;
                /**
                 * 拿当前节点的前序审批过的节点（当前圈）
                 * @param taskId
                 * @return
                 */
                getRejectedPreNode?(taskId:long):$.java.util.List;
                addSignClear?(taskId:long,type_arg:string):string;
                /**
                 * 根据单据Id查询操作日志
                 * @param businessKey
                 * @param selectFeilds
                 * @param orderBy
                 * @return
                 */
                findOperationLogByBusinessKey?(businessKey:string,selectFeilds:string,orderBy:string):$.java.util.List;
                /**
                 * 任务协办（请求）
                 * @param taskId 任务id
                 * @param isTaskCoodinate 是否是多级协办
                 * @param userIds 协办用户ids
                 * @param coordinateMsg 协办信息
                 * @param isPublic 是否公开
                 * @param ownerId 请求协办者的用户id
                 * @return
                 */
                taskCoordinateNew?(taskId:long,userIds:$.java.util.List,coordinateMsg:$.kd.bos.dataentity.entity.ILocaleString,isPublic:boolean,ownerId:long):string;
                /**
                 * 批量催办功能
                 * @param processInstanceIds 流程实例ids
                 * @param reminderMsg 催办消息
                 * @return 批量操作结果（【样例】共6条单据，催办成功3条，失败3条）map中的key
                 * 		   successCount- 成功条数
                 * 		   failedCount - 失败条数
                 * 		   List<OperateResult> - 操作结果 集
                 */
                taskReminders(processInstanceIds:long[],reminderMsg:$.kd.bos.dataentity.entity.ILocaleString):kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 撤回协办 -- 协办人邀请人撤回协办任务 (A --> B，A向B发出协办邀请后A撤回协办任务)
                 * @param taskId 任务id
                 * @param userIds 被协办人id集合，如果为空则认为撤回所有协办任务
                 * @return 撤回结果
                 */
                taskCoordinateRequestWithdraw(taskId:long,userIds:$.java.util.List):string;
                /**
                 * 执行业务插件
                 * @param billInfo
                 * @param params
                 * @return
                 */
                invokeBizPlugin?(clazz:string,method:string,...args:any[]):any;
                /**
                 * 根据流程实例ID查询流程定义信息
                 * @param procInstId
                 * @return
                 */
                getProcessDefinitionInfoByProcInstId?(procInstId:long):kd.bos.workflow.api.model.ProcessDefinitionInfo;
                /**
                 * 获取待办任务，已办任务，在办申请，已办申请的数量
                 * @param uid
                 * @param type
                 * @return
                 */
                getTaskCountByType(uid:string,type_arg:string):long;
                getPreComputorRecord?(procInstId:long):kd.bos.workflow.engine.precomputor.IPreComputorRecord;
                /**
                 * 根据userid挂起所属的任务，并禁用消息中心的 自动处理设置
                 * @param userId 流程发起人id
                 * @param suspendReason 挂起意见
                 */
                suspendProcessInstanceByUserId?(userId:long,suspendReason:$.kd.bos.dataentity.entity.ILocaleString):void;
                tryTriggerProcessByProcNumber(businessKey:string,processNumber:string,entityNumber:string,variables:$.java.util.Map):void;
                /**
                 * 会审节点动态删除实例个数，根据参与人删除
                 * @param businesskey
                 * @param nodeId
                 * @param userIds
                 */
                removeJointAuditParticipants?(businesskey:string,nodeId:string,userIds:$.java.util.List):void;
                /**
                 * 通过单据+单据归档索引条件，查询归档路由
                 * @param entityNumber
                 * @param archiveRouteIndexConditions
                 * @return
                 */
                getArchiveRouteKeys?(archiveEntity:string,archiveRouteIndexConditions:$.java.util.List):$.java.util.List;
                /**
                 * 更新流程模型对应的最新版流程默认方案
                 * @param modelId
                 */
                updateLatestProcessDefaultScheme?(modelId:long):void;
                /**
                 * 描述:获取当前人的所有任务,根据
                 * @param start
                 * @param limit
                 * @param uid
                 * @param sqlFilter
                 * @return
                 */
                getToHandleTasksByUserId(start:number,limit:number,uid:string,sqlFilter:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 描述：触发工作流
                 * @param businessKey
                 * @param operation
                 * @param entityNumber
                 */
                tryTriggerProcess(businessKey:string,operation:string,entityNumber:string,variable:$.java.util.Map):void;
                /**
                 * 根据businessKey获取当前审批意见。注释：驳回没有，人工没有，当前节点没有
                 * @param businessKey
                 * @return
                 */
                getCommentForPrint(businessKey:string):$.java.util.List;
                /**
                 * 描述：创建一个新的审批记录
                 * @return
                 */
                createApprovalRecordItem?():kd.bos.workflow.component.approvalrecord.IApprovalRecordItem;
                /**
                 * 催办功能 --- 根据当前taskid，查询当前任务的处理人，然后发送云之家消息
                 * @param processInstanceId
                 * @param reminderMsg
                 * @param type：submit 提交； query 查询；
                 * @return
                 */
                taskReminders(processInstanceId:long,reminderMsg:$.kd.bos.dataentity.entity.ILocaleString,type_arg:string):$.java.util.Map;
                /**
                 * 获取流程预计算节点信息(单据未进流程)
                 * @param opKey 指定操作类型
                 * @param billObj 单据信息
                 * @return 流程窗口所需数据
                 */
                getProcessWindowRecords(opKey:string,billObj:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * 根据流程类别Id(categoryId)获取一个应用下全部工作流设计的资源Id(resourceId)
                 *
                 * @param categoryId 分类Id
                 * @return 流程设计资源相关信息
                 */
                getWorkflowModelResourceIdsByCategoryId?(categoryId:long):$.java.util.List;
                /**
                 * @author wangxk
                 * 根据编码和版本号取流程定义信息
                 * @param procDefId
                 * @return
                 */
                getProcDefByNumberAndVerson?(processNumber:string,version:string):$.java.util.Map;
                addSign?(taskId:long,addSignInfo:kd.bos.workflow.engine.dynprocess.AddSignInfo):string;
                /**
                 * 描述:获取当前人的所有任务
                 * @param start
                 * @param limit
                 * @param uid
                 * @param sqlFilter
                 * @return
                 */
                getToHandleTasksByUserId(start:number,limit:number,uid:string,sqlFilter:$.java.util.Map,orderBy:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查看程图
                 * @param pageId
                 * @param billId
                 */
                viewFlowchart(pageId:string,billId:any):void;
                /**
                 * 获取全部（同意+驳回+多圈），获取同意（多圈+同意），获取单圈同意
                 * @param businessKey
                 * @param type
                 * @return
                 */
                getCommentForPrintByType?(businessKey:string,type_arg:string):$.java.util.Collection;
                /**
                 * 更新第三方关联的流程审批信息
                 * @param relationValue 第三方与流程关联字段值
                 * @param comment 审批信息
                 */
                updateTrdRelatedProcComment?(relationValue:string,comment:kd.bos.workflow.engine.task.Comment):void;
                /**
                 * 流程助手获取我的已办任务
                 * @param userId
                 * @return
                 */
                getApplyedProcessAssistant?(userId:long,start:number,limit:number,starterOrSubjectFilter:string,timeFilter:string):$.java.util.List;
                /**
                 * 获取审批要点计算结果
                 * @param taskId
                 * @return
                 */
                getAuditPointResultsByTaskId?(taskId:long):$.java.util.List;
                /**
                 * 描述：判断单据是否进入工作流
                 * @param businessKey 单据id
                 * @return
                 */
                inProcess(businessKey:string):boolean;
                /**
                 * 根据单据编码、用户Id获取业务主键
                 *
                 * @param businessKeyQueryParams 参数
                 * @return 业务主键
                 */
                getBusinessKeyByEntityNumberUIds?(businessKeyQueryParams:kd.bos.workflow.engine.task.BusinessKeyQueryParams):$.java.util.List;
                withdraw?(obj:$.kd.bos.dataentity.entity.DynamicObject,operationName:string):void;
                getProcessInfo(bill:$.kd.bos.dataentity.entity.DynamicObject,operation:string):kd.bos.workflow.engine.dynprocess.freeflow.WFProcess;
                /**
                 * 任务协办（请求）（此方法有同数量参数的同名方法，不能用于api调用）
                 * @param taskId 任务id
                 * @param isTaskCoodinate 是否是多级协办
                 * @param userIds 协办用户ids
                 * @param coordinateMsg 协办信息
                 * @param isPublic 是否公开
                 * @param ownerId 请求协办者的用户id
                 * @return
                 */
                taskCoordinate(taskId:long,userIds:$.java.util.List,coordinateMsg:$.kd.bos.dataentity.entity.ILocaleString,isPublic:boolean,ownerId:long):string;
                batchWithdraw?(objs:$.kd.bos.dataentity.entity.DynamicObject[],operationName:string):string;
                /**
                 * 与计算下一步参与人
                 * @param businessKey
                 * @return
                 */
                getNextUserTaskNodeByBusinessKey?(businessKey:string):$.java.util.List;
                /**
                 * 提供对外的微服务查询已办申请数据接口
                 * @param userId
                 * @param start
                 * @param limit
                 * @param starterOrSubjectFilter
                 * @param timeFilter
                 * @param paramFilter
                 * @return
                 */
                getApplyedProcessAssistantCollection?(userId:long,start:number,limit:number,starterOrSubjectFilter:string,timeFilter:string,paramFilter:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 描述:获取给定单据集合的当前审批人集合
                 * @param businessKeyArr
                 * @return 以businessKey为key当前审批人集合为value
                 */
                getApproversMapByBusinessKeys(businessKeyArr:string[]):$.java.util.Map;
                /**
                 * 描述:获取当前节点的审批人
                 * @param businessKey 单据id
                 * @return 参与人集合
                 */
                getApproverByBusinessKey(businessKey:string):$.java.util.List;
                /**
                 * 关键字段信息转换
                 */
                getSensitiveSwitch?():boolean;
                /**
                 * @author wangxk
                 * 根据方案编码获取节点信息
                 * @param schemeNumber
                 * @return
                 */
                getProcElementsBySchemeNumber?(schemeNumber:string):$.java.util.List;
                /**
                 * 获取关键字段信息
                 */
                getSensitiveFieldInfo?(entityId:string,dataEntities:$.kd.bos.dataentity.entity.DynamicObject[],operationKey:string,wfVar:$.java.util.Map,category:string,fromApi:boolean):$.java.util.Map;
                /**
                 * 描述:批量更新记录第三方审批意见
                 * @param thirdCommentInfos
                 */
                batchUpdateTrdComment?(thirdCommentInfos:$.java.util.List):void;
                billUnsubmit?(objs:$.kd.bos.dataentity.entity.DynamicObject[],operationName:string,param:$.java.util.Map):void;
                /**
                 * 判断元数据是否是单据摘要模板 若是则重建该模板下所有摘要设置的运行期元数据(会不会与单据摘要设置的运行期元数据构建重复)
                 * @param metadatas
                 */
                rebuildAllMetadataOfBillSummaryCfg?(summaryTplId:string,billSummaryCfgNumber:string):void;
                /**
                 * 任务协办 -- 回复
                 * @param taskId
                 * @param taskCoordinateOpinion
                 * @param attch -- 附件 infos
                 * @param userId -- 任务参与人
                 */
                taskCoordinateReply(taskId:long,taskCoordinateOpinion:$.kd.bos.dataentity.entity.ILocaleString,attch:$.java.util.List,userId:long):void;
                updateWorkflowRole?(role:$.java.util.List):kd.bos.workflow.basedata.role.WorkflowRoleResult;
                getProcessInstanceIdByBusinessKey?(businessKey:string):long;
                /**
                 * 根据任务id获得节点配置的页面可编辑信息
                 */
                getAuditAllowModifiedFields?(taskId:long,type_arg:string):$.java.util.List;
                /**
                 * 查找某个实体配置的流程，不包括废弃的流程
                 * @param entityNumber
                 * @return
                 */
                getProcessesByEntityNumber?(entityNumber:string):$.java.util.List;
                /**
                 * @author wangxk
                 * 根据流程定义Id获取方案列表
                 * @param procDefId
                 * @return
                 */
                getProcSchemesByProcDefId?(procDefId:long):$.java.util.List;
                /**
                 * @author RD_li_fei
                 *
                 * 流程实例强制终止（api）
                 */
                abortProcessInstance?(procInstId:long):void;
                /**
                 * 获取审批记录的元数据，（字段和属性）
                 * @return
                 */
                getApprovalRecordMeta():$.java.util.Map;
                /**
                 * 校验表单编码是否唯一(范围：移动单据摘要设置表单)
                 * @param number
                 * @return
                 */
                checkMetadataNumberUniqueness?(entityKey:string):$.java.util.Map;
                /**
                 * @author RD_li_fei
                 * 获取任务对应节点的自动协办人集合
                 * @param taskId
                 */
                getAutoCoorinateUsers?(taskId:long):$.java.util.List;
                /**
                 * 重建单据摘要设置页面运行期元数据
                 * @param billSummmaryConfigObject
                 */
                rebuildBillSummaryConfigRuntimeMeta?(billSummmaryConfigObject:$.kd.bos.dataentity.entity.DynamicObject):void;
                /**
                 * 描述：根据流程实例id撤回流程
                 * @param processInstanceId
                 */
                withdrawByProcessInstanceId?(processInstanceId:long):void;
                /**
                 * 根据流程实例ID,节点ID和人员ID获取任务id
                 * @param processInstanceId
                 * @param activityId
                 * @param userId
                 * @return
                 */
                getTaskIdByProcessInstanceIdAndActivityIdAndUserId?(processInstanceId:long,activityId:string,userId:long):long;
                /**
                 * 描述:批量新增记录第三方审批意见 comment对外允许设置属性：
                 * @param thirdCommentInfos
                 */
                batchAddTrdComment?(thirdCommentInfos:$.java.util.List):BatchResult;
                /**
                 * 根据单据id集合查询在流程中的状态
                 * @param businessKeys
                 * @param name
                 * @return
                 */
                getBizProcessStatus(businessKeys:string[],name:string):$.java.util.Map;
                /**
                 * 根据businessKey,userId获取任务id
                 * @param businessKey
                 * @return
                 */
                getTaskIdByBusinessKeyAndUserId(businessKey:string,userId:long):long;
                /**
                 * 获取指定类别下的流程信息
                 */
                getModelByProcessCategoryId(processCategoryId:long):$.kd.bos.dataentity.entity.DynamicObject[];
                /**
                 * @author wangxk
                 * 根据流程id获取流程定义信息
                 * @param procDefId
                 * @return
                 */
                getProcDefById?(procDefId:long):$.java.util.Map;
                /**
                 * @author wangxk
                 * 根据流程实例id获取变量信息
                 * @param processinstanceId
                 * @return
                 */
                getVariablesByProcInstId?(procInstId:long,variableKeys:string[]):$.java.util.Map;
                getHandledTasksByUserId(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map,orderBy:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 *  任务协办（请求）
                 *  @param taskId 任务id
                 *  @param isTaskCoodinate 是否是多级协办
                 *  @param userIds 协办用户ids
                 *  @param coordinateMsg 协办信息
                 *  @param ownerId 请求协办者的用户id
                 *  @param isPublic 是否公开
                 *  @param level 优先级
                 *  @param dynInfo 动态信息，用于设置任务相关特性 -- 数据结构
                 *   	  Map<String, Object> dynInfo = new HashMap<>(); // 动态信息
                 * 		  dynNodeInfo.put(VariableConstants.TASKPRIORITY, TaskMarkEntity.NUMBER_URGENCY); // 设置节点优先级
                 *  @return
                 */
                taskCoordinate(taskId:long,userIds:$.java.util.List,coordinateMsg:$.kd.bos.dataentity.entity.ILocaleString,isPublic:boolean,dynInfo:$.java.util.Map):string;
                /**
                 * 查看流程图
                 * @param pageId
                 * @param billId
                 * @param style
                 * @param procDefId
                 */
                viewFlowchart(pageId:string,style:$.kd.bos.form.OpenStyle,billId:any,procDefId:long):void;
                /**
                 * 描述:获取上节点的审批内容
                 * @param businessKey
                 * @return 审批意见集合
                 */
                getLastNodesComment(businessKey:string):$.java.util.List;
                /**
                 * @author wangxk
                 * 根据方案id获取节点信息
                 * @param schemeId
                 * @return
                 */
                getProcElementsBySchemeId?(schemeId:long):$.java.util.List;
                /**
                 * 任务转交
                 * @param taskId 任务id
                 * @param transfererId 转交用户id
                 * @param transferOpinion 转交意见
                 * @param transferSubscribe 是否订阅转交结果
                 * 如果成功，无异常信息；否则请捕获异常信息
                 */
                taskTransferNew(taskId:long,transfererId:long,transferOpinion:string,transferSubscribe:boolean):void;
                /**
                 * 添加任务关联人
                 * @param processInstanceId 流程实例id（Long）不为空
                 * @param assigneeIds 关联人的userId（String）集合- 可以为空，获取当前上下文中的用户id
                 * @return void - 如果有异常抛出kdexception，接口进行捕获；否则添加成功
                 */
                addProcessRelationPerson(processInstanceId:long,assigneeIds:$.java.util.List):void;
                /**
                 * 获取流程实例id返回某个节点配置的属性
                 * @param processInstanceId
                 * @param propName
                 * @return
                 */
                getNodeProp?(processInstanceId:long,nodeId:string,propName:string):any;
                /**
                 * 返回流程模型节点信息
                 * @param number 流程编码
                 * @param version 流程版本
                 * @return
                 */
                getProcessElements(number_arg:string,version:string):$.java.util.List;
                /**
                 * @author RD_li_fei
                 *
                 * 获取节点对应的页面参数
                 */
                getPageVariables?(taskId:long):$.java.util.Map;
                /**
                 * 获取启用的流程数量
                 *
                 * @return
                 */
                getEnabledProcessCount?():long;
                /**
                 * 任务协办（请求）
                 * @param taskId 任务id
                 * @param isTaskCoodinate 是否是多级协办
                 * @param userIds 协办用户ids
                 * @param coordinateMsg 协办信息
                 * @param isPublic 是否公开
                 * @return
                 */
                taskCoordinate(taskId:long,userIds:$.java.util.List,coordinateMsg:$.kd.bos.dataentity.entity.ILocaleString,isPublic:boolean):string;
                setDynPanticipant?(taskId:long,list:$.java.util.List):void;
                /**
                 * 提供对外的http查询已办申请数据接口
                 * @param userId
                 * @param start
                 * @param limit
                 * @param starterOrSubjectFilter
                 * @param timeFilter
                 * @param paramFilter
                 * @return
                 */
                getApplyedProcessAssistantDatas?(userId:long,start:number,limit:number,starterOrSubjectFilter:string,timeFilter:string,paramFilter:$.java.util.Map):$.java.util.List;
                jumpToNodeWithReason?(procInstId:long,destId:string,srcId:string,reason:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 撤回转交任务
                 * @param taskId
                 * @param ownerId
                 * @return
                 */
                withdrawTransferTask?(taskId:long,ownerId:long):$.java.util.Map;
                /**
                 * 完成任务，并记录审批意见
                 * @param taskId 任务ID
                 * @param userId 处理人ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 * @param variables 提交参数信息
                 */
                completeTask(taskId:long,userId:long,decOptionNumber:string,auditMessage:string,variables:$.java.util.Map):void;
                /**
                 * 会审节点动态增加实例个数,根据参与人增加
                 * @param businesskey
                 * @param nodeId
                 * @param userIds
                 */
                addJointAuditParticipants?(businesskey:string,nodeId:string,userIds:$.java.util.List,variables:$.java.util.Map):void;
                /**
                 * 描述:获取当前人的所有任务
                 * @param start
                 * @param limit
                 * @param uid
                 * @return
                 */
                getToHandleTasksByUserId(start:number,limit:number,uid:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * @author RD_li_fei
                 *
                 * 新增任务审批信息
                 */
                addTaskComment?(comment:kd.bos.workflow.engine.task.Comment):void;
                /**
                 * @author huhaiyang
                 * 撤回协办任务回复
                 * @param taskId
                 * @param ownerId
                 * @return
                 */
                withdrawCoordinateTaskReply?(historicTaskId:long,userId:long):void;
                /**
                 *  根据流程信息创建流程实例
                 * @param processInstData
                 * @return
                 */
                makeProcessInst?(processInstData:kd.bos.workflow.engine.process.ProcessInstData):void;
                /**
                 * 修改对应任务的参与人
                 * @param taskId 任务ID
                 * @param userIds 新参与人ID
                 */
                updateParticipant(taskId:long,userIds:$.java.util.List):void;
                /**
                 * 业务手动解挂
                 * @param taskId
                 * @param userId
                 * @return
                 */
                activateTaskById?(taskId:long,userId:long):$.java.util.Map;
                /**
                 * @author wangxk
                 * 根据方案id获取流程方案
                 * @param schemeId
                 * @return
                 */
                getProcSchemeBySchemeId?(schemeId:long):$.java.util.Map;
                batchCompleteCompositeTasks?(variables:$.java.util.Map):void;
                /**
                 * 根据taskId获取节点单据界面属性接口
                 */
                getBillPageAttributeConfig?(taskId:long,type_arg:string):kd.bos.workflow.engine.dynprocess.billpage.BillPageAttributeConfig;
                viewFlowchartWithEntityNumber(pageId:string,entityNumber:string,billId:any,style:$.kd.bos.form.OpenStyle):void;
                getNextMandatoryNodes?(taskId:long):$.java.util.List;
                /**
                 * 打开单据关系图
                 * @param pageId
                 * @param billCards
                 * @param currentEntityNumber
                 * @param currentBusinessKey
                 */
                showBillRelationGraph?(pageId:string,billCards:$.java.util.List,currentEntityNumber:string,currentBusinessKey:string):void;
                /**
                 * @author RD_li_fei
                 *
                 * 根据单据id和实体编码获取流程实例id
                 */
                getProcessInstanceIdByBusinessKeyAndEntityNumber?(businessKey:string,entityNumber:string):long;
                /**
                 * 描述：根据流程实例id撤回流程
                 * @param processInstanceId
                 */
                canWithdrawByProcessInstanceId?(processInstanceId:long):$.java.util.Map;
                /**
                 * 根据businessKeys批量处理任务，需要传入审批人，批量审批决策类型，审批意见
                 * @param businessKeys
                 * @param param
                 * @return
                 */
                batchAuditByBusinesskeys?(businessKeys:$.java.util.List,param:$.java.util.Map):$.java.util.Map;
                /**
                 * 废弃流程，如果disableProcDefinition为true，则同时禁用流程定义
                 * @param modelIds
                 * @param disableProcDefinition
                 * @param terminalProcInst
                 */
                discardProcesses?(modelIds:$.java.util.List,disableProcDefinition:boolean,terminalProcInst:boolean):void;
                /**
                 * 获取流程主题
                 * @param businessKey
                 * @return
                 */
                getProcessSubjectByBusinessKey?(businessKey:string):$.kd.bos.dataentity.entity.ILocaleString;
                getRejectInnerNodes?(procinstId:long,activityId:string):$.java.util.List;
                /**
                 * 任务传阅
                 * @param taskId	任务id
                 * @param userIds 发送给谁的userid,并非openid
                 * @param circulationMsg 发送的消息
                 * @param senderUserId 发送人的userid,并非openid
                 * 返回一个map 成功or失败的信息 需要校验传递的senderUserId是否在该任务的处理人中
                 */
                taskCirculate?(taskId:long,userIds:$.java.util.List,circulationMsg:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * 描述：根据businessKey、userId撤回（最近一次已办）任务
                 * @param businessKey 业务主键
                 * @param userId 用户id
                 * 建议：捕获异常信息
                 */
                withdrawTaskByBusinessKeyAndUserId?(businessKey:string,userId:long):void;
                /**
                 * 查看程图
                 * @param pageId
                 * @param billId
                 * @param style
                 */
                viewFlowchart(pageId:string,billId:any,style:$.kd.bos.form.OpenStyle):void;
            }
            type IWorkflowService_T = IWorkflowService$;
            interface IWorkflowService extends IWorkflowService_T {
            }
            interface INoCodeWorkflowService_S {
            }
            interface INoCodeWorkflowService_C extends INoCodeWorkflowService_S {
            }
            interface INoCodeWorkflowService$ {
                /**
                 * 描述：判断某个流程实例是否在流程中
                 * @param processInstanceId 流程实例id
                 * @return
                 */
                inProcessByProcessInstanceId(processInstanceId:long):boolean;
                /**
                 * 描述:无代码平台_根据流程编码查询流程实例数量
                 * @param processCode 流程编码
                 * @return
                 */
                getNoCodeFlowProcessInstanceCountByProcessCode(processCode:string):long;
                /**
                 * 根据entityNumber或businessKey查询流程实例数量接口
                 * @param entityNumber
                 * @param businessKey
                 * @return
                 */
                getProcessInstanceCountByEntityNumberOrBusinessKey(entityNumber:string,businessKey:string):long;
                /**
                 * 根据triggerMode触发对应所有流程定义的最新版本流程
                 * @param entityNumber
                 * @param billId
                 * @param triggerMode
                 */
                tryTriggerProcessByTriggerMode(entityNumber:string,billId:string,triggerMode:string):void;
                /**
                 * 描述:无代码平台_根据单据id集合查询在流程中的状态
                 * @param businessKeys
                 * @return
                 */
                getNoCodeFlowBizProcessStatus(businessKeys:string[]):$.java.util.Map;
                /**
                 * 描述:无代码平台_获取在办申请
                 * @param start
                 * @param limit
                 * @param uid
                 * @param sqlFilterMap
                 * @return
                 */
                getNoCodeFlowApplyTasksByStartId(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据entityNumber查询流程定义ids接口
                 * @param entityNumber
                 * @return
                 */
                getProcDefIdsByEntityNumber(entityNumber:string):$.java.util.List;
                /**
                 * 导入流程
                 * @param content
                 */
                importProcessFileContent(content:string):$.java.util.Map;
                /**
                 * 获取某类型的所有流程（不包括流程资源）
                 * @param procType
                 * @param appOrCloudId
                 * @return
                 */
                getAllProcesses(procType:string,appOrCloudId:string):$.java.util.List;
                /**
                 * 通过实体编码和触发方式获取满足条件的流程定义列表
                 * @param entityNumber
                 * @param triggerMode
                 * @return
                 */
                getProcessDefinitionsByTriggerMode(entityNumber:string,triggerMode:string):$.java.util.List;
                /**
                 * 根据流程定义id删除流程定义，流程实例相关内容
                 * @param procDefId
                 */
                deleteProcessByProcDefId(procDefId:long):void;
                /**
                 * 获取节点宏
                 * @param modelJson
                 * @param macroType
                 * @return
                 */
                getNodeMacros(modelJson:string,macroType:string):$.java.util.List;
                /**
                 * 获取流程导出文件内容
                 * @param modelId
                 * @return
                 */
                getExportedProcessFileContent?(modelId:long):string;
                /**
                 * 根据流程模型id查询流程定义ids
                 * @param modelId
                 * @return
                 */
                getProcDefIdsByModelId(modelId:long):$.java.util.List;
                /**
                 * 根据流程模型ID触发对应的最新版本流程
                 * @param modelId
                 * @param businessKey
                 * @param operation
                 */
                tryTriggerProcess(modelId:long,businessKey:string,operation:string):void;
                /**
                 * 描述:无代码平台_获取已办任务
                 * @param start
                 * @param limit
                 * @param uid
                 * @param sqlFilterMap
                 * @return
                 */
                getNoCodeFlowHandledTasksByUserId(start:number,limit:number,uid:string,sqlFilterMap:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 描述:无代码平台_获取任务数量
                 * @param userId
                 * @return
                 */
                getNoCodeFlowTaskCounts(userId:string):$.java.util.Map;
                /**
                 * 获取流程模板预置SQL
                 * @param templateId
                 * @return
                 */
                getProcTemplatePresetSQL?(templateId:long):string;
                /**
                 * 根据流程定义id查询流程实例数量接口
                 * @param procDefId
                 * @return
                 */
                getProcessInstanceCountByProcDefId(procDefId:long):long;
                /**
                 * 描述:无代码平台_获取待办任务，已办任务，在办申请，已办申请的数量
                 * @param uid
                 * @param type
                 * @return
                 */
                getNoCodeFlowTaskCountByType(uid:string,type_arg:string):long;
                /**
                 * 根据流程定义id查询流程实例ids接口：带分页，限制一次最多一万条
                 * @param start
                 * @param limit
                 * @param procDefId
                 * @return
                 */
                getProcInstIdsByProcDefId(start:number,limit:number,procDefId:long):$.java.util.List;
                /**
                 * 根据流程实例id删除流程实例接口
                 * @param procInstId
                 */
                deleteProcessInstanceInfoByProcInstId(procInstId:long):void;
                /**
                 * 将模型保存为模板
                 * @param appId
                 * @param modelIds
                 * @param entityMap
                 * @return
                 */
                saveProcessesAsTemplates?(appId:string,modelIds:$.java.util.List,entityMap:$.java.util.Map,roleMap:$.java.util.Map):$.java.util.Map;
                /**
                 * 根据模板创建流程到指定应用分类下
                 * @param appId
                 * @param templateIds
                 * @param entityMap 新旧实体id的对应关系，用于替换新创建流程中的实体信息
                 * @return
                 */
                createProcessesByTemplates?(appId:string,templateIds:$.java.util.List,entityMap:$.java.util.Map,roleMap:$.java.util.Map):$.java.util.Map;
                /**
                 * 描述:无代码平台_根据businessKey查询审批记录
                 * @param businessKey
                 * @param entityNumber
                 * @return
                 */
                getNoCodeFlowApprovalRecordsFromDetailLog(businessKey:string,entityNumber:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 查询某应用下的流程模板
                 * @param appId
                 * @return
                 */
                getProcessTemplatesByAppId(appId:string):$.java.util.List;
                /**
                 * 描述:无代码平台_获取已办申请
                 * @param userId
                 * @param start
                 * @param limit
                 * @param starterOrSubjectFilter
                 * @param timeFilter
                 * @param paramFilter
                 * @return
                 */
                getNoCodeFlowApplyedProcessAssistantCollection(userId:long,start:number,limit:number,starterOrSubjectFilter:string,timeFilter:string,paramFilter:$.java.util.Map):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 描述:无代码平台_根据流程编码查询流程实例信息
                 * @param processCode 流程编码
                 * @return
                 */
                getNoCodeFlowProcessInstanceInfoByProcessCode(start:number,limit:number,processCode:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 获取节点宏
                 * @param modelId
                 * @param macroType
                 * @return
                 */
                getNodeMacros(modelId:long,macroType:string):$.java.util.List;
                /**
                 * 创建空白流程资源
                 * @param procType
                 * @param config
                 * @return
                 */
                createBlankProcessResource(procType:string,config:$.java.util.Map):string;
                /**
                 * 描述:无代码平台_获取待办任务
                 * @param start
                 * @param limit
                 * @param uid
                 * @return
                 */
                getNoCodeFlowToHandleTasksByUserId(start:number,limit:number,uid:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据流程实例ID获取businessKey
                 * @param processInstanceId
                 * @return
                 */
                getBusinessKeyByProcessInstanceId?(processInstanceId:long):string;
                /**
                 * 根据模型ID删除未发布的流程相关内容
                 * @param modelId
                 */
                deleteProcessByModelId?(modelId:long):boolean;
                /**
                 * 删除流程模板
                 * @param templateIds
                 */
                deleteProcessTemplates(templateIds:$.java.util.List):void;
                /**
                 * 根据entityNumber或businessKey查询流程实例ids接口
                 * @param entityNumber
                 * @param businessKey
                 * @return
                 */
                getProcInstIdsByEntityNumberOrBusinessKey(start:number,limit:number,entityNumber:string,businessKey:string):$.java.util.List;
                /**
                 * 导入流程
                 * @param content
                 * @param forceNew
                 */
                importProcessFileContent(content:string,forceNew:boolean):$.java.util.Map;
                /**
                 * 获取流程发起人信息
                 * @param procInstIds
                 * @return
                 */
                getProcessesInitiator(procInstIds:$.java.util.List):$.java.util.Map;
                /**
                 * 获取节点宏
                 * @param procType 流程类型
                 * @param nodeJson 节点JSON
                 * @param macroType 宏
                 * @return
                 */
                getNodeMacros(procType:string,nodeJson:string,macroType:string):$.java.util.List;
            }
            type INoCodeWorkflowService_T = INoCodeWorkflowService$;
            interface INoCodeWorkflowService extends INoCodeWorkflowService_T {
            }
            interface MessageRequestInfo_S {
            }
            type MessageRequestInfo_ST = $.java.io.Serializable & MessageRequestInfo_S;
            interface MessageRequestInfo_C extends MessageRequestInfo_ST {
                new():MessageRequestInfo;
            }
            interface MessageRequestInfo$ {
                /**
                 * 获取开始数据位置，用于分页查询
                 * @return start
                 */
                getStart():number;
                /**
                 * 获取消息链接状态 :  text-文本消息,link-链接消息,all-全部消息
                 * @return linkMsgType
                 */
                getLinkMsgType():string;
                /**
                 * 设置业务标签，支持模糊查询
                 * @param tag
                 */
                setTag(tag:string):void;
                /**
                 * 设置来源
                 * @param source
                 */
                setSource(source:string):void;
                /**
                 * 设置实体编码
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置消息标题，支持模糊查询
                 * @param title
                 */
                setTitle(title:string):void;
                /**
                 * 设置苍穹用户id
                 * @param userId
                 */
                setUserId(userId:long):void;
                /**
                 * 设置开始数据位置，用于分页查询
                 * @param start
                 */
                setStart(start:number):void;
                /**
                 * 获取实体编码
                 * @return entityNumber
                 */
                getEntityNumber():string;
                /**
                 * 消息阅读状态  true 选择未读 ,false 选择全部
                 * @return unread
                 */
                getUnread():boolean;
                /**
                 * 设置消息链接状态 :  text-文本消息,link-链接消息,all-全部消息
                 * @param linkMsgType
                 */
                setLinkMsgType(linkMsgType:string):void;
                /**
                 * 设置消息阅读状态  true 选择未读 ,false 选择全部
                 * @param unread
                 */
                setUnread(unread:boolean):void;
                /**
                 * 设置结束数据位置，用于分页查询(注意不是分页页数)
                 * @param limit
                 */
                setLimit(limit:number):void;
                /**
                 * 获取苍穹用户id
                 * @return userId
                 */
                getUserId():long;
                /**
                 * 获取消息类型，消息所属类型
                 * @return msgType
                 */
                getMsgType():string;
                /**
                 * 设置消息类型，消息所属类型
                 * @param msgType
                 */
                setMsgType(msgType:string):void;
                /**
                 * 获取消息标题，支持模糊查询
                 * @return title
                 */
                getTitle():string;
                /**
                 * 获取业务标签，支持模糊查询
                 * @return tag
                 */
                getTag():string;
                /**
                 * 获取结束数据位置
                 * @return limit
                 */
                getLimit():number;
                /**
                 * 获取来源
                 * @return source
                 */
                getSource():string;
            }
            type MessageRequestInfo_T = $.java.io.Serializable & MessageRequestInfo$;
            interface MessageRequestInfo extends MessageRequestInfo_T {
            }
            interface NodeTemplate_S {
            }
            type NodeTemplate_ST = $.java.io.Serializable & NodeTemplate_S;
            interface NodeTemplate_C extends NodeTemplate_ST {
                new():NodeTemplate;
                /**
                 * 构造方法
                 * @param stencilType 继承自哪个节点模板
                 * @param name 节点模板名称
                 * @param number 节点模板编码
                 * @param properties 节点模板的修改的继承节点的属性
                 * @param bizIdentification 业务标识
                 * @param appId 应用id
                 */
                new(stencilType:string,name:string,number_arg:string,properties:string,bizIdentification:string,appId:string):NodeTemplate;
            }
            interface NodeTemplate$ {
                /**
                 * 得到分组id
                 * @return 分组id
                 */
                getGroupId():string;
                /**
                 * 版本
                 * @return 版本
                 */
                getVersion():string;
                /**
                 * 设置状态
                 * @param status
                 */
                setStatus(status:string):void;
                /**
                 * 设置云id
                 * @param cloudId 云id
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 拿到流程类型
                 * @return 流程类型
                 */
                getProcessType():string;
                /**
                 * 设置节点的继承自节点的值
                 * @param stencilType 继承自的节点编码
                 */
                setStencilType(stencilType:string):void;
                /**
                 * 设置流程类型
                 * @param processType节点流程类型
                 */
                setProcessType(processType:string):void;
                /**
                 * 得到单据实体id
                 * @return 单据实体id
                 */
                getEntityId():string;
                /**
                 * 设置节点业务标识
                 * @param bizIdentification节点业务标识
                 */
                setBizIdentification(bizIdentification:string):void;
                /**
                 * 拿到应用id
                 * @return 应用id
                 */
                getAppId():string;
                /**
                 * 得到状态
                 * @return 获得状态
                 */
                getStatus():string;
                /**
                 * 设置分组id
                 * @param groupId分组id
                 */
                setGroupId(groupId:string):void;
                /**
                 * 拿到节点属性
                 * @return 节点属性
                 */
                getProperties():string;
                /**
                 * 设置云id流程类型版本
                 * @param version节点模板版本
                 */
                setVersion(version:string):void;
                /**
                 * 设置节点名称
                 * @param name节点名称
                 */
                setName(name:string):void;
                /**
                 * 拿到节点编码
                 * @return 节点编码
                 */
                getNumber():string;
                /**
                 * 拿到云id
                 * @return 云id
                 */
                getCloudId():string;
                /**
                 * 拿到业务标识
                 * @return 业务标识
                 */
                getBizIdentification():string;
                /**
                 * 得到是否可用
                 * @return 是否可用
                 */
                getEnable():string;
                /**
                 * 获取属性定义
                 * @return 属性定义
                 */
                getPropsDefinition():string;
                /**
                 * 拿到节点名称
                 * @return 节点名称
                 */
                getName():string;
                /**
                 * 设置节点应用id
                 * @param appId 应用id
                 */
                setAppId(appId:string):void;
                /**
                 * 设置节点编码
                 * @param number节点编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置属性定义
                 * @param propsDefinition 属性定义
                 */
                setPropsDefinition(propsDefinition:string):void;
                /**
                 * 设置节点属性
                 * @param properties节点属性
                 */
                setProperties(properties:string):void;
                /**
                 * 设置单据实体id
                 * @param entityId单据实体id
                 */
                setEntityId(entityId:string):void;
                /**
                 * 拿到节点的继承自的节点
                 * @return 继承自的节点编码
                 */
                getStencilType():string;
                /**
                 * 设置是否可用
                 * @param enable是否可用
                 */
                setEnable(enable:string):void;
            }
            type NodeTemplate_T = $.java.io.Serializable & NodeTemplate$;
            interface NodeTemplate extends NodeTemplate_T {
            }
            interface IBusinessContext_S {
            }
            interface IBusinessContext_C extends IBusinessContext_S {
            }
            interface IBusinessContext$ {
                getBusinessKey():string;
                getEntityNumber():string;
            }
            type IBusinessContext_T = IBusinessContext$;
            interface IBusinessContext extends IBusinessContext_T {
            }
            interface ViewFlowChartPermParam_S {
            }
            type ViewFlowChartPermParam_ST = $.java.io.Serializable & ViewFlowChartPermParam_S;
            interface ViewFlowChartPermParam_C extends ViewFlowChartPermParam_ST {
                new():ViewFlowChartPermParam;
            }
            interface ViewFlowChartPermParam$ {
                setBillPK(billPK:string):this;
                getBillPK():string;
                setCurrentUserId(currentUserId:long):this;
                getProcessInstanceOrgViewList():$.java.util.List;
                setProcessInstanceOrgViewList(processInstanceMainOrgViewList:$.java.util.List):this;
                getCurrentUserId():long;
                getEntityNumber():string;
                setEntityNumber(entityNumber:string):this;
            }
            type ViewFlowChartPermParam_T = $.java.io.Serializable & ViewFlowChartPermParam$;
            interface ViewFlowChartPermParam extends ViewFlowChartPermParam_T {
            }
            interface BizProcessStatus_S {
            }
            type BizProcessStatus_ST = $.java.io.Serializable & BizProcessStatus_S;
            interface BizProcessStatus_C extends BizProcessStatus_ST {
                /**
                 * 流程中状态
                 * @param processStatus 流程状态 ACTIVE-正在运行 SUSPENSION-挂起
                 * @param processStatusName 状态名称	正在运行/挂起
                 * @param processInstanceId 流程实例ID
                 */
                new(processStatus:string,processStatusName:string,processInstanceId:long):BizProcessStatus;
                /**
                 * 流程中状态
                 * @param processStatus  流程状态 ACTIVE-正在运行 SUSPENSION-挂起
                 * @param processStatusName  状态名称	正在运行/挂起
                 * @param participantName 参与人名称	多个人以逗号隔开
                 * @param currentNodeName 当前节点名称
                 */
                new(processStatus:string,processStatusName:string,participantName:string,currentNodeName:string):BizProcessStatus;
            }
            interface BizProcessStatus$ {
                /**
                 * 获取流程实例ID
                 * @return
                 */
                getProcessInstanceId():long;
                /**
                 * 获取流程状态
                 * @return  ACTIVE-正在运行 SUSPENSION-挂起
                 */
                getProcessStatus():string;
                /**
                 * 获取状态名称
                 * @return	正在运行/挂起
                 */
                getProcessStatusName():string;
                /**
                 * 设置当前节点名称
                 * @param currentNodeName
                 */
                setCurrentNodeName(currentNodeName:string):void;
                /**
                 * 获取参与人名称
                 * @return	多个人以逗号隔开
                 */
                getParticipantName():string;
                /**
                 * 设置参与人名称
                 * @param participantName
                 */
                setParticipantName(participantName:string):void;
                /**
                 * 设置流程实例ID
                 * @param processInstanceId
                 */
                setProcessInstanceId(processInstanceId:long):void;
                /**
                 * 设置状态名称
                 * @param processStatusName
                 */
                setProcessStatusName(processStatusName:string):void;
                /**
                 * 设置流程状态
                 * @param processStatus
                 */
                setProcessStatus(processStatus:string):void;
                /**
                 * 获取当前节点名称
                 * @return
                 */
                getCurrentNodeName():string;
            }
            type BizProcessStatus_T = $.java.io.Serializable & BizProcessStatus$;
            interface BizProcessStatus extends BizProcessStatus_T {
            }
            interface WorkflowElement_S {
            }
            interface WorkflowElement_C extends WorkflowElement_S {
            }
            interface WorkflowElement$ {
                /**
                 * 获取扩展的模型的上属性值
                 * @param value 扩展模型的属性
                 * @return 扩展模型的属性值
                 */
                getExtPropValue?(value:string):any;
                /**
                 * 获取ID
                 * @return ID
                 */
                getId():string;
                /**
                 * 获取节点类型
                 * @return 节点类型
                 */
                getType?():string;
                /**
                 * 获取业务标识
                 * @return 业务标识
                 */
                getBizIdentifyKey?():string;
                /**
                 * 获取编码
                 * @return 编码
                 */
                getNumber():string;
                /**
                 * 获取自定义参数的属性值
                 * @param value 参数
                 * @return 参数属性值
                 */
                getCustomPropValue?(value:string):any;
                /**
                 * 获取名称
                 * @return 名称
                 */
                getName?():string;
                /**
                 * 获取决策项
                 * @return 决策项
                 */
                getDecisionOptions?():$.java.util.List;
                /**
                 * 获取节点的属性值
                 * @param propertyName 节点属性
                 * @return 节点属性值
                 */
                getPropertyValue(propertyName:string):any;
            }
            type WorkflowElement_T = WorkflowElement$;
            interface WorkflowElement extends WorkflowElement_T {
            }
            interface BatchResult$ItemResult_S {
            }
            type BatchResult$ItemResult_ST = $.java.io.Serializable & BatchResult$ItemResult_S;
            interface BatchResult$ItemResult_C extends BatchResult$ItemResult_ST {
                new(arg0:any,arg1:boolean):BatchResult$ItemResult;
                new(arg0:any,arg1:boolean,arg2:string):BatchResult$ItemResult;
            }
            interface BatchResult$ItemResult$ {
                getData():any;
                setSuccess(arg0:boolean):void;
                setErrorMessage(arg0:string):void;
                setData(arg0:any):void;
                getErrorMessage():string;
                isSuccess():boolean;
            }
            type BatchResult$ItemResult_T = $.java.io.Serializable & BatchResult$ItemResult$;
            interface BatchResult$ItemResult extends BatchResult$ItemResult_T {
            }
        }
        namespace kd.bos.workflow.api.constants{
            class WFAuditResultTypeEnum {
                static readonly terminate:kd.bos.workflow.api.constants.WFAuditResultTypeEnum;
                static readonly approve:kd.bos.workflow.api.constants.WFAuditResultTypeEnum;
                static readonly reject:kd.bos.workflow.api.constants.WFAuditResultTypeEnum;
                static valueOf(arg0:string):kd.bos.workflow.api.constants.WFAuditResultTypeEnum;
                static values():kd.bos.workflow.api.constants.WFAuditResultTypeEnum[];
                getValue():string;
            }
            class WFTaskResultEnum {
                static readonly auditMessage:kd.bos.workflow.api.constants.WFTaskResultEnum;
                static readonly auditType:kd.bos.workflow.api.constants.WFTaskResultEnum;
                static readonly auditNumber:kd.bos.workflow.api.constants.WFTaskResultEnum;
                static readonly auditName:kd.bos.workflow.api.constants.WFTaskResultEnum;
                static values():kd.bos.workflow.api.constants.WFTaskResultEnum[];
                static valueOf(arg0:string):kd.bos.workflow.api.constants.WFTaskResultEnum;
                getValue():string;
            }
        }
        namespace kd.bos.workflow.api.model{
            interface ProcessModel_S {
            }
            type ProcessModel_ST = $.java.io.Serializable & ProcessModel_S;
            interface ProcessModel_C extends ProcessModel_ST {
                new():ProcessModel;
            }
            interface ProcessModel$ {
                /**
                 * 设置流程所属组织
                 * @param orgId 所属组织
                 */
                setOrgId(orgId:long):void;
                /**
                 * 设置流程所属的云ID
                 * @param cloudId 流程所属的云ID
                 */
                setCloudId(cloudId:string):void;
                /**
                 * 设置流程类型
                 * @param type 流程类型 AuditFlow审批流/BizFlow业务流
                 */
                setType(type_arg:string):void;
                /**
                 * 设置流程触发操作
                 * @param operation 流程触发操作
                 */
                setOperation(operation:string):void;
                /**
                 * 设置流流程所属的应用ID
                 * @param appId 流程所属的应用ID
                 */
                setAppId(appId:string):void;
                /**
                 * 获取流程标识
                 * @return 流程标识
                 */
                getBusinessId():string;
                /**
                 * 获取流程所属的应用ID
                 * @return 流程所属的应用ID
                 */
                getAppId():string;
                /**
                 * 获取流程编码
                 * @return 流程编码
                 */
                getNumber():string;
                /**
                 * 获取流程名称
                 * @return 流程名称
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置流程的实体编码
                 * @param entityNumber 流程的实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取流程所属组织
                 * @return 所属组织
                 */
                getOrgId():long;
                /**
                 * 设置流程名称
                 * @param name 流程名称
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取流程的实体编码
                 * @return 流程的实体编码
                 */
                getEntityNumber():string;
                /**
                 * 获取流程数据
                 * @return  流程数据，JSON格式
                 */
                getData():string;
                /**
                 * 设置流程模型ID
                 * @param 流程模型ID
                 */
                setId(id:long):void;
                /**
                 * 获取流程触发操作
                 * @return 流程触发操作
                 */
                getOperation():string;
                /**
                 * 获取流程所属的云ID
                 * @return 流程所属的云ID
                 */
                getCloudId():string;
                /**
                 * 获取流程模型ID
                 * @return 流程模型ID
                 */
                getId():long;
                /**
                 * 设置流程据
                 * @param data 流程数据，JSON格式
                 */
                setData(data:string):void;
                /**
                 * 获取流程类型
                 * @return 流程类型
                 */
                getType():string;
                /**
                 * 获取流程的实体ID
                 * @return 流程的实体ID
                 */
                getEntityId():string;
                /**
                 * 设置流程描述
                 * @param description 流程描述
                 */
                setDescription(description:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置流程编码
                 * @param number 流程编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置流程的实体ID
                 * @param entityId 流程的实体ID
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取流程描述
                 * @return 流程描述
                 */
                getDescription():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置流程标识
                 * @param businessId 流程标识
                 */
                setBusinessId(businessId:string):void;
            }
            type ProcessModel_T = $.java.io.Serializable & ProcessModel$;
            interface ProcessModel extends ProcessModel_T {
            }
            interface NodeMacro_S {
            }
            type NodeMacro_ST = $.java.io.Serializable & NodeMacro_S;
            interface NodeMacro_C extends NodeMacro_ST {
                new():NodeMacro;
            }
            interface NodeMacro$ {
                setNumber(number_arg:string):void;
                setNodeId(nodeId:string):void;
                getName():string;
                setItems(items:$.java.util.List):void;
                getNumber():string;
                setName(name:string):void;
                getItems():$.java.util.List;
                getNodeId():string;
            }
            type NodeMacro_T = $.java.io.Serializable & NodeMacro$;
            interface NodeMacro extends NodeMacro_T {
            }
            interface NodeProperty_S {
            }
            type NodeProperty_ST = $.java.io.Serializable & NodeProperty_S;
            interface NodeProperty_C extends NodeProperty_ST {
                new():NodeProperty;
            }
            interface NodeProperty$ {
                /**
                 * 获取分组名称
                 * @return
                 */
                getGroupName():string;
                /**
                 * 获取编码
                 * @return
                 */
                getNumber():string;
                /**
                 * 设置名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 获取默认值
                 * @return
                 */
                getDefaultValue():any;
                /**
                 * 设置默认值
                 * @param defaultValue
                 */
                setDefaultValue(defaultValue:any):void;
                /**
                 * 获取属性配置
                 * @return
                 */
                getConfig():$.java.util.Map;
                /**
                 * 获取名称
                 * @return
                 */
                getName():string;
                /**
                 * 设置属性配置
                 * @param config
                 */
                setConfig(config:$.java.util.Map):void;
                /**
                 * 设置编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置分组编码
                 * @param groupNumber
                 */
                setGroupNumber(groupNumber:string):void;
                /**
                 * 获取分组编码
                 * @return
                 */
                getGroupNumber():string;
                /**
                 * 设置分组名称
                 * @param groupName
                 */
                setGroupName(groupName:string):void;
            }
            type NodeProperty_T = $.java.io.Serializable & NodeProperty$;
            interface NodeProperty extends NodeProperty_T {
            }
            interface ProcPublishResult_S {
            }
            type ProcPublishResult_ST = $.java.io.Serializable & ProcPublishResult_S;
            interface ProcPublishResult_C extends ProcPublishResult_ST {
                new():ProcPublishResult;
            }
            interface ProcPublishResult$ {
                isSuccess():boolean;
                setSuccess(success:boolean):void;
                getValidateResult():$.java.util.List;
                setValidateResult(validateResult:$.java.util.List):void;
                setProcDefId(procDefId:long):void;
                getProcDefId():long;
            }
            type ProcPublishResult_T = $.java.io.Serializable & ProcPublishResult$;
            interface ProcPublishResult extends ProcPublishResult_T {
            }
            interface ProcessDefinitionInfo_S {
            }
            type ProcessDefinitionInfo_ST = $.java.io.Serializable & ProcessDefinitionInfo_S;
            interface ProcessDefinitionInfo_C extends ProcessDefinitionInfo_ST {
                new():ProcessDefinitionInfo;
            }
            interface ProcessDefinitionInfo$ {
                /**
                 * 获取流程类型
                 * @return 流程类型，审批流AuditFlow，业务流BizFlow，无代码流程NoCodeFlow
                 */
                getProcessType():string;
                /**
                 * 设置实体编码
                 * @param entityNumber 实体编码
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 获取流程名称
                 * @return 流程名称
                 */
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置触发操作
                 * @param operation 触发操作（多个操作时以逗号分隔）
                 */
                setOperation(operation:string):void;
                /**
                 * 获取模型ID
                 * @return 模型ID
                 */
                getModelId():long;
                /**
                 * 设置流程类型
                 * @param processType 流程类型，审批流AuditFlow，业务流BizFlow，无代码流程NoCodeFlow
                 */
                setProcessType(processType:string):void;
                /**
                 * 设置实体ID
                 * @param entityId 实体ID
                 */
                setEntityId(entityId:string):void;
                /**
                 * 获取实体编码
                 * @return 实体编码
                 */
                getEntityNumber():string;
                /**
                 * 设置组织ID
                 * @param orgId 组织ID
                 */
                setOrgId(orgId:long):void;
                /**
                 * 设置流程编码
                 * @param number 流程编码
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置创建时间
                 * @param createDate 创建时间
                 */
                setCreateDate(createDate:Date):void;
                /**
                 * 设置创建人ID
                 * @param creatorId 创建人ID
                 */
                setCreatorId(creatorId:long):void;
                /**
                 * 获取版本号，
                 * @return 版本号，例如：0001
                 */
                getVersion():string;
                /**
                 * 获取组织ID
                 * @return 组织ID
                 */
                getOrgId():long;
                /**
                 * 获取实体ID
                 * @return 实体ID
                 */
                getEntityId():string;
                /**
                 * 设置版本号
                 * @param version 版本号，例如：0001
                 */
                setVersion(version:string):void;
                /**
                 * 设置流程资源
                 * @param data 流程资源
                 */
                setData(data:string):void;
                /**
                 * 流程资源，批量返回时此数据无值
                 * @return 流程资源
                 */
                getData():string;
                /**
                 * 获取触发操作
                 * @return 触发操作
                 */
                getOperation():string;
                /**
                 * 设置流程名称
                 * @param name 流程名称
                 */
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置模型ID
                 * @param modelId 模型ID
                 */
                setModelId(modelId:long):void;
                /**
                 * 设置版本状态
                 * @param versionState 版本状态，最新版（newest）或历史版（historical）
                 */
                setVersionState(versionState:string):void;
                /**
                 * 获取版本状态
                 * @return 版本状态，最新版（newest）或历史版（historical）
                 */
                getVersionState():string;
                /**
                 * 获取状态
                 * @return 状态，启用（enable）或禁用（disable）
                 */
                getState():string;
                /**
                 * 获取流程编码
                 * @return 流程编码
                 */
                getNumber():string;
                /**
                 * 获取流程定义ID
                 * @return 流程定义ID
                 */
                getId():long;
                /**
                 * 设置流程定义ID
                 * @param id 流程定义ID
                 */
                setId(id:long):void;
                /**
                 * 创建人ID
                 * @return 创建人ID
                 */
                getCreatorId():long;
                /**
                 * 创建时间
                 * @return 创建时间
                 */
                getCreateDate():Date;
                /**
                 * 设置状态
                 * @param state 状态，启用（enable）或禁用（disable）
                 */
                setState(state:string):void;
            }
            type ProcessDefinitionInfo_T = $.java.io.Serializable & ProcessDefinitionInfo$;
            interface ProcessDefinitionInfo extends ProcessDefinitionInfo_T {
            }
            interface ValidateResultItem_S {
            }
            type ValidateResultItem_ST = $.java.io.Serializable & ValidateResultItem_S;
            interface ValidateResultItem_C extends ValidateResultItem_ST {
                new():ValidateResultItem;
            }
            interface ValidateResultItem$ {
                setProperty(property:string):void;
                getNodeName():string;
                getMessage():string;
                setMessage(message:string):void;
                getNodeId():string;
                setNodeId(nodeId:string):void;
                getProperty():string;
                setNodeName(nodeName:string):void;
            }
            type ValidateResultItem_T = $.java.io.Serializable & ValidateResultItem$;
            interface ValidateResultItem extends ValidateResultItem_T {
            }
            interface MacroItem_S {
            }
            type MacroItem_ST = $.java.io.Serializable & MacroItem_S;
            interface MacroItem_C extends MacroItem_ST {
                new():MacroItem;
            }
            interface MacroItem$ {
                getName():string;
                getDataType():string;
                setName(name:string):void;
                getNumber():string;
                setDataType(dataType:string):void;
                setNumber(number_arg:string):void;
            }
            type MacroItem_T = $.java.io.Serializable & MacroItem$;
            interface MacroItem extends MacroItem_T {
            }
            interface ProcessNode_S {
            }
            type ProcessNode_ST = $.java.io.Serializable & ProcessNode_S;
            interface ProcessNode_C extends ProcessNode_ST {
                new():ProcessNode;
            }
            interface ProcessNode$ {
                /**
                 * 设置节点模板
                 * @param stencilType
                 */
                setStencilType(stencilType:string):void;
                /**
                 * 获取节点分组编码
                 * @return
                 */
                getGroupNumber():string;
                /**
                 * 设置节点编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取节点模板
                 * @return
                 */
                getStencilType():string;
                /**
                 * 获取节点属性
                 * @return
                 */
                getProperties():$.java.util.List;
                /**
                 * 获取节点分组名称
                 * @param stencilType
                 */
                getGroupName():string;
                /**
                 * 设置节点名称
                 * @param name
                 */
                setName(name:string):void;
                /**
                 * 设置节点属性
                 * @param properties
                 */
                setProperties(properties:$.java.util.List):void;
                /**
                 * 获取节点名称
                 * @return
                 */
                getName():string;
                /**
                 * 设置节点分组名称
                 * @param stencilType
                 */
                setGroupName(groupName:string):void;
                /**
                 * 设置节点分组编码
                 * @param groupNumber
                 */
                setGroupNumber(groupNumber:string):void;
                /**
                 * 获取节点编码
                 * @return
                 */
                getNumber():string;
            }
            type ProcessNode_T = $.java.io.Serializable & ProcessNode$;
            interface ProcessNode extends ProcessNode_T {
            }
            interface ProcessTemplate_S {
            }
            type ProcessTemplate_ST = $.java.io.Serializable & ProcessTemplate_S;
            interface ProcessTemplate_C extends ProcessTemplate_ST {
                new():ProcessTemplate;
            }
            interface ProcessTemplate$ {
                getId():long;
                getAppId():string;
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                setId(id:long):void;
                getEntityNumber():string;
                setEntityNumber(entityNumber:string):void;
                getNumber():string;
                isEnable():boolean;
                setNumber(number_arg:string):void;
                setAppId(appId:string):void;
                setEnable(enable:boolean):void;
                getName():$.kd.bos.dataentity.entity.ILocaleString;
            }
            type ProcessTemplate_T = $.java.io.Serializable & ProcessTemplate$;
            interface ProcessTemplate extends ProcessTemplate_T {
            }
            interface ProcessInitiator_S {
            }
            type ProcessInitiator_ST = $.java.io.Serializable & ProcessInitiator_S;
            interface ProcessInitiator_C extends ProcessInitiator_ST {
                new():ProcessInitiator;
            }
            interface ProcessInitiator$ {
                setStartTime(startTime:Date):void;
                getStartTime():Date;
                setId(id:long):void;
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                getId():long;
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
            }
            type ProcessInitiator_T = $.java.io.Serializable & ProcessInitiator$;
            interface ProcessInitiator extends ProcessInitiator_T {
            }
        }
        namespace kd.bos.workflow.basedata.role{
            interface WorkflowRoleResult_S {
            }
            type WorkflowRoleResult_ST = $.java.io.Serializable & WorkflowRoleResult_S;
            interface WorkflowRoleResult_C extends WorkflowRoleResult_ST {
                new():WorkflowRoleResult;
            }
            interface WorkflowRoleResult$ {
                result:boolean;
                desc:string;
                setDesc(desc:string):void;
                getDesc():string;
                setResult(result:boolean):void;
                getResult():boolean;
            }
            type WorkflowRoleResult_T = $.java.io.Serializable & WorkflowRoleResult$;
            interface WorkflowRoleResult extends WorkflowRoleResult_T {
            }
        }
        namespace kd.bos.workflow.bpmn.graph.model{
            interface GraphIcon_S {
            }
            type GraphIcon_ST = $.java.io.Serializable & GraphIcon_S;
            interface GraphIcon_C extends GraphIcon_ST {
                new():GraphIcon;
            }
            interface GraphIcon$ {
                addIconData(key:string,value:string):void;
                getIconDatas():$.java.util.Map;
                getWidth():number;
                getGraphicInfo():kd.bos.workflow.bpmn.model.GraphicInfo;
                getOffset():kd.bos.workflow.bpmn.model.GraphicOffset;
                setOffset(offset:kd.bos.workflow.bpmn.model.GraphicOffset):void;
                setShape(shape:string):void;
                getShape():string;
                setWidth(width:number):void;
                getStyle():string;
                setHeight(height:number):void;
                getHeight():number;
            }
            type GraphIcon_T = $.java.io.Serializable & GraphIcon$;
            interface GraphIcon extends GraphIcon_T {
            }
            interface GraphBound_S {
            }
            type GraphBound_ST = $.java.io.Serializable & GraphBound_S;
            interface GraphBound_C extends GraphBound_ST {
                new():GraphBound;
            }
            interface GraphBound$ {
                isRelative():boolean;
                getUpperLeft():GraphPoint;
                setUpperLeft(arg0:GraphPoint):void;
                setOffset(arg0:GraphPoint):void;
                getLowerRight():GraphPoint;
                setLowerRight(arg0:GraphPoint):void;
                setRelative(arg0:boolean):void;
                getOffset():GraphPoint;
            }
            type GraphBound_T = $.java.io.Serializable & GraphBound$;
            interface GraphBound extends GraphBound_T {
            }
            interface GraphCell_S {
            }
            type GraphCell_ST = $.java.io.Serializable & GraphCell_S;
            interface GraphCell_C extends GraphCell_ST {
                new():GraphCell;
            }
            interface GraphCell$ {
                setResourceId(arg0:string):void;
                getStyle():string;
                setOriginId(arg0:string):void;
                setOriginPageId(arg0:string):void;
                getOutgoing():$.java.util.List;
                getNumber():string;
                getResourceId():string;
                getFullName():string;
                getCopiedProperties(arg0:GraphCell):$.java.util.Map;
                setChildShapes(arg0:$.java.util.List):void;
                setDockers(arg0:$.java.util.List):void;
                getDockers():$.java.util.List;
                setTarget(arg0:GraphItem):void;
                setOutgoing(arg0:$.java.util.List):void;
                updateGeometry(arg0:GraphCell):void;
                getBounds():GraphBound;
                getChildShapes():$.java.util.List;
                getOriginId():string;
                getProperties():$.java.util.Map;
                getOriginPageId():string;
                getName():string;
                setBounds(arg0:GraphBound):void;
                getTarget():GraphItem;
                getStencil():GraphStencil;
                setStencil(arg0:GraphStencil):void;
                isEdge():boolean;
                setStyle(arg0:string):void;
                setProperties(arg0:$.java.util.Map):void;
            }
            type GraphCell_T = $.java.io.Serializable & GraphCell$;
            interface GraphCell extends GraphCell_T {
            }
            interface GraphPoint_S {
            }
            type GraphPoint_ST = $.java.io.Serializable & GraphPoint_S;
            interface GraphPoint_C extends GraphPoint_ST {
                new():GraphPoint;
                new(arg0:string,arg1:string):GraphPoint;
            }
            interface GraphPoint$ {
                getX():string;
                setY(arg0:string):void;
                getY():string;
                setX(arg0:string):void;
            }
            type GraphPoint_T = $.java.io.Serializable & GraphPoint$;
            interface GraphPoint extends GraphPoint_T {
            }
            interface GraphItem_S {
            }
            type GraphItem_ST = $.java.io.Serializable & GraphItem_S;
            interface GraphItem_C extends GraphItem_ST {
                new():GraphItem;
                new(arg0:string):GraphItem;
            }
            interface GraphItem$ {
                setResourceId(arg0:string):void;
                getResourceId():string;
            }
            type GraphItem_T = $.java.io.Serializable & GraphItem$;
            interface GraphItem extends GraphItem_T {
            }
            interface GraphStencil_S {
            }
            type GraphStencil_ST = $.java.io.Serializable & GraphStencil_S;
            interface GraphStencil_C extends GraphStencil_ST {
                new():GraphStencil;
            }
            interface GraphStencil$ {
                setId(arg0:string):void;
                getId():string;
            }
            type GraphStencil_T = $.java.io.Serializable & GraphStencil$;
            interface GraphStencil extends GraphStencil_T {
            }
        }
        namespace kd.bos.workflow.bpmn.model{
            interface Variable_S {
            }
            type Variable_ST = BaseElement_S & Variable_S;
            interface Variable_C extends Variable_ST {
                new():Variable;
            }
            interface Variable$ {
                getDescription():string;
                setBuiltIn(builtIn:boolean):void;
                setDescription(description:string):void;
                isBuiltIn():boolean;
                setRealValue(value:string):void;
                setName(name:string):void;
                setDefaultValue(defaultValue:any):void;
                setType(type_arg:string):void;
                getRealValue():string;
                getDefaultValue():any;
            }
            type Variable_T = BaseElement & Variable$;
            interface Variable extends Variable_T {
            }
            interface BillPageAttributeConfigModelDetailFieldInfo_S {
            }
            type BillPageAttributeConfigModelDetailFieldInfo_ST = BaseElement_S & BillPageAttributeConfigModelDetailFieldInfo_S;
            interface BillPageAttributeConfigModelDetailFieldInfo_C extends BillPageAttributeConfigModelDetailFieldInfo_ST {
                new():BillPageAttributeConfigModelDetailFieldInfo;
                new(fieldname:string,fieldnumber:string):BillPageAttributeConfigModelDetailFieldInfo;
            }
            interface BillPageAttributeConfigModelDetailFieldInfo$ {
                setFieldnumber(fieldnumber:string):void;
                setFieldname(fieldname:string):void;
                getFieldname():string;
                getFieldnumber():string;
            }
            type BillPageAttributeConfigModelDetailFieldInfo_T = BaseElement & BillPageAttributeConfigModelDetailFieldInfo$;
            interface BillPageAttributeConfigModelDetailFieldInfo extends BillPageAttributeConfigModelDetailFieldInfo_T {
            }
            interface BillPageAttributeConfigModel_S {
            }
            type BillPageAttributeConfigModel_ST = BaseElement_S & BillPageAttributeConfigModel_S;
            interface BillPageAttributeConfigModel_C extends BillPageAttributeConfigModel_ST {
                new():BillPageAttributeConfigModel;
                new(field:BillPageAttributeConfigModelDetail,btn:BillPageAttributeConfigModelDetail,img:BillPageAttributeConfigModelDetail):BillPageAttributeConfigModel;
            }
            interface BillPageAttributeConfigModel$ {
                getBtn():BillPageAttributeConfigModelDetail;
                getImg():BillPageAttributeConfigModelDetail;
                setImg(img:BillPageAttributeConfigModelDetail):void;
                setBtn(btn:BillPageAttributeConfigModelDetail):void;
                setField(field:BillPageAttributeConfigModelDetail):void;
                getField():BillPageAttributeConfigModelDetail;
            }
            type BillPageAttributeConfigModel_T = BaseElement & BillPageAttributeConfigModel$;
            interface BillPageAttributeConfigModel extends BillPageAttributeConfigModel_T {
            }
            interface ControlIntensity_S {
            }
            type ControlIntensity_ST = BaseElement_S & ControlIntensity_S;
            interface ControlIntensity_C extends ControlIntensity_ST {
                new():ControlIntensity;
            }
            interface ControlIntensity$ {
                setValues(other:ControlIntensity):void;
                getMandatorySign():string;
                setMandatorySign(mandatorySign:string):void;
                setMandatory(mandatory:boolean):void;
                isMandatory():boolean;
            }
            type ControlIntensity_T = BaseElement & ControlIntensity$;
            interface ControlIntensity extends ControlIntensity_T {
            }
            interface ExtensionElement_S {
            }
            type ExtensionElement_ST = BaseElement_S & ExtensionElement_S;
            interface ExtensionElement_C extends ExtensionElement_ST {
                new():ExtensionElement;
            }
            interface ExtensionElement$ {
                setElementText(elementText:string):void;
                setChildElements(childElements:$.java.util.Map):void;
                getNamespace():string;
                setName(name:string):void;
                setValues(otherElement:ExtensionElement):void;
                getNamespacePrefix():string;
                setNamespacePrefix(namespacePrefix:string):void;
                getElementText():string;
                getChildElements():$.java.util.Map;
                setNamespace(namespace_arg:string):void;
                addChildElement(childElement:ExtensionElement):void;
            }
            type ExtensionElement_T = BaseElement & ExtensionElement$;
            interface ExtensionElement extends ExtensionElement_T {
            }
            interface GraphicInfo_S {
            }
            interface GraphicInfo_C extends GraphicInfo_S {
                new():GraphicInfo;
            }
            interface GraphicInfo$ {
                getHeight():number;
                getXmlColumnNumber():number;
                setX(x:number):void;
                setY(y:number):void;
                setElement(element:BaseElement):void;
                clone():this;
                getTerminalPointType():string;
                setXmlColumnNumber(xmlColumnNumber:number):void;
                getXmlRowNumber():number;
                isRelative():boolean;
                getWidth():number;
                setXmlRowNumber(xmlRowNumber:number):void;
                setWidth(width:number):void;
                setRelative(relative:boolean):void;
                getExpanded():boolean;
                setOffset(offset:GraphicOffset):void;
                getX():number;
                setTerminalPointType(terminalPointType:string):void;
                setExpanded(expanded:boolean):void;
                getY():number;
                getElement():BaseElement;
                setHeight(height:number):void;
                getOffset():GraphicOffset;
            }
            type GraphicInfo_T = GraphicInfo$;
            interface GraphicInfo extends GraphicInfo_T {
            }
            interface Activity_S {
            }
            type Activity_ST = Activity_S & FlowNode_S;
            interface Activity_C extends Activity_ST {
                new():Activity;
            }
            interface Activity$ {
                setIoSpecification(ioSpecification:IOSpecification):void;
                setMapExceptions(mapExceptions:$.java.util.List):void;
                setBoundaryEvents(boundaryEvents:$.java.util.List):void;
                getLoopCharacteristics():MultiInstanceLoopCharacteristics;
                setValues(otherActivity:Activity):void;
                setDataInputAssociations(dataInputAssociations:$.java.util.List):void;
                getFailedJobRetryTimeCycleValue():string;
                hasMultiInstanceLoopCharacteristics():boolean;
                getDataOutputAssociations():$.java.util.List;
                isForCompensation():boolean;
                getDataInputAssociations():$.java.util.List;
                getMapExceptions():$.java.util.List;
                setFailedJobRetryTimeCycleValue(failedJobRetryTimeCycleValue:string):void;
                getBoundaryEvents():$.java.util.List;
                setDataOutputAssociations(dataOutputAssociations:$.java.util.List):void;
                setForCompensation(forCompensation:boolean):void;
                getIoSpecification():IOSpecification;
                setLoopCharacteristics(loopCharacteristics:MultiInstanceLoopCharacteristics):void;
            }
            type Activity_T = Activity$ & FlowNode;
            interface Activity extends Activity_T {
            }
            interface BillPageAttributeConfigModelDetail_S {
            }
            type BillPageAttributeConfigModelDetail_ST = BaseElement_S & BillPageAttributeConfigModelDetail_S;
            interface BillPageAttributeConfigModelDetail_C extends BillPageAttributeConfigModelDetail_ST {
                new():BillPageAttributeConfigModelDetail;
                new(pagenumber:string,pagename:string,modify:BillPageAttributeConfigModelDetailFieldInfo,hide:BillPageAttributeConfigModelDetailFieldInfo,display:BillPageAttributeConfigModelDetailFieldInfo):BillPageAttributeConfigModelDetail;
                new(pagenumber:string,pagename:string,modify:BillPageAttributeConfigModelDetailFieldInfo,hide:BillPageAttributeConfigModelDetailFieldInfo,display:BillPageAttributeConfigModelDetailFieldInfo,mustinput:BillPageAttributeConfigModelDetailFieldInfo):BillPageAttributeConfigModelDetail;
            }
            interface BillPageAttributeConfigModelDetail$ {
                getMustinput():BillPageAttributeConfigModelDetailFieldInfo;
                getModify():BillPageAttributeConfigModelDetailFieldInfo;
                setPagename(pagename:string):void;
                setHide(hide:BillPageAttributeConfigModelDetailFieldInfo):void;
                getPagenumber():string;
                getHide():BillPageAttributeConfigModelDetailFieldInfo;
                setModify(modify:BillPageAttributeConfigModelDetailFieldInfo):void;
                getPagename():string;
                setDisplay(display:BillPageAttributeConfigModelDetailFieldInfo):void;
                getDisplay():BillPageAttributeConfigModelDetailFieldInfo;
                setMustinput(mustinput:BillPageAttributeConfigModelDetailFieldInfo):void;
                setPagenumber(pagenumber:string):void;
            }
            type BillPageAttributeConfigModelDetail_T = BaseElement & BillPageAttributeConfigModelDetail$;
            interface BillPageAttributeConfigModelDetail extends BillPageAttributeConfigModelDetail_T {
            }
            interface MultiInstanceLoopCharacteristics_S {
            }
            type MultiInstanceLoopCharacteristics_ST = BaseElement_S & MultiInstanceLoopCharacteristics_S;
            interface MultiInstanceLoopCharacteristics_C extends MultiInstanceLoopCharacteristics_ST {
                new():MultiInstanceLoopCharacteristics;
            }
            interface MultiInstanceLoopCharacteristics$ {
                setSequential(sequential:boolean):void;
                setInputDataItem(inputDataItem:string):void;
                getElementVariable():string;
                setLoopCardinality(loopCardinality:string):void;
                getElementIndexVariable():string;
                setElementIndexVariable(elementIndexVariable:string):void;
                getCompletionCondition():string;
                getLoopCardinality():string;
                setCompletionCondition(completionCondition:string):void;
                setElementVariable(elementVariable:string):void;
                getInputDataItem():string;
                setValues(otherLoopCharacteristics:MultiInstanceLoopCharacteristics):void;
                isSequential():boolean;
            }
            type MultiInstanceLoopCharacteristics_T = BaseElement & MultiInstanceLoopCharacteristics$;
            interface MultiInstanceLoopCharacteristics extends MultiInstanceLoopCharacteristics_T {
            }
            interface HasExtensionAttributes_S {
            }
            type HasExtensionAttributes_ST = $.java.io.Serializable & HasExtensionAttributes_S;
            interface HasExtensionAttributes_C extends HasExtensionAttributes_ST {
            }
            interface HasExtensionAttributes$ {
                /**
                 * add attribute to the object
                 */
                addAttribute(attribute:ExtensionAttribute):void;
                /**
                 * return value of the attribute from given namespace with given name.
                 *
                 * @param namespace
                 * @param name
                 * @return attribute value or null in case when attribute was not found
                 */
                getAttributeValue(namespace_arg:string,name:string):string;
                /**
                 * get element's attributes
                 */
                getAttributes():$.java.util.Map;
                /**
                 * set all object's attributes
                 */
                setAttributes(attributes:$.java.util.Map):void;
            }
            type HasExtensionAttributes_T = $.java.io.Serializable & HasExtensionAttributes$;
            interface HasExtensionAttributes extends HasExtensionAttributes_T {
            }
            interface ExtensionAttributesImpl_S {
            }
            type ExtensionAttributesImpl_ST = ExtensionAttributesImpl_S & HasExtensionAttributes_S;
            interface ExtensionAttributesImpl_C extends ExtensionAttributesImpl_ST {
                new():ExtensionAttributesImpl;
            }
            interface ExtensionAttributesImpl$ {
                getExtensionElements():$.java.util.Map;
                setExtensionElements(extensionElements:$.java.util.Map):void;
            }
            type ExtensionAttributesImpl_T = ExtensionAttributesImpl$ & HasExtensionAttributes;
            interface ExtensionAttributesImpl extends ExtensionAttributesImpl_T {
            }
            interface IntermediateThrow_S {
            }
            interface IntermediateThrow_C extends IntermediateThrow_S {
            }
            interface IntermediateThrow$ {
                setTriggerCompensation(triggerCompensation:boolean):void;
                isTriggerCompensation():boolean;
                setMapperThrowableCodes(mapperThrowableCodes:string):void;
                getMapperThrowableCodes():string;
            }
            type IntermediateThrow_T = IntermediateThrow$;
            interface IntermediateThrow extends IntermediateThrow_T {
            }
            interface SubProcess_S {
            }
            type SubProcess_ST = Activity_S & FlowElementsContainer_S & SubProcess_S;
            interface SubProcess_C extends SubProcess_ST {
                new():SubProcess;
            }
            interface SubProcess$ {
                getSubProcessType():string;
                getFlowElementMap():$.java.util.Map;
                setValues(otherElement:SubProcess):void;
                setSubProcessType(subProcessType:string):void;
                getSubProcessId():string;
                containsFlowElementId(id:string):boolean;
                setFlowElementMap(flowElementMap:$.java.util.Map):void;
                getSubProcessName():string;
                getDataObjects():$.java.util.List;
                setSubProcessName(subProcessName:string):void;
                setSubProcessId(subProcessId:string):void;
                setDataObjects(dataObjects:$.java.util.List):void;
            }
            type SubProcess_T = Activity & FlowElementsContainer & SubProcess$;
            interface SubProcess extends SubProcess_T {
            }
            interface BillSetting_S {
            }
            type BillSetting_ST = BaseElement_S & BillSetting_S & kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial_S;
            interface BillSetting_C extends BillSetting_ST {
                new():BillSetting;
            }
            interface BillSetting$ {
                getPageAttrConfigModel():BillPageAttributeConfigModel;
                setOperationWhenSave(operationWhenSave:string):void;
                getPageParameter():$.java.util.List;
                setOperationWhenReject(operationWhenReject:string):void;
                setDataSignedAdd(dataSignedAdd:boolean):void;
                setPageAttrConfig(pageAttrConfig:$.java.util.List):void;
                setMobilePageAttrConfigModel(mobilePageAttrConfigModel:BillPageAttributeConfigModel):void;
                setOperationWhenSubmit(operationWhenSubmit:string):void;
                setMobilFormKey(mobilFormKey:string):void;
                isDataSignedVerify():boolean;
                getMobilePageAttrConfig():$.java.util.List;
                getMobilePageAttrConfigModel():BillPageAttributeConfigModel;
                getOperationWhenSave():string;
                setPageAttrConfigModel(pageAttrConfigModel:BillPageAttributeConfigModel):void;
                getOperationWhenReject():string;
                setFieldModified(fieldModified:boolean):void;
                setDataSignedVerify(dataSignedVerify:boolean):void;
                setPageParameter(pageParameter:$.java.util.List):void;
                getFormKey():string;
                getPageAttrConfig():$.java.util.List;
                getOperationWhenSubmit():string;
                isFieldModified():boolean;
                getMobilFormKey():string;
                isDataSignedAdd():boolean;
                setMobilePageAttrConfig(mobilePageAttrConfig:$.java.util.List):void;
                setFormKey(formKey:string):void;
            }
            type BillSetting_T = BaseElement & BillSetting$ & kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial;
            interface BillSetting extends BillSetting_T {
            }
            interface FlowElementsContainer_S {
            }
            interface FlowElementsContainer_C extends FlowElementsContainer_S {
            }
            interface FlowElementsContainer$ {
                addFlowElement(element:FlowElement):void;
                removeFlowElement(elementId:string):void;
                removeArtifact(artifactId:string):void;
                getFlowElements():$.java.util.Collection;
                removeFlowElementFromMap(elementId:string):void;
                getArtifacts():$.java.util.Collection;
                addArtifact(artifact:Artifact):void;
                addFlowElementToMap(element:FlowElement):void;
                getArtifact(id:string):Artifact;
                getFlowElement(id:string):FlowElement;
            }
            type FlowElementsContainer_T = FlowElementsContainer$;
            interface FlowElementsContainer extends FlowElementsContainer_T {
            }
            interface Artifact_S {
            }
            type Artifact_ST = Artifact_S & BaseElement_S;
            interface Artifact_C extends Artifact_ST {
                new():Artifact;
            }
            interface Artifact$ {
            }
            type Artifact_T = Artifact$ & BaseElement;
            interface Artifact extends Artifact_T {
            }
            interface ExtensionAttribute_S {
            }
            interface ExtensionAttribute_C extends ExtensionAttribute_S {
                new():ExtensionAttribute;
                new(name:string):ExtensionAttribute;
                new(namespace_arg:string,name:string):ExtensionAttribute;
            }
            interface ExtensionAttribute$ {
                getType():string;
                getName():string;
                getValue():string;
                setNamespace(namespace_arg:string):void;
                getNamespace():string;
                clone():this;
                setName(name:string):void;
                setType(type_arg:string):void;
                getNamespacePrefix():string;
                setNamespacePrefix(namespacePrefix:string):void;
                setValue(value:string):void;
                setValues(otherAttribute:ExtensionAttribute):void;
            }
            type ExtensionAttribute_T = ExtensionAttribute$;
            interface ExtensionAttribute extends ExtensionAttribute_T {
            }
            interface BaseElement_S {
            }
            type BaseElement_ST = $.kd.bos.workflow.api.WorkflowElement & BaseElement_S & HasExtensionAttributes_S;
            interface BaseElement_C extends BaseElement_ST {
                new():BaseElement;
            }
            interface BaseElement$ {
                setId(id:string):void;
                addExtensionElement(extensionElement:ExtensionElement):void;
                /**
                 * 用于流程的复制 -- 如果值为null，则说明没有变化；否则针对对应的情况做调整
                 * @param otherElement
                 * @return
                 */
                copy(model:DuplicateModel):this;
                getExtensionAttributesImpl():ExtensionAttributesImpl;
                addAttribute(name:string,value:string):void;
                setExtensionAttributesImpl(extensionAttributesImpl:ExtensionAttributesImpl):void;
                getAttributeValue(name:string):string;
                setNumber(number_arg:string):void;
                clone():this;
                getExtensionElements():$.java.util.Map;
                setValues(otherElement:BaseElement):void;
                setXmlRowNumber(xmlRowNumber:number):void;
                getXmlColumnNumber():number;
                setExtensionElements(extensionElements:$.java.util.Map):void;
                getXmlRowNumber():number;
                removeAttribute(...name:string[]):void;
                setXmlColumnNumber(xmlColumnNumber:number):void;
                removeAttribute(name:string):void;
            }
            type BaseElement_T = $.kd.bos.workflow.api.WorkflowElement & BaseElement$ & HasExtensionAttributes;
            interface BaseElement extends BaseElement_T {
            }
            interface GraphicOffset_S {
            }
            interface GraphicOffset_C extends GraphicOffset_S {
                new(x:number,y:number):GraphicOffset;
            }
            interface GraphicOffset$ {
                setY(y:number):void;
                getY():number;
                setX(x:number):void;
                getX():number;
            }
            type GraphicOffset_T = GraphicOffset$;
            interface GraphicOffset extends GraphicOffset_T {
            }
            interface FlowElement_S {
            }
            type FlowElement_ST = BaseElement_S & FlowElement_S & HasExecutionListeners_S;
            interface FlowElement_C extends FlowElement_ST {
                new():FlowElement;
            }
            interface FlowElement$ {
                setTemplateId(templateId:long):void;
                getStyle():string;
                getDocumentation():string;
                setType(type_arg:string):void;
                setAddSign(addSign:boolean):void;
                setValues(otherElement:FlowElement):void;
                setDatas(datas:$.java.util.Map):void;
                setDynamic(dynamic_arg:boolean):void;
                setStyle(style:string):void;
                setName(name:string):void;
                getIcon():kd.bos.workflow.bpmn.graph.model.GraphIcon;
                setParentContainer(parentContainer:FlowElementsContainer):void;
                setDocumentation(documentation:string):void;
                getTemplateId():long;
                isDynamic():boolean;
                getSubProcess():SubProcess;
                setIcon(icon:kd.bos.workflow.bpmn.graph.model.GraphIcon):void;
                getDatas():$.java.util.Map;
                getTemplate():string;
                setTemplate(template_arg:string):void;
                isAddSign():boolean;
                getParentContainer():FlowElementsContainer;
            }
            type FlowElement_T = BaseElement & FlowElement$ & HasExecutionListeners;
            interface FlowElement extends FlowElement_T {
            }
            interface IOSpecification_S {
            }
            type IOSpecification_ST = BaseElement_S & IOSpecification_S;
            interface IOSpecification_C extends IOSpecification_ST {
                new():IOSpecification;
            }
            interface IOSpecification$ {
                setDataInputRefs(dataInputRefs:$.java.util.List):void;
                getDataOutputRefs():$.java.util.List;
                setDataOutputs(dataOutputs:$.java.util.List):void;
                setDataOutputRefs(dataOutputRefs:$.java.util.List):void;
                setValues(otherSpec:IOSpecification):void;
                getDataInputs():$.java.util.List;
                getDataInputRefs():$.java.util.List;
                setDataInputs(dataInputs:$.java.util.List):void;
                getDataOutputs():$.java.util.List;
            }
            type IOSpecification_T = BaseElement & IOSpecification$;
            interface IOSpecification extends IOSpecification_T {
            }
            interface HasExecutionListeners_S {
            }
            interface HasExecutionListeners_C extends HasExecutionListeners_S {
            }
            interface HasExecutionListeners$ {
                setExecutionListeners(executionListeners:$.java.util.List):void;
                getExecutionListeners():$.java.util.List;
            }
            type HasExecutionListeners_T = HasExecutionListeners$;
            interface HasExecutionListeners extends HasExecutionListeners_T {
            }
            interface DuplicateModel_S {
            }
            interface DuplicateModel_C extends DuplicateModel_S {
                new():DuplicateModel;
                new(modelKey:string,modelName:$.kd.bos.dataentity.entity.ILocaleString,modelDescription:$.kd.bos.dataentity.entity.ILocaleString,modelOrgunitid:long,modelKeyOld:string,modelNameOld:$.kd.bos.dataentity.entity.ILocaleString,modelDescriptionOld:$.kd.bos.dataentity.entity.ILocaleString,modelBillNumber:string,modelBillId:string,modelBillName:string,oldModelBillName:string,subprocess:boolean):DuplicateModel;
            }
            interface DuplicateModel$ {
                setModelKeyOld(modelKeyOld:string):void;
                getModelKey():string;
                getOldModelBillName():string;
                setModelBillNumber(modelBillNumber:string):void;
                getModelBusinessId():string;
                getModelBillId():string;
                getModelKeyOld():string;
                setModelOrgunitid(modelOrgunitid:long):void;
                getModelBusinessIdOld():string;
                setModelName(modelName:$.kd.bos.dataentity.entity.ILocaleString):void;
                setModelDescription(modelDescription:$.kd.bos.dataentity.entity.ILocaleString):void;
                setModelDescriptionOld(modelDescriptionOld:$.kd.bos.dataentity.entity.ILocaleString):void;
                getSubprocess():boolean;
                getModelDescriptionOld():$.kd.bos.dataentity.entity.ILocaleString;
                setModelBillName(modelBillName:string):void;
                getModelBillName():string;
                setSubprocess(subprocess:boolean):void;
                setModelKey(modelKey:string):void;
                setModelBillId(modelBillId:string):void;
                getModelDescription():$.kd.bos.dataentity.entity.ILocaleString;
                getModelName():$.kd.bos.dataentity.entity.ILocaleString;
                getModelNameOld():$.kd.bos.dataentity.entity.ILocaleString;
                setModelBusinessId(modelBusinessId:string):void;
                setModelNameOld(modelNameOld:$.kd.bos.dataentity.entity.ILocaleString):void;
                setOldModelBillName(oldModelBillName:string):void;
                getModelOrgunitid():long;
                getModelBillNumber():string;
                setModelBusinessIdOld(modelBusinessIdOld:string):void;
            }
            type DuplicateModel_T = DuplicateModel$;
            interface DuplicateModel extends DuplicateModel_T {
            }
            interface NodeControlIntensity_S {
            }
            type NodeControlIntensity_ST = ControlIntensity_S & NodeControlIntensity_S;
            interface NodeControlIntensity_C extends NodeControlIntensity_ST {
                new():NodeControlIntensity;
            }
            interface NodeControlIntensity$ {
                isStationary():boolean;
                setSequence(sequence:number):void;
                getStationarySign():string;
                getSequence():number;
                setStationary(stationary:boolean):void;
                setValues(other:NodeControlIntensity):void;
                setStationarySign(stationarySign:string):void;
            }
            type NodeControlIntensity_T = ControlIntensity & NodeControlIntensity$;
            interface NodeControlIntensity extends NodeControlIntensity_T {
            }
            interface DecisionOption_S {
                readonly AUDIT_TYPE_FORCEREJECT:string;
                readonly AUDIT_TYPE_REJECT:string;
                readonly REJECT_TO_PRE_AUDIT_NODE:string;
                readonly AUDIT_TYPE_TERMINATE:string;
                readonly REJECT_TO_EDIT_NODE:string;
                readonly TERMINATE_MAINPROCESS:string;
                readonly REJECT_TO_PARENTPROC_EDIT_NODE:string;
                readonly REJECT_TO_PARENTPROC_PRE_NODE:string;
                readonly REJECT_TO_ALL_AUDIT_NODE:string;
                readonly AUDIT_TYPE_APPROVE:string;
            }
            type DecisionOption_ST = BaseElement_S & DecisionOption_S;
            interface DecisionOption_C extends DecisionOption_ST {
                new():DecisionOption;
            }
            interface DecisionOption$ {
                isDefaultDecision():boolean;
                setName(name:string):void;
                setRejectOptions(rejectOptions:$.java.util.List):void;
                getAuditType():string;
                setDefaultDecision(defaultDecision:boolean):void;
                isRejectPreNodeScene():boolean;
                setAuditType(auditType:string):void;
                isRejectToParentProcessScene():boolean;
                isTerminateMainProcessScene():boolean;
                getDecisionScene():string;
                setDecisionScene(decisionScene:string):void;
                getRejectOptions():$.java.util.List;
            }
            type DecisionOption_T = BaseElement & DecisionOption$;
            interface DecisionOption extends DecisionOption_T {
            }
            interface FlowNode_S {
                readonly INSET_ENTERWHENALLARRIVE:string;
                readonly INSET_ENTERWHENFIRSTONE:string;
                readonly OUTSET_LEAVEWITHALLNOTJOIN:string;
                readonly OUTSET_LEAVEWHENONLYONE:string;
                readonly INSET_ENTERWHENANYARRIVE:string;
                readonly STRATEGY_ALLTOSAVEPOINT:string;
                readonly OUTSET_LEAVEWHENFRISTONE:string;
                readonly PASSTYPEAFTERINNERREJECT_ALL:string;
                readonly STRATEGY_ONLYTOSAVEPOINT:string;
                readonly PASSTYPEAFTERINNERREJECT_REJECT:string;
                readonly OUTSET_LEAVEWHENALLMEET:string;
            }
            type FlowNode_ST = FlowElement_S & FlowNode_S & IntermediateThrow_S;
            interface FlowNode_C extends FlowNode_ST {
                new():FlowNode;
            }
            interface FlowNode$ {
                setValues(otherNode:FlowNode):void;
                getFork():boolean;
                setControlIntensity(controlIntensity:NodeControlIntensity):void;
                getJoin():boolean;
                setFork(fork:boolean):void;
                setDefaultFlow(defaultFlow:string):void;
                getDefaultFlow():string;
                setOutSet(outSet:string):void;
                getOutgoingFlows():$.java.util.List;
                getPassTypeAfterInnerReject():string;
                setOutgoingFlows(outgoingFlows:$.java.util.List):void;
                setIncomingFlows(incomingFlows:$.java.util.List):void;
                getOutSet():string;
                setCustomParams(customParams:$.java.util.List):void;
                setJoin(join:boolean):void;
                getInSet():string;
                setPassTypeAfterInnerReject(passTypeAfterInnerReject:string):void;
                getBehavior():any;
                getIncomingFlows():$.java.util.List;
                getCustomParams():$.java.util.List;
                isAsynchronous():boolean;
                getCompensationStrategy():string;
                setExclusive(exclusive:boolean):void;
                setBehavior(behavior:any):void;
                isNotExclusive():boolean;
                setInSet(inSet:string):void;
                setAsynchronous(asynchronous:boolean):void;
                setCompensationStrategy(compensationStrategy:string):void;
                isExclusive():boolean;
                setNotExclusive(notExclusive:boolean):void;
                getControlIntensity():NodeControlIntensity;
            }
            type FlowNode_T = FlowElement & FlowNode$ & IntermediateThrow;
            interface FlowNode extends FlowNode_T {
            }
            interface Task_S {
            }
            type Task_ST = Activity_S & Task_S;
            interface Task_C extends Task_ST {
                new():Task;
            }
            interface Task$ {
                setVariables(arg0:$.java.util.List):void;
                setValues(arg0:Task):void;
                getVariables():$.java.util.List;
            }
            type Task_T = Activity & Task$;
            interface Task extends Task_T {
            }
            interface ExpireModel_S {
            }
            type ExpireModel_ST = BaseElement_S & ExpireModel_S;
            interface ExpireModel_C extends ExpireModel_ST {
                new():ExpireModel;
            }
            interface ExpireModel$ {
                setExpirebtn(arg0:boolean):void;
                getExpressionType():string;
                getTimeUnit():string;
                isExpirebtn():boolean;
                setTimeControls(arg0:$.java.util.List):void;
                setExpressionType(arg0:string):void;
                getExpireType():string;
                getTimeControls():$.java.util.List;
                getExpireTime():string;
                setExpireType(arg0:string):void;
                setExpireTime(arg0:string):void;
                setTimeUnit(arg0:string):void;
            }
            type ExpireModel_T = BaseElement & ExpireModel$;
            interface ExpireModel extends ExpireModel_T {
            }
            interface Message_S {
            }
            type Message_ST = BaseElement_S & Message_S;
            interface Message_C extends Message_ST {
                new():Message;
                new(arg0:string,arg1:string,arg2:string):Message;
            }
            interface Message$ {
                setName(arg0:string):void;
                setItemRef(arg0:string):void;
                setValues(arg0:Message):void;
                getItemRef():string;
            }
            type Message_T = BaseElement & Message$;
            interface Message extends Message_T {
            }
            interface SignatureModel_S {
            }
            type SignatureModel_ST = BaseElement_S & SignatureModel_S;
            interface SignatureModel_C extends SignatureModel_ST {
                new():SignatureModel;
                new(arg0:boolean,arg1:boolean):SignatureModel;
            }
            interface SignatureModel$ {
                isForceSignature():boolean;
                setForceSignature(arg0:boolean):void;
                setAllowSignature(arg0:boolean):void;
                isAllowSignature():boolean;
            }
            type SignatureModel_T = BaseElement & SignatureModel$;
            interface SignatureModel extends SignatureModel_T {
            }
            interface ItemDefinition_S {
            }
            type ItemDefinition_ST = BaseElement_S & ItemDefinition_S;
            interface ItemDefinition_C extends ItemDefinition_ST {
                new():ItemDefinition;
            }
            interface ItemDefinition$ {
                getItemKind():string;
                setStructureRef(arg0:string):void;
                setValues(arg0:ItemDefinition):void;
                getStructureRef():string;
                setItemKind(arg0:string):void;
            }
            type ItemDefinition_T = BaseElement & ItemDefinition$;
            interface ItemDefinition extends ItemDefinition_T {
            }
            interface SensitiveField_S {
            }
            type SensitiveField_ST = BaseElement_S & SensitiveField_S;
            interface SensitiveField_C extends SensitiveField_ST {
                new():SensitiveField;
            }
            interface SensitiveField$ {
                setSensitiveFieldData(arg0:string):void;
                getSensitiveFieldData():string;
                getShowtext():$.kd.bos.dataentity.entity.ILocaleString;
                setShowtext(arg0:$.kd.bos.dataentity.entity.ILocaleString):void;
            }
            type SensitiveField_T = BaseElement & SensitiveField$;
            interface SensitiveField extends SensitiveField_T {
            }
            interface AdvAppSchemeModel_S {
            }
            type AdvAppSchemeModel_ST = AdvAppSchemeModel_S & BaseElement_S;
            interface AdvAppSchemeModel_C extends AdvAppSchemeModel_ST {
                new():AdvAppSchemeModel;
            }
            interface AdvAppSchemeModel$ {
                setAdvAppSchemeWhenMatch(arg0:boolean):void;
                getAdvAppSchemes():$.java.util.List;
                setScAnalSchemes(arg0:$.java.util.List):void;
                setAdvAppSchemes(arg0:$.java.util.List):void;
                getScAnalSchemes():$.java.util.List;
                isAdvAppSchemeWhenMatch():boolean;
            }
            type AdvAppSchemeModel_T = AdvAppSchemeModel$ & BaseElement;
            interface AdvAppSchemeModel extends AdvAppSchemeModel_T {
            }
            interface OptionalActions_S {
            }
            type OptionalActions_ST = BaseElement_S & OptionalActions_S;
            interface OptionalActions_C extends OptionalActions_ST {
                new():OptionalActions;
            }
            interface OptionalActions$ {
                getOptionalOperations():$.java.util.List;
                setValues(arg0:OptionalActions):void;
                setOptionalOperations(arg0:$.java.util.List):void;
                getOptionalDecisionItems():$.java.util.List;
                setOptionalDecisionItems(arg0:$.java.util.List):void;
            }
            type OptionalActions_T = BaseElement & OptionalActions$;
            interface OptionalActions extends OptionalActions_T {
            }
            interface Process_S {
                readonly PROCESSMODE_SKIP:string;
                readonly PROCESSMODE_MANUAL:string;
                readonly PROCESSMODE_AUTO:string;
            }
            type Process_ST = BaseElement_S & FlowElementsContainer_S & HasExecutionListeners_S & Process_S;
            interface Process_C extends Process_ST {
                new():Process;
            }
            interface Process$ {
                setAutoAuditWhenSamePerson(arg0:boolean):void;
                findFlowElementsOfType(arg0:$.java.lang.Class):$.java.util.List;
                setLanes(arg0:$.java.util.List):void;
                setBosVersion(arg0:string):void;
                getBoundaryEventId(arg0:string):string;
                setEntraBillId(arg0:string):void;
                getInitialFlowElement():FlowElement;
                setDocumentation(arg0:$.kd.bos.dataentity.entity.ILocaleString):void;
                setSimpleName(arg0:string):void;
                getCloseCondition():$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity;
                getNodeListener():$.java.util.Map;
                getBillExceptionOp():$.java.util.List;
                getEvtStartItems():$.java.util.List;
                getEntraBill():string;
                getProcessName():$.kd.bos.dataentity.entity.ILocaleString;
                getFlowElementsContainer(arg0:string):FlowElementsContainer;
                getStartType():string;
                setDataObjects(arg0:$.java.util.List):void;
                setStartupcondrule(arg0:$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity):void;
                setOrgUnitId(arg0:long):void;
                setCompensateBoundaryAttachedNodes(arg0:$.java.util.LinkedHashMap):void;
                getEntraBillId():string;
                setExecutable(arg0:boolean):void;
                getFlowElementMap():$.java.util.Map;
                setName(arg0:$.kd.bos.dataentity.entity.ILocaleString):void;
                setEventListeners(arg0:$.java.util.List):void;
                findFlowElementsInSubProcessOfType(arg0:SubProcess,arg1:$.java.lang.Class):$.java.util.List;
                getNonBoundaryNodes():$.java.util.Set;
                getSuspendRemindSubmitter():boolean;
                getBaseData():$.java.util.Map;
                getResourceId():string;
                getTriggerMode():string;
                setCloseCondition(arg0:$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity):void;
                setVersion(arg0:string):void;
                containsFlowElementId(arg0:string):boolean;
                getCompensateNodeAttachedNodes():$.java.util.LinkedHashMap;
                setNextAssignee(arg0:boolean):void;
                getOrgUnitId():long;
                setBoundaryNodes(arg0:$.java.util.Map):void;
                getAutoAuditWhenSamePerson():boolean;
                getArtifactList():$.java.util.List;
                getDynamicModelPartial():$.java.util.Map;
                getVersion():string;
                getBoundaryNodes():$.java.util.Map;
                getFlowElement(arg0:string,arg1:boolean):FlowElement;
                findParent(arg0:FlowElement):FlowElementsContainer;
                setIoSpecification(arg0:IOSpecification):void;
                setSuspendRemindSubmitter(arg0:boolean):void;
                addBaseDataRecord(arg0:kd.bos.workflow.bpmn.model.basedata.BaseDataRecord):void;
                setStartItems(arg0:$.java.util.List):void;
                getProcessMode():string;
                setInitialFlowElement(arg0:FlowElement):void;
                setNonBoundaryNodes(arg0:$.java.util.Set):void;
                setCompensateNodeAttachedNodes(arg0:$.java.util.LinkedHashMap):void;
                getEventListeners():$.java.util.List;
                isSetNextAssigneeValue():boolean;
                setExtAttrGroup(arg0:$.java.util.Map):void;
                setTriggerMode(arg0:string):void;
                getBusinessId():string;
                setStartType(arg0:string):void;
                setAfterAudit(arg0:AfterAuditModel):void;
                setFlowElementMap(arg0:$.java.util.Map):void;
                checkForkJoinModels():$.java.util.Map;
                setEvtStartItems(arg0:$.java.util.List):void;
                getMacros():$.java.util.List;
                cloneBasicProperties(arg0:Process,arg1:Process):void;
                isSubProcess():boolean;
                addDynamicModelPartial(arg0:kd.bos.workflow.bpmn.model.dynamicpartial.DynamicModelPartial):void;
                getSimpleName():string;
                findFlowElementsOfType(arg0:$.java.lang.Class,arg1:boolean):$.java.util.List;
                getFlowElementList():$.java.util.List;
                getBosVersion():string;
                setVariables(arg0:$.java.util.List):void;
                getExtAttrGroup():$.java.util.Map;
                setArtifactList(arg0:$.java.util.List):void;
                getStartupcondrule():$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity;
                getWithdrawProcInAuditing():boolean;
                getIoSpecification():IOSpecification;
                setBillExceptionOp(arg0:$.java.util.List):void;
                setResourceId(arg0:string):void;
                findFlowElementsOfTypeAndId(arg0:$.java.lang.Class,arg1:string,arg2:boolean):FlowElement;
                setFlowElementList(arg0:$.java.util.List):void;
                findParent(arg0:FlowElement,arg1:FlowElementsContainer):FlowElementsContainer;
                setWithdrawProcInAuditing(arg0:boolean):void;
                getNodeAffectJoinNodeComeFlow():$.java.util.Map;
                setProcessType(arg0:string):void;
                getStartItems():$.java.util.List;
                getDocumentation():string;
                getAllowNextPersonSettingModel():AllowNextPersonSettingModel;
                setEntraBill(arg0:string):void;
                findFlowElementsInSubProcessOfType(arg0:SubProcess,arg1:$.java.lang.Class,arg2:boolean):$.java.util.List;
                setEntraBillName(arg0:string):void;
                setSubProcess(arg0:boolean):void;
                setMacros(arg0:$.java.util.List):void;
                getForkJoinModels():$.java.util.Map;
                getDataObjects():$.java.util.List;
                getFlowRecordFormatter():string;
                getCompensateBoundaryAttachedNodes():$.java.util.LinkedHashMap;
                setForkJoinModels(arg0:$.java.util.Map):void;
                setDynamicModelPartial(arg0:$.java.util.Map):void;
                setBusinessId(arg0:string):void;
                setProcessMode(arg0:string):void;
                setFlowRecordFormatter(arg0:string):void;
                bulidNodeAffectJoinNodeComeFlow():void;
                setAllowNextPersonSettingModel(arg0:AllowNextPersonSettingModel):void;
                getProcessDocumentation():$.kd.bos.dataentity.entity.ILocaleString;
                getLanes():$.java.util.List;
                getAfterAudit():AfterAuditModel;
                getVariables():$.java.util.List;
                getProcessType():string;
                getEntraBillName():string;
                isExecutable():boolean;
            }
            type Process_T = BaseElement & FlowElementsContainer & HasExecutionListeners & Process$;
            interface Process extends Process_T {
            }
            interface BtnModel_S {
            }
            type BtnModel_ST = BaseElement_S & BtnModel_S;
            interface BtnModel_C extends BtnModel_ST {
                new():BtnModel;
            }
            interface BtnModel$ {
                setExtendBtnsWhenMatch(arg0:boolean):void;
                setExtendBtns(arg0:$.java.util.List):void;
                getExtendBtns():$.java.util.List;
                isExtendBtnsWhenMatch():boolean;
            }
            type BtnModel_T = BaseElement & BtnModel$;
            interface BtnModel extends BtnModel_T {
            }
            interface AuditTask_S {
                readonly REPEATERMODEL_SKIP:string;
                readonly REPEATERMODEL_AUTO:string;
                readonly REPEATERMODEL_MANUAL:string;
            }
            type AuditTask_ST = AuditTask_S & UserTask_S;
            interface AuditTask_C extends AuditTask_ST {
                new():AuditTask;
            }
            interface AuditTask$ {
                isAdjacentnodeonly():boolean;
                setFinalAudit(arg0:boolean):void;
                getAuditPointModel():AuditPointModel;
                setSignatureModel(arg0:SignatureModel):void;
                setAdvAppSchemeModel(arg0:AdvAppSchemeModel):void;
                setCustomAuditMsg(arg0:string):void;
                isAllowUploadProcAttach():boolean;
                isAllowRejectAndGoBack():boolean;
                setAddSignMsg(arg0:$.java.util.Map):void;
                getCustomAuditMsg():string;
                setCountersigned(arg0:boolean):void;
                setAdjacentnodeonly(arg0:boolean):void;
                setAuditCommentModel(arg0:AuditCommentModel):void;
                getRepeaterModel():string;
                setDynamicReject(arg0:boolean):void;
                setAllowUploadProcAttach(arg0:boolean):void;
                setAllowRejectAndGoBack(arg0:boolean):void;
                setJump(arg0:boolean):void;
                setParticipantStrategy(arg0:ParticipantStrategy):void;
                getAuditCommentModel():AuditCommentModel;
                setRepeaterbtn(arg0:boolean):void;
                isDynamicReject():boolean;
                getBtnModel():BtnModel;
                isJump():boolean;
                setRepeaterModel(arg0:string):void;
                setBatchReject(arg0:BatchRejectModel):void;
                getAddSignMsg():$.java.util.Map;
                isFinalAudit():boolean;
                isRecall():boolean;
                setValues(arg0:AuditTask):void;
                setBtnModel(arg0:BtnModel):void;
                setBatchApprove(arg0:BatchApproveModel):void;
                isCountersigned():boolean;
                isRepeaterbtn():boolean;
                getBatchApprove():BatchApproveModel;
                setRecall(arg0:boolean):void;
                setAuditPointModel(arg0:AuditPointModel):void;
                getSignatureModel():SignatureModel;
                getUseSameAuditMsg():string;
                getParticipantStrategy():ParticipantStrategy;
                getBatchReject():BatchRejectModel;
                setUseSameAuditMsg(arg0:string):void;
                getAdvAppSchemeModel():AdvAppSchemeModel;
            }
            type AuditTask_T = AuditTask$ & UserTask;
            interface AuditTask extends AuditTask_T {
            }
            interface BpmnModel_S {
            }
            interface BpmnModel_C extends BpmnModel_S {
                new():BpmnModel;
            }
            interface BpmnModel$ {
                getPool(arg0:string):Pool;
                getArtifact(arg0:string):Artifact;
                addProcess(arg0:Process):void;
                setLastDynamicUpdateTime(arg0:Date):void;
                getFollowNodes(arg0:string):$.java.util.List;
                removeFlowGraphicInfoList(arg0:string):void;
                setMessages(arg0:$.java.util.Collection):void;
                addNamespace(arg0:string,arg1:string):void;
                setSignals(arg0:$.java.util.Collection):void;
                addSignal(arg0:Signal):void;
                getPreviousNodeIds(arg0:string):$.java.util.Set;
                setErrors(arg0:$.java.util.Map):void;
                addError(arg0:string,arg1:string):void;
                setEventSupport(arg0:any):void;
                getFlowLocationMap():$.java.util.Map;
                containsSignalId(arg0:string):boolean;
                getFlowLocationGraphicInfo(arg0:string):$.java.util.List;
                getMessage(arg0:string):Message;
                setStartEventFormTypes(arg0:$.java.util.List):void;
                getMessageFlow(arg0:string):MessageFlow;
                getUserTaskFormTypes():$.java.util.List;
                getSourceSystemId():string;
                setNamespaceMap(arg0:$.java.util.Map):void;
                getFollowNodeIds(arg0:string):$.java.util.List;
                addDefinitionsAttribute(arg0:ExtensionAttribute):void;
                setResources(arg0:$.java.util.List):void;
                setNextFlowIdCounter(arg0:number):void;
                containsResourceId(arg0:string):boolean;
                addResource(arg0:Resource):void;
                setLabelLocationMap(arg0:$.java.util.Map):void;
                getLastDynamicUpdateTime():Date;
                getLabelLocationMap():$.java.util.Map;
                getResources():$.java.util.Collection;
                getMessages():$.java.util.Collection;
                getMessageMap():$.java.util.Map;
                getProcesses():$.java.util.List;
                setGlobalArtifacts(arg0:$.java.util.List):void;
                containsMessageFlowId(arg0:string):boolean;
                setTargetNamespace(arg0:string):void;
                getDefinitionsAttributeValue(arg0:string,arg1:string):string;
                setItemDefinitionMap(arg0:$.java.util.Map):void;
                copy(arg0:DuplicateModel):this;
                setOrderedNodesInfo(arg0:OrderedNodesInfo):void;
                setLocationMap(arg0:$.java.util.Map):void;
                setDefinitionsAttributes(arg0:$.java.util.Map):void;
                getItemDefinitions():$.java.util.Map;
                getGraphicInfo(arg0:string):GraphicInfo;
                addMessageFlow(arg0:MessageFlow):void;
                getPools():$.java.util.List;
                addLabelGraphicInfo(arg0:string,arg1:GraphicInfo):void;
                clone():this;
                getErrors():$.java.util.Map;
                setMessageMap(arg0:$.java.util.Map):void;
                getPreviousNodes(arg0:string):$.java.util.List;
                isAutoFlow():boolean;
                getNextFlowIdCounter():number;
                getLocation():GraphicInfo;
                setItemDefinitions(arg0:$.java.util.Map):void;
                getFlowElement(arg0:string):FlowElement;
                getTargetNamespace():string;
                setSourceSystemId(arg0:string):void;
                getMainProcess():Process;
                setUserTaskFormTypes(arg0:$.java.util.List):void;
                addFlowGraphicInfoList(arg0:string,arg1:$.java.util.List):void;
                containsNamespacePrefix(arg0:string):boolean;
                getDefinitionsAttributes():$.java.util.Map;
                containsErrorRef(arg0:string):boolean;
                removeLabelGraphicInfo(arg0:string):void;
                addItemDefinition(arg0:string,arg1:ItemDefinition):void;
                setResources(arg0:$.java.util.Collection):void;
                containsMessageId(arg0:string):boolean;
                addGraphicInfo(arg0:string,arg1:GraphicInfo):void;
                setMessageFlows(arg0:$.java.util.Map):void;
                getMessageFlowMap():$.java.util.Map;
                getGlobalArtifacts():$.java.util.List;
                getProcess(arg0:string):Process;
                containsItemDefinitionId(arg0:string):boolean;
                setPools(arg0:$.java.util.List):void;
                setProcesses(arg0:$.java.util.List):void;
                getLane(arg0:string):Lane;
                addMessage(arg0:Message):void;
                getSignal(arg0:string):Signal;
                getResource(arg0:string):Resource;
                getErrorMap():$.java.util.Map;
                getProcessById(arg0:string):Process;
                setSignals(arg0:$.java.util.List):void;
                getStartEventFormTypes():$.java.util.List;
                getOrderedNodesInfo():OrderedNodesInfo;
                setFlowLocationMap(arg0:$.java.util.Map):void;
                getLabelGraphicInfo(arg0:string):GraphicInfo;
                getItemDefinitionMap():$.java.util.Map;
                getNamespace(arg0:string):string;
                getSignals():$.java.util.Collection;
                getNamespaces():$.java.util.Map;
                getMessageFlows():$.java.util.Map;
                removeGraphicInfo(arg0:string):void;
                setErrorMap(arg0:$.java.util.Map):void;
                getEventSupport():any;
                getNamespaceMap():$.java.util.Map;
                setMessageFlowMap(arg0:$.java.util.Map):void;
                setLocation(arg0:GraphicInfo):void;
                getLocationMap():$.java.util.Map;
            }
            type BpmnModel_T = BpmnModel$;
            interface BpmnModel extends BpmnModel_T {
            }
            interface IMessageSupport_S {
            }
            interface IMessageSupport_C extends IMessageSupport_S {
            }
            interface IMessageSupport$ {
                getOutMsg():$.java.util.List;
                setInMsg(arg0:$.java.util.List):void;
                setOutMsg(arg0:$.java.util.List):void;
                getInMsg():$.java.util.List;
            }
            type IMessageSupport_T = IMessageSupport$;
            interface IMessageSupport extends IMessageSupport_T {
            }
            interface Container_S {
            }
            type Container_ST = BaseElement_S & Container_S;
            interface Container_C extends Container_ST {
                new():Container;
            }
            interface Container$ {
                setStyle(arg0:string):void;
                setType(arg0:string):void;
                getStyle():string;
            }
            type Container_T = BaseElement & Container$;
            interface Container extends Container_T {
            }
            interface ParticipatantModel_S {
            }
            type ParticipatantModel_ST = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseElement_S & ParticipatantModel_S & kd.bos.workflow.bpmn.model.basedata.IBaseData_S;
            interface ParticipatantModel_C extends ParticipatantModel_ST {
                new():ParticipatantModel;
            }
            interface ParticipatantModel$ {
                setAllowNoneParticipant(arg0:boolean):void;
                getDisplayInfo():string;
                getReferOrganization():string;
                getParticipant():$.java.util.List;
                setSkipNodeWithoutPart(arg0:boolean):void;
                isDisplaySetting():boolean;
                setReferOrganization(arg0:string):void;
                setDisplayInfo(arg0:string):void;
                isAllowNoneParticipant():boolean;
                setParticipant(arg0:$.java.util.List):void;
                setDisplaySetting(arg0:boolean):void;
                isPersonrangeformanual():boolean;
                setPersonrangeformanual(arg0:boolean):void;
                isSkipNodeWithoutPart():boolean;
            }
            type ParticipatantModel_T = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseElement & ParticipatantModel$ & kd.bos.workflow.bpmn.model.basedata.IBaseData;
            interface ParticipatantModel extends ParticipatantModel_T {
            }
            interface Signal_S {
                readonly SCOPE_GLOBAL:string;
                readonly SCOPE_PROCESS_INSTANCE:string;
            }
            type Signal_ST = BaseElement_S & Signal_S;
            interface Signal_C extends Signal_ST {
                new():Signal;
                new(arg0:string,arg1:string):Signal;
            }
            interface Signal$ {
                setScope(arg0:string):void;
                setValues(arg0:Signal):void;
                getScope():string;
                setName(arg0:string):void;
            }
            type Signal_T = BaseElement & Signal$;
            interface Signal extends Signal_T {
            }
            interface Circulate_S {
            }
            type Circulate_ST = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseElement_S & Circulate_S & kd.bos.workflow.bpmn.model.basedata.IBaseData_S;
            interface Circulate_C extends Circulate_ST {
                new():Circulate;
            }
            interface Circulate$ {
                getShowtext():$.kd.bos.dataentity.entity.ILocaleString;
                getSuggestion():string;
                setShowtext(arg0:$.kd.bos.dataentity.entity.ILocaleString):void;
                setSuggestion(arg0:string):void;
                getTrigger():string;
                setTrigger(arg0:string):void;
                getParticipant():$.java.util.List;
                setParticipant(arg0:$.java.util.List):void;
            }
            type Circulate_T = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseElement & Circulate$ & kd.bos.workflow.bpmn.model.basedata.IBaseData;
            interface Circulate extends Circulate_T {
            }
            interface BatchApproveModel_S {
            }
            type BatchApproveModel_ST = BaseElement_S & BatchApproveModel_S;
            interface BatchApproveModel_C extends BatchApproveModel_ST {
                new():BatchApproveModel;
            }
            interface BatchApproveModel$ {
                getBatchApproveCond():$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity;
                setBatchApproveCond(arg0:$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity):void;
                setValues(arg0:BatchApproveModel):void;
                setBatchApprove(arg0:boolean):void;
                getBatchApproveDec():string;
                isBatchApprove():boolean;
                setBatchApproveDec(arg0:string):void;
            }
            type BatchApproveModel_T = BaseElement & BatchApproveModel$;
            interface BatchApproveModel extends BatchApproveModel_T {
            }
            interface Pool_S {
            }
            type Pool_ST = Container_S & Pool_S;
            interface Pool_C extends Pool_ST {
                new():Pool;
            }
            interface Pool$ {
                setValues(arg0:Pool):void;
                getProcessRef():string;
                isExecutable():boolean;
                setExecutable(arg0:boolean):void;
                setProcessRef(arg0:string):void;
                setName(arg0:string):void;
            }
            type Pool_T = Container & Pool$;
            interface Pool extends Pool_T {
            }
            interface AutoAudit_S {
                readonly AUTO_ASSIGNEEID:long;
            }
            type AutoAudit_ST = AutoAudit_S & BaseElement_S;
            interface AutoAudit_C extends AutoAudit_ST {
                new():AutoAudit;
            }
            interface AutoAudit$ {
                setParticipantAsAutoAuditor(arg0:boolean):void;
                setAutoAuditWhenMatch(arg0:boolean):void;
                getAutoOpinionWhenMatch():string;
                setProcessHandler(arg0:string):void;
                setAutoDecisionWhenMatch(arg0:string):void;
                getAutoAuditCondition():kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntityImpl;
                setAutoOpinionWhenMatch(arg0:string):void;
                getParticipantAsAutoAuditor():boolean;
                getAutoDecisionWhenMatch():string;
                getProcessHandler():string;
                setAutoAuditCondition(arg0:kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntityImpl):void;
                isAutoAuditWhenMatch():boolean;
            }
            type AutoAudit_T = AutoAudit$ & BaseElement;
            interface AutoAudit extends AutoAudit_T {
            }
            interface AuditPointModel_S {
            }
            type AuditPointModel_ST = AuditPointModel_S & BaseElement_S;
            interface AuditPointModel_C extends AuditPointModel_ST {
                new():AuditPointModel;
            }
            interface AuditPointModel$ {
                getAuditPointTitle():string;
                setAuditPoints(arg0:$.java.util.List):void;
                setAuditPointWhenMatch(arg0:boolean):void;
                getAuditPoints():$.java.util.List;
                setAuditPointTitle(arg0:string):void;
                isAuditPointWhenMatch():boolean;
            }
            type AuditPointModel_T = AuditPointModel$ & BaseElement;
            interface AuditPointModel extends AuditPointModel_T {
            }
            interface AutoCoordinate_S {
            }
            type AutoCoordinate_ST = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & AutoCoordinate_S & BaseElement_S & kd.bos.workflow.bpmn.model.basedata.IBaseData_S;
            interface AutoCoordinate_C extends AutoCoordinate_ST {
                new():AutoCoordinate;
            }
            interface AutoCoordinate$ {
                getParticipant():$.java.util.List;
                getShowtext():$.kd.bos.dataentity.entity.ILocaleString;
                setParticipant(arg0:$.java.util.List):void;
                getSuggestion():string;
                setShowtext(arg0:$.kd.bos.dataentity.entity.ILocaleString):void;
                setSuggestion(arg0:string):void;
            }
            type AutoCoordinate_T = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & AutoCoordinate$ & BaseElement & kd.bos.workflow.bpmn.model.basedata.IBaseData;
            interface AutoCoordinate extends AutoCoordinate_T {
            }
            interface AllowNextPersonSetting_S {
                readonly AFTERASSIGNNODE:string;
                readonly DESIGNPARTICIPANTWAY:string;
                readonly WAYSTOPSUBMITWHENEMPTY:string;
                readonly ALLOWNEXTPERSONSCENE:string;
                readonly SCENENEXTNODEASSIGNVALUE:string;
                readonly EMPTYALLOW:string;
                readonly SCENENEXTNODEASSIGN:string;
                readonly WAYASSIGNWHENEMPTY:string;
                readonly SCENENEXTNODEALL:string;
                readonly WAYASSIGNWHENMUL:string;
                readonly WAYASSIGNMULTIOREMPTY:string;
                readonly WAYNOTASSIGNWHENREJECT:string;
                readonly WAYASSIGNWHENALLOW:string;
                readonly SCENENEXTNODEONLY:string;
            }
            type AllowNextPersonSetting_ST = AllowNextPersonSetting_S & BaseElement_S;
            interface AllowNextPersonSetting_C extends AllowNextPersonSetting_ST {
                new():AllowNextPersonSetting;
            }
            interface AllowNextPersonSetting$ {
                getReAssignPerson():boolean;
                setAllowNextPersonScene(arg0:string):void;
                getSceneNextNodeAssignValue():string;
                setSceneNextNodeAssignValue(arg0:string):void;
                setReAssignPerson(arg0:boolean):void;
                getAllowNextPersonScene():string;
                getAllowNextPersonWayAssign():string;
                setAllowNextPersonWayAssign(arg0:string):void;
            }
            type AllowNextPersonSetting_T = AllowNextPersonSetting$ & BaseElement;
            interface AllowNextPersonSetting extends AllowNextPersonSetting_T {
            }
            interface IEntitySupport_S {
            }
            interface IEntitySupport_C extends IEntitySupport_S {
            }
            interface IEntitySupport$ {
                getEntityNumber():string;
            }
            type IEntitySupport_T = IEntitySupport$;
            interface IEntitySupport extends IEntitySupport_T {
            }
            interface ISupportSkipCondition_S {
            }
            interface ISupportSkipCondition_C extends ISupportSkipCondition_S {
            }
            interface ISupportSkipCondition$ {
                getSkipCondition():$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity;
            }
            type ISupportSkipCondition_T = ISupportSkipCondition$;
            interface ISupportSkipCondition extends ISupportSkipCondition_T {
            }
            interface Lane_S {
            }
            type Lane_ST = Container_S & Lane_S;
            interface Lane_C extends Lane_ST {
                new():Lane;
            }
            interface Lane$ {
                getFlowReferences():$.java.util.List;
                getParentProcess():Process;
                setPoolRef(arg0:string):void;
                setName(arg0:string):void;
                setParentProcess(arg0:Process):void;
                setFlowReferences(arg0:$.java.util.List):void;
                setValues(arg0:Lane):void;
                getPoolRef():string;
                getBeloneToPoolFlows():$.java.util.List;
                setBeloneToPoolFlows(arg0:$.java.util.List):void;
            }
            type Lane_T = Container & Lane$;
            interface Lane extends Lane_T {
            }
            interface Resource_S {
            }
            type Resource_ST = BaseElement_S & Resource_S;
            interface Resource_C extends Resource_ST {
                new(arg0:string,arg1:string):Resource;
            }
            interface Resource$ {
                setName(arg0:string):void;
            }
            type Resource_T = BaseElement & Resource$;
            interface Resource extends Resource_T {
            }
            interface UserTask_S {
                readonly DECISIONOPTIONS_KEY:string;
            }
            type UserTask_ST = IEntitySupport_S & IMessageSupport_S & ISupportSkipCondition_S & Task_S & UserTask_S & kd.bos.workflow.engine.impl.bpmn.helper.nodetemplate.ISupportExtension_S;
            interface UserTask_C extends UserTask_ST {
                new():UserTask;
            }
            interface UserTask$ {
                getParticipant():ParticipatantModel;
                setEntityId(arg0:string):void;
                isAllowTransfer():boolean;
                setAllowCoordinate(arg0:boolean):void;
                setTaskListeners(arg0:$.java.util.List):void;
                setProcessingPage(arg0:string):void;
                setExtAttrGroup(arg0:$.java.util.Map):void;
                getExtAttrGroup():$.java.util.Map;
                getProcessingMobilePage():string;
                getParticipantRangeSetting():ParticipantRangeSettingModel;
                setValues(arg0:UserTask):void;
                isCompositeTasks():boolean;
                setFlowRecordsFormatter(arg0:string):void;
                getAutoCoordinateModel():AutoCoordinateModel;
                setAllowNextPersonSettingModel(arg0:AllowNextPersonSettingModel):void;
                setBizIdentifyKey(arg0:string):void;
                setCompositeTasks(arg0:boolean):void;
                setOperation(arg0:$.java.util.List):void;
                setBizFlowBillSummary(arg0:string):void;
                getOperationStr():string;
                setSubject(arg0:$.java.util.List):void;
                setHideTaskInCenter(arg0:boolean):void;
                setParticipantRangeSetting(arg0:ParticipantRangeSettingModel):void;
                setEntryMode(arg0:string):void;
                getSensitiveField():SensitiveField;
                setDecisionOptions(arg0:$.java.util.List):void;
                isAllowCoordinate():boolean;
                setAllowTransfer(arg0:boolean):void;
                getCirculateModel():CirculateModel;
                getFlowRecordsFormatter():string;
                getBizFlowBillSummary():string;
                getEntityId():string;
                getOptionalActions():OptionalActions;
                setSensitiveField(arg0:SensitiveField):void;
                setTimeLimitControl(arg0:TimeLimitControl):void;
                setSkipCondition(arg0:$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity):void;
                setAutoAudit(arg0:AutoAudit):void;
                isAllowSendTodo():boolean;
                setFloatLayerBillSummary(arg0:string):void;
                getAllowNextPersonSettingModel():AllowNextPersonSettingModel;
                setBackRejectedActivity(arg0:boolean):void;
                getTaskListeners():$.java.util.List;
                getEntryMode():string;
                isHideTaskInCenter():boolean;
                setCirculateModel(arg0:CirculateModel):void;
                getSubject():$.java.util.List;
                getProcessingPage():string;
                setEntityName(arg0:string):void;
                getEndType():string;
                getExpireModel():ExpireModel;
                setOptionalActions(arg0:OptionalActions):void;
                setEndType(arg0:string):void;
                setBusinessCalendarName(arg0:string):void;
                getFlowRecordFormatter():string;
                setPriority(arg0:string):void;
                setAutoCoordinateModel(arg0:AutoCoordinateModel):void;
                getFloatLayerBillSummary():string;
                getPriority():string;
                setFlowRecordFormatter(arg0:string):void;
                setAllowSendTodo(arg0:boolean):void;
                setBillSetting(arg0:BillSetting):void;
                isBackRejectedActivity():boolean;
                getEntityName():string;
                getBillSetting():BillSetting;
                setEntityNumber(arg0:string):void;
                getBusinessCalendarName():string;
                setParticipant(arg0:ParticipatantModel):void;
                getAutoAudit():AutoAudit;
                setExpireModel(arg0:ExpireModel):void;
                setProcessingMobilePage(arg0:string):void;
                getTimeLimitControl():TimeLimitControl;
            }
            type UserTask_T = IEntitySupport & IMessageSupport & ISupportSkipCondition & Task & UserTask$ & kd.bos.workflow.engine.impl.bpmn.helper.nodetemplate.ISupportExtension;
            interface UserTask extends UserTask_T {
            }
            interface ParticipantRangeSettingModel_S {
            }
            type ParticipantRangeSettingModel_ST = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseElement_S & ParticipantRangeSettingModel_S & kd.bos.workflow.bpmn.model.basedata.IBaseData_S;
            interface ParticipantRangeSettingModel_C extends ParticipantRangeSettingModel_ST {
                new():ParticipantRangeSettingModel;
            }
            interface ParticipantRangeSettingModel$ {
                getParticipantAllow():$.java.util.List;
                setParticipantBlackList(arg0:$.java.util.List):void;
                setParticipantAllow(arg0:$.java.util.List):void;
                isAllowanyone():boolean;
                setAllowanyone(arg0:boolean):void;
                getParticipantBlackList():$.java.util.List;
            }
            type ParticipantRangeSettingModel_T = $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseElement & ParticipantRangeSettingModel$ & kd.bos.workflow.bpmn.model.basedata.IBaseData;
            interface ParticipantRangeSettingModel extends ParticipantRangeSettingModel_T {
            }
            interface AuditCommentModel_S {
            }
            type AuditCommentModel_ST = AuditCommentModel_S & BaseElement_S;
            interface AuditCommentModel_C extends AuditCommentModel_ST {
                new():AuditCommentModel;
            }
            interface AuditCommentModel$ {
                getAuditComments():$.java.util.List;
                isAuditCommentWhenMatch():boolean;
                setAuditComments(arg0:$.java.util.List):void;
                setAuditCommentWhenMatch(arg0:boolean):void;
            }
            type AuditCommentModel_T = AuditCommentModel$ & BaseElement;
            interface AuditCommentModel extends AuditCommentModel_T {
            }
            interface MessageFlow_S {
            }
            type MessageFlow_ST = BaseElement_S & MessageFlow_S;
            interface MessageFlow_C extends MessageFlow_ST {
                new():MessageFlow;
                new(arg0:string,arg1:string):MessageFlow;
            }
            interface MessageFlow$ {
                getTargetRef():string;
                getMessageRef():string;
                setName(arg0:string):void;
                setValues(arg0:MessageFlow):void;
                setMessageRef(arg0:string):void;
                setSourceRef(arg0:string):void;
                getSourceRef():string;
                setTargetRef(arg0:string):void;
            }
            type MessageFlow_T = BaseElement & MessageFlow$;
            interface MessageFlow extends MessageFlow_T {
            }
            interface AllowNextPersonSettingModel_S {
                readonly ALLOWNEXTPERSONWHENMATCH:string;
                readonly ALLOWNEXTPERSONSETTING:string;
            }
            type AllowNextPersonSettingModel_ST = AllowNextPersonSettingModel_S & BaseElement_S;
            interface AllowNextPersonSettingModel_C extends AllowNextPersonSettingModel_ST {
                new():AllowNextPersonSettingModel;
            }
            interface AllowNextPersonSettingModel$ {
                setAllowNextPersonWhenMatch(arg0:boolean):void;
                isAllowNextPersonWhenMatch():boolean;
                setAllowNextPersonSetting(arg0:AllowNextPersonSetting):void;
                getAllowNextPersonSetting():AllowNextPersonSetting;
            }
            type AllowNextPersonSettingModel_T = AllowNextPersonSettingModel$ & BaseElement;
            interface AllowNextPersonSettingModel extends AllowNextPersonSettingModel_T {
            }
            interface CirculateModel_S {
            }
            type CirculateModel_ST = BaseElement_S & CirculateModel_S;
            interface CirculateModel_C extends CirculateModel_ST {
                new():CirculateModel;
            }
            interface CirculateModel$ {
                setCirculate(arg0:Circulate):void;
                setCirculateWhenMatch(arg0:boolean):void;
                isCirculateWhenMatch():boolean;
                getCirculate():Circulate;
            }
            type CirculateModel_T = BaseElement & CirculateModel$;
            interface CirculateModel extends CirculateModel_T {
            }
            interface AutoCoordinateModel_S {
            }
            type AutoCoordinateModel_ST = AutoCoordinateModel_S & BaseElement_S;
            interface AutoCoordinateModel_C extends AutoCoordinateModel_ST {
                new():AutoCoordinateModel;
            }
            interface AutoCoordinateModel$ {
                isAutoCoordianteFieldModify():boolean;
                setAutoCoordinate(arg0:AutoCoordinate):void;
                setAutoCoordianteFieldModify(arg0:boolean):void;
                getAutoCoordinate():AutoCoordinate;
            }
            type AutoCoordinateModel_T = AutoCoordinateModel$ & BaseElement;
            interface AutoCoordinateModel extends AutoCoordinateModel_T {
            }
            interface BatchRejectModel_S {
            }
            type BatchRejectModel_ST = BaseElement_S & BatchRejectModel_S;
            interface BatchRejectModel_C extends BatchRejectModel_ST {
                new():BatchRejectModel;
            }
            interface BatchRejectModel$ {
                setValues(arg0:BatchRejectModel):void;
                getBatchRejectNode():string;
                setBatchRejectCond(arg0:$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity):void;
                setBatchReject(arg0:boolean):void;
                setBatchRejectNode(arg0:string):void;
                isBatchReject():boolean;
                setBatchRejectDec(arg0:string):void;
                getBatchRejectDec():string;
                getBatchRejectCond():$.kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity;
            }
            type BatchRejectModel_T = BaseElement & BatchRejectModel$;
            interface BatchRejectModel extends BatchRejectModel_T {
            }
            interface ParticipantStrategy_S {
            }
            type ParticipantStrategy_ST = BaseElement_S & ParticipantStrategy_S;
            interface ParticipantStrategy_C extends ParticipantStrategy_ST {
                new():ParticipantStrategy;
            }
            interface ParticipantStrategy$ {
                isEmptyParticipant():boolean;
                isSingleParticipant():boolean;
                setSingleParticipant(arg0:boolean):void;
                setValues(arg0:ParticipantStrategy):void;
                setEmptyParticipant(arg0:boolean):void;
            }
            type ParticipantStrategy_T = BaseElement & ParticipantStrategy$;
            interface ParticipantStrategy extends ParticipantStrategy_T {
            }
            interface TimeLimitControl_S {
            }
            type TimeLimitControl_ST = BaseElement_S & TimeLimitControl_S;
            interface TimeLimitControl_C extends TimeLimitControl_ST {
                new():TimeLimitControl;
            }
            interface TimeLimitControl$ {
                getAutoDecision():string;
                setSendMessage(arg0:boolean):void;
                setMessage(arg0:string):void;
                isSendMessage():boolean;
                setReceiverId(arg0:string):void;
                setAutoAuditWhenExpire(arg0:boolean):void;
                setAutoOpinion(arg0:string):void;
                setAutoDecision(arg0:string):void;
                getAutoOpinion():string;
                getReceiverId():string;
                getMessage():string;
                isAutoAuditWhenExpire():boolean;
            }
            type TimeLimitControl_T = BaseElement & TimeLimitControl$;
            interface TimeLimitControl extends TimeLimitControl_T {
            }
            interface OrderedNodesInfo_S {
            }
            interface OrderedNodesInfo_C extends OrderedNodesInfo_S {
                new(arg0:BpmnModel):OrderedNodesInfo;
            }
            interface OrderedNodesInfo$ {
                getPreviousNodeIds(arg0:BpmnModel,arg1:string):$.java.util.Set;
                getFollowNodeIds(arg0:string):$.java.util.Set;
                getPreviousNodes(arg0:BpmnModel,arg1:string):$.java.util.List;
                getFollowNodes(arg0:BpmnModel,arg1:string):$.java.util.List;
            }
            type OrderedNodesInfo_T = OrderedNodesInfo$;
            interface OrderedNodesInfo extends OrderedNodesInfo_T {
            }
            interface AfterAuditModel_S {
                readonly KEYAUDITOR:string;
                readonly AFTERAUDITBTN:string;
                readonly PERSONRANGE:string;
            }
            type AfterAuditModel_ST = AfterAuditModel_S & BaseElement_S & kd.bos.workflow.bpmn.model.basedata.IBaseData_S;
            interface AfterAuditModel_C extends AfterAuditModel_ST {
                new():AfterAuditModel;
            }
            interface AfterAuditModel$ {
                setPersonRange(arg0:string):void;
                getAfterAuditbtn():boolean;
                getPersonRange():string;
                setAfterAuditbtn(arg0:boolean):void;
                getKeyAuditor():$.java.util.List;
                setKeyAuditor(arg0:$.java.util.List):void;
            }
            type AfterAuditModel_T = AfterAuditModel$ & BaseElement & kd.bos.workflow.bpmn.model.basedata.IBaseData;
            interface AfterAuditModel extends AfterAuditModel_T {
            }
        }
        namespace kd.bos.workflow.bpmn.model.basedata{
            interface BaseDataRecord_S {
            }
            interface BaseDataRecord_C extends BaseDataRecord_S {
                new():BaseDataRecord;
            }
            interface BaseDataRecord$ {
                getBaseData():IBaseData;
                getKey():string;
                getFlowElement():BaseElement;
                setFlowElement(arg0:BaseElement):void;
                setBaseData(arg0:IBaseData):void;
                setKey(arg0:string):void;
            }
            type BaseDataRecord_T = BaseDataRecord$;
            interface BaseDataRecord extends BaseDataRecord_T {
            }
            interface IBaseData_S {
            }
            interface IBaseData_C extends IBaseData_S {
            }
            interface IBaseData$ {
                getBaseDataType():string;
            }
            type IBaseData_T = IBaseData$;
            interface IBaseData extends IBaseData_T {
            }
        }
        namespace kd.bos.workflow.bpmn.model.dynamicpartial{
            interface IDynamicPartial_S {
            }
            interface IDynamicPartial_C extends IDynamicPartial_S {
            }
            interface IDynamicPartial$ {
                getPartialType():string;
            }
            type IDynamicPartial_T = IDynamicPartial$;
            interface IDynamicPartial extends IDynamicPartial_T {
            }
            interface DynamicModelPartial_S {
            }
            interface DynamicModelPartial_C extends DynamicModelPartial_S {
                new():DynamicModelPartial;
            }
            interface DynamicModelPartial$ {
                getFlowElement():BaseElement;
                clone():this;
                setFlowElement(arg0:BaseElement):void;
                setPartial(arg0:IDynamicPartial):void;
                getPartialPropertyName():string;
                setPartialPropertyName(arg0:string):void;
                getPartial():IDynamicPartial;
            }
            type DynamicModelPartial_T = DynamicModelPartial$;
            interface DynamicModelPartial extends DynamicModelPartial_T {
            }
        }
        namespace kd.bos.workflow.component{
            interface IApprovalRecord_S {
            }
            interface IApprovalRecord_C extends IApprovalRecord_S {
            }
            interface IApprovalRecord$ {
                setParameters(parameters:$.java.util.Map):void;
                setBusinessKey(businessKey:string):void;
                getBusinessKey():string;
                setData(data:$.java.util.List):void;
                setYzjParameter(billId:string,featureCode:string,scene:string):void;
                getData():$.java.util.List;
                setShareParams(shareParams:$.java.util.Map):void;
            }
            type IApprovalRecord_T = IApprovalRecord$;
            interface IApprovalRecord extends IApprovalRecord_T {
            }
            interface WorkflowDesigner_S {
            }
            type WorkflowDesigner_ST = $.kd.bos.form.TipsSupport & WorkflowDesigner_S;
            interface WorkflowDesigner_C extends WorkflowDesigner_ST {
                new():WorkflowDesigner;
            }
            interface WorkflowDesigner$ {
                /**
                 * 更新id为itemId的节点的group属性组下的property属性的值为value
                 * @param itemId
                 * @param group
                 * @param property
                 * @param value
                 */
                updateProperty(directive:kd.bos.workflow.design.plugin.model.Directive):void;
                /**
                 * 首次数据加载完成后触发，目前仅关系图触发
                 * @param formId
                 * @param params
                 */
                afterLoadData(formId:string,params:$.java.util.Map):void;
                showAutoCoordinateInfo(groupId:string):void;
                /**
                 * 连接事件
                 * @param formId
                 * @param param
                 */
                connect(formId:string,param:$.java.util.Map):void;
                /**
                 * 打开
                 * @param modelType
                 * @param doc
                 */
                open(modelType:string,doc:$.java.util.Map):void;
                /**
                 * 处理前端事件
                 * @param type 事件类型
                 * @param param 参数
                 */
                handleEvent(formId:string,type_arg:string,param:$.java.util.Map):void;
                loadSubProcessData(formId:string,params:$.java.util.Map):void;
                /**
                 * ctrl+v操作时触发，可在此时校验，校验通过再通知前端添加复制的节点
                 * @param formId
                 * @param param
                 */
                beforePasteCells(formId:string,param:$.java.util.Map):void;
                /**
                 * 前端改变选中节点时执行
                 * @param type 节点类型
                 * @param param 包含了节点属性等信息
                 */
                change(formId:string,type_arg:string,itemId:string,param:$.java.util.Map):void;
                /**
                 * 前端节点复制完成后触发，此时cells才有id
                 * @param formId
                 * @param param
                 */
                afterPasteCells(formId:string,param:$.java.util.Map):void;
                /**
                 * 加载附件
                 */
                showAttachmentInfo(attacheId:string,downloadUrl:string,attachmentIds:string):void;
                /**
                 * 加载节点审批记录
                 * @param cellId
                 * @param procInstId
                 * @param historic
                 */
                loadApprovalRecords(cellId:string,procInstId:string,billId:string,historic:boolean):void;
                /**
                 * 在前端输出节点或模型的JSON
                 * @param formId
                 * @param itemId
                 */
                printModelJson(formId:string,itemId:string):void;
                /**
                 * 添加设计器属性编辑器点击事件监听器
                 * @param listener
                 */
                addPropertyButtonClickListener(listener:kd.bos.form.control.events.PropertyListener):void;
                getGraphModel():kd.bos.workflow.design.graph.model.GraphModel;
                /**
                 * 删除Cell
                 * @param formId
                 * @param param
                 */
                removeCells(formId:string,param:$.java.util.Map):void;
                showBillSummaryInfo(data:$.java.util.Map):void;
                /**
                 * 触发前端subscribe的type事件
                 * @param type
                 * @param param
                 * @param currentView
                 */
                notify(type_arg:string,param:$.java.util.Map,currentView:$.kd.bos.form.IFormView):void;
                /**
                 * @param type
                 * @param params
                 * @param currentView
                 */
                notify(type_arg:string,params:$.java.util.List,currentView:$.kd.bos.form.IFormView):void;
                exportImage(view:$.kd.bos.form.IFormView,fileName:string):void;
                /**
                 * 通知前端复制节点
                 * @param view
                 */
                pasteUICells(view:$.kd.bos.form.IFormView):void;
                /**
                 * 通过将线一分为二的方式连接线与节点
                 * @param formId
                 * @param param
                 */
                splitEdge(formId:string,param:$.java.util.Map):void;
                /**
                 * @return 获取设计器设计内容
                 */
                getContent():$.java.util.Map;
                showChildProcessInfo(procInstId:string,formId:string):void;
                /**
                 * 删除节点后触发
                 * @param formId
                 * @param param
                 */
                afterDeleteCells(formId:string,param:$.java.util.Map):void;
                setGraphModel(graphModel:kd.bos.workflow.design.graph.model.GraphModel):void;
                /**
                 * 选中流程
                 * @param view
                 */
                selectProcess(view:$.kd.bos.form.IFormView):void;
                clickCustomizeLink(params:$.java.util.Map):void;
                /**
                 * 修改节点样式
                 * @param itemId
                 * @param view
                 * @param newStyle
                 */
                changeStyle(itemId:string,view:$.kd.bos.form.IFormView,newStyle:string):void;
                /**
                 * 选中节点
                 * @param view
                 */
                selectNode(view:$.kd.bos.form.IFormView,itemId:string):void;
                updateProperties(directives:$.java.util.List):void;
                showTransferRecord(taskId:string,userId:string,coordinate:boolean):void;
                initGraphModel(modelType:string,modelJson:string):void;
                /**
                 * 往画布中添加一个type类型的节点
                 * @param baseType
                 * @param type
                 * @param text
                 * @param style
                 * @param boundary
                 */
                addNodeToDiagram(baseType:string,type_arg:string,template_arg:string,text:string,style:string,isContainer:boolean):void;
                showCoordinateInfo(taskId:string,userId:string):void;
                showChildProcessInfo(procInstId:string,formId:string,callExecutionId:string):void;
                /**
                 * 设计器属性编辑器点击按钮
                 * @param itemId  编辑的元素Id
                 * @param propertyName  编辑的属性明处
                 * @param param param中的参数有"value":当前编辑属性值 ,"form":属性编辑窗口参数  "context":需要的上下文数据
                 * 表单参数和上下文取数规则在属性元数据中定义，由设计器按定义准备好后发出
                 * 属性编辑器定义示例<Editor>{"type":"btnedit","form":{"formId":"ide_operations"},"extenddata":{"type":"entitymeta","properties":["Id","Name","_Type"]}}</Editor>
                 */
                click(itemId:string,metaType:string,propertyName:string,param:$.java.util.Map):void;
                /**
                 * 前端workflowdesigner加载后用loadData加载初始化数据
                 * @param params
                 */
                loadData(formId:string,params:$.java.util.Map):void;
                showCoordinateInfoByProcInstIsd(procInstId:string,cellId:string):void;
                backToParentProcess(procInstId:string,formId:string):void;
                openYzjChat(openIds:$.java.util.List,groupName:string):void;
                /**
                 * MoveCells时改变了节点parent
                 * @param formId
                 * @param param
                 */
                parentChanged(formId:string,param:$.java.util.Map):void;
                /**
                 * 通知前端隐藏右侧属性配置面板，此操作不使用setVisible(false)的原因是前端需要在隐藏后refresh
                 * TODO: 前端改为：action/reducer？
                 * @param view
                 */
                shrinkConfigurePanel(view:$.kd.bos.form.IFormView):void;
                /**
                 * 渲染节点tooltip数据
                 * @param param
                 */
                renderTooltipData(param:$.java.util.Map):void;
                /**
                 * 清除审批记录
                 */
                cleanRecordsState():void;
                /**
                 * 插入Cell
                 * @param formId
                 * @param type
                 * @param itemId
                 * @param param
                 */
                cellsInserted(formId:string,param:$.java.util.Map):void;
            }
            type WorkflowDesigner_T = $.kd.bos.form.TipsSupport & WorkflowDesigner$;
            interface WorkflowDesigner extends WorkflowDesigner_T {
            }
        }
        namespace kd.bos.workflow.component.approvalrecord{
            interface CustomizeLink_S {
            }
            type CustomizeLink_ST = $.java.io.Serializable & CustomizeLink_S;
            interface CustomizeLink_C extends CustomizeLink_ST {
                new():CustomizeLink;
            }
            interface CustomizeLink$ {
                /**
                 * 获取组名
                 * @return
                 */
                getGroupName():string;
                /**
                 * 设置组名
                 * @param groupName
                 */
                setGroupName(groupName:string):void;
                /**
                 * 获取页面宽度
                 * @return
                 */
                getWidth():string;
                /**
                 * 设置打开的FormId
                 * @param formId
                 */
                setFormId(formId:string):void;
                /**
                 * 设置页面高度
                 * @param height
                 */
                setHeight(height:string):void;
                /**
                 * 设置URL链接，如果有URL则直接打开URL
                 * @param url
                 */
                setUrl(url:string):void;
                /**
                 * 获取页面高度
                 * @return
                 */
                getHeight():string;
                /**
                 * 获取链接文字
                 * @return
                 */
                getText():string;
                /**
                 * 设置链接文字
                 * @param text
                 */
                setText(text:string):void;
                /**
                 * 获取URL链接，如果有URL则直接打开URL
                 * @return
                 */
                getUrl():string;
                /**
                 * 获取打开的FormId
                 * @return
                 */
                getFormId():string;
                /**
                 * 设置页面宽度
                 * @param width
                 */
                setWidth(width:string):void;
            }
            type CustomizeLink_T = $.java.io.Serializable & CustomizeLink$;
            interface CustomizeLink extends CustomizeLink_T {
            }
            interface IApprovalRecordGroup_S {
            }
            type IApprovalRecordGroup_ST = $.java.io.Serializable & IApprovalRecordGroup_S;
            interface IApprovalRecordGroup_C extends IApprovalRecordGroup_ST {
            }
            interface IApprovalRecordGroup$ {
                /**
                 * 设置加签
                 * @param addSignMsg
                 */
                setAddSignMsg?(addSignMsg:string):void;
                /**
                 * 获取每个审批人具体信息
                 * @return {@link kd.bos.workflow.component.approvalrecord.IApprovalRecordItem}
                 */
                getChildren():$.java.util.List;
                /**
                 * 获取分组标识，一个任务可以添加多个审批意见，通过group进行分组，审批节点group值为任务id，会审groupid为父任务id
                 * @return
                 */
                getGroup():string;
                /**
                 * 获取节点名称
                 * @return
                 */
                getActivityName():string;
                /**
                 * 设置分组通过决策项，和节点的决策项保持一致，当前节点的groupDecisionType=wait，表示等待处理或者审批
                 * @param groupDecisionType
                 */
                setGroupDecisionType(groupDecisionType:string):void;
                /**
                 * 获取加签
                 * @return
                 */
                getAddSignMsg?():string;
                /**
                 * 设置获取通过规则，审批节点的通过规则默认为一票通过，会审由各个业务模式决定
                 * @param throughRule
                 */
                setThroughRule(throughRule:string):void;
                /**
                 * 设置每个审批人具体信息
                 * @param children {@link kd.bos.workflow.component.approvalrecord.IApprovalRecordItem}
                 */
                setChildren(children:$.java.util.List):void;
                /**
                 * 获取通过规则，审批节点的通过规则默认为一票通过，会审由各个业务模式决定
                 * @return
                 */
                getThroughRule():string;
                /**
                 * 设置节点名称
                 * @param activityName
                 */
                setActivityName(activityName:string):void;
                /**
                 * 获取分组通过决策项，和节点的决策项保持一致，当前节点的groupDecisionType=wait，表示等待处理或者审批
                 * @return
                 */
                getGroupDecisionType():string;
                /**
                 * 设置分组标识，一个任务可以添加多个审批意见，通过group进行分组，审批节点group值为任务id，会审groupid为父任务id
                 * @param group
                 */
                setGroup(group:string):void;
            }
            type IApprovalRecordGroup_T = $.java.io.Serializable & IApprovalRecordGroup$;
            interface IApprovalRecordGroup extends IApprovalRecordGroup_T {
            }
            interface IApprovalRecordItem_S {
            }
            type IApprovalRecordItem_ST = $.java.io.Serializable & IApprovalRecordItem_S;
            interface IApprovalRecordItem_C extends IApprovalRecordItem_ST {
            }
            interface IApprovalRecordItem$ {
                /**
                 * 获取任务id
                 * @return
                 */
                getTaskId?():string;
                /**
                 * 获取记录
                 * @return null
                 */
                getNote?():string;
                /**
                 * 获取处理人头像URL
                 * @return
                 */
                getAvatar():string;
                /**
                 * 获取当前用户id
                 * @return
                 */
                getCurrentUserId?():string;
                /**
                 * 获取业务标识，用于打印或者判断是属于某个节点
                 * @return
                 */
                getBizIdentifyKey?():string;
                /**
                 * 设置附件
                 * @param attachments
                 */
                setAttachments?(attachments:$.java.util.List):void;
                /**
                 * 设置是否公开
                 * @param isPublic
                 */
                setIsPublic?(isPublic:boolean):void;
                /**
                 * 获取处理时间
                 * @return
                 */
                getTime():string;
                /**
                 * 获取副标题
                 * @return
                 */
                getSubactivityname():string;
                /**
                 * 获取所有者ID	没有转交时为0，转交后为转交人id
                 * @return null
                 */
                getOwnerId?():long;
                /**
                 * 设置所有者ID	没有转交时为0，转交后为转交人id Sring类型
                 * @param ownerId
                 */
                setOwnerIdStr?(ownerId:string):void;
                /**
                 * 设置源
                 * @param source
                 */
                setSource?(source:string):void;
                /**
                 * 设置流程名称
                 * @param processName
                 */
                setProcessName?(processName:string):void;
                /**
                 * 设置业务标识，用于打印或者判断是属于某个节点
                 * @param bizIdentifyKey
                 */
                setBizIdentifyKey?(bizIdentifyKey:string):void;
                /**
                 * 设置审批结果，取决策名称
                 * @param result
                 */
                setResult(result:string):void;
                /**
                 * 获取审批意见
                 * @return
                 */
                getMessage():string;
                /**
                 * 获取userId String类型
                 * @return null
                 */
                getUserStr?():string;
                /**
                 * 获取审批结果，取决策名称
                 * @return
                 */
                getResult():string;
                /**
                 * 是否显示流转记录
                 * @return
                 */
                isShowTransferRecord?():boolean;
                /**
                 * 设置是否委托
                 * @param isDelegate
                 */
                setDelegate?(isDelegate:boolean):void;
                /**
                 * 设置处理人头像URL
                 * @param avatar
                 */
                setAvatar(avatar:string):void;
                /**
                 * 获取附件
                 * @return
                 */
                getAttachments?():$.java.util.List;
                /**
                 * 获取选中记录明细
                 * @return null
                 */
                getCurrentApprovalRecordItem?():$.java.util.List;
                /**
                 * 设置处理状态
                 * @param handleState
                 */
                setHandleState?(handleState:string):void;
                /**
                 * 获取子流程节点跨租户信息
                 * @return
                 */
                getSubCrossTenantInfo?():string;
                /**
                 * 设置是否协办
                 * @param isCoordinate
                 */
                setCoordinate?(isCoordinate:boolean):void;
                /**
                 * 设置副标题
                 * @param subactivityname
                 */
                setSubactivityname(subactivityname:string):void;
                /**
                 * 获取所有者名字
                 * @return
                 */
                getOwnerName?():string;
                /**
                 * 获取用户id
                 * @return
                 */
                getUserId():long;
                /**
                 * 设置审批人openId
                 * @param openId
                 */
                setOpenId(openId:string):void;
                /**
                 * 设置流程定义ID
                 * @param procDefId
                 */
                setProcDefId?(procDefId:string):void;
                /**
                 * 所属分组id
                 * @return
                 */
                getGroupId?():string;
                /**
                 * 设置当前用户id
                 * @param cuurentUserId
                 */
                setCurrentUserId?(cuurentUserId:string):void;
                /**
                 * 设置格式化时间字符串
                 * @param formatTime
                 */
                setFormatStrTime?(formatTime:string):void;
                /**
                 * 设置业务id
                 * @param businessKey
                 */
                setBusinessKey?(businessKey:string):void;
                /**
                 * 设置用户id
                 * @param userId
                 */
                setUserId(userId:long):void;
                /**
                 * 获取节点ID
                 * @return
                 */
                getActivityId():string;
                /**
                 * 获取流程实例ID
                 * @return null
                 */
                getProcInstId?():string;
                /**
                 * 获取流程定义ID
                 * @return
                 */
                getProcDefId?():string;
                /**
                 * 设置节点类型
                 * @param nodeType
                 */
                setNodeType?(nodeType:string):void;
                /**
                 * 获取节点名称
                 * @return
                 */
                getActivityName():string;
                /**
                 * 获取处理端类型
                 *
                 * PC和移动处理 all 仅PC处理 pc
                 * 仅移动处理 mb
                 * @return
                 */
                getEndType?():string;
                /**
                 * 设置终端处理类型
                 * @param endType
                 */
                setEndType?(endType:string):void;
                /**
                 * 获取类型
                 * @return null
                 */
                getType?():string;
                /**
                 * 设置是否显示流转记录
                 * @param showTransferRecord
                 */
                setShowTransferRecord?(showTransferRecord:boolean):void;
                /**
                 * 设置处理时间
                 * @param time格式化后的事件字符串
                 */
                setTime(time:string):void;
                /**
                 * 设置审批人openId
                 * @return
                 */
                getOpenId():string;
                /**
                 * 获取业务id
                 * @return null
                 */
                getBusinessKey?():string;
                /**
                 * 设置处理人及职务信息
                 * @param assignee
                 */
                setAssignee(assignee:string):void;
                /**
                 * 获取处理状态
                 * 已同意 approve
                 * 已驳回 reject
                 * 已终止 terminate
                 * 已处理 handled
                 * 被驳回 dismissed
                 * 待审批 willApproval 已冻结 freeze
                 * 待处理 willHandled 已挂起 manualSuspended 已转换 converted
                 * 转换中 converting 待转换 unConverted
                 * @return
                 */
                getHandleState?():string;
                /**
                 * 设置终端处理方式
                 * @param terminalWay
                 */
                setTerminalWay?(terminalWay:string):void;
                /**
                 * 获取加签信息
                 * @return
                 */
                getAddSignMsg?():string;
                /**
                 * 获取源
                 * @return null
                 */
                getSource?():string;
                /**
                 * 设置任务id
                 * @param taskId
                 */
                setTaskId?(taskId:string):void;
                /**
                 * 获取审批记录ID
                 * @return null
                 */
                getCommentId?():string;
                /**
                 * 是否公开
                 * @return
                 */
                getIsPublic?():boolean;
                /**
                 * 是否协办
                 * @return
                 */
                isCoordinate?():boolean;
                /**
                 * 设置节点ID
                 * @param activityId
                 */
                setActivityId(activityId:string):void;
                /**
                 * 获取格式化时间
                 * @return null
                 */
                getFormatTime?():long;
                /**
                 * 获取所有者ID	没有转交时为0，转交后为转交人id Sring类型
                 * @return
                 */
                getOwnerIdStr?():string;
                /**
                 * 设置状态
                 * @param state
                 */
                setState(state:string):void;
                /**
                 * 设置节点名称
                 * @param activityName
                 */
                setActivityName(activityName:string):void;
                /**
                 * 设置流程版本
                 * @param processVersion
                 */
                setProcessVersion?(processVersion:string):void;
                /**
                 * 获取状态
                 * @return
                 */
                getState():string;
                /**
                 * 设置记录
                 * @param note
                 */
                setNote?(note:string):void;
                /**
                 * 获取实体编码
                 * @return null
                 */
                getEntityNumber?():string;
                /**
                 * 获取决策项
                 * @return 已同意 approve 已驳回 reject 已终止 terminate
                 */
                getDecisionType():string;
                /**
                 * 设置场景
                 * @param scene
                 */
                setScene?(scene:string):void;
                /**
                 * 获取处理人签名
                 * @return
                 */
                getSignature?():string;
                /**
                 * 设置选中记录明细
                 * @param curItems
                 */
                setCurrentApprovalRecordItem?(curItems:$.java.util.List):void;
                /**
                 * 设置处理人签名
                 * @param signature
                 */
                setSignature?(signature:string):void;
                /**
                 * 获取场景
                 * @return null
                 */
                getScene?():string;
                /**
                 * 设置流程编码
                 * @param processCode
                 */
                setProcessCode?(processCode:string):void;
                /**
                 * 设置决策项
                 * @param decisionType 已同意 approve 已驳回 reject 已终止 terminate
                 */
                setDecisionType(decisionType:string):void;
                /**
                 * 获取流程编码
                 * @return null
                 */
                getProcessCode?():string;
                /**
                 * 设置子流程节点跨租户信息
                 * @param callExecutionId
                 */
                setSubCrossTenantInfo?(callExecutionId:string):void;
                /**
                 * 设置加签信息
                 * @param addSignMsg
                 */
                setAddSignMsg?(addSignMsg:string):void;
                /**
                 * 获取格式化时间字符串
                 * @return null
                 */
                getFormatStrTime?():string;
                /**
                 * 获取终端处理方式
                 * @return
                 */
                getTerminalWay?():string;
                /**
                 * 获取流程名称
                 * @return null
                 */
                getProcessName?():string;
                /**
                 * 设置所有者名字
                 * @param ownerName
                 */
                setOwnerName?(ownerName:string):void;
                /**
                 * 获取处理人及职务信息
                 * @return
                 */
                getAssignee():string;
                /**
                 * 设置userId String类型
                 * @param userStr
                 */
                setUserStr?(userStr:string):void;
                /**
                 * 设置实体编码
                 * @param entityNumber
                 */
                setEntityNumber?(entityNumber:string):void;
                /**
                 * 是否委托
                 * @return
                 */
                isDelegate?():boolean;
                /**
                 * 设置所有者ID	没有转交时为0，转交后为转交人id
                 * @param ownerId
                 */
                setOwnerId?(ownerId:long):void;
                /**
                 * 设置类型
                 * @param type
                 */
                setType?(type_arg:string):void;
                /**
                 * 设置流程实例ID
                 * @param procInstId
                 */
                setProcInstId?(procInstId:string):void;
                /**
                 * 获取审批记录(详情)自定义链接
                 * @return  {@link kd.bos.workflow.component.approvalrecord.CustomizeLink}
                 */
                getLinks?():$.java.util.List;
                /**
                 * 获取流程版本
                 * @return null
                 */
                getProcessVersion?():string;
                /**
                 * 设置格式化时间
                 * @param formatTime
                 */
                setFormatTime?(formatTime:long):void;
                /**
                 * 获取节点类型
                 *  @return null
                 */
                getNodeType?():string;
                /**
                 * 设置审批记录(详情)自定义链接
                 * @param links {@link kd.bos.workflow.component.approvalrecord.CustomizeLink}
                 */
                setLinks?(links:$.java.util.List):void;
                /**
                 * 设置审批记录ID
                 * @param commentId
                 */
                setCommentId?(commentId:string):void;
                /**
                 * 设置审批意见
                 * @param message
                 */
                setMessage(message:string):void;
            }
            type IApprovalRecordItem_T = $.java.io.Serializable & IApprovalRecordItem$;
            interface IApprovalRecordItem extends IApprovalRecordItem_T {
            }
        }
        namespace kd.bos.workflow.design.graph.model{
            interface GraphModel_S {
            }
            type GraphModel_ST = $.java.io.Serializable & GraphModel_S;
            interface GraphModel_C extends GraphModel_ST {
                new(modelType:string,modelJson:string):GraphModel;
            }
            interface GraphModel$ {
                /**
                 * 返回根节点
                 * @return
                 */
                getRootCell():kd.bos.workflow.bpmn.graph.model.GraphCell;
                /**
                 * 返回根节点(流程)的属性
                 * @param property
                 * @return
                 */
                getRootCellProperty(property:string):any;
                /**
                 * 由于移动cell，节点parent发生了变化，调整后端模型
                 * @param parentId 新parentId
                 * @param changed cellId与原parentId的Map
                 */
                parentChanged(parentId:string,changed:$.java.util.Map):void;
                /**
                 * 批量设置节点的属性值
                 * @param itemId
                 * @param stencilType
                 * @param pairs
                 */
                setProperties(itemId:string,stencilType:string,...pairs:any[]):void;
                /**
                 * 连接并增加target节点
                 * @param edge
                 * @param sourceId
                 * @param target
                 */
                connectAddCell(edge:kd.bos.workflow.bpmn.graph.model.GraphCell,sourceId:string,target:kd.bos.workflow.bpmn.graph.model.GraphCell):string;
                /**
                 * 返回模型Json字符串
                 * @return
                 */
                getBpmnModelJson():string;
                /**
                 * 返回当前字符串模型对应的BpmnModel
                 * @return
                 */
                getBpmnModel():kd.bos.workflow.bpmn.model.BpmnModel;
                /**
                 * 删除节点
                 * @param cells
                 */
                removeCells(cells:$.java.util.List):void;
                getModeType():string;
                /**
                 * 批量删除属性
                 * @param itemId
                 * @param stencilType
                 * @param properties
                 */
                deleteProperties(itemId:string,stencilType:string,...properties:string[]):void;
                /**
                 * 删除属性
                 * @param itemId
                 * @param stencilType
                 * @param propName
                 */
                deleteProperty(itemId:string,stencilType:string,propName:string):void;
                /**
                 * 复制节点：克隆并新增
                 * @param cells
                 * @param 当前pageId
                 */
                cloneAndAddCells(cells:$.java.util.List,currentView:$.kd.bos.form.IFormView):string;
                /**
                 * 批量设置节点的属性值，同时设置properties中对应的属性值，用于在afterCreateNewData方法中赋值
                 * @param itemId
                 * @param stencilType
                 * @param properties
                 * @param pairs
                 */
                setProperties(itemId:string,stencilType:string,properties:any,...pairs:any[]):void;
                /**
                 * 从graphRoot中取节点最新的位置信息合并到当前graphCell中
                 * 新增节点时后端模型中边界节点和其父节点是平级的，在最后保存时前端传给后端的是有层级关系的
                 * @param graphRoot
                 */
                updateGraphGeometry(graphRoot:kd.bos.workflow.bpmn.graph.model.GraphCell):void;
                /**
                 * 返回model中指定的节点
                 * @param itemId
                 * @return
                 */
                getGraphCell(itemId:string):kd.bos.workflow.bpmn.graph.model.GraphCell;
                /**
                 * 获取itemId节点的properties
                 * @param itemId
                 * @return
                 */
                getCellProperties(itemId:string):$.java.util.Map;
                /**
                 * 通过将线分割的方式连接节点
                 * @param edge
                 * @param newEdge
                 */
                splitEdge(edge:kd.bos.workflow.bpmn.graph.model.GraphCell,newEdge:kd.bos.workflow.bpmn.graph.model.GraphCell):void;
                /**
                 * 添加节点
                 * @param cell
                 */
                addCell(cell:kd.bos.workflow.bpmn.graph.model.GraphCell):void;
                /**
                 * 连接
                 * @param edge
                 * @param source
                 * @param target
                 */
                connect(edge:kd.bos.workflow.bpmn.graph.model.GraphCell,sourceId:string,targetId:string):void;
                /**
                 * 设置节点的属性值
                 * @param itemId
                 * @param stencilType
                 * @param propName
                 * @param value
                 */
                setProperty(itemId:string,stencilType:string,propName:string,value:any):void;
                /**
                 * 设置节点的属性值，同时设置properties中对应的属性值
                 * @param itemId
                 * @param stencilType
                 * @param propName
                 * @param value
                 * @param properties
                 */
                setProperty(itemId:string,stencilType:string,propName:string,value:any,properties:any):void;
                /**
                 * 获取节点的属性值
                 * @param itemId
                 * @param stencilType
                 * @param propName
                 * @return
                 */
                getProperty(itemId:string,stencilType:string,propName:string):any;
            }
            type GraphModel_T = $.java.io.Serializable & GraphModel$;
            interface GraphModel extends GraphModel_T {
            }
        }
        namespace kd.bos.workflow.design.plugin{
            interface IWorkflowDesigner_S {
                readonly TYPE_CONNECT:string;
                readonly TYPE_CONNECT_ADD:string;
            }
            interface IWorkflowDesigner_C extends IWorkflowDesigner_S {
            }
            interface IWorkflowDesigner$ {
                beforePasteCells?(cells:$.java.util.List):void;
                updateProcInstId?(procInstId:string,data:$.java.util.Map):void;
                /**
                 * 从模型中移除后触发
                 * @param cells
                 */
                afterRemoveCells?(cells:$.java.util.List):void;
                afterSplitEdge?(edge:kd.bos.workflow.bpmn.graph.model.GraphCell,newEdge:kd.bos.workflow.bpmn.graph.model.GraphCell):void;
                /**
                 * 前端删除操作触发，执行顺序在afterRemoveCells之后
                 * @param cells
                 * @param selectedCells
                 */
                afterDeleteCells?(cells:$.java.util.List,selectedCells:$.java.util.List):void;
                expandedConfigurePanel?(param:$.java.util.Map):void;
                getModelJson?(itemId:string):string;
                afterPasteCells?(cells:$.java.util.List):void;
                beforeRemoveCells?(cells:$.java.util.List):void;
                /**
                 * 新增节点
                 * @param edge
                 * @param sourceId
                 * @param target
                 * @param type 新增类型：连接并新增（增加节点和线）TYPE_CONNECT、仅连接（增加线）TYPE_CONNECT_ADD
                 */
                afterInsertCells(edge:kd.bos.workflow.bpmn.graph.model.GraphCell,sourceId:string,target:kd.bos.workflow.bpmn.graph.model.GraphCell,type_arg:string):void;
                afterParentChanged?(parentId:string,changed:$.java.util.Map):void;
                handleCustomEvent?(type_arg:string,param:$.java.util.Map):void;
                connect?(edge:kd.bos.workflow.bpmn.graph.model.GraphCell,sourceId:string,targetId:string):void;
                change?(type_arg:string,itemId:string,params:$.java.util.Map):void;
                afterLoadInitData?(params:$.java.util.Map):void;
                afterInsertCells(cell:kd.bos.workflow.bpmn.graph.model.GraphCell):void;
                getDesignerInitData(params:$.java.util.Map):$.java.util.Map;
            }
            type IWorkflowDesigner_T = IWorkflowDesigner$;
            interface IWorkflowDesigner extends IWorkflowDesigner_T {
            }
        }
        namespace kd.bos.workflow.design.plugin.model{
            interface Directive_S {
            }
            interface Directive_C extends Directive_S {
                new():Directive;
                new(itemId:string,group:string,property:string,value:any):Directive;
                new(itemId:string,group:string,property:string,value:any,currentView:$.kd.bos.form.IFormView):Directive;
            }
            interface Directive$ {
                getItemId():string;
                setValue(value:any):void;
                getValue():any;
                setItemId(itemId:string):void;
                getProperty():string;
                setCurrentView(currentView:$.kd.bos.form.IFormView):void;
                getCurrentView():$.kd.bos.form.IFormView;
                setProperty(property:string):void;
                setGroup(group:string):void;
                getGroup():string;
            }
            type Directive_T = Directive$;
            interface Directive extends Directive_T {
            }
        }
        namespace kd.bos.workflow.engine.dynprocess{
            interface JointResultInfo_S {
            }
            type JointResultInfo_ST = $.java.io.Serializable & JointResultInfo_S;
            interface JointResultInfo_C extends JointResultInfo_ST {
                new(allVoteNumbers:number,completedVoteNumbers:number,uncompletedVoteNumbers:number,aduitInfo:$.java.util.List):JointResultInfo;
            }
            interface JointResultInfo$ {
                getCompletedVoteNumbers():number;
                getUncompletedVoteNumbers():number;
                setUncompletedVoteNumbers(uncompletedVoteNumbers:number):void;
                setAduitInfo(aduitInfo:$.java.util.List):void;
                getAllVoteNumbers():number;
                setAllVoteNumbers(allVoteNumbers:number):void;
                setCompletedVoteNumbers(completedVoteNumbers:number):void;
                getAduitInfo():$.java.util.List;
            }
            type JointResultInfo_T = $.java.io.Serializable & JointResultInfo$;
            interface JointResultInfo extends JointResultInfo_T {
            }
            interface AddSignInfo_S {
            }
            type AddSignInfo_ST = $.java.io.Serializable & AddSignInfo_S;
            interface AddSignInfo_C extends AddSignInfo_ST {
                new():AddSignInfo;
            }
            interface AddSignInfo$ {
                setAddSingMsg(addSingMsg:$.java.util.Map):void;
                setExtProps(extProps:$.java.util.Map):void;
                getAllowAddSign():boolean;
                /**
                 * 属性复制策略,0，默认不复制;1，复制全部属性;
                 */
                setAttrCopyStrategy(attrCopyStrategy:number):void;
                setUserIds(userIds:$.java.util.List):void;
                getAddSignDealType():string;
                getAddSingMsg():$.java.util.Map;
                getNodeNames():$.java.util.List;
                setAddSignMod(addSignMod:string):void;
                setOwnerId(ownerId:long):void;
                setAddSignType(addSignType:string):void;
                /**
                 * 是否允许修改单据字段
                 */
                isAllowModifyBillField():boolean;
                getYzjType():string;
                /**
                 * 设置是否允许修改单据字段
                 */
                setAllowModifyBillField(allowModifyBillField:boolean):void;
                setYzjType(yzjType:string):void;
                setNodeNames(nodeNames:$.java.util.List):void;
                setWfFlowNode(wfFlowNode:kd.bos.workflow.engine.dynprocess.freeflow.WFCallActivity):void;
                getUserIds():$.java.util.List;
                getOwnerId():long;
                /**
                 * 属性复制策略,0，默认不复制;1，复制全部属性;
                 */
                getAttrCopyStrategy():number;
                setAddSignDealType(addSignDealType:string):void;
                getAddSignType():string;
                getExtProps():$.java.util.Map;
                getWfFlowNode():kd.bos.workflow.engine.dynprocess.freeflow.WFCallActivity;
                getAddSignMod():string;
                setAllowAddSign(allowAddSign:boolean):void;
            }
            type AddSignInfo_T = $.java.io.Serializable & AddSignInfo$;
            interface AddSignInfo extends AddSignInfo_T {
            }
            interface CustomizedAuditResult_S {
            }
            type CustomizedAuditResult_ST = $.java.io.Serializable & CustomizedAuditResult_S;
            interface CustomizedAuditResult_C extends CustomizedAuditResult_ST {
                new():CustomizedAuditResult;
            }
            interface CustomizedAuditResult$ {
                isPass():boolean;
                isOver():boolean;
                setResultNumber(resultNumber:string):void;
                setOver(isOver:boolean):void;
                getResultNumber():string;
                setPass(isPass:boolean):void;
            }
            type CustomizedAuditResult_T = $.java.io.Serializable & CustomizedAuditResult$;
            interface CustomizedAuditResult extends CustomizedAuditResult_T {
            }
        }
        namespace kd.bos.workflow.engine.dynprocess.billpage{
            interface BillPageAttributeConfig_S {
            }
            type BillPageAttributeConfig_ST = $.java.io.Serializable & BillPageAttributeConfig_S;
            interface BillPageAttributeConfig_C extends BillPageAttributeConfig_ST {
                new():BillPageAttributeConfig;
            }
            interface BillPageAttributeConfig$ {
                getField():BillPageAttributeConfigDetail;
                setField(field:BillPageAttributeConfigDetail):void;
                getBtn():BillPageAttributeConfigDetail;
                setBtn(btn:BillPageAttributeConfigDetail):void;
            }
            type BillPageAttributeConfig_T = $.java.io.Serializable & BillPageAttributeConfig$;
            interface BillPageAttributeConfig extends BillPageAttributeConfig_T {
            }
            interface BillPageAttributeConfigDetail_S {
            }
            type BillPageAttributeConfigDetail_ST = $.java.io.Serializable & BillPageAttributeConfigDetail_S;
            interface BillPageAttributeConfigDetail_C extends BillPageAttributeConfigDetail_ST {
                new():BillPageAttributeConfigDetail;
            }
            interface BillPageAttributeConfigDetail$ {
                setModify(modify:$.java.util.List):void;
                setDisplay(display:$.java.util.List):void;
                getMustinput():$.java.util.List;
                setMustinput(mustinput:$.java.util.List):void;
                getModify():$.java.util.List;
                getHide():$.java.util.List;
                getDisplay():$.java.util.List;
                setHide(hide:$.java.util.List):void;
            }
            type BillPageAttributeConfigDetail_T = $.java.io.Serializable & BillPageAttributeConfigDetail$;
            interface BillPageAttributeConfigDetail extends BillPageAttributeConfigDetail_T {
            }
        }
        namespace kd.bos.workflow.engine.dynprocess.freeflow{
            interface WFSequenceFlow_S {
            }
            type WFSequenceFlow_ST = WFFlowElement_S & WFSequenceFlow_S;
            interface WFSequenceFlow_C extends WFSequenceFlow_ST {
                new():WFSequenceFlow;
            }
            interface WFSequenceFlow$ {
                getSourceRef():string;
                setDefaultflow(defaultflow:boolean):void;
                isDefaultflow():boolean;
                setConditionalRule(conditionalRule:WFConditionalRule):void;
                setSourceRef(sourceRef:string):void;
                getName():string;
                getConditionalRule():WFConditionalRule;
                setName(name:string):void;
            }
            type WFSequenceFlow_T = WFFlowElement & WFSequenceFlow$;
            interface WFSequenceFlow extends WFSequenceFlow_T {
            }
            interface WFAutoAudit_S {
            }
            type WFAutoAudit_ST = WFAutoAudit_S & WFBaseElement_S;
            interface WFAutoAudit_C extends WFAutoAudit_ST {
                new():WFAutoAudit;
            }
            interface WFAutoAudit$ {
                setAutoAuditWhenMatch(autoAuditWhenMatch:boolean):void;
                getAutoOpinionWhenMatch():$.kd.bos.dataentity.entity.LocaleString;
                getAutoAuditCondition():WFConditionalRule;
                setAutoAuditCondition(autoAuditCondition:WFConditionalRule):void;
                setProcessHandler(processHandler:$.kd.bos.dataentity.entity.LocaleString):void;
                setAutoOpinionWhenMatch(autoOpinionWhenMatch:$.kd.bos.dataentity.entity.LocaleString):void;
                getProcessHandler():$.kd.bos.dataentity.entity.LocaleString;
                isParticipantAsAutoAuditor():boolean;
                setAutoDecisionWhenMatch(autoDecisionWhenMatch:string):void;
                isAutoAuditWhenMatch():boolean;
                setParticipantAsAutoAuditor(participantAsAutoAuditor:boolean):void;
                getAutoDecisionWhenMatch():string;
            }
            type WFAutoAudit_T = WFAutoAudit$ & WFBaseElement;
            interface WFAutoAudit extends WFAutoAudit_T {
            }
            interface WFAutoTask_S {
            }
            type WFAutoTask_ST = WFAutoTask_S & WFFlowNode_S;
            interface WFAutoTask_C extends WFAutoTask_ST {
                new():WFAutoTask;
                new(wfProcess:WFProcess):WFAutoTask;
            }
            interface WFAutoTask$ {
                setService(service:WFAutoTaskExtItf):void;
                getService():WFAutoTaskExtItf;
            }
            type WFAutoTask_T = WFAutoTask$ & WFFlowNode;
            interface WFAutoTask extends WFAutoTask_T {
            }
            interface WFFlowNode_S {
            }
            type WFFlowNode_ST = $.java.io.Serializable & WFFlowElement_S & WFFlowNode_S;
            interface WFFlowNode_C extends WFFlowNode_ST {
                new():WFFlowNode;
            }
            interface WFFlowNode$ {
                setCustomParams(customParams:$.java.util.List):void;
                getFork():boolean;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                getJoin():boolean;
                setOutSet(outSet:string):void;
                getOutSet():string;
                setJoin(join:boolean):void;
                setInSet(inSet:string):void;
                getExtAttrGroup():$.java.util.Map;
                setIncomings(incomings:$.java.util.Map):void;
                getExecutionListeners():$.java.util.List;
                setExecutionListeners(executionListeners:$.java.util.List):void;
                addSequenceFlow(wfSequenceFlow:WFSequenceFlow):void;
                getIncomings():$.java.util.Map;
                setFork(fork:boolean):void;
                setExtAttrGroup(extAttrGroup:$.java.util.Map):void;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                getCustomParams():$.java.util.List;
                getInSet():string;
            }
            type WFFlowNode_T = $.java.io.Serializable & WFFlowElement & WFFlowNode$;
            interface WFFlowNode extends WFFlowNode_T {
            }
            interface WFCallActivity_S {
            }
            type WFCallActivity_ST = WFCallActivity_S & WFFlowNode_S;
            interface WFCallActivity_C extends WFCallActivity_ST {
                new():WFCallActivity;
                new(wfProcess:WFProcess):WFCallActivity;
            }
            interface WFCallActivity$ {
                getCalledWay():string;
                getAddressKeyName():string;
                setEntityId(entityId:string):void;
                setEntityName(entityName:string):void;
                setBlockMainProcess(blockMainProcess:boolean):void;
                setCallProcessName(callProcessName:string):void;
                getEntityName():string;
                getEntityNumber():string;
                setEntityNumber(entityNumber:string):void;
                getCallProcessName():string;
                setCalledType(calledType:string):void;
                setCalledWay(calledWay:string):void;
                setCallProcessId(callProcessId:long):void;
                getCallProcessNumber():string;
                setAddressKeyName(addressKeyName:string):void;
                isBlockMainProcess():boolean;
                getCallProcessId():long;
                getAddressKey():string;
                getCalledType():string;
                setAddressKey(addressKey:string):void;
                getEntityId():string;
                setCallProcessNumber(callProcessNumber:string):void;
            }
            type WFCallActivity_T = WFCallActivity$ & WFFlowNode;
            interface WFCallActivity extends WFCallActivity_T {
            }
            interface WFParticipantModel_S {
            }
            type WFParticipantModel_ST = WFBaseElement_S & WFParticipantModel_S;
            interface WFParticipantModel_C extends WFParticipantModel_ST {
                new():WFParticipantModel;
            }
            interface WFParticipantModel$ {
                setParticipant(participant:$.java.util.List):void;
                isSkipNodeWithoutPart():boolean;
                getParticipant():$.java.util.List;
                isAllowNoneParticipant():boolean;
                setAllowNoneParticipant(allowNoneParticipant:boolean):void;
                setAllowNextPerson(allowNextPerson:boolean):void;
                setSkipNodeWithoutPart(skipNodeWithoutPart:boolean):void;
                isAllowNextPerson():boolean;
            }
            type WFParticipantModel_T = WFBaseElement & WFParticipantModel$;
            interface WFParticipantModel extends WFParticipantModel_T {
            }
            interface WFBaseElement_S {
            }
            type WFBaseElement_ST = $.java.io.Serializable & WFBaseElement_S;
            interface WFBaseElement_C extends WFBaseElement_ST {
                new():WFBaseElement;
            }
            interface WFBaseElement$ {
                setNumber(number_arg:string):void;
                getNumber():string;
                setId(id:string):void;
                getId():string;
            }
            type WFBaseElement_T = $.java.io.Serializable & WFBaseElement$;
            interface WFBaseElement extends WFBaseElement_T {
            }
            interface WFConditionalRule_S {
            }
            type WFConditionalRule_ST = WFBaseElement_S & WFConditionalRule_S;
            interface WFConditionalRule_C extends WFConditionalRule_ST {
                new():WFConditionalRule;
            }
            interface WFConditionalRule$ {
                getShowtext():$.kd.bos.dataentity.entity.LocaleString;
                setExpression(expression:string):void;
                setEntryentity(entryentity:$.java.util.List):void;
                setType(type_arg:string):void;
                getPlugin():string;
                setShowtext(showtext:$.kd.bos.dataentity.entity.LocaleString):void;
                getEntryentity():$.java.util.List;
                setPlugin(plugin:string):void;
                getType():string;
                getExpression():string;
                getElementid():string;
                setProperty(property:string):void;
                getProperty():string;
                setElementid(elementid:string):void;
            }
            type WFConditionalRule_T = WFBaseElement & WFConditionalRule$;
            interface WFConditionalRule extends WFConditionalRule_T {
            }
            interface WFAuditTask_S {
            }
            type WFAuditTask_ST = WFAuditTask_S & WFUserTask_S;
            interface WFAuditTask_C extends WFAuditTask_ST {
                new():WFAuditTask;
                new(wfProcess:WFProcess):WFAuditTask;
            }
            interface WFAuditTask$ {
                setRepeaterModel(repeaterModel:string):void;
                setRepeaterbtn(repeaterbtn:boolean):void;
                isCountersigned():boolean;
                isRepeaterbtn():boolean;
                getRepeaterModel():string;
                setCountersigned(countersigned:boolean):void;
            }
            type WFAuditTask_T = WFAuditTask$ & WFUserTask;
            interface WFAuditTask extends WFAuditTask_T {
            }
            interface WFFlowElement_S {
            }
            type WFFlowElement_ST = WFBaseElement_S & WFFlowElement_S;
            interface WFFlowElement_C extends WFFlowElement_ST {
                new():WFFlowElement;
            }
            interface WFFlowElement$ {
                getType():string;
                getNextNodes():$.java.util.List;
                addNextNode(wfFlowNode:WFFlowNode):this;
                setExtProps(extProps:$.java.util.Map):void;
                addNextNode(freeFlowNode:WFFlowNode,wfSequenceFlow:WFSequenceFlow):this;
                getExtProps():$.java.util.Map;
                setType(type_arg:string):void;
            }
            type WFFlowElement_T = WFBaseElement & WFFlowElement$;
            interface WFFlowElement extends WFFlowElement_T {
            }
            interface WFValidationError_S {
            }
            type WFValidationError_ST = $.java.io.Serializable & WFValidationError_S;
            interface WFValidationError_C extends WFValidationError_ST {
                new():WFValidationError;
            }
            interface WFValidationError$ {
                setObjName(objName:string):void;
                getTitle():string;
                setInfoType(infoType:string):void;
                setSecondTitle(secondTitle:string):void;
                getInfo():string;
                setTitle(title:string):void;
                setObjType(objType:string):void;
                getSecondTitle():string;
                getInfoType():string;
                setInfo(info:string):void;
                getObjType():string;
                getObjName():string;
            }
            type WFValidationError_T = $.java.io.Serializable & WFValidationError$;
            interface WFValidationError extends WFValidationError_T {
            }
            interface WFJointAuditTask_S {
            }
            type WFJointAuditTask_ST = WFAuditTask_S & WFJointAuditTask_S;
            interface WFJointAuditTask_C extends WFJointAuditTask_ST {
                new():WFJointAuditTask;
                new(wfProcess:WFProcess):WFJointAuditTask;
            }
            interface WFJointAuditTask$ {
                getPassPercentage():number;
                getPasstype():string;
                getVotePercentage():number;
                isBackToBackVote():boolean;
                getPassfraction():string;
                setBackToBackVote(backToBackVote:boolean):void;
                setPassPercentage(passPercentage:number):void;
                setBusinessModel(businessModel:string):void;
                setVotePercentage(votePercentage:number):void;
                setPassfraction(passfraction:string):void;
                getBusinessModel():string;
                setPasstype(passtype:string):void;
            }
            type WFJointAuditTask_T = WFAuditTask & WFJointAuditTask$;
            interface WFJointAuditTask extends WFJointAuditTask_T {
            }
            interface WFRejectNodesModel_S {
            }
            type WFRejectNodesModel_ST = WFBaseElement_S & WFRejectNodesModel_S;
            interface WFRejectNodesModel_C extends WFRejectNodesModel_ST {
                new():WFRejectNodesModel;
            }
            interface WFRejectNodesModel$ {
                setName(name:string):void;
                getName():string;
                setItemId(itemId:string):void;
                getItemId():string;
            }
            type WFRejectNodesModel_T = WFBaseElement & WFRejectNodesModel$;
            interface WFRejectNodesModel extends WFRejectNodesModel_T {
            }
            interface WFCustomParam_S {
            }
            type WFCustomParam_ST = WFBaseElement_S & WFCustomParam_S;
            interface WFCustomParam_C extends WFCustomParam_ST {
                new():WFCustomParam;
            }
            interface WFCustomParam$ {
                getName():string;
                setBuiltIn(builtIn:boolean):void;
                setName(name:string):void;
                isBuiltIn():boolean;
                getValue():string;
                setValue(value:string):void;
            }
            type WFCustomParam_T = WFBaseElement & WFCustomParam$;
            interface WFCustomParam extends WFCustomParam_T {
            }
            interface WFAutoTaskExtItf_S {
            }
            type WFAutoTaskExtItf_ST = WFAutoTaskExtItf_S & WFBaseElement_S;
            interface WFAutoTaskExtItf_C extends WFAutoTaskExtItf_ST {
                new():WFAutoTaskExtItf;
            }
            interface WFAutoTaskExtItf$ {
                getExtItf():$.java.util.List;
                setExtItf(extItf:$.java.util.List):void;
            }
            type WFAutoTaskExtItf_T = WFAutoTaskExtItf$ & WFBaseElement;
            interface WFAutoTaskExtItf extends WFAutoTaskExtItf_T {
            }
            interface WFParticipantEntity_S {
            }
            type WFParticipantEntity_ST = WFBaseElement_S & WFParticipantEntity_S;
            interface WFParticipantEntity_C extends WFParticipantEntity_ST {
                new():WFParticipantEntity;
            }
            interface WFParticipantEntity$ {
                setType(type_arg:string):void;
                getPersonRelation():string;
                setReferenceOrg(referenceOrg:string):void;
                getBusinessOrgField():string;
                getReferenceOrg():string;
                setRoleId(roleId:string):void;
                getReferencePerson():string;
                getValueshowtext():string;
                setBusinessOrgField(businessOrgField:string):void;
                getRelationType():string;
                getReportType():string;
                setValue(value:string):void;
                getType():string;
                setRelationType(relationType:string):void;
                getValue():string;
                setValueshowtext(valueshowtext:string):void;
                setReferencePerson(referencePerson:string):void;
                setPersonRelation(personRelation:string):void;
                setReportType(reportType:string):void;
                getRoleId():string;
            }
            type WFParticipantEntity_T = WFBaseElement & WFParticipantEntity$;
            interface WFParticipantEntity extends WFParticipantEntity_T {
            }
            interface WFProcess_S {
            }
            type WFProcess_ST = WFFlowElement_S & WFProcess_S;
            interface WFProcess_C extends WFProcess_ST {
                new():WFProcess;
                new(id:string):WFProcess;
            }
            interface WFProcess$ {
                /**
                 * 设置扩展属性
                 * @param extAttrGroup 扩展属性 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFExtendAttributeGroup}
                 */
                setExtAttrGroup(extAttrGroup:$.java.util.Map):void;
                getCount():string;
                /**
                 * 设置单据例外属性
                 * @param billExceptionOp 单据例外 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFBillExceptionOp}
                 */
                setBillExceptionOp(billExceptionOp:$.java.util.List):void;
                /**
                 * 获取单据id
                 * @return 单据id
                 */
                getEntraBillId():string;
                /**
                 * 设置是否允许撤回审核中的流程
                 * @param withdrawProcInAuditing 是否允许撤回审核中的流程
                 */
                setWithdrawProcInAuditing(withdrawProcInAuditing:boolean):void;
                /**
                 * 设置流程类型
                 * @param processType 设置流程类型
                 */
                setProcessType(processType:string):void;
                /**
                 * 设置流程名称
                 * @param name 流程名称的多语言值
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置流程变量
                 * @param variables {@link kd.bos.workflow.engine.dynprocess.freeflow.WFVariable}
                 */
                setVariables(variables:$.java.util.List):void;
                /**
                 * 提交人和审批人相同时自动审批
                 * @return 提交人和审批人相同时是否自动审批
                 */
                getAutoAuditWhenSamePerson():boolean;
                /**
                 * 单据例外
                 * @return 单据例外 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFBillExceptionOp}
                 */
                getBillExceptionOp():$.java.util.List;
                /**
                 * 设置单据id
                 * @param entraBillId 单据id
                 */
                setEntraBillId(entraBillId:string):void;
                /**
                 * 获取单据编码
                 * @return 单据编码
                 */
                getEntraBill():string;
                /**
                 * 设置单据名
                 * @param entraBillName 单据名
                 */
                setEntraBillName(entraBillName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取流程名称
                 * @return 流程名称的多语言值
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取流程类型
                 * @return 流程类型，AuditFlow,审批流
                 */
                getProcessType():string;
                /**
                 * 允许撤回审核中的流程
                 * @return 允许撤回审核中的流程
                 */
                getWithdrawProcInAuditing():boolean;
                /**
                 * 获取流程变量
                 * @return 流程变量 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFVariable}
                 */
                getVariables():$.java.util.List;
                /**
                 * 设置单据编码
                 * @param entraBill 单据编码
                 */
                setEntraBill(entraBill:string):void;
                /**
                 * 获取流程插件
                 * @return 流程插件 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFListener}
                 */
                getExecutionListeners():$.java.util.List;
                /**
                 * 设置提交人和审批人相同时自动审批
                 * @param autoAuditWhenSamePerson 提交人和审批人相同时是否自动审批
                 */
                setAutoAuditWhenSamePerson(autoAuditWhenSamePerson:boolean):void;
                /**
                 * 设置流程插件
                 * @param executionListeners 流程插件 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFListener}
                 */
                setExecutionListeners(executionListeners:$.java.util.List):void;
                /**
                 * 获取单据名
                 * @return 单据名
                 */
                getEntraBillName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取扩展属性
                 * @return 扩展属性 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFExtendAttributeGroup}
                 */
                getExtAttrGroup():$.java.util.Map;
            }
            type WFProcess_T = WFFlowElement & WFProcess$;
            interface WFProcess extends WFProcess_T {
            }
            interface WFDecisionOption_S {
                readonly AUDIT_TYPE_APPROVE:string;
                readonly AUDIT_TYPE_REJECT:string;
                readonly AUDIT_TYPE_TERMINATE:string;
            }
            type WFDecisionOption_ST = WFBaseElement_S & WFDecisionOption_S;
            interface WFDecisionOption_C extends WFDecisionOption_ST {
                new():WFDecisionOption;
            }
            interface WFDecisionOption$ {
                setRejectOptions(rejectOptions:$.java.util.List):void;
                setDefaultDecision(defaultDecision:boolean):void;
                setAuditType(auditType:string):void;
                isDefaultDecision():boolean;
                getAuditType():string;
                getRejectOptions():$.java.util.List;
                getName():$.kd.bos.dataentity.entity.LocaleString;
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type WFDecisionOption_T = WFBaseElement & WFDecisionOption$;
            interface WFDecisionOption extends WFDecisionOption_T {
            }
            interface WFUserTask_S {
            }
            type WFUserTask_ST = WFFlowNode_S & WFUserTask_S;
            interface WFUserTask_C extends WFUserTask_ST {
                new():WFUserTask;
                new(wfProcess:WFProcess):WFUserTask;
            }
            interface WFUserTask$ {
                setTaskListeners(taskListeners:$.java.util.List):void;
                setAllowCoordinate(allowCoordinate:boolean):void;
                setBizIdentifyKey(bizIdentifyKey:string):void;
                getParticipant():WFParticipantModel;
                setParticipant(participant:WFParticipantModel):void;
                getBillSetting():WFBillSetting;
                getProcessingPage():string;
                setBillSetting(billSetting:WFBillSetting):void;
                setAutoAudit(autoAudit:WFAutoAudit):void;
                isAllowTransfer():boolean;
                setAllowTransfer(allowTransfer:boolean):void;
                setProcessingPage(processingPage:string):void;
                setSkipCondition(skipCondition:WFConditionalRule):void;
                getAutoAudit():WFAutoAudit;
                getTaskListeners():$.java.util.List;
                getBizIdentifyKey():string;
                getSkipCondition():WFConditionalRule;
                isAllowCoordinate():boolean;
                getDecisionOptions():$.java.util.List;
                setDecisionOptions(decisionOptions:$.java.util.List):void;
            }
            type WFUserTask_T = WFFlowNode & WFUserTask$;
            interface WFUserTask extends WFUserTask_T {
            }
            interface WFBillSetting_S {
            }
            type WFBillSetting_ST = WFBaseElement_S & WFBillSetting_S;
            interface WFBillSetting_C extends WFBillSetting_ST {
                new():WFBillSetting;
            }
            interface WFBillSetting$ {
                getMobilFormKey():string;
                getFormKey():string;
                setFormKey(formKey:string):void;
                setMobilFormKey(mobilFormKey:string):void;
            }
            type WFBillSetting_T = WFBaseElement & WFBillSetting$;
            interface WFBillSetting extends WFBillSetting_T {
            }
        }
        namespace kd.bos.workflow.engine.extitf{
            interface IWorkflowPlugin_S {
                readonly TASKCOORDINATEMSG:string;
                readonly FREEFLOWKEY:string;
                readonly TASKCOORDINATEUSERID:string;
            }
            type IWorkflowPlugin_ST = ITaskPlugin_S & IWorkflowPlugin_S;
            interface IWorkflowPlugin_C extends IWorkflowPlugin_ST {
            }
            interface IWorkflowPlugin$ {
                /**
                 * 获取带组织的流程实例流程图列表
                 *
                 * @param param 查看流程图参数 {@link kd.bos.workflow.api.ViewFlowChartPermParam}
                 * @return List<ProcessInstanceMainOrgView> 主业务组织的流程实例视图列表 {@link kd.bos.workflow.api.ProcessInstanceMainOrgView}
                 */
                hasViewFlowChartPermProcessInstance?(param:kd.bos.workflow.api.ViewFlowChartPermParam):$.java.util.List;
                /**
                 * 参与人外部接口插件请实现此方法
                 * @param execution 执行实例  {@link AgentExecution}
                 * @return 当前节点参与人用户ids
                 */
                calcUserIds(execution:kd.bos.workflow.api.AgentExecution):$.java.util.List;
                /**
                 * 对节点是否可以撤回进行处理判断
                 *
                 * @param businessContext 业务上下文信息，如可从上下文获取businessKey、entityNumber {@link kd.bos.workflow.api.IBusinessContext}
                 * @return 是否可以撤回  默认值：true   true-允许撤回  false-不允许撤回
                 */
                canWithdraw?(businessContext:kd.bos.workflow.api.IBusinessContext):boolean;
                /**
                 * 流转记录格式化请实现此方法
                 * @param item 审批记录项 {@link IApprovalRecordItem}
                 * @return 审批记录项
                 */
                formatFlowRecord?(item:kd.bos.workflow.component.approvalrecord.IApprovalRecordItem):kd.bos.workflow.component.approvalrecord.IApprovalRecordItem;
                /**
                 * 条件规则外部接口插件请实现此方法
                 * @param execution 执行实例  {@link AgentExecution}
                 * @return 规则匹配结果
                 */
                hasTrueCondition?(execution:kd.bos.workflow.api.AgentExecution):boolean;
                /**
                 * 外部接口调用
                 *
                 * @param businesskey 业务主键（单据ID）
                 * @param entityNumber 实体编码
                 * @param operation 事件操作
                 * @param variables 事件参数
                 * @return 处理事件返回结果
                 */
                handleEvent?(businesskey:string,entityNumber:string,operation:string,variables:$.java.util.Map):any;
                /**
                 * 构建云之家的群组名称等属性
                 *
                 * @param param Map对象 构建云之家群组信息所需要的参数
                 * @return Map对象   key: groupName  value：对应的群组名称  等
                 */
                resetYZJGroupProperty?(param:$.java.util.Map):$.java.util.Map;
                /**
                 * 共享节点记录格式化
                 * @param items  审批记录项list {@link IApprovalRecordItem}
                 * @return 审批记录项list
                 */
                formatFlowRecords?(items:$.java.util.List):$.java.util.List;
                /**
                 * 解析插件类型的单据主题
                 * @param execution 执行实例对象 {@link AgentExecution}
                 * @param lang 语种
                 * @return 解析结果
                 */
                parseBillSubject?(execution:kd.bos.workflow.api.AgentExecution,lang:string):string;
                /**
                 * 获取单据累加后的信息
                 *
                 * @param execution 执行实例对象 {@link kd.bos.workflow.api.AgentExecution}
                 * @param info 累积信息对象，内部根据实体编码汇总，包含Map对象  key：实体编码 value：单据id列表 {@link kd.bos.workflow.engine.extitf.AggregateInfo}
                 * @return AggregateResult {@link kd.bos.workflow.engine.extitf.AggregateResult}
                 */
                aggregateBills?(execution:kd.bos.workflow.api.AgentExecution,info:AggregateInfo):AggregateResult;
                /**
                 * 单据上下游关系图 - 查看下推状态
                 *
                 * @param entityNumber 实体编码
                 * @param businessKey 业务主键（单据ID）
                 * @return 获推状态信息 String字符串数组，返回内容由实现类决定
                 */
                getPushStatusInfo?(entityNumber:string,businessKey:string):string[];
                /**
                 * 扩展参与人Parser解析类实现的计算参与人方法
                 * @param execution 流程执行实例
                 * @param pme 参与人模型数据
                 * @param businessModel 业务model数据 - 可能为空
                 * @return 计算的参与人id集合
                 */
                calcUserIds(execution:kd.bos.workflow.api.AgentExecution,pme:$.kd.bos.dataentity.entity.DynamicObject,businessModel:$.kd.bos.dataentity.entity.DynamicObject):$.java.util.List;
                /**
                 * 通过源单获取目标单据id列表
                 *
                 * @param srcEntityNumber 源单实体编码
                 * @param srcBusinesskeys 源单单据id列表
                 * @param destEntityNumber 目标单实体编码
                 * @return Set<Long> 目标单单据id列表
                 */
                getTargetBills?(srcEntityNumber:string,srcBusinesskeys:$.java.util.List,destEntityNumber:string):$.java.util.Set;
                /**
                 * 单据信息校验
                 *
                 * @param billInfo 单据信息对象 {@link  kd.bos.dataentity.entity.DynamicObject}
                 * @param params 参数
                 * @return 校验结果 默认值：true  true-校验通过 false-校验不通过
                 */
                validate?(billInfo:$.kd.bos.dataentity.entity.DynamicObject,params:$.java.util.Map):boolean;
                /**
                 * 根据业务需求自定义审批记录的分组逻辑
                 *
                 * @param businesskey 业务键，用于标识业务对象
                 * @param entityNumber 实体编码
                 * @param params 参数映射，用于传递额外的上下文信息
                 * @return List<IApprovalRecordGroup> 审批记录分组列表 {@link kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup}
                 */
                getCustomApprovalRecordGroup?(businesskey:string,entityNumber:string,params:$.java.util.Map):$.java.util.List;
                /**
                 * 单据上下游关系图 - 获取单据是否有权限
                 *
                 * @param userId 用户ID
                 * @param entityNumber 单据编码
                 * @param businessKeys 单据ID集合
                 * @return 返回对象为Map  key为单据ID，value为是否有权限 flase-无权限 true-有权限
                 */
                getBillPermissions?(userId:long,entityNumber:string,businessKeys:$.java.util.List):$.java.util.Map;
                /**
                 * 流程挂起后，执行业务插件方法
                 * @param suspendInfo {@link SuspendInfo}
                 * @return
                 */
                afterSuspendProcess?(suspendInfo:kd.bos.workflow.api.SuspendInfo):void;
                /**
                 * 流程撤销挂起后，执行业务插件方法
                 * @param suspendInfo {@link SuspendInfo}
                 * @return
                 */
                afterActiveProcess?(suspendInfo:kd.bos.workflow.api.SuspendInfo):void;
                /**
                 * 获取自由流程节点的key值
                 *
                 * @param 节点id
                 * @return  String 特定逻辑拼接后的结果  节点id + _freeflow
                 */
                getFreeFlowNodeKey?(key:string):string;
                /**
                 * 撤回监听或自动节点请实现此方法
                 * @param execution 执行实例  {@link AgentExecution}
                 */
                notifyByWithdraw?(execution:kd.bos.workflow.api.AgentExecution):void;
                /**
                 * 流程节点校验时插件
                 *
                 * @param param Map对象 ,具体的参数如下
                 *              processNumber     流程编码
                 *              entityNumber      实体编码
                 *              nodeTemplateNum  节点模板编码
                 *              sscApprovals  ssc通过列表
                 * @return  List<WFValidationError> 校验失败错误信息 {@link kd.bos.workflow.engine.dynprocess.freeflow.WFValidationError}
                 */
                validatePlugin?(param:$.java.util.Map):$.java.util.List;
                /**
                 * 格式化第三方打印记录
                 * @param comments 打印记录
                 * @return 修改后的打印记录
                 */
                formatTrdPrintRecords?(comments:$.java.util.Collection):$.java.util.Collection;
                /**
                 * 计算参与人时执行此方法
                 * @param execution 执行实例  {@link AgentExecution}
                 * @param userIds 参与人用户ids
                 * @return 计算得到的参与人用户ids
                 */
                filterParticipant?(execution:kd.bos.workflow.api.AgentExecution,userIds:$.java.util.List):$.java.util.List;
                /**
                 * 获取审批记录列表
                 *
                 * @param comments 审批信息对象 {@link kd.bos.workflow.engine.task.Comment}
                 * @return List<Comment> 过滤后的审批记录列表  {@link kd.bos.workflow.engine.task.Comment}
                 */
                filterApprovalRecordByAuth?(comments:$.java.util.List):$.java.util.List;
                /**
                 * 返回任务期限时间
                 * @param execution 执行实例  {@link AgentExecution}
                 * @return 任务期限时间
                 */
                getExpireTime?(execution:kd.bos.workflow.api.AgentExecution):long;
                /**
                 * 监听器或自动节点请实现此方法
                 * @param execution 执行实例  {@link AgentExecution}
                 */
                notify?(execution:kd.bos.workflow.api.AgentExecution):void;
                /**
                 * 会审自定义业务模式，返回是否完成的结果
                 *
                 * @param execution 执行实例  {@link kd.bos.workflow.api.AgentExecution}
                 * @param jointResultInfo 会审节点自定义业务模式的审批的参数  {@link kd.bos.workflow.engine.dynprocess.JointResultInfo}
                 * @return CustomizedAuditResult 会审节点审批信息   {@link kd.bos.workflow.engine.dynprocess.CustomizedAuditResult}
                 */
                getJointAuditResult?(execution:kd.bos.workflow.api.AgentExecution,jointResultInfo:kd.bos.workflow.engine.dynprocess.JointResultInfo):kd.bos.workflow.engine.dynprocess.CustomizedAuditResult;
                /**
                 * 节点任务过期控制执行插件方法
                 * @param task 任务对象 {@link AgentTask}
                 */
                expirePluin?(task:kd.bos.workflow.api.AgentTask):void;
            }
            type IWorkflowPlugin_T = ITaskPlugin & IWorkflowPlugin$;
            interface IWorkflowPlugin extends IWorkflowPlugin_T {
            }
            interface AggregateResult_S {
            }
            type AggregateResult_ST = $.java.io.Serializable & AggregateResult_S;
            interface AggregateResult_C extends AggregateResult_ST {
                new():AggregateResult;
            }
            interface AggregateResult$ {
                getEntityNumber():string;
                isOver():boolean;
                setEntityNumber(entityNumber:string):void;
                getBillPks():$.java.util.Set;
                setOver(over:boolean):void;
                getSrcPk():string;
                setSrcPk(srcPk:string):void;
                setBillPks(billPks:$.java.util.Set):void;
            }
            type AggregateResult_T = $.java.io.Serializable & AggregateResult$;
            interface AggregateResult extends AggregateResult_T {
            }
            interface IWorkflowModelPlugin_S {
            }
            interface IWorkflowModelPlugin_C extends IWorkflowModelPlugin_S {
            }
            interface IWorkflowModelPlugin$ {
                /**
                 * 模型发布时调用该方法
                 * @param procDefId 流程动态方案ID
                 * @param variables 流程变量
                 */
                afterPublish?(procDefId:long,variables:$.java.util.Map):void;
                /**
                 * 动态方案导出后调用该方法
                 * @param procDefId 流程动态方案ID
                 * @param paramter 系统预留参数，当前版本为空map
                 */
                afterExportScheme?(procDefId:long,paramter:$.java.util.Map):void;
                /**
                 * 流程启用时调用该方法
                 * @param procDefId 流程动态方案ID
                 * @param paramter 系统预留参数，当前版本为空map
                 */
                afterActivate?(procDefId:long,paramter:$.java.util.Map):void;
                /**
                 * 模型导入时调用该方法
                 * @param processNumber 流程编码
                 * @param paramter 系统预留参数，当前版本为空map
                 */
                afterImport?(processNumber:string,paramter:$.java.util.Map):void;
                /**
                 * 动态方案导入后调用该方法
                 * @param procDefId 流程动态方案ID
                 * @param paramter 系统预留参数，当前版本为空map
                 */
                afterImportScheme?(procDefId:long,paramter:$.java.util.Map):void;
                /**
                 * 模型导出时调用该方法
                 * @param processNumber 流程编码
                 * @param paramter 系统预留参数，当前版本为空map
                 */
                afterExport?(processNumber:string,paramter:$.java.util.Map):void;
                /**
                 * 模型保存时调用该方法
                 * @param modelId 流程模型ID
                 * @param processNumber 流程编码
                 * @param paramter 参数 {modelJson: 模型JSON字符串}
                 */
                afterSave?(modelId:long,processNumber:string,paramter:$.java.util.Map):void;
                /**
                 * 流程禁用时调用该方法
                 * @param procDefId 流程动态方案ID
                 * @param paramter 系统预留参数，当前版本为空map
                 */
                afterSuspend?(procDefId:long,paramter:$.java.util.Map):void;
            }
            type IWorkflowModelPlugin_T = IWorkflowModelPlugin$;
            interface IWorkflowModelPlugin extends IWorkflowModelPlugin_T {
            }
            interface AggregateInfo_S {
            }
            type AggregateInfo_ST = $.java.io.Serializable & AggregateInfo_S;
            interface AggregateInfo_C extends AggregateInfo_ST {
                new():AggregateInfo;
            }
            interface AggregateInfo$ {
                getBills():$.java.util.Map;
                putBills(entityNumber:string,bills:$.java.util.Set):void;
                setBills(bills:$.java.util.Map):void;
            }
            type AggregateInfo_T = $.java.io.Serializable & AggregateInfo$;
            interface AggregateInfo extends AggregateInfo_T {
            }
            interface ITaskPlugin_S {
                readonly PARAM_OWNERID:string;
                readonly PARAM_OPINION:string;
                readonly PARAM_TARGETUSERID:string;
                readonly EVENTNAME_AFTERCOORDREPLY:string;
                readonly EVENTNAME_AFTERCOORDREQ:string;
                readonly EVENTNAME_AFTERWITHDRAW:string;
                readonly EVENTNAME_AFTERCANCEL:string;
                readonly EVENTNAME_AFTERTRANSFER:string;
                readonly EVENTNAME_AFTERCOORDCANCEL:string;
                readonly EVENTNAME_AFTERCREATE:string;
                readonly PARAM_TARGETUSERIDS:string;
            }
            interface ITaskPlugin_C extends ITaskPlugin_S {
            }
            interface ITaskPlugin$ {
                handleTask?(agentTask:kd.bos.workflow.api.AgentTask,eventName:string,params:$.java.util.Map):void;
                afterCancelTask?(agentTask:kd.bos.workflow.api.AgentTask,eventName:string,params:$.java.util.Map):void;
                afterHandleTask?(agentTask:kd.bos.workflow.api.AgentTask,eventName:string,params:$.java.util.Map):void;
            }
            type ITaskPlugin_T = ITaskPlugin$;
            interface ITaskPlugin extends ITaskPlugin_T {
            }
            interface WorkflowPlugin_S {
            }
            type WorkflowPlugin_ST = $.kd.bos.bec.api.IEventServicePlugin & $.kd.bos.workflow.engine.extitf.IWorkflowPlugin & WorkflowPlugin_S;
            interface WorkflowPlugin_C extends WorkflowPlugin_ST {
                new():WorkflowPlugin;
            }
            interface WorkflowPlugin$ {
                formatFlowRecords(item:$.kd.bos.workflow.component.approvalrecord.IApprovalRecordItem):$.kd.bos.workflow.component.approvalrecord.IApprovalRecordItem;
            }
            type WorkflowPlugin_T = $.kd.bos.bec.api.IEventServicePlugin & $.kd.bos.workflow.engine.extitf.IWorkflowPlugin & WorkflowPlugin$;
            interface WorkflowPlugin extends WorkflowPlugin_T {
            }
        }
        namespace kd.bos.workflow.engine.history{
            interface HistoricData_S {
            }
            interface HistoricData_C extends HistoricData_S {
            }
            interface HistoricData$ {
                /**
                 * 获取时间
                 * @return time
                 */
                getTime():Date;
            }
            type HistoricData_T = HistoricData$;
            interface HistoricData extends HistoricData_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.bpmn.helper.nodetemplate{
            interface ISupportExtension_S {
            }
            interface ISupportExtension_C extends ISupportExtension_S {
            }
            interface ISupportExtension$ {
            }
            type ISupportExtension_T = ISupportExtension$;
            interface ISupportExtension extends ISupportExtension_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.cmd.model{
            interface IDynamicPartialEntity_S {
            }
            interface IDynamicPartialEntity_C extends IDynamicPartialEntity_S {
            }
            interface IDynamicPartialEntity$ {
                getProperty():string;
                setProperty(property:string):void;
            }
            type IDynamicPartialEntity_T = IDynamicPartialEntity$;
            interface IDynamicPartialEntity extends IDynamicPartialEntity_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.cmd.task{
            interface ParticipantScope_S {
            }
            type ParticipantScope_ST = $.java.io.Serializable & ParticipantScope_S;
            interface ParticipantScope_C extends ParticipantScope_ST {
                new():ParticipantScope;
            }
            interface ParticipantScope$ {
                getIsAllowAddPerson():boolean;
                setMustParticipantList(mustParticipantList:$.java.util.List):void;
                setIsAllowAddPerson(isAllowAddPerson:boolean):void;
                setWhiteParticipantList(whiteParticipantList:$.java.util.List):void;
                setBlackParticipantList(blackParticipantList:$.java.util.List):void;
                setPersonScopeHasData(personScopeHasData:boolean):void;
                getIsPersonRangeOpen():boolean;
                getMustParticipantList():$.java.util.List;
                getBlackParticipantList():$.java.util.List;
                setIsPersonRangeOpen(isPersonRangeOpen:boolean):void;
                getWhiteParticipantList():$.java.util.List;
                getPersonScopeHasData():boolean;
            }
            type ParticipantScope_T = $.java.io.Serializable & ParticipantScope$;
            interface ParticipantScope extends ParticipantScope_T {
            }
            interface TashHandleParam_S {
            }
            type TashHandleParam_ST = $.java.io.Serializable & TashHandleParam_S;
            interface TashHandleParam_C extends TashHandleParam_ST {
                new():TashHandleParam;
            }
            interface TashHandleParam$ {
                getActivityId():long;
                setCustomParams(arg0:string,arg1:any):void;
                setBusinessKey(arg0:string):void;
                setTaskId(arg0:long):void;
                getBillExist():boolean;
                setPCShow(arg0:boolean):void;
                setOnlyView(arg0:boolean):void;
                getCustomParams():$.java.util.Map;
                getTaskId():long;
                getBusinessKey():string;
                setCustomParams(arg0:$.java.util.Map):void;
                getPCShow():boolean;
                setType(arg0:string):void;
                getCustomParam(arg0:string):any;
                getType():string;
                getOnlyView():boolean;
                setActivityId(arg0:long):void;
                setBillExist(arg0:boolean):void;
            }
            type TashHandleParam_T = $.java.io.Serializable & TashHandleParam$;
            interface TashHandleParam extends TashHandleParam_T {
            }
            interface AgentTaskHandleContext_S {
                readonly TASKNOTEXISTREASON_CHECKRIGHT:string;
                readonly TASKNOTEXISTREASON_NOTEXIST:string;
                readonly TASKNOTEXISTREASON_USERACCOUNT:string;
            }
            interface AgentTaskHandleContext_C extends AgentTaskHandleContext_S {
                new():AgentTaskHandleContext;
            }
            interface AgentTaskHandleContext$ {
                isFromHistory():boolean;
                setBizTask(arg0:boolean):void;
                getRelateTaskInfos():$.java.util.Map;
                getDelegate():boolean;
                getTaskParticipant():boolean;
                getPcShow():boolean;
                getTaskCoordinate():boolean;
                getForceRejectTask():boolean;
                setForceRejectTask(arg0:boolean):void;
                setTaskParticipant(arg0:boolean):void;
                setStartAppId(arg0:string):void;
                setTaskExist(arg0:boolean):void;
                getPageParameter():string;
                setOnlyView(arg0:boolean):void;
                setTaskCoordinate(arg0:boolean):void;
                getDocumentation():string;
                setTaskNotExistReason(arg0:string):void;
                setTask(arg0:$.kd.bos.workflow.engine.task.TaskInfo):void;
                getHiTaskDescription():string;
                setFromHistory(arg0:boolean):void;
                isBizTask():boolean;
                setType(arg0:string):void;
                setPCShow(arg0:boolean):void;
                getStartAppId():string;
                getTaskNotExistReason():string;
                setFormKey(arg0:string):void;
                setRelateTaskInfos(arg0:$.java.util.Map):void;
                isShowByURL():boolean;
                setTaskId(arg0:long):void;
                setMobileFormKey(arg0:string):void;
                getMobileFormKey():string;
                setHiTaskDescription(arg0:string):void;
                setBillView(arg0:boolean):void;
                getTaskExist():boolean;
                setPageParameter(arg0:string):void;
                getOnlyView():boolean;
                getBillExist():boolean;
                getFormKey():string;
                setDocumentation(arg0:string):void;
                getBillView():boolean;
                setShowByURL(arg0:boolean):void;
                getType():string;
                setDelegate(arg0:boolean):void;
                getTask():$.kd.bos.workflow.engine.task.TaskInfo;
                getTaskId():long;
                setBillExist(arg0:boolean):void;
            }
            type AgentTaskHandleContext_T = AgentTaskHandleContext$;
            interface AgentTaskHandleContext extends AgentTaskHandleContext_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.persistence.entity{
            interface Entity_S {
                readonly CREATEDATE:string;
                readonly MODIFYDATE:string;
                readonly ID:string;
            }
            type Entity_ST = $.java.io.Serializable & Entity_S & ISupportJsonTransfer_S;
            interface Entity_C extends Entity_ST {
            }
            interface Entity$ {
                setDeleted(arg0:boolean):void;
                setModifyDate(arg0:Date):void;
                setDynamicObject(arg0:$.kd.bos.dataentity.entity.DynamicObject):void;
                getDynamicObject():$.kd.bos.dataentity.entity.DynamicObject;
                getId():long;
                getModifyDate():Date;
                setId(arg0:long):void;
                isInserted():boolean;
                isUpdated():boolean;
                setInserted(arg0:boolean):void;
                setUpdated(arg0:boolean):void;
                getCreateDate():Date;
                getDynObjTypeName():string;
                getPersistentState():any;
                setCreateDate(arg0:Date):void;
                isDeleted():boolean;
            }
            type Entity_T = $.java.io.Serializable & Entity$ & ISupportJsonTransfer;
            interface Entity extends Entity_T {
            }
            interface ISupportJsonTransfer_S {
            }
            type ISupportJsonTransfer_ST = $.java.io.Serializable & ISupportJsonTransfer_S;
            interface ISupportJsonTransfer_C extends ISupportJsonTransfer_ST {
            }
            interface ISupportJsonTransfer$ {
            }
            type ISupportJsonTransfer_T = $.java.io.Serializable & ISupportJsonTransfer$;
            interface ISupportJsonTransfer extends ISupportJsonTransfer_T {
            }
            interface AbstractEntity_S {
            }
            type AbstractEntity_ST = $.java.io.Serializable & AbstractEntity_S & Entity_S;
            interface AbstractEntity_C extends AbstractEntity_ST {
                new():AbstractEntity;
                new(arg0:$.kd.bos.dataentity.entity.DynamicObject):AbstractEntity;
            }
            interface AbstractEntity$ {
                normalizeId(arg0:long):long;
                normalizeId(arg0:long):long;
                addToCreateAndModifyDate(arg0:$.java.util.Map):void;
                normalizeId(arg0:string):long;
            }
            type AbstractEntity_T = $.java.io.Serializable & AbstractEntity$ & Entity;
            interface AbstractEntity extends AbstractEntity_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.persistence.entity.design{
            class ModelType {
                static readonly AuditFlow:kd.bos.workflow.engine.impl.persistence.entity.design.ModelType;
                static readonly NoCodeFlow:kd.bos.workflow.engine.impl.persistence.entity.design.ModelType;
                static readonly BizFlow:kd.bos.workflow.engine.impl.persistence.entity.design.ModelType;
                static values():kd.bos.workflow.engine.impl.persistence.entity.design.ModelType[];
                static valueOf(arg0:string):kd.bos.workflow.engine.impl.persistence.entity.design.ModelType;
                getIntValue():number;
            }
        }
        namespace kd.bos.workflow.engine.impl.persistence.entity.management{
            interface BaseConditionalRuleEntity_S {
            }
            type BaseConditionalRuleEntity_ST = BaseConditionalRuleEntity_S & kd.bos.workflow.engine.impl.persistence.entity.Entity_S;
            interface BaseConditionalRuleEntity_C extends BaseConditionalRuleEntity_ST {
            }
            interface BaseConditionalRuleEntity$ {
                getExpression():string;
                getModifierId():long;
                setValidtime(validtime:Date):void;
                setProcdefid(procdefid:long):void;
                clone():this;
                getPlugin():string;
                setDescription(description:$.kd.bos.dataentity.entity.ILocaleString):void;
                getShowtext():$.kd.bos.dataentity.entity.ILocaleString;
                getProcdefid():long;
                setModifierId(modifierId:long):void;
                setVersion(version:string):void;
                getValidtime():Date;
                setPlugin(plugin:string):void;
                getVersion():string;
                setShowtext(showtext:$.kd.bos.dataentity.entity.ILocaleString):void;
                getDescription():$.kd.bos.dataentity.entity.ILocaleString;
                setExpression(expression:string):void;
            }
            type BaseConditionalRuleEntity_T = BaseConditionalRuleEntity$ & kd.bos.workflow.engine.impl.persistence.entity.Entity;
            interface BaseConditionalRuleEntity extends BaseConditionalRuleEntity_T {
            }
            interface ConditionalRuleEntity_S {
                readonly serialVersionUID:long;
            }
            type ConditionalRuleEntity_ST = BaseConditionalRuleEntity_S & ConditionalRuleEntity_S & kd.bos.workflow.engine.impl.cmd.model.IDynamicPartialEntity_S;
            interface ConditionalRuleEntity_C extends ConditionalRuleEntity_ST {
            }
            interface ConditionalRuleEntity$ {
                getCreatorId():long;
                setType(type_arg:string):void;
                setEntryentity(entryentity:$.java.util.List):void;
                setElementid(elementid:string):void;
                setCreatorId(creatorId:long):void;
                copy(model:kd.bos.workflow.bpmn.model.DuplicateModel):void;
                getEntryentity():$.java.util.List;
                /**
                 * 获取条件规则值：表达式或插件
                 * @return
                 */
                getConditionRule():string;
                getElementid():string;
                getType():string;
            }
            type ConditionalRuleEntity_T = BaseConditionalRuleEntity & ConditionalRuleEntity$ & kd.bos.workflow.engine.impl.cmd.model.IDynamicPartialEntity;
            interface ConditionalRuleEntity extends ConditionalRuleEntity_T {
            }
            interface ConditionalRuleEntityImpl_S {
            }
            type ConditionalRuleEntityImpl_ST = $.kd.bos.workflow.bpmn.model.HasExtensionAttributes & $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseConditionalRuleEntityImpl_S & ConditionalRuleEntityImpl_S & ConditionalRuleEntity_S & kd.bos.workflow.bpmn.model.basedata.IBaseData_S;
            interface ConditionalRuleEntityImpl_C extends ConditionalRuleEntityImpl_ST {
                new():ConditionalRuleEntityImpl;
                new(arg0:$.kd.bos.dataentity.entity.DynamicObject):ConditionalRuleEntityImpl;
            }
            interface ConditionalRuleEntityImpl$ {
            }
            type ConditionalRuleEntityImpl_T = $.kd.bos.workflow.bpmn.model.HasExtensionAttributes & $.kd.bos.workflow.bpmn.model.dynamicpartial.IDynamicPartial & BaseConditionalRuleEntityImpl & ConditionalRuleEntity & ConditionalRuleEntityImpl$ & kd.bos.workflow.bpmn.model.basedata.IBaseData;
            interface ConditionalRuleEntityImpl extends ConditionalRuleEntityImpl_T {
            }
            interface BaseConditionalRuleEntityImpl_S {
            }
            type BaseConditionalRuleEntityImpl_ST = AbstractEntity_S & BaseConditionalRuleEntityImpl_S & BaseConditionalRuleEntity_S;
            interface BaseConditionalRuleEntityImpl_C extends BaseConditionalRuleEntityImpl_ST {
                new():BaseConditionalRuleEntityImpl;
                new(arg0:$.kd.bos.dataentity.entity.DynamicObject):BaseConditionalRuleEntityImpl;
            }
            interface BaseConditionalRuleEntityImpl$ {
            }
            type BaseConditionalRuleEntityImpl_T = AbstractEntity & BaseConditionalRuleEntity & BaseConditionalRuleEntityImpl$;
            interface BaseConditionalRuleEntityImpl extends BaseConditionalRuleEntityImpl_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.persistence.entity.task{
            interface TaskCenterRuleEntity_S {
            }
            type TaskCenterRuleEntity_ST = TaskCenterRuleEntity_S & kd.bos.workflow.engine.impl.persistence.entity.Entity_S;
            interface TaskCenterRuleEntity_C extends TaskCenterRuleEntity_ST {
            }
            interface TaskCenterRuleEntity$ {
                getOperationMetas():$.java.util.List;
                setType(type_arg:string):void;
                setUserid(userid:long):void;
                setNumber(number_arg:string):void;
                isAutoExeNextTask():boolean;
                getActivitstate():string;
                getConditionalRuleModel():kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity;
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                setConditionalruleid(conditionalruleid:long):void;
                setConditionalRuleModel(conditionalRuleModel:kd.bos.workflow.engine.impl.persistence.entity.management.ConditionalRuleEntity):void;
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                setActivitstate(activitstate:string):void;
                setOperationMetas(operationMetas:$.java.util.List):void;
                getExpression():string;
                getNumber():string;
                setEntryentity(entryentity:$.kd.bos.dataentity.entity.DynamicObjectCollection):void;
                getUserid():long;
                setExpression(expression:string):void;
                getConditionalruleid():long;
                getEntryentity():$.kd.bos.dataentity.entity.DynamicObjectCollection;
                getType():string;
                setAutoExeNextTask(autoExeNextTask:boolean):void;
            }
            type TaskCenterRuleEntity_T = TaskCenterRuleEntity$ & kd.bos.workflow.engine.impl.persistence.entity.Entity;
            interface TaskCenterRuleEntity extends TaskCenterRuleEntity_T {
            }
            interface TaskCenterNavigationEntity_S {
            }
            type TaskCenterNavigationEntity_ST = TaskCenterNavigationEntity_S & kd.bos.workflow.engine.impl.persistence.entity.Entity_S;
            interface TaskCenterNavigationEntity_C extends TaskCenterNavigationEntity_ST {
            }
            interface TaskCenterNavigationEntity$ {
                getUserid():long;
                getMenuSvg():string;
                setSortName(sortName:string):void;
                setParentid(parentid:long):void;
                setImgSrc(imgSrc:string):void;
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                setMenuSvg(menuSvg:string):void;
                getSortName():string;
                getTaskCenterRuleEntity():TaskCenterRuleEntity;
                setHoverImgSrc(hoverImgSrc:string):void;
                setActivitstate(activitstate:string):void;
                setChildren(children:$.java.util.List):void;
                setCategory(category:string):void;
                getChildren():$.java.util.List;
                setCount(count:number):void;
                setUserid(userid:long):void;
                setNumber(number_arg:string):void;
                getParentid():long;
                setTaskCenterRuleEntity(taskCenterRuleEntity:TaskCenterRuleEntity):void;
                getCount():number;
                getTaskcenterruleid():long;
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                setTaskcenterruleid(taskcenterruleid:long):void;
                getHoverImgSrc():string;
                getNumber():string;
                getImgSrc():string;
                getActivitstate():string;
                getCategory():string;
            }
            type TaskCenterNavigationEntity_T = TaskCenterNavigationEntity$ & kd.bos.workflow.engine.impl.persistence.entity.Entity;
            interface TaskCenterNavigationEntity extends TaskCenterNavigationEntity_T {
            }
        }
        namespace kd.bos.workflow.engine.impl.persistence.entity.task.component{
            interface ApprovalRecordItem_S {
            }
            type ApprovalRecordItem_ST = $.kd.bos.workflow.component.approvalrecord.IApprovalRecordItem & ApprovalRecordItem_S;
            interface ApprovalRecordItem_C extends ApprovalRecordItem_ST {
                new():ApprovalRecordItem;
            }
            interface ApprovalRecordItem$ {
                getGroupDecisionType():string;
                getGroup():string;
                getCoordInviteOpinion():string;
                setGroup(group:string):void;
                isShowUserNameFormat():boolean;
                getTrusteeOpenIds():$.java.util.List;
                setCallActivity(callActivity:boolean):void;
                setGroupDecisionType(groupDecisionType:string):void;
                setShowUserNameFormat(showUserNameFormat:boolean):void;
                setArtificialNode(isArtificialNodeField:boolean):void;
                setCoordInviteOpinion(coordInviteOpinion:string):void;
                isCallActivity():boolean;
                getOriginalMessage():string;
                getUserNameFormat():string;
                setTrusteeOpenIds(trusteeOpenIds:$.java.util.List):void;
                setParticipantSource(participantSource:string):void;
                setOriginalMessage(originalMessage:string):void;
                isArtificialNode():boolean;
                setUserNameFormat(userNameFormat:string):void;
                getParticipantSource():string;
            }
            type ApprovalRecordItem_T = $.kd.bos.workflow.component.approvalrecord.IApprovalRecordItem & ApprovalRecordItem$;
            interface ApprovalRecordItem extends ApprovalRecordItem_T {
            }
            interface ApprovalRecordGroup_S {
            }
            type ApprovalRecordGroup_ST = $.kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup & ApprovalRecordGroup_S;
            interface ApprovalRecordGroup_C extends ApprovalRecordGroup_ST {
                new():ApprovalRecordGroup;
            }
            interface ApprovalRecordGroup$ {
                setShowAutoCoordinate(showAutoCoordinate:boolean):void;
                getGroupType():string;
                getShowAutoCoordinate():boolean;
                getCallActivity():boolean;
                setCallActivity(callActivity:boolean):void;
                setGroupType(groupType:string):void;
                setShowCoordnate(showCoordnate:boolean):void;
                getShowCoordnate():boolean;
            }
            type ApprovalRecordGroup_T = $.kd.bos.workflow.component.approvalrecord.IApprovalRecordGroup & ApprovalRecordGroup$;
            interface ApprovalRecordGroup extends ApprovalRecordGroup_T {
            }
        }
        namespace kd.bos.workflow.engine.msg{
            interface MessageServiceConfig_S {
                readonly YUNZHIJIA:string;
                readonly SMS:string;
                readonly EMAIL:string;
                readonly DINGDING:string;
            }
            type MessageServiceConfig_ST = $.java.io.Serializable & MessageServiceConfig_S;
            interface MessageServiceConfig_C extends MessageServiceConfig_ST {
                new():MessageServiceConfig;
            }
            interface MessageServiceConfig$ {
                /**
                 * 获取 模板，兼容旧版的
                 * @return
                 */
                getTpl():string;
                /**
                 * 设置 模板，兼容旧版的
                 * @param tpl
                 */
                setTpl(tpl:string):void;
                /**
                 * 是否是默认消息服务
                 * @return defaultService
                 */
                isDefaultService():boolean;
                /**
                 * 设置租户ID
                 * @param accountId
                 */
                setAccountId(accountId:string):void;
                /**
                 * 获取租户ID
                 * @return accountId
                 */
                getAccountId():string;
                /**
                 * 获取服务名称
                 * @return serviceName
                 */
                getServiceName():string;
                /**
                 * 获取其他参数
                 * @return customParams
                 */
                getCustomParams():$.java.util.Map;
                /**
                 * 获取服务Key
                 * @return serviceKey
                 */
                getServiceKey():string;
                /**
                 * 是否可用
                 * @return avaliable
                 */
                isAvaliable():boolean;
                /**
                 * 根据key获取模板
                 * @param key
                 * @return
                 */
                getTplByKey(key:string):any;
                /**
                 * 设置消息渠道id
                 * @param id
                 */
                setId(id:string):void;
                /**
                 * 设置移动应用配置
                 * @param mobileappconfig
                 */
                setMobileappconfig(mobileappconfig:string):void;
                /**
                 * 获取模板
                 * @return
                 */
                getTplMap():$.java.util.Map;
                /**
                 * 设置模板
                 * @param tplMap
                 */
                setTplMap(tplMap:$.java.util.Map):void;
                /**
                 * 获取服务实现类
                 * @return serviceClass
                 */
                getServiceClass():string;
                /**
                 * 设置其他参数
                 * @param customParams
                 */
                setCustomParams(customParams:$.java.util.Map):void;
                /**
                 * 设置是否是默认消息服务
                 * @param defaultService
                 */
                setDefaultService(defaultService:boolean):void;
                /**
                 * 设置是否可用
                 * @param avaliable
                 */
                setAvaliable(avaliable:boolean):void;
                /**
                 * 设置服务Key
                 * @param serviceKey
                 */
                setServiceKey(serviceKey:string):void;
                /**
                 * 获取参数
                 * @param key
                 * @return
                 */
                getCustomParam(key:string):any;
                /**
                 * 设置服务实现类
                 * @param serviceClass
                 */
                setServiceClass(serviceClass:string):void;
                /**
                 * 设置名称 - 多语言
                 * @param serviceName
                 */
                setMessageServiceName(serviceName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取移动应用配置
                 * @return mobileappconfig
                 */
                getMobileappconfig():string;
                /**
                 * 添加参数
                 * @param key
                 * @param value
                 */
                addCustomParam(key:string,value:any):void;
                /**
                 * 设置服务名称
                 * @param serviceName
                 */
                setServiceName(serviceName:string):void;
                /**
                 * 获取名称 - 多语言
                 * @return serviceName
                 */
                getMessageServiceName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取消息渠道id
                 * @return id
                 */
                getId():string;
            }
            type MessageServiceConfig_T = $.java.io.Serializable & MessageServiceConfig$;
            interface MessageServiceConfig extends MessageServiceConfig_T {
            }
        }
        namespace kd.bos.workflow.engine.msg.ctx{
            interface MessageContext_S {
            }
            type MessageContext_ST = $.java.io.Serializable & MessageContext_S;
            interface MessageContext_C extends MessageContext_ST {
                new():MessageContext;
            }
            interface MessageContext$ {
                setTimingEvent(timingEvent:string):void;
                setProcessInstanceId(processInstanceId:long):void;
                getElementId():string;
                setBillNo(billNo:string):void;
                setStartUserId(startUserId:long):void;
                setEntityName(entityName:string):void;
                setExecutionId(executionId:long):void;
                setBusinessKey(businessKey:string):void;
                getEntityName():string;
                getParams():$.java.util.Map;
                setImmediatelyRetry(immediatelyRetry:boolean):void;
                getStartUserId():long;
                getProcessInstanceId():long;
                isImmediatelyRetry():boolean;
                setTaskId(taskId:long):void;
                getEntityNumber():string;
                getExecutionId():long;
                setElementId(elementId:string):void;
                setCreateDate(createDate:Date):void;
                getBusinessKey():string;
                getProcessDefinitionId():long;
                getTaskId():long;
                getBillNo():string;
                getTimingEvent():string;
                setProcessDefinitionId(processDefinitionId:long):void;
                getCreateDate():Date;
                setEntityNumber(entityNumber:string):void;
                setParams(param:$.java.util.Map):void;
            }
            type MessageContext_T = $.java.io.Serializable & MessageContext$;
            interface MessageContext extends MessageContext_T {
            }
        }
        namespace kd.bos.workflow.engine.msg.info{
            interface TaskEntityInfo_S {
            }
            type TaskEntityInfo_ST = $.java.io.Serializable & TaskEntityInfo_S & kd.bos.workflow.engine.task.operation.TaskOperationInfo_S;
            interface TaskEntityInfo_C extends TaskEntityInfo_ST {
                new():TaskEntityInfo;
            }
            interface TaskEntityInfo$ {
                /**
                 * 获取第三方系统资源ID 第三方系统待办ID
                 * @return resourceId
                 */
                getResourceId():string;
                /**
                 * 设置业务所属类型
                 * @param bizType {@link kd.bos.workflow.engine.task.BizType}
                 */
                setBizType(bizType:kd.bos.workflow.engine.task.BizType):void;
                /**
                 * 设置任务系统来源名称
                 * @param sourceName
                 */
                setSourceName(sourceName:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 设置任务关联单据编号
                 * @param billNo
                 */
                setBillNo(billNo:string):void;
                /**
                 * 设置任务关联单据ID
                 * @param businessKey
                 */
                setBusinessKey(businessKey:string):void;
                /**
                 * 设置终端类型  [all|pc|mobile]
                 */
                setEndType(endType:string):void;
                /**
                 * 设置完成任务时，需要校验部分，可以支持操作&插件
                 * @param validateOperation
                 */
                setValidateOperation(validateOperation:string):void;
                /**
                 * 获取任务处理状态 有业务自定义，录入值范围应该在任务设计期模型中处理状态集合 针对crm阶段推进任务 支持  【待审批willApproval|已审批approve】两种
                 * @return handleState
                 */
                getHandleState():string;
                /**
                 * 获取任务名称
                 * @return name
                 */
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取移动Url
                 * @return mobileUrl
                 */
                getMobileUrl():string;
                /**
                 * 设置任务ID
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 获取任务打开界面 这里只有同意功能   该页面中定义打开业务的界面
                 * @return formKey
                 */
                getFormKey():string;
                /**
                 * 获取任务关联单据编号
                 * @return billNo
                 */
                getBillNo():string;
                /**
                 * 获取组织
                 * @return orgUnit
                 */
                getOrgUnit():long;
                /**
                 * 获取任务模型编码  taskDefId
                 * @return number
                 */
                getNumber():string;
                /**
                 * 获取消息中心PC端处理页面  需要继承消息中心默认父页面
                 * @return processingPage
                 */
                getProcessingPage():string;
                /**
                 * 设置第三方系统资源ID 第三方系统待办ID
                 */
                setResourceId(resourceId:string):void;
                /**
                 * 获取Url
                 * @return url
                 */
                getUrl():string;
                /**
                 * 设置任务描述
                 * @param description
                 */
                setDescription(description:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取参数集合
                 * @return Map<String, Object> params
                 */
                getParams():$.java.util.Map;
                /**
                 * 获取消息中心移动端处理界面
                 * @return
                 */
                getProcessingMobilePage():string;
                /**
                 * 设置任务系统来源
                 * @param source
                 */
                setSource(source:string):void;
                /**
                 * 设置任务主题
                 * @param subject
                 */
                setSubject(subject:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取任务描述
                 * @return description
                 */
                getDescription():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取任务关联单据ID
                 * @return businessKey
                 */
                getBusinessKey():string;
                /**
                 * 获取任务ID
                 * @return id
                 */
                getId():long;
                /**
                 * 设置参数集合
                 * @param params
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 获取任务参与人
                 * @return participantInfos {@link kd.bos.workflow.engine.msg.info.ParticipantInfo}
                 */
                getParticipantInfos():$.java.util.List;
                /**
                 * 获取终端类型  [all|pc|mobile]
                 * @return
                 */
                getEndType():string;
                /**
                 * 设置移动Url
                 * @param mobileUrl
                 */
                setMobileUrl(mobileUrl:string):void;
                /**
                 * 获取任务系统来源 标识该任务来源的系统，比如苍穹系 EAS系
                 * @return source
                 */
                getSource():string;
                /**
                 * 设置任务到期时间
                 * @param dueDate
                 */
                setDueDate(dueDate:Date):void;
                /**
                 * 获取移动daunt处理界面 与formKey
                 * @return mobileFormKey
                 */
                getMobileFormKey():string;
                /**
                 * 获取任务发起人
                 * @return starterId
                 */
                getStarterId():long;
                /**
                 * 设置任务名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取业务应用
                 * @return bizApp
                 */
                getBizApp():string;
                /**
                 * 获取完成任务时，需要校验部分，可以支持操作&插件
                 * @return validateOperation
                 */
                getValidateOperation():string;
                /**
                 * 设置任务类型
                 * @param category
                 */
                setCategory(category:string):void;
                /**
                 * 设置获取任务处理状态
                 * @param handleState
                 */
                setHandleState(handleState:string):void;
                /**
                 * 设置允许发送渠道待办
                 * @param allowSendTodo
                 */
                setAllowSendTodo(allowSendTodo:boolean):void;
                /**
                 * 获取任务到期时间
                 * @return dueDate
                 */
                getDueDate():Date;
                /**
                 * 设置业务应用
                 * @param bizApp
                 */
                setBizApp(bizApp:string):void;
                /**
                 * @param processingMobilePage
                 */
                setProcessingMobilePage(processingMobilePage:string):void;
                /**
                 * 设置任务模型编码  taskDefId
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 设置任务关联单据
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置任务发起人
                 * @param starterId
                 */
                setStarterId(starterId:long):void;
                /**
                 * 设置务是否显示在消息中心
                 * @param isDisplay
                 */
                setDisplay(isDisplay:boolean):void;
                /**
                 * 获取任务是否显示在消息中心 默认为true
                 * @return isDisplay
                 */
                isDisplay():boolean;
                /**
                 * 设置Url
                 * @param url
                 */
                setUrl(url:string):void;
                /**
                 * 设置获取任务关联单据类型
                 * @param billType
                 */
                setBillType(billType:string):void;
                /**
                 * 设置任务参与人
                 * @param participantInfos {@link kd.bos.workflow.engine.msg.info.ParticipantInfo}
                 */
                setParticipantInfos(participantInfos:$.java.util.List):void;
                /**
                 * 获取任务关联单据
                 * @return entityNumber
                 */
                getEntityNumber():string;
                /**
                 * 设置任务打开界面
                 * @param formKey
                 */
                setFormKey(formKey:string):void;
                /**
                 * 设置消息中心PC端处理页面
                 * @param processingPage
                 */
                setProcessingPage(processingPage:string):void;
                /**
                 * 获取任务主题
                 * @return subject
                 */
                getSubject():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取 crmtask 任务类型，录入值需要与后期任务模型设计期定义一致
                 * @return category
                 */
                getCategory():string;
                /**
                 * 获取业务所属类型  运行期任务所属的业务类型，比如HR fi财务 供应链等 yzjgroupid
                 * 	是一个基础资料数据，暂时调用方通过接口传递过来，动态插入到基础资料中
                 * @return BizType {@link kd.bos.workflow.engine.task.BizType}
                 */
                getBizType():kd.bos.workflow.engine.task.BizType;
                /**
                 * 设置组织
                 * @param orgUnit
                 */
                setOrgUnit(orgUnit:long):void;
                /**
                 * 设置移动daunt处理界面
                 * @param mobileFormKey
                 */
                setMobileFormKey(mobileFormKey:string):void;
                /**
                 * 添加参数
                 * @param k 参数名
                 * @param v 参数值
                 */
                addParams(k:string,v:any):void;
                /**
                 * 获取任务系统来源名称
                 * @return sourceName
                 */
                getSourceName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 允许发送渠道待办
                 * @return isAllowSendTodo
                 */
                isAllowSendTodo():boolean;
                /**
                 * 获取任务关联单据类型，若不使用单据类型则与entityNumber一致即可
                 * @return billType
                 */
                getBillType():string;
            }
            type TaskEntityInfo_T = $.java.io.Serializable & TaskEntityInfo$ & kd.bos.workflow.engine.task.operation.TaskOperationInfo;
            interface TaskEntityInfo extends TaskEntityInfo_T {
            }
            interface MessageAttachment_S {
            }
            type MessageAttachment_ST = $.java.io.Serializable & MessageAttachment_S;
            interface MessageAttachment_C extends MessageAttachment_ST {
                new():MessageAttachment;
                new(attachments:$.java.util.List,attachmentNames:$.java.util.List):MessageAttachment;
            }
            interface MessageAttachment$ {
                getAttachments():$.java.util.List;
                getAttachmentNames():$.java.util.List;
                setAttachmentNames(attachmentNames:$.java.util.List):void;
                setAttachments(attachments:$.java.util.List):void;
            }
            type MessageAttachment_T = $.java.io.Serializable & MessageAttachment$;
            interface MessageAttachment extends MessageAttachment_T {
            }
            interface ParticipantInfo_S {
            }
            type ParticipantInfo_ST = $.java.io.Serializable & ParticipantInfo_S;
            interface ParticipantInfo_C extends ParticipantInfo_ST {
                /**
                 * 任务参与人信息
                 */
                new():ParticipantInfo;
                /**
                 * 任务参与人信息
                 * @param userId 任务参与人苍穹ID
                 */
                new(userId:long):ParticipantInfo;
                /**
                 * 任务参与人信息
                 * @param userId 任务参与人苍穹ID
                 * @param priority 任务参与人优先级
                 */
                new(userId:long,priority:number):ParticipantInfo;
            }
            interface ParticipantInfo$ {
                /**
                 * 设置参与人优先级
                 * @param priority
                 */
                setPriority(priority:number):void;
                /**
                 * 获取任务参与人苍穹ID
                 * @return
                 */
                getUserId():long;
                /**
                 * 设置任务参与人苍穹ID
                 * @param userId
                 */
                setUserId(userId:long):void;
                /**
                 * 获取任务参与人优先级
                 * @return
                 */
                getPriority():number;
            }
            type ParticipantInfo_T = $.java.io.Serializable & ParticipantInfo$;
            interface ParticipantInfo extends ParticipantInfo_T {
            }
            interface ITaskMsg_S {
            }
            interface ITaskMsg_C extends ITaskMsg_S {
            }
            interface ITaskMsg$ {
                /**
                 * 获取内容 - 多语言
                 * @return
                 */
                getToDoContent?():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 设置标题
                 * @param title
                 */
                setTitle?(title:string):void;
                /**
                 * 设置内容 - 多语言
                 * @param content
                 */
                setToDoContent?(content:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取业务类型
                 * @return
                 */
                getBizType():string;
                /**
                 * 设置内容
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 设置标题 -多语言
                 * @param title
                 */
                setToDoTitle?(title:$.kd.bos.dataentity.entity.LocaleString):void;
                /**
                 * 获取任务ID
                 * @return
                 */
                getTaskId():long;
                /**
                 * 获取参数
                 * @return
                 */
                getParams():$.java.util.Map;
                /**
                 * 获取内容
                 * @return
                 */
                getContent?():string;
                /**
                 * 获取url
                 * @return
                 */
                getUrl():string;
            }
            type ITaskMsg_T = ITaskMsg$;
            interface ITaskMsg extends ITaskMsg_T {
            }
            interface MessageInfo_S {
                readonly STATE_UNREAD:string;
                readonly TYPE_NOTICE:string;
                readonly TYPE_TASK:string;
                readonly TYPE_MESSAGE:string;
                readonly TYPE_ALARM:string;
                readonly STATE_READ:string;
                readonly TYPE_ACTIVITY:string;
                readonly TYPE_WARNING:string;
            }
            type MessageInfo_ST = $.java.io.Serializable & MessageInfo_S;
            interface MessageInfo_C extends MessageInfo_ST {
                /**
                 * 消息中心推送消息接口入参对象属性
                 */
                new():MessageInfo;
            }
            interface MessageInfo$ {
                /**
                 * 设置消息参数
                 * @param key
                 * @param value
                 */
                putParam(key:string,value:string):void;
                /**
                 * 获取阅读时间
                 * @return readTime
                 */
                getReadTime():Date;
                /**
                 * 设置是否发送
                 * @param notify
                 */
                setNotify(notify:boolean):void;
                /**
                 * 获取发送渠道
                 * @return notifyType
                 */
                getNotifyType():string;
                /**
                 * 获取内嵌业务单据编号
                 * @return nestBillno
                 */
                getNestBillno():string;
                /**
                 * 获取云之家推送目标公共号编码
                 * @return pubaccNumber
                 */
                getPubaccNumber():string;
                /**
                 * 获取发送人名称
                 * @return senderName
                 */
                getSenderName():string;
                /**
                 * 设置内嵌业务来源应用
                 * @param nestAppid
                 */
                setNestAppid(nestAppid:string):void;
                /**
                 * 获取消息类型，通知/待办
                 * @return messageType
                 */
                getMessageType():string;
                /**
                 * 设置业务指定的业务标签
                 * @param tag
                 */
                setMessageTag(tag:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置业务指定的业务标签
                 * @param tag
                 */
                setTag(tag:string):void;
                setDesensMessageContent(desensMessageContent:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取内嵌业务单据ID
                 * @return nestBillId
                 */
                getNestBillId():long;
                /**
                 * 设置渠道消息使用链接
                 * @param mobContentUrl
                 */
                setMobContentUrl(mobContentUrl:string):void;
                /**
                 * 设置消息标题
                 * @param title
                 */
                setTitle(title:string):void;
                /**
                 * 工作流中使用
                 * @return bizType
                 */
                getBizType():string;
                /**
                 * 设置消息内容 - 多语言
                 * @param messageContent
                 */
                setMessageContent(messageContent:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取消息使用的业务对象
                 * @return entityNumber
                 */
                getEntityNumber():string;
                /**
                 * 设置消息模板场景
                 * @param tplScene
                 */
                setTplScene(tplScene:string):void;
                /**
                 * 设置 消息类型，通知/待办
                 * @param messageType
                 */
                setMessageType(messageType:string):void;
                /**
                 * 设置内嵌业务单据ID
                 * @param nestBillId
                 */
                setNestBillId(nestBillId:long):void;
                /**
                 * 设置消息发送人ID
                 * @param senderId
                 */
                setSenderId(senderId:long):void;
                /**
                 * 获取业务指定的业务标签
                 * @return 业务指定的业务标签
                 */
                getTag():string;
                /**
                 * 设置消息标题 - 多语言
                 * @param messageTitle
                 */
                setMessageTitle(messageTitle:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取消息发送人ID
                 * @return senderId
                 */
                getSenderId():long;
                /**
                 * 获取消息类型 默认通知
                 * @return type
                 */
                getType():string;
                /**
                 * 设置必录字段
                 * @param source
                 */
                setSource(source:string):void;
                /**
                 * 设置消息使用的业务对象 必录 发送消息的对象
                 * @param entityNumber
                 */
                setEntityNumber(entityNumber:string):void;
                /**
                 * 设置邮件开启多个接收人依次单独发送功能,可以确保接收人信息相互不可见
                 * @param signleEmail
                 */
                setSignleEmail(signleEmail:boolean):void;
                /**
                 * 设置消息类型 默认通知
                 * @param type
                 */
                setType(type_arg:string):void;
                /**
                 * 设置发送时机
                 * @param sendEvt
                 */
                setSendEvt(sendEvt:string):void;
                /**
                 * 获取渠道消息使用链接
                 * @return mobContentUrl
                 */
                getMobContentUrl():string;
                /**
                 * 是否发送
                 * @return notify
                 */
                isNotify():boolean;
                /**
                 * 获取阅读状态
                 * @return readState
                 */
                getReadState():string;
                /**
                 * 设置内嵌业务实体编码
                 * @param nestEntityNumber
                 */
                setNestEntityNumber(nestEntityNumber:string):void;
                /**
                 * 设置操作
                 * @param operation
                 */
                setOperation(operation:string):void;
                /**
                 * 添加消息参数集合
                 * @param key
                 * @param value
                 */
                addParam(key:string,value:any):void;
                /**
                 * 设置系统公告群发
                 * @param toAll
                 */
                setToAll(toAll:boolean):void;
                /**
                 * 设置内嵌业务单据编号。必录，若是没有内嵌单据，则录入entityNumber对应的单据编码。
                 * @param nestBillno
                 */
                setNestBillno(nestBillno:string):void;
                /**
                 * 获取发送时机
                 * @return sendEvt
                 */
                getSendEvt():string;
                /**
                 * 设置推送时间
                 * @param sendTime
                 */
                setSendTime(sendTime:Date):void;
                /**
                 * 设置渠道
                 * @param channelMsgId
                 */
                setChannelMsgId(channelMsgId:long):void;
                /**
                 * 工作流中使用
                 * @param bizType
                 */
                setBizType(bizType:string):void;
                /**
                 * 设置阅读状态
                 * @param readState
                 */
                setReadState(readState:string):void;
                /**
                 * 设置消息模板标识
                 * @param templateNumber
                 */
                setTemplateNumber(templateNumber:string):void;
                getDesensMessageContent():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取消息标题
                 * @return title
                 */
                getTitle():string;
                /**
                 * 设置业务单据ID
                 * @param bizDataId
                 */
                setBizDataId(bizDataId:long):void;
                /**
                 * 获取消息标题 - 多语言
                 * @return messageTitle
                 */
                getMessageTitle():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置发送人名称
                 * @param senderName
                 */
                setSenderName(senderName:string):void;
                /**
                 * 获取邮件附件
                 * @return attachment
                 */
                getAttachment():MessageAttachment;
                /**
                 * 复制消息对象
                 * @return MessageInfo
                 */
                copy():this;
                /**
                 * 获取发送人名称
                 * @return senderName
                 */
                getMessageSenderName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取推送时间
                 * @return sendTime
                 */
                getSendTime():Date;
                /**
                 * 设置消息参数集合
                 * @param param
                 */
                setParams(param:$.java.util.Map):void;
                /**
                 * 获取业务单据ID
                 * @return bizDataId
                 */
                getBizDataId():long;
                /**
                 * 获取消息内容
                 * @return content
                 */
                getContent():string;
                /**
                 * 设置发送渠道
                 * @param notifyType
                 */
                setNotifyType(notifyType:string):void;
                /**
                 * 获取内嵌业务实体编码
                 * @return nestEntityNumber
                 */
                getNestEntityNumber():string;
                /**
                 * 获取业务指定的业务标签
                 * @return tag
                 */
                getMessageTag():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取邮件开启多个接收人依次单独发送功能,可以确保接收人信息相互不可见
                 * @return signleEmail
                 */
                isSignleEmail():boolean;
                /**
                 * 设置消息接收人
                 * @param userIds
                 */
                setUserIds(userIds:$.java.util.List):void;
                /**
                 * 设置pc端消息中心使用链接
                 * @param contentUrl
                 */
                setContentUrl(contentUrl:string):void;
                /**
                 * 设置云之家推送目标公共号编码
                 * @param pubaccNumber
                 */
                setPubaccNumber(pubaccNumber:string):void;
                /**
                 * 设置阅读时间
                 * @param readTime
                 */
                setReadTime(readTime:Date):void;
                /**
                 * 获取pc端消息中心使用链接
                 * @return contentUrl
                 */
                getContentUrl():string;
                /**
                 * 获取消息接收人
                 * @return userIds
                 */
                getUserIds():$.java.util.List;
                /**
                 * 获取消息Id
                 * @return id
                 */
                getId():long;
                /**
                 * 设置邮件附件
                 * @param attachment
                 */
                setAttachment(attachment:MessageAttachment):void;
                /**
                 * 必录字段
                 * @return source
                 */
                getSource():string;
                /**
                 * 获取操作
                 * @return operation
                 */
                getOperation():string;
                /**
                 * 获取消息参数集合
                 * @return param
                 */
                getParams():$.java.util.Map;
                /**
                 * 获取消息内容 - 多语言
                 * @return messageContent
                 */
                getMessageContent():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置消息内容
                 * @param content
                 */
                setContent(content:string):void;
                /**
                 * 获取渠道，用户推送的消息中包含多个渠道，消息中心会将其拆分成多个渠道消息,避免相互干扰
                 * @return channelMsgId
                 */
                getChannelMsgId():long;
                /**
                 * 获取消息模板场景
                 * @return tplScene
                 */
                getTplScene():string;
                /**
                 * 获取消息模板标识
                 * @return templateNumber
                 */
                getTemplateNumber():string;
                /**
                 * 设置消息Id
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 获取内嵌业务来源应用
                 * @return nestAppid
                 */
                getNestAppid():string;
                /**
                 * 系统公告群发
                 * @return toAll
                 */
                isToAll():boolean;
                /**
                 * 设置发送人名称
                 * @param senderName
                 */
                setMessageSenderName(senderName:$.kd.bos.dataentity.entity.ILocaleString):void;
            }
            type MessageInfo_T = $.java.io.Serializable & MessageInfo$;
            interface MessageInfo extends MessageInfo_T {
            }
        }
        namespace kd.bos.workflow.engine.precomputor{
            interface ParticipantScopeParams_S {
            }
            type ParticipantScopeParams_ST = $.java.io.Serializable & ParticipantScopeParams_S;
            interface ParticipantScopeParams_C extends ParticipantScopeParams_ST {
                new():ParticipantScopeParams;
                new(procdefId:long,schemeId:string,procInstId:long,currentNodeId:string,taskId:long,businessKey:string,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):ParticipantScopeParams;
            }
            interface ParticipantScopeParams$ {
                setProcInstId(procInstId:long):void;
                getSchemeId():string;
                getProcInstId():long;
                getTaskId():long;
                setProcdefId(procdefId:long):void;
                getCurrentNodeId():string;
                setCurrentNodeId(currentNodeId:string):void;
                getBusinessKey():string;
                setTaskId(taskId:long):void;
                getDynamicObject():$.kd.bos.dataentity.entity.DynamicObject;
                setDynamicObject(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):void;
                setSchemeId(schemeId:string):void;
                getProcdefId():long;
                setBusinessKey(businessKey:string):void;
            }
            type ParticipantScopeParams_T = $.java.io.Serializable & ParticipantScopeParams$;
            interface ParticipantScopeParams extends ParticipantScopeParams_T {
            }
            interface IPreComputorRecord_S {
            }
            type IPreComputorRecord_ST = $.java.io.Serializable & IPreComputorRecord_S;
            interface IPreComputorRecord_C extends IPreComputorRecord_ST {
            }
            interface IPreComputorRecord$ {
                /**
                 * 获取分录节点id
                 * @return 分录节点id
                 */
                getEntryNodeId():string;
                /**
                 * 设置分录节点id
                 * @param entryNodeId 分录节点id
                 */
                setEntryNodeId(entryNodeId:string):void;
                /**
                 * 获取预测策略
                 * @return 预测策略
                 */
                getStrategy():string;
                /**
                 * 设置创建日期
                 * @param createDate 创建日期
                 */
                setCreateDate(createDate:Date):void;
                /**
                 * 获取流程版本
                 * @return 流程版本
                 */
                getVersion():number;
                /**
                 * 设置分录审批决策项名称
                 * @param entryAuditName 分录审批决策项名称
                 */
                setEntryAuditName(entryAuditName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取分录节点名称
                 * @return 分录节点名称
                 */
                getEntryNodeName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取流程定义id
                 * @return 流程定义id
                 */
                getProcessDefinitionId():long;
                /**
                 * 设置执行实例id
                 * @param executionId 执行实例id
                 */
                setExecutionId(executionId:long):void;
                /**
                 * 获取创建日期
                 * @return 创建日期
                 */
                getCreateDate():Date;
                /**
                 * 获取节点名称
                 * @return 节点名称
                 */
                getActivityName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置单据主键
                 * @return 单据主键
                 */
                getBusinessKey():string;
                /**
                 * 获取分录任务id
                 * @return 任务id
                 */
                getEntryTaskId():long;
                /**
                 * 获取执行实例id
                 * @return 执行实例id
                 */
                getExecutionId():long;
                setValidity(validity:boolean):void;
                /**
                 * 设置单据编号
                 * @param billNo 单据编号
                 */
                setBillNo(billNo:string):void;
                /**
                 * 设置流程方案id
                 * @param schemeId 流程方案id
                 */
                setSchemeId(schemeId:long):void;
                /**
                 * 设置分录节点名称
                 * @param entryNodeName 分录节点名称
                 */
                setEntryNodeName(entryNodeName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置节点id
                 * @param activityId 节点id
                 */
                setActivityId(activityId:string):void;
                /**
                 * 获取修改日期
                 * @return 修改日期
                 */
                getModifyDate():Date;
                /**
                 * 设置流程预测结果
                 * @param pcrData 流程预测结果
                 */
                setPcrData(pcrData:$.java.util.List):void;
                /**
                 * 设置流程版本
                 * @param version 流程版本
                 */
                setVersion(version:number):void;
                /**
                 * 获取流程方案id
                 * @return 流程方案id
                 */
                getSchemeId():long;
                /**
                 * 设置节点名称
                 * @param activityName 节点名称
                 */
                setActivityName(activityName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置分录审批决策项编码
                 * @param entryAuditNumber 分录审批决策项编码
                 */
                setEntryAuditNumber(entryAuditNumber:string):void;
                /**
                 * 设置流程实例id
                 * @param processInstanceId 流程实例id
                 */
                setProcessInstanceId(processInstanceId:long):void;
                /**
                 * 获取流程预测结果
                 * @return 流程预测结果 {@link kd.bos.workflow.engine.precomputor.IPreComputorRecordItem}
                 */
                getPcrData():$.java.util.List;
                /**
                 * 获取流程实例id
                 * @return 流程实例id
                 */
                getProcessInstanceId():long;
                /**
                 * 获取分录审批决策项名称
                 * @return 分录审批决策项名称
                 */
                getEntryAuditName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置分录任务id
                 * @param entryTaskId 任务id
                 */
                setEntryTaskId(entryTaskId:long):void;
                /**
                 * 设置单据主键
                 * @param businessKey 单据主键
                 */
                setBusinessKey(businessKey:string):void;
                /**
                 * 设置预测策略
                 * @param strategy 预测策略
                 */
                setStrategy(strategy:string):void;
                /**
                 * 获取分录审批编码
                 * @return 分录审批编码
                 */
                getEntryAuditNumber():string;
                /**
                 * @return
                 */
                getValidity():boolean;
                /**
                 * 设置流程定义id
                 * @param processdefinitionId 流程定义id
                 */
                setProcessDefinitionId(processdefinitionId:long):void;
                /**
                 * 获取单据编号
                 * @return 单据编号
                 */
                getBillNo():string;
                /**
                 * 设置修改日期
                 * @param modifyDate 修改日期
                 */
                setModifyDate(modifyDate:Date):void;
                /**
                 * 获取节点id
                 * @return 节点id
                 */
                getActivityId():string;
            }
            type IPreComputorRecord_T = $.java.io.Serializable & IPreComputorRecord$;
            interface IPreComputorRecord extends IPreComputorRecord_T {
            }
            interface PreComputorParams_S {
            }
            type PreComputorParams_ST = $.java.io.Serializable & PreComputorParams_S;
            interface PreComputorParams_C extends PreComputorParams_ST {
                new():PreComputorParams;
                new(procInstId:long,procdefId:long,dynamicObject:$.kd.bos.dataentity.entity.DynamicObject,assignNode:$.java.util.Map,currentNodeId:string):PreComputorParams;
            }
            interface PreComputorParams$ {
                getProcInstId():long;
                setProcInstId(procInstId:long):void;
                setDynamicObject(dynamicObject:$.kd.bos.dataentity.entity.DynamicObject):void;
                getCurrentNodeId():string;
                setCurrentNodeId(currentNodeId:string):void;
                setProcdefId(procdefId:long):void;
                getDynamicObject():$.kd.bos.dataentity.entity.DynamicObject;
                setAssignNode(assignNode:$.java.util.Map):void;
                getProcdefId():long;
                getAssignNode():$.java.util.Map;
            }
            type PreComputorParams_T = $.java.io.Serializable & PreComputorParams$;
            interface PreComputorParams extends PreComputorParams_T {
            }
        }
        namespace kd.bos.workflow.engine.process{
            interface ProcessVariableData_S {
            }
            type ProcessVariableData_ST = $.java.io.Serializable & ProcessVariableData_S;
            interface ProcessVariableData_C extends ProcessVariableData_ST {
                new():ProcessVariableData;
            }
            interface ProcessVariableData$ {
                setName(name:string):void;
                setValue(value:any):void;
                getName():string;
                getValue():any;
            }
            type ProcessVariableData_T = $.java.io.Serializable & ProcessVariableData$;
            interface ProcessVariableData extends ProcessVariableData_T {
            }
            interface ProcessInstData_S {
            }
            type ProcessInstData_ST = $.java.io.Serializable & ProcessInstData_S;
            interface ProcessInstData_C extends ProcessInstData_ST {
                new():ProcessInstData;
            }
            interface ProcessInstData$ {
                setIsSubProcess(isSubProcess:boolean):void;
                getNodeList():$.java.util.List;
                setBusinessKey(businessKey:string):void;
                getIsSubProcess():boolean;
                getOperation():string;
                getVariables():$.java.util.List;
                setNodeList(nodeList:$.java.util.List):void;
                setProcDefId(procDefId:long):void;
                setOperation(operation:string):void;
                getSubject():$.kd.bos.dataentity.entity.ILocaleString;
                setEntityNumber(entityNumber:string):void;
                setCreateDate(createDate:Date):void;
                getSchemeId():long;
                getBusinessKey():string;
                setSchemeId(schemeId:long):void;
                getProcDefId():long;
                getEntityNumber():string;
                getCreateDate():Date;
                setVariables(variables:$.java.util.List):void;
                setInitor(initor:long):void;
                setSubject(subject:$.kd.bos.dataentity.entity.ILocaleString):void;
                getInitor():long;
            }
            type ProcessInstData_T = $.java.io.Serializable & ProcessInstData$;
            interface ProcessInstData extends ProcessInstData_T {
            }
            interface NodeData_S {
            }
            type NodeData_ST = $.java.io.Serializable & NodeData_S;
            interface NodeData_C extends NodeData_ST {
                new():NodeData;
            }
            interface NodeData$ {
                getExecutionType():string;
                setEndDate(endDate:Date):void;
                getAuditName():$.kd.bos.dataentity.entity.ILocaleString;
                getSkipReason():string;
                setActId(actId:string):void;
                setDynType(dynType:string):void;
                getSubject():$.kd.bos.dataentity.entity.ILocaleString;
                getCreateDate():Date;
                setActType(actType:string):void;
                getDynType():string;
                setSkipReason(skipReason:string):void;
                getActId():string;
                getNextNodeIds():$.java.util.List;
                getAuditType():string;
                getChildProcess():ProcessInstData;
                setNextNodeIds(nextNodeIds:$.java.util.List):void;
                setExecutionType(executionType:string):void;
                setApprovalMsg(approvalMsg:$.kd.bos.dataentity.entity.ILocaleString):void;
                setAssigneeId(assigneeId:long):void;
                getAuditNumber():string;
                getApprovalMsg():$.kd.bos.dataentity.entity.ILocaleString;
                getParticipants():$.java.util.List;
                getChildNodes():$.java.util.List;
                setId(id:long):void;
                getIsDynamic():boolean;
                getExtraParams():$.java.util.Map;
                setCreateDate(createDate:Date):void;
                setIsDynamic(isDynamic:boolean):void;
                getEndDate():Date;
                getAssigneeId():long;
                getActType():string;
                setChildProcess(childProcess:ProcessInstData):void;
                setAuditNumber(auditNumber:string):void;
                setChildNodes(childNodes:$.java.util.List):void;
                setAuditType(auditType:string):void;
                setSubject(subject:$.kd.bos.dataentity.entity.ILocaleString):void;
                setParticipants(participants:$.java.util.List):void;
                setAuditName(auditName:$.kd.bos.dataentity.entity.ILocaleString):void;
                setExtraParams(extraParams:$.java.util.Map):void;
                getId():long;
            }
            type NodeData_T = $.java.io.Serializable & NodeData$;
            interface NodeData extends NodeData_T {
            }
        }
        namespace kd.bos.workflow.engine.rule.ext{
            interface IExtExpressionParse_S {
            }
            interface IExtExpressionParse_C extends IExtExpressionParse_S {
            }
            interface IExtExpressionParse$ {
                parseExpression(execution:kd.bos.workflow.api.AgentExecution,param:any):any;
            }
            type IExtExpressionParse_T = IExtExpressionParse$;
            interface IExtExpressionParse extends IExtExpressionParse_T {
            }
        }
        namespace kd.bos.workflow.engine.task{
            interface TaskInfo_S {
            }
            type TaskInfo_ST = TaskInfo_S & TaskOperateResult_S;
            interface TaskInfo_C extends TaskInfo_ST {
            }
            interface TaskInfo$ {
                /**
                 * 创建时间
                 * @param modifyDate
                 */
                setCreateDate(modifyDate:Date):void;
                /**
                 * 获取批量标识
                 * @return null
                 */
                getBatchOp?():string;
                /**
                 * 获取任务标题（打开审批处理页显示的tab表头名称）- PC端
                 * @param null
                 */
                getCaptionPC?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取流程实例ID
                 * @return 流程实例ID
                 */
                getProcessInstanceId():long;
                /**
                 * 参与人名称
                 * @return null
                 */
                getParticipantName?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置副标题
                 * @param subactivityname
                 */
                setSubactivityname(subactivityname:string):void;
                /**
                 * 获取所有者
                 * @return 所有者
                 */
                getOwner():string;
                /**
                 * 获取流程类型（工作流or业务流）
                 * @return null
                 */
                getProcessType?():string;
                /**
                 * pc处理页面编码
                 * @return processingPage
                 */
                setProcessingPage(processingPage:string):void;
                /**
                 * 获取创建日期
                 * @return 创建日期
                 */
                getCreateDate():Date;
                /**
                 * 单据编码
                 * @return  单据编码
                 */
                getBillNo():string;
                /**
                 * 任务截止日期
                 * @return 任务截止日期
                 */
                getDueDate():Date;
                /**
                 * 发起人ID
                 * @return 发起人ID
                 */
                getStarterId():long;
                /**
                 * 与getAssignee()方法作用相同，返回多语言格式的处理人
                 * @return 多语言格式的处理人
                 */
                getTaskAssignee?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 任务模型-判断是否是模型任务
                 * @return false
                 */
                isBizTask?():boolean;
                /**
                 * 设置名称 - 多语言
                 * @param name
                 */
                setName?(name:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 如果在任务查询中有所请求，则返回本地任务变量。
                 * @return
                 */
                getTaskLocalVariables():$.java.util.Map;
                /**
                 * 流程发起人
                 * @return 流程发起人
                 */
                getStartName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 消息发送人Id
                 * @return 消息发送人ID
                 */
                getSenderId():string;
                /**
                 * 用户任务的表单关键字。
                 * @return
                 */
                getFormKey():string;
                /**
                 * 获取业务跟踪号
                 * @return null
                 */
                getBizTraceNo?():string;
                /**
                 * 获取处理状态
                 * @return 处理状态
                 */
                getHandleState():string;
                /**
                 * 是否在运行
                 * @return
                 */
                isActive():boolean;
                /**
                 * 移动处理页面编码
                 * @param processingMobilePage
                 */
                setProcessingMobilePage(processingMobilePage:string):void;
                /**
                 * 是否从历史表查询
                 * @return
                 */
                isFromHistory():boolean;
                /**
                 * 设置流程主题
                 * @param subject
                 */
                setSubject?(subject:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 此任务作为子任务所对应的父任务。
                 * @return
                 */
                getParentTaskId():long;
                /**
                 * pc处理页面编码
                 * @return  pc处理页面编码
                 */
                getProcessingPage():string;
                /**
                 * 任务的类别。这是一个可选字段，可用于将任务“标记”为属于某个特定类别。
                 * @return 任务的类别
                 */
                getCategory():string;
                /**
                 * 获取描述
                 * @return 多语言描述
                 */
                getDescription():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 这项任务的领取时间。
                 * @return 任务的领取时间。
                 */
                getClaimTime():Date;
                /**
                 * 实体编码
                 * @return 实体编码
                 */
                getEntityNumber():string;
                /**
                 * 设置处理状态
                 * 处理状态枚举
                 * 已同意 approve
                 * 已驳回 reject
                 * 已终止 terminate
                 * 已处理 handled
                 * 被驳回 dismissed
                 * 待审批 willApproval 已冻结 freeze
                 * 待处理 willHandled 已挂起 manualSuspended 已转换 converted
                 * 转换中 converting 待转换 unConverted
                 * @param handleState
                 */
                setHandleState(handleState:string):void;
                /**
                 * 获取包含自定义参数和扩展节点属性等的节点控制值
                 * @return null
                 */
                getControl?():string;
                /**
                 * 在定义此任务的流程中该活动的标识符；如果此任务与流程无关，则为 null 。
                 * @return
                 */
                getTaskDefinitionKey():string;
                /**
                 * 获取任务标题（打开审批处理页显示的tab表头名称）- Mob端
                 * @param null
                 */
                getCaptionMob?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取名称或标题
                 * @return 多语言名称
                 */
                getName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 移动处理页面编码
                 * @return 移动处理页面编码
                 */
                getProcessingMobilePage():string;
                /**
                 * 业务ID
                 * @return 业务ID
                 */
                getBusinessKey():string;
                /**
                 * 挂起状态  1:活动 2:挂起
                 * @return null
                 */
                getSuspensionState?():string;
                /**
                 * 上一步处理人
                 * @return SenderName多语言
                 */
                getSenderName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 移动页面值
                 * @param mobileFormKey
                 */
                setMobileFormKey(mobileFormKey:string):void;
                /**
                 * 获取参与人
                 * @return 参与人
                 */
                getAssignee():string;
                /**
                 * 单据主题
                 * @return 单据主题多语言
                 */
                getSubject():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 如果在任务查询中被要求（获取），则返回流程变量。
                 * @return
                 */
                getProcessVariables():$.java.util.Map;
                /**
                 * 移动页面值
                 * @return 移动页面值
                 */
                getMobileFormKey():string;
                /**
                 * 获取优先级
                 * @return 优先级
                 */
                getPriority():number;
                /**
                 * 获取执行实例ID
                 * @return 执行实例ID
                 */
                getExecutionId():long;
                /**
                 * 执行类型
                 * @return null
                 */
                getExecutionType?():string;
                /**
                 * 单据名称
                 * @return 单据名称多语言
                 */
                getEntityName():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取流程定义ID
                 * @return 流程定义ID
                 */
                getProcessDefinitionId():long;
                /**
                 * 获取任务ID
                 * @return ID
                 */
                getId():long;
                /**
                 * 设置流程类型（工作流or业务流）
                 * @param processType
                 */
                setProcessType(processType:string):void;
                /**
                 * 获取来源
                 * @return null
                 */
                getSource?():string;
                /**
                 * 校验操作
                 * @return null
                 */
                getValidateOperation?():string;
            }
            type TaskInfo_T = TaskInfo$ & TaskOperateResult;
            interface TaskInfo extends TaskInfo_T {
            }
            interface Comment_S {
            }
            type Comment_ST = Comment_S & kd.bos.workflow.engine.history.HistoricData_S;
            interface Comment_C extends Comment_ST {
            }
            interface Comment$ {
                /**
                 * 用户id
                 * @return id
                 */
                getUserId():long;
                /**
                 * 与getResultName()方法作用相同，返回多语言格式的处理结果
                 * @return null
                 */
                getCommentResult?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 处理结果
                 * @return 处理结果
                 */
                getResultName():string;
                /**
                 * 与getMessage()方法作用相同，返回多语言格式的处理意见
                 * @return 处理意见
                 */
                getCommentMessage?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 处理意见
                 * @return 处理意见
                 */
                getMessage():string;
                /**
                 * 与setAssignee()方法作用相同，设置多语言格式的处理人
                 * @param assignee
                 */
                setAssignee?(assignee:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置处理多语言格式的处理意见
                 * @param message 多语言格式的处理意见
                 */
                setMessage?(message:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取子节点名称
                 * @return 子节点名称
                 */
                getSubactivityname():string;
                /**
                 * 记录类型
                 * comment，普通审批
                 * converted，botp转换
                 * coordinate，协办
                 * forceReject，强制驳回
                 * @return 类型
                 */
                getType():string;
                /**
                 * 设置终端处理方法
                 * @param terminalWay 终端处理方式
                 */
                setTerminalWay?(terminalWay:string):void;
                /**
                 * 参与人
                 * @return
                 */
                getAssignee():string;
                /**
                 * 设置任务id
                 * @param taskId 任务id
                 */
                setTaskId(taskId:long):void;
                /**
                 * 设置创建时间
                 * @param time 创建时间
                 */
                setTime(time:Date):void;
                /**
                 * 与getAssignee()方法作用相同，返回多语言格式的处理人
                 * @return 多语言格式的处理人
                 */
                getTaskAssignee?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置用户id
                 * @param userId 用户id
                 */
                setUserId(userId:long):void;
                /**
                 * 流程实例id
                 * @return 流程实例id
                 */
                getProcessInstanceId():long;
                /**
                 * 设置节点名称
                 * @param activityName 节点名称的多语言值
                 */
                setActivityName?(activityName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置结果编码
                 * @param resultNumber 结果编码
                 */
                setResultNumber(resultNumber:string):void;
                /**
                 * 节点id
                 * @return 节点id
                 */
                getActivityId():string;
                /**
                 * 获取终端处理方式
                 * @return 终端处理方式
                 */
                getTerminalWay?():string;
                /**
                 * 设置多语言格式的处理结果
                 * @param resultName 多语言格式的处理结果
                 */
                setResultName?(resultName:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置类型
                 * @param type 类型
                 */
                setType(type_arg:string):void;
                /**
                 * 与getActivityName()方法作用相同，返回多语言格式的节点名称
                 * @return 多语言格式的节点名称
                 */
                getNodeName?():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取节点名称
                 * @return 节点名称
                 */
                getActivityName():string;
                /**
                 * 任务id
                 * @return 任务id
                 */
                getTaskId():long;
                /**
                 * 设置决策类型
                 * @param decisionType 决策类型
                 */
                setDecisionType(decisionType:string):void;
                /**
                 * 处理结果编码
                 * @return 节点编码
                 */
                getResultNumber():string;
                /**
                 * 设置子节点名称
                 * @param subactivityname 子节点名称
                 */
                setSubactivityname(subactivityname:string):void;
                /**
                 * 记录id
                 * @return id
                 */
                getId():long;
            }
            type Comment_T = Comment$ & kd.bos.workflow.engine.history.HistoricData;
            interface Comment extends Comment_T {
            }
            interface BusinessKeyQueryParams_S {
            }
            type BusinessKeyQueryParams_ST = $.java.io.Serializable & BusinessKeyQueryParams_S;
            interface BusinessKeyQueryParams_C extends BusinessKeyQueryParams_ST {
                /**
                 * 根据实体编码，用户id获取业务主键查询参数
                 * @param entitynumber
                 * @param userIds
                 */
                new(entitynumber:string,userIds:long[]):BusinessKeyQueryParams;
            }
            interface BusinessKeyQueryParams$ {
                /**
                 * 设置实体编码
                 * @param entitynumber
                 */
                setEntitynumber(entitynumber:string):void;
                /**
                 * 获取实体编码
                 * @return entitynumber
                 */
                getEntitynumber():string;
                /**
                 * 获取用户ID
                 * @return userIds
                 */
                getUserIds():long[];
                /**
                 * 设置用户ID
                 * @param userIds
                 */
                setUserIds(userIds:long[]):void;
            }
            type BusinessKeyQueryParams_T = $.java.io.Serializable & BusinessKeyQueryParams$;
            interface BusinessKeyQueryParams extends BusinessKeyQueryParams_T {
            }
            interface OperateResult_S {
                readonly OPERATETYPE_REMIND:string;
                readonly OPERATESTATUS_FAILED:string;
                readonly OPERATESTATUS_SUCCESS:string;
                readonly OPERATETYPE_CIRCULATE:string;
            }
            type OperateResult_ST = $.java.io.Serializable & OperateResult_S;
            interface OperateResult_C extends OperateResult_ST {
                new():OperateResult;
                new(operateType:string,operateStatus:string,operateMsg:string):OperateResult;
                new(operateType:string,operateStatus:string,operateMsg:string,taskId:long,billno:string):OperateResult;
            }
            interface OperateResult$ {
                /**
                 * 设置操作状态
                 * @param operateStatus 操作状态
                 */
                setOperateStatus(operateStatus:string):void;
                /**
                 * 获取操作类型
                 * @return 操作类型
                 */
                getOperateType():string;
                /**
                 * 获取操作信息
                 * @return 操作信息
                 */
                getOperateMsg():string;
                /**
                 * 获取任务id
                 * @return 任务id
                 */
                getTaskId():long;
                /**
                 * 设置操作信息
                 * @param operateMsg 操作信息
                 */
                setOperateMsg(operateMsg:string):void;
                /**
                 * 设置单据编码
                 * @param billno 单据编码
                 */
                setBillno(billno:string):void;
                /**
                 * 设置操作类型
                 * @param operateType 操作类型
                 */
                setOperateType(operateType:string):void;
                /**
                 * 设置任务id
                 * @param taskId
                 */
                setTaskId(taskId:long):void;
                /**
                 * 获取单据编码
                 * @return 单据编码
                 */
                getBillno():string;
                /**
                 * 获取操作状态
                 * @return 操作状态
                 */
                getOperateStatus():string;
            }
            type OperateResult_T = $.java.io.Serializable & OperateResult$;
            interface OperateResult extends OperateResult_T {
            }
            interface TaskOperateResult_S {
            }
            interface TaskOperateResult_C extends TaskOperateResult_S {
            }
            interface TaskOperateResult$ {
            }
            type TaskOperateResult_T = TaskOperateResult$;
            interface TaskOperateResult extends TaskOperateResult_T {
            }
            interface MessageCenterParams_S {
            }
            type MessageCenterParams_ST = $.java.io.Serializable & MessageCenterParams_S;
            interface MessageCenterParams_C extends MessageCenterParams_ST {
                new():MessageCenterParams;
            }
            interface MessageCenterParams$ {
                /**
                 * 获取方案	方案id也包含在内
                 * 不存在的方案默认不过滤
                 * @return  scheme
                 */
                getScheme():string;
                /**
                 * 获取数据开始位置
                 * @return start
                 */
                getStart():number;
                /**
                 * 获取排序字段
                 * @return orderByFields
                 */
                getOrderByFields():$.java.util.Map;
                /**
                 * 获取过滤条件
                 * @return qFilters
                 */
                getqFilters():$.java.util.List;
                /**
                 * 获取列表字段标识集合-返回的数据的列范围
                 * @return listFields
                 */
                getListFields():$.java.util.List;
                /**
                 * 获取数据查询条数
                 * @return limit
                 */
                getLimit():number;
                /**
                 * 获取参数
                 * @return
                 */
                getParams():$.java.util.Map;
                /**
                 * 设置列表字段标识集合-返回的数据的列范围
                 * @param listFields
                 */
                setListFields(listFields:$.java.util.List):void;
                /**
                 * 设置排序字段-排序字段以及值，不传递值默认倒叙，值必须是listFields中存在的任意值
                 * @param orderByFields
                 */
                setOrderByFields(orderByFields:$.java.util.Map):void;
                /**
                 * 设置参数
                 * @param params
                 */
                setParams(params:$.java.util.Map):void;
                /**
                 * 设置用户id
                 * @param userId
                 */
                setUserId(userId:long):void;
                /**
                 * 设置方案
                 * @return  scheme
                 */
                setScheme(scheme:string):void;
                /**
                 * 设置获取数据查询条数-用于分页查询，10表示查询10条默认20，0=20
                 * @param limit
                 */
                setLimit(limit:number):void;
                /**
                 * 设置数据开始位置-用于分页查询，0表示从第0条开始
                 * @param start
                 */
                setStart(start:number):void;
                /**
                 * 获取用户ID
                 * @return userId
                 */
                getUserId():long;
                /**
                 * 设置过滤条件
                 * @param qFilters
                 */
                setqFilters(qFilters:$.java.util.List):void;
            }
            type MessageCenterParams_T = $.java.io.Serializable & MessageCenterParams$;
            interface MessageCenterParams extends MessageCenterParams_T {
            }
            interface AddYunzhijiaTaskParam_S {
            }
            type AddYunzhijiaTaskParam_ST = $.java.io.Serializable & AddYunzhijiaTaskParam_S;
            interface AddYunzhijiaTaskParam_C extends AddYunzhijiaTaskParam_ST {
                new():AddYunzhijiaTaskParam;
            }
            interface AddYunzhijiaTaskParam$ {
                setAssigneeId(assigneeId:long):void;
                getAuditNumber():string;
                setApprovalMsg(approvalMsg:$.kd.bos.dataentity.entity.ILocaleString):void;
                getActId():string;
                setAuditNumber(auditNumber:string):void;
                setActId(actId:string):void;
                getAssigneeId():long;
                getProcInstId():long;
                getApprovalMsg():$.kd.bos.dataentity.entity.ILocaleString;
                setProcInstId(proInstId:long):void;
            }
            type AddYunzhijiaTaskParam_T = $.java.io.Serializable & AddYunzhijiaTaskParam$;
            interface AddYunzhijiaTaskParam extends AddYunzhijiaTaskParam_T {
            }
            interface BizType_S {
            }
            type BizType_ST = $.java.io.Serializable & BizType_S;
            interface BizType_C extends BizType_ST {
                new():BizType;
            }
            interface BizType$ {
                /**
                 * 设置业务类型编码
                 * @param number
                 */
                setNumber(number_arg:string):void;
                /**
                 * 获取业务类型名称
                 * @return name
                 */
                getName():$.kd.bos.dataentity.entity.LocaleString;
                /**
                 * 获取业务类型编码
                 * @return number
                 */
                getNumber():string;
                /**
                 * 设置业务类型名称
                 * @param name
                 */
                setName(name:$.kd.bos.dataentity.entity.LocaleString):void;
            }
            type BizType_T = $.java.io.Serializable & BizType$;
            interface BizType extends BizType_T {
            }
            interface BatchOperateResult_S {
            }
            type BatchOperateResult_ST = $.java.io.Serializable & BatchOperateResult_S & TaskOperateResult_S;
            interface BatchOperateResult_C extends BatchOperateResult_ST {
                new():BatchOperateResult;
                new(validateMsg:string,sucessCount:number,failedCount:number,operateResults:$.java.util.List):BatchOperateResult;
            }
            interface BatchOperateResult$ {
                /**
                 * 获取成功条数
                 * @return sucessCount 成功条数
                 */
                getSucessCount():number;
                /**
                 * 是否成功
                 * @return isSuccess 是否成功
                 */
                isSuccess():boolean;
                /**
                 * 设置操作结果集
                 * @param operateResults 操作结果集，{@link kd.bos.workflow.engine.task.OperateResult}
                 */
                setOperateResults(operateResults:$.java.util.List):void;
                /**
                 * 获取操作结果集
                 * @return operateResults 操作结果集
                 */
                getOperateResults():$.java.util.List;
                /**
                 * 设置成功条数
                 * @param sucessCount 成功条数
                 */
                setSucessCount(sucessCount:number):void;
                /**
                 * 设置失败条数
                 * @param failedCount 失败条数
                 */
                setFailedCount(failedCount:number):void;
                /**
                 * 获取失败条数
                 * @return failedCount 失败条数
                 */
                getFailedCount():number;
                /**
                 * 设置校验信息
                 * @param validateMsg 校验信息
                 */
                setValidateMsg(validateMsg:string):void;
                /**
                 * 获取校验信息
                 * @return validateMsg 校验信息
                 */
                getValidateMsg():string;
            }
            type BatchOperateResult_T = $.java.io.Serializable & BatchOperateResult$ & TaskOperateResult;
            interface BatchOperateResult extends BatchOperateResult_T {
            }
            interface ThirdCommentInfo_S {
            }
            type ThirdCommentInfo_ST = $.java.io.Serializable & ThirdCommentInfo_S;
            interface ThirdCommentInfo_C extends ThirdCommentInfo_ST {
                new():ThirdCommentInfo;
            }
            interface ThirdCommentInfo$ {
                /**
                 * 设置审批时间
                 * @param auditTime
                 */
                setAuditTime(auditTime:long):void;
                /**
                 * 设置ID
                 * @param id
                 */
                setId(id:long):void;
                /**
                 * 设置来源系统（苍穹外部需要明确是哪个系统）
                 * @param sourceSystem
                 */
                setSourceSystem(sourceSystem:string):void;
                /**
                 * 获取审批意见 - 多语言
                 * @return auditMessageLocale
                 */
                getAuditMessageLocale():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置审批结果
                 * @param resultName
                 */
                setResultName(resultName:string):void;
                /**
                 * 获取流程附件
                 * @return attchments
                 */
                getAttchments():$.java.util.Map;
                /**
                 * 设置人员工号
                 * @param userNum
                 */
                setUserNum(userNum:string):void;
                /**
                 * 获取业务单据id
                 * @return businesskey
                 */
                getBusinesskey():string;
                /**
                 * 获取业务标识
                 * @return bizidentifykey
                 */
                getBizidentifykey():string;
                /**
                 * 获取来源应用（苍穹内部使用应用的）
                 * @return sourceApp
                 */
                getSourceApp():string;
                /**
                 * 设置来源应用（苍穹内部使用应用的）
                 * @param sourceApp
                 */
                setSourceApp(sourceApp:string):void;
                /**
                 * 设置终端 例：api
                 * @param terminal
                 */
                setTerminal(terminal:string):void;
                /**
                 * 设置节点名称 - 多语言
                 * @param activityNameLocale
                 */
                setActivityNameLocale(activityNameLocale:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取终端 例：api
                 * @return terminal
                 */
                getTerminal():string;
                /**
                 * 获取节点名称 - 多语言
                 * @return activityNameLocale
                 */
                getActivityNameLocale():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 设置流程实例ID
                 * @param processInstanceId
                 */
                setProcessInstanceId(processInstanceId:long):void;
                /**
                 * 获取人员Id
                 * @return userId
                 */
                getUserId():long;
                /**
                 * 设置审批类型 同意 approve	驳回 reject 终止 terminate
                 * @param decisiontype
                 */
                setDecisiontype(decisiontype:string):void;
                /**
                 * 获取流程实例ID
                 * @return processInstanceId
                 */
                getProcessInstanceId():long;
                /**
                 * 获取子标题
                 * @return subactivityName
                 */
                getSubactivityName():string;
                /**
                 * 获取审批结果 - 多语言
                 * @return resultNameLocale
                 */
                getResultNameLocale():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取审批决策项编码 Consent 同意 Reject 驳回 Terminate 终止;
                 * @return resultNumber
                 */
                getResultNumber():string;
                /**
                 * 设置流程附件
                 * @param attchments
                 */
                setAttchments(attchments:$.java.util.Map):void;
                /**
                 * 设置业务单据id
                 * @param businesskey
                 */
                setBusinesskey(businesskey:string):void;
                /**
                 * 设置审批意见 - 多语言
                 * @param auditMessageLocale
                 */
                setAuditMessageLocale(auditMessageLocale:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取审批类型 同意 approve	驳回 reject 终止 terminate
                 * @return decisiontype
                 */
                getDecisiontype():string;
                /**
                 * 获取审批意见
                 * @return auditMesssage
                 */
                getAuditMesssage():string;
                /**
                 * 获取组
                 * @return group
                 */
                getGroup():string;
                /**
                 * 设置业务标识
                 * @param bizidentifykey
                 */
                setBizidentifykey(bizidentifykey:string):void;
                /**
                 * 获取来源系统（苍穹外部需要明确是哪个系统）
                 * @return sourceSystem
                 */
                getSourceSystem():string;
                /**
                 * 设置人员Id
                 * @param userId
                 */
                setUserId(userId:long):void;
                /**
                 * 设置审批结果 - 多语言
                 * @param resultNameLocale
                 */
                setResultNameLocale(resultNameLocale:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 设置子标题
                 * @param subactivityName
                 */
                setSubactivityName(subactivityName:string):void;
                /**
                 * 设置任务Id
                 * @param taskId
                 */
                setTaskId(taskId:long):void;
                /**
                 * 获取ID
                 * @return id
                 */
                getId():long;
                /**
                 * 获取人员工号
                 * @return userNum
                 */
                getUserNum():string;
                /**
                 * 获取审批结果
                 * @return resultName
                 */
                getResultName():string;
                /**
                 * 获取任务Id
                 * @return taskId
                 */
                getTaskId():long;
                /**
                 * 设置审批决策项编码 Consent 同意 Reject 驳回 Terminate 终止;
                 * @param resultNumber
                 */
                setResultNumber(resultNumber:string):void;
                /**
                 * 设置审批意见
                 * @param auditMesssage
                 */
                setAuditMesssage(auditMesssage:string):void;
                /**
                 * 设置组
                 * @param group
                 */
                setGroup(group:string):void;
                /**
                 * 获取审批时间
                 * @return auditTime
                 */
                getAuditTime():long;
                /**
                 * 获取节点名称
                 * @return activityName
                 */
                getActivityName():string;
            }
            type ThirdCommentInfo_T = $.java.io.Serializable & ThirdCommentInfo$;
            interface ThirdCommentInfo extends ThirdCommentInfo_T {
            }
        }
        namespace kd.bos.workflow.engine.task.operation{
            interface TransferOperationParam_S {
            }
            type TransferOperationParam_ST = TaskOperationInfo_S & TaskOperationParam_S & TransferOperationParam_S;
            interface TransferOperationParam_C extends TransferOperationParam_ST {
                new():TransferOperationParam;
            }
            interface TransferOperationParam$ {
                /**
                 * 获取被转交人ID
                 * @return transfererId
                 */
                getTransfererId():long;
                /**
                 * 设置被转交人ID
                 * @param transfererId
                 */
                setTransfererId(transfererId:long):void;
                /**
                 * 设置转交意见
                 * @param transferOpinion
                 */
                setTransferOpinion(transferOpinion:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取是否订阅转交结果
                 * @return transferSubscribe
                 */
                isTransferSubscribe():boolean;
                /**
                 * 设置是否订阅转交结果
                 * @param transferSubscribe
                 */
                setTransferSubscribe(transferSubscribe:boolean):void;
                /**
                 * 获取转交意见
                 * @return transferOpinion
                 */
                getTransferOpinion():$.kd.bos.dataentity.entity.ILocaleString;
            }
            type TransferOperationParam_T = TaskOperationInfo & TaskOperationParam & TransferOperationParam$;
            interface TransferOperationParam extends TransferOperationParam_T {
            }
            interface DeleteOperationParam_S {
            }
            type DeleteOperationParam_ST = DeleteOperationParam_S & TaskOperationInfo_S & TaskOperationParam_S;
            interface DeleteOperationParam_C extends DeleteOperationParam_ST {
                new():DeleteOperationParam;
            }
            interface DeleteOperationParam$ {
            }
            type DeleteOperationParam_T = DeleteOperationParam$ & TaskOperationInfo & TaskOperationParam;
            interface DeleteOperationParam extends DeleteOperationParam_T {
            }
            interface CirculateOperationParam_S {
            }
            type CirculateOperationParam_ST = CirculateOperationParam_S & TaskOperationInfo_S & TaskOperationParam_S;
            interface CirculateOperationParam_C extends CirculateOperationParam_ST {
                new():CirculateOperationParam;
            }
            interface CirculateOperationParam$ {
                /**
                 * 设置被传阅人
                 * @param circulateUserIds
                 */
                setCirculateUserIds(circulateUserIds:$.java.util.List):void;
                /**
                 * 设置传阅意见
                 * @param circulateMsg
                 */
                setCirculateMsg(circulateMsg:$.kd.bos.dataentity.entity.ILocaleString):void;
                /**
                 * 获取传阅意见
                 * @return circulateMsg
                 */
                getCirculateMsg():$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取被传阅人
                 * @return circulateUserIds
                 */
                getCirculateUserIds():$.java.util.List;
            }
            type CirculateOperationParam_T = CirculateOperationParam$ & TaskOperationInfo & TaskOperationParam;
            interface CirculateOperationParam extends CirculateOperationParam_T {
            }
            interface TaskOperationParam_S {
            }
            interface TaskOperationParam_C extends TaskOperationParam_S {
                new():TaskOperationParam;
            }
            interface TaskOperationParam$ {
                /**
                 * 设置操作任务Id集合
                 * @param taskIds
                 */
                setTaskIds(taskIds:$.java.util.List):void;
                /**
                 * 设置操作人苍穹ID
                 * @param operaterId
                 */
                setOperaterId(operaterId:long):void;
                /**
                 * 获取操作人苍穹ID
                 * @return
                 */
                getOperaterId():long;
                /**
                 * 获取操作任务Id集合
                 * @return
                 */
                getTaskIds():$.java.util.List;
            }
            type TaskOperationParam_T = TaskOperationParam$;
            interface TaskOperationParam extends TaskOperationParam_T {
            }
            interface TaskOperationInfo_S {
            }
            interface TaskOperationInfo_C extends TaskOperationInfo_S {
            }
            interface TaskOperationInfo$ {
            }
            type TaskOperationInfo_T = TaskOperationInfo$;
            interface TaskOperationInfo extends TaskOperationInfo_T {
            }
            interface UpdateParticipantParam_S {
            }
            type UpdateParticipantParam_ST = TransferOperationParam_S & UpdateParticipantParam_S;
            interface UpdateParticipantParam_C extends UpdateParticipantParam_ST {
                new():UpdateParticipantParam;
            }
            interface UpdateParticipantParam$ {
                /**
                 * 设置参与人ID
                 * @param participantIds
                 */
                setParticipantIds(participantIds:$.java.util.List):void;
                /**
                 * 获取参与人ID
                 * @return participantIds
                 */
                getParticipantIds():$.java.util.List;
            }
            type UpdateParticipantParam_T = TransferOperationParam & UpdateParticipantParam$;
            interface UpdateParticipantParam extends UpdateParticipantParam_T {
            }
            interface CompleteOperationParam_S {
            }
            type CompleteOperationParam_ST = CompleteOperationParam_S & TaskOperationInfo_S & TaskOperationParam_S;
            interface CompleteOperationParam_C extends CompleteOperationParam_ST {
                new():CompleteOperationParam;
            }
            interface CompleteOperationParam$ {
                /**
                 * 设置处理任务意见
                 * @param auditMessage
                 */
                setAuditMessage(auditMessage:string):void;
                /**
                 * 获取完成任务决策相编码
                 * @return decOptionNumber
                 */
                getDecOptionNumber():string;
                /**
                 * 设置完成任务决策相编码
                 * @param decOptionNumber
                 */
                setDecOptionNumber(decOptionNumber:string):void;
                /**
                 * 获取其他变量
                 * @return variables 参数常量 VariableConstants
                 */
                getVariables():$.java.util.Map;
                /**
                 * 设置其他变量
                 * @param variables 参数常量 VariableConstants
                 */
                setVariables(variables:$.java.util.Map):void;
                /**
                 * 获取处理任务意见
                 * @return auditMessage
                 */
                getAuditMessage():string;
            }
            type CompleteOperationParam_T = CompleteOperationParam$ & TaskOperationInfo & TaskOperationParam;
            interface CompleteOperationParam extends CompleteOperationParam_T {
            }
        }
        namespace kd.bos.workflow.management.plugin{
            interface ApprovalPageTpl_S {
                readonly ONLYVIEW:string;
                readonly PROCESSINSTANCEID:string;
                readonly BACKCOLORFORAPPROVAL:string;
                readonly BILLVIEW:string;
                readonly PROCESSDEFINITIONID:string;
                readonly REVIEWDISCUSSNAME:string;
                readonly PAGEPARAMETER:string;
                readonly BACKCOLORFORAPPROVALNOT:string;
                readonly TASKDEFINITIONKEY:string;
                readonly SUBJECT:string;
                readonly FORECOLORFORDYNBTN:string;
                readonly URGENCY:string;
                readonly BTNWITHDRAWNAME:string;
                readonly BTNCOORDINATENAME:string;
                readonly ENTITYNUMBER:string;
                readonly FORECOLORFORAPPROVALNOT:string;
                readonly MOBILEFORMKEY:string;
                readonly BTNTRANSFERNAME:string;
                readonly MBARITEM_APPROVALNAME:string;
                readonly TASKID:string;
                readonly DOCUMENTATION:string;
                readonly BTNADDSIGNNAME:string;
                readonly MBARITEM_REJECTNAME:string;
                readonly APPLIERID:string;
                readonly DISCUSSNAME:string;
                readonly TASKNOTEXISTREASON:string;
                readonly BTN_ALL_APPROVAL_RECORD:string;
                readonly CUSTOMEPARAMFLEXPANEL:string;
                readonly SHOWBYURL:string;
                readonly BTNCOORDINATETRANSFERNAME:string;
                readonly BTNREMINDERNAME:string;
                readonly FORMKEY:string;
                readonly IS_PC_SHOW:string;
                readonly PCSHOW:string;
                readonly GROUPDISCUSSNAME:string;
                readonly REMINDSUBMIT:string;
                readonly BUSINESSKEY:string;
                readonly MBARITEM_MORENAME:string;
                readonly TASK_ID_LOWERCASE:string;
                readonly STARTAPPID:string;
                readonly WFSENSITIVECALLBACKFLAG:string;
                readonly BTNVIEWFLOWCHARTNAME:string;
                readonly IMPORTANT:string;
                readonly TYPE:string;
                readonly BACKCOLORFORDYNBTN:string;
                readonly TASKEXIST:string;
                readonly RELATETASKINFOS:string;
                readonly BILLEXIST:string;
                readonly BTNCIRCULATIONNAME:string;
                readonly BTNPRECOMPUTATOR:string;
                readonly APPLIERNAME:string;
                readonly BILLPAGEID:string;
                readonly HITASKDESCRIPTION:string;
                readonly FROMHISTORY:string;
                readonly REMINDQUERY:string;
                readonly MBARITEM_COORDINATENAME:string;
                readonly TASKCOORDINATE:string;
                readonly APPROVALBUTTONNAMECACHEKEY:string;
                readonly BTNWITHDRAWPROCESSNAME:string;
                readonly CONFIRMCALLBACKIDFORVALIDATOR:string;
                readonly FORECOLORFORAPPROVAL:string;
                /**
                 * 控件是否开启必录
                 * @param view
                 * @param controlKey
                 * @return
                 */
                isMustInputForApprovalMsg(view:$.kd.bos.form.IFormView,controlKey:string):boolean;
                /**
                 * 获取内嵌单据页面参数_单据摘要_旧版
                 * @param entitynumber
                 * @param businesskey
                 * @param disVisbleNumber
                 * @param billSummaryNumber
                 * @param bizApplierId
                 * @param bizApplierName
                 * @return
                 */
                getEmbeddedPageParameterForSummaryOld(entitynumber:string,businesskey:string,disVisbleNumber:$.java.util.List,billSummaryNumber:string,bizApplierId:string,bizApplierName:string):$.kd.bos.form.FormShowParameter;
            }
            type ApprovalPageTpl_ST = $.kd.bos.form.SignCallbackLisenter & $.kd.bos.form.plugin.AbstractFormPlugin & ApprovalPageTpl_S & kd.bos.workflow.taskcenter.plugin.udlayout.entity.IApproverPageEventListener_S;
            interface ApprovalPageTpl_C extends ApprovalPageTpl_ST {
                new():ApprovalPageTpl;
            }
            interface ApprovalPageTpl$ {
                /**
                 * 打开修改下一步参与人页面（在closecallback中获取返回的数据，进行提交）
                 * TODO 页面打开报错，需要跟 峰哥 确定下
                 * @param closeCallBackIdForModifyPerson
                 */
                showModifyPersonForm(closeCallBackIdForModifyPerson:string):void;
                /**
                 * 获取查询任务数据参数
                 * @param customParams
                 * @return
                 */
                getTaskHandleParam(customParams:$.java.util.Map):kd.bos.workflow.engine.impl.cmd.task.TashHandleParam;
                /**
                 * 添加 驳回节点信息
                 * @param nextNodeId 驳回节点id
                 * @param variables 提交的参数信息
                 */
                addRejectNodeIdForCompleteTask(nextNodeId:string,variables:$.java.util.Map):void;
                /**
                 * 消息催办，默认提交
                 * @param executionId
                 * @param reminderMsg
                 * @return
                 */
                taskReminders(executionId:long,reminderMsg:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * 获取流程模型信息
                 * @param processDefinitionId 流程定义id
                 * @param processInstanceId 流程实例id
                 * @return
                 */
                getBpmnModel(processDefinitionId:long,processInstanceId:long):kd.bos.workflow.bpmn.model.BpmnModel;
                /**
                 * 消息传阅
                 * @param taskId
                 * @param circulationPersons
                 * @param circulationMsg
                 * @return
                 */
                taskCirculation(taskId:long,circulationPersons:$.java.util.List,circulationMsg:$.kd.bos.dataentity.entity.ILocaleString):$.java.util.Map;
                /**
                 * 添加 驳回后再次提交时直接回到本节点
                 * @param rejectBackToNode 是否勾选 驳回时回到本节点
                 * @param variables 提交的参数信息
                 */
                addRejectBackToNodeForCompleteTask(rejectBackToNode:boolean,variables:$.java.util.Map):void;
                showScAnalSchemeInfo(schemeNumber:string):boolean;
                /**
                 * 获取当前待办任务的节点信息
                 * @return
                 */
                getAuditTaskElements():kd.bos.workflow.bpmn.model.AuditTask;
                /**
                 * 协办回复
                 *
                 * @param taskId                任务id
                 * @param taskCoordinateOpinion 协办意见
                 * @param attachmentKey         附件key
                 * @param signature             手写签名
                 */
                taskCoordinateReply(taskId:long,taskCoordinateOpinion:$.kd.bos.dataentity.entity.ILocaleString,attachmentKey:string,signature:string):void;
                /**
                 * 获取页面初始化时候的标题 -- 单据页面标题
                 * @param customParams 打开审批处理页传递的参数
                 * @param isPCShow 是否为PC端打开
                 * @return
                 */
                getCaptainForInitialCopy(customParams:$.java.util.Map,isPCShow:boolean):$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取传阅记录
                 * @param processInstanceId
                 * @return
                 */
                getOperationLogsForCirculation(processInstanceId:long):$.java.util.List;
                /**
                 * 初始化时根据相关参数装载任务相关信息
                 * 装载的信息会被存储到PageCache中，后续直接从PageCache中获取
                 * @param param
                 * @return
                 */
                getAgentTaskHandleContext(param:kd.bos.workflow.engine.impl.cmd.task.TashHandleParam):kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext;
                /**
                 * 获取页面初始化时候的标题 -- 单据页面标题
                 * @param customParams 打开审批处理页传递的参数
                 * @param isPCShow 是否为PC端打开
                 * @return
                 */
                getCaptainForInitial(customParams:$.java.util.Map,isPCShow:boolean):$.kd.bos.dataentity.entity.ILocaleString;
                /**
                 * 获取审批处理pageId
                 * @return
                 */
                getApprovalPageId():string;
                /**
                 * 修改下一步参与人
                 * @param e
                 */
                getModifyPersonCallBack(e:$.kd.bos.form.events.ClosedCallBackEvent):void;
                /**
                 * 调用操作 for 扩展按钮
                 * @param operation
                 * @param billPageId
                 * @param entityNumber
                 * @param businessKey
                 */
                invokeBillOperationForExtenBtns(operation:string,entityNumber:string,businessKey:string):void;
                /**
                 * 设置“智能洞察”相关信息 mob
                 * PC端需要放置 “自定义控件”（customcontrolap）
                 * MOB端需要放置flexPanle面板（dynamicpanel）
                 * @param successForAddingPlugin    添加插件是否成功
                 */
                showAdvAppSchemeInfo(schemeNumber:string):boolean;
                /**
                 * <p>名称: getNextNodeText</p>
                 * <p>描述: 根据不同节点显示不同信息的计算</p>
                 * @param nextNodeMap 预计算出来的下一步节点中的某一个
                 * @param taskId
                 * @param nextNodeTextList 承接文本的list
                 */
                getNextNodeText(nextNodeMap:$.java.util.Map,taskId:long):string;
                /**
                 *  调用【签名】后的回调方法，判断 签名 是否成功
                 *  @param evt 签名回调事件
                 *  @return 签名是否成功：
                 *  		   false-【含义】签名 失败；【场景】返回的信息为null 或者 签名 明确给出 失败标志
                 *  		   true -【含义】签名 成功；【场景】签名  成功；【补充】签名 返回信息不为null，则放入 保存 签名 标志，用于任务提交时，进行 签名 信息的保存
                 *
                 *  【参考代码】签名 回调函数中调用，如果 签名 成功，则任务可以提交
                 *  @Override
                 * 	public void signCallback(SignCallbackEvent evt) {
                 * 		// 签名成功标志
                 * 		boolean signSucess = isSignCallBackSucess(evt);
                 * 		// 签名成功后，调用 任务提交逻辑 - 签名失败，会在上述方法中给出提示信息
                 * 		if(signSucess){
                 * 			// 调用 任务审批处理逻辑 - 添加任务数据、逻辑校验、任务提交
                 * 			this.beforeShowSubmitApprovalFunc();
                 * 		}
                 * 	}
                 */
                isSignCallBackSucess(evt:$.kd.bos.form.SignCallbackEvent):boolean;
                /**
                 * 获取下一步节点信息
                 * @param auditType 审批类型
                 * @param auditNumber 审批编码
                 * @param element 节点信息
                 * @param businesskey 业务id
                 * @param taskid 任务id
                 * @return
                 */
                getNextUserTaskNode(auditType:string,auditNumber:string,element:$.kd.bos.workflow.bpmn.model.FlowElement,businesskey:string,taskid:long):$.java.util.List;
                /**
                 * 加签closecallback事件，并给"下一步参与人"赋值
                 * @param e
                 * @param nextNodeId
                 */
                getAddSignPageCallBack(e:$.kd.bos.form.events.ClosedCallBackEvent,nextNodeId:string):void;
                /**
                 * 获取审批记录，不包含协办记录等
                 * @param processInstanceId 流程实例id
                 * @param businesskey 业务id
                 * @param curTaskId 当前节点
                 * @param isDesc 是否倒序排列
                 * @return
                 */
                queryApprovalRecord(processInstanceId:long,businesskey:string,curTaskId:string,isDesc:boolean):$.java.util.List;
                /**
                 * 完成任务
                 * @param taskId  任务ID,可从pagecache中获取，key为TASKID
                 * @param decOptionNumber 节点对应的决策项编码，可以为同意，也可以为驳回
                 * @param auditMessage 审批意见
                 * @param params 任务完成时携带相关参数，参数包括：
                 *   VariableConstants.DYNPARTICIPANT:指定下一步参与人
                 *   VariableConstants.SUBSCRIBESIGN 会审时是否订阅
                 */
                completeTask(taskId:long,decOptionNumber:string,auditMessage:string,params:$.java.util.Map):void;
                /**
                 * 添加动态参与人信息
                 * @param dynamicParticipateModels 动态参与人模型
                 * @param params 任务提交Map
                 */
                addDynParticipant(dynamicParticipateModels:$.java.util.List,variables:$.java.util.Map):void;
                showForm(parameter:$.kd.bos.form.FormShowParameter):void;
                taskCoordinateReplyWithRichTextMessage(taskId:long,taskCoordinateOpinion:$.kd.bos.dataentity.entity.ILocaleString,richTextMessage:string,attachmentKey:string):void;
                /**
                 * 获取节点信息
                 * @param processDefinitionId 流程定义id
                 * @param processInstanceId 流程实例id
                 * @param taskDefinitionKey 节点id
                 * @return
                 */
                getFlowElement(processDefinitionId:long,processInstanceId:long,taskDefinitionKey:string):$.kd.bos.workflow.bpmn.model.FlowElement;
                /**
                 * 完成任务
                 * @param taskId  任务ID
                 * @param decOptionNumber 决策项编码
                 * @param auditMessage 审批意见
                 */
                completeTask(taskId:long,decOptionNumber:string,auditMessage:string):void;
                /**
                 * 从缓存中获取下一步节点信息
                 * @return
                 */
                getNextUserTaskNodeFromCache():$.java.util.List;
                /**
                 * 获取审批处理内嵌单据pageId
                 * @return
                 */
                getBillPageId():string;
                /**
                 * 加签
                 */
                showAddSignPage(closeCallBackIdForAddSign:string):void;
                /**
                 * 消息催办
                 * @param executionId
                 * @param reminderMsg
                 * @param type
                 * @return
                 */
                taskReminders(processInstanceId:long,reminderMsg:$.kd.bos.dataentity.entity.ILocaleString,type_arg:string):$.java.util.Map;
                /**
                 * 获取审批记录，不包含协办记录等
                 * @param processInstanceId 流程实例id
                 * @param businesskey 业务id
                 * @param curTaskId 当前节点
                 * @return
                 */
                queryApprovalRecord(processInstanceId:long,businesskey:string,curTaskId:string):$.java.util.List;
                /**
                 * 获取下一步节点信息
                 * @param auditType 审批类型
                 * @param auditNumber 审批编码
                 * @param element 节点信息
                 * @param businesskey 业务id
                 * @param taskid 任务id
                 * @param throwException 是否抛出异常
                 * @return
                 */
                getNextUserTaskNode(auditType:string,auditNumber:string,element:$.kd.bos.workflow.bpmn.model.FlowElement,businesskey:string,taskid:long,throwException:boolean):$.java.util.List;
                /**
                 * 是否是移动端打开
                 * @return
                 */
                isPCShow():boolean;
                /**
                 * 配置工具栏项
                 * @param btnName
                 * @param btnId
                 * @param btnKey
                 * @return
                 */
                getBarItemAp(btnName:string,btnId:string,btnKey:string):kd.bos.metadata.form.control.BarItemAp;
                /**
                 * 获取审批记录，包含协办记录等，当前版本只包含协办记录
                 * @param processInstanceId 流程实例id
                 * @param businesskey 业务id
                 * @param isDesc 是否倒序排列
                 * @return
                 */
                queryAllApprovalRecord(processInstanceId:long,businesskey:string,isDesc:boolean):$.java.util.List;
                /**
                 * 获取节点配置信息
                 * @param element 节点信息
                 * @return
                 */
                getFlementConfigInfo(element:$.kd.bos.workflow.bpmn.model.FlowElement):$.java.util.Map;
                /**
                 * 协办回复
                 * @param taskId
                 * @param taskCoordinateOpinion
                 * @param attch
                 */
                taskCoordinateReply(taskId:long,taskCoordinateOpinion:$.kd.bos.dataentity.entity.ILocaleString,attachmentKey:string):void;
                /**
                 * 获取审批决策项
                 * @param element 节点信息
                 * @return
                 */
                getDecisionOptions(element:$.kd.bos.workflow.bpmn.model.FlowElement):$.java.util.List;
                /**
                 * 获取审批记录，包含协办记录等，当前版本只包含协办记录
                 * @param processInstanceId 流程实例id
                 * @param businesskey 业务id
                 * @return
                 */
                queryAllApprovalRecord(processInstanceId:long,businesskey:string):$.java.util.List;
                /**
                 * 获取任务不存在时的提示信息
                 * @return
                 */
                getTaskNotExistInfo():string;
                /**
                 * 获取扩展按钮
                 * @return
                 */
                getExtendBtns():$.java.util.List;
                /**
                 * 获取允许修改下一步参与人 人员范围数据
                 * @param taskDefinitionKey 下一步节点id
                 * @return map信息参照ParticipantRangeUtil.BTNALLOWNEXTPERSON 相关数据
                 */
                getPersonRangeForAllowNextPerson(taskDefinitionKey:string):$.java.util.Map;
                /**
                 * 获取审批要点
                 * @return
                 */
                getAuditPoint():$.java.util.List;
                /**
                 * 获取内嵌页面参数 for 单据摘要
                 * @param formkey 单据摘要formkey
                 * @param businesskey 单据主键
                 * @param flowElement 节点信息
                 * @param isPCShow 是否PC端展现
                 * @param applierId 申请人id
                 * @param applierName 申请人姓名
                 * @return
                 */
                getEmbeddedPageParameterForSummary(formkey:string,businesskey:string,flowElement:kd.bos.workflow.bpmn.model.UserTask,isPCShow:boolean,applierId:long,applierName:string):$.kd.bos.form.FormShowParameter;
                /**
                 * 字段必录校验
                 * @return true：校验通过，则正常进行任务处理；false：校验不通过，给出提示信息
                 */
                isRequiredValidatorSuccess():boolean;
                /**
                 * 页面打开前事件 -- 用于提供数据（审批处理页标题）
                 * @param e 页面打开前事件
                 * @param isPCShow 是否是PC端打开
                 */
                preOpenForm(e:$.kd.bos.form.events.PreOpenFormEventArgs,isPCShow:boolean):void;
            }
            type ApprovalPageTpl_T = $.kd.bos.form.SignCallbackLisenter & $.kd.bos.form.plugin.AbstractFormPlugin & ApprovalPageTpl$ & kd.bos.workflow.taskcenter.plugin.udlayout.entity.IApproverPageEventListener;
            interface ApprovalPageTpl extends ApprovalPageTpl_T {
            }
        }
        namespace kd.bos.workflow.message.api{
            interface IMessageCenterService_S {
            }
            interface IMessageCenterService_C extends IMessageCenterService_S {
            }
            interface IMessageCenterService$ {
                /**
                 * 通过过滤条件获取消息
                 */
                getMessageByFilter(userId:string,entityNumber:string,tags:string,msgType:string,unread:boolean,top:number):$.java.util.List;
                getApplyedProcess?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 基础登录模块回写企业微信的授权数据到渠道
                 * @param config
                 */
                updateWxqyPublicAuthorizeData?(config:string):void;
                getToApplyProcessCount?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 任务模型-删除任务
                 * @param deleteOperationParam
                 * @return
                 */
                deleteBizTask?(deleteOperationParam:kd.bos.workflow.engine.task.operation.DeleteOperationParam):kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 根据消息id集合获取消息数据
                 * @param messageIds
                 * @return
                 */
                getMessageById?(messageIds:$.java.util.List):$.java.util.Map;
                /**
                 * 批量处理任务
                 * @param taskIds
                 * @param userId
                 * @param opinion
                 * @param variables
                 * @return
                 */
                batchComplateTasks?(taskIds:$.java.util.List,userId:long,opinion:$.kd.bos.dataentity.entity.ILocaleString,variables:$.java.util.Map):$.java.util.Map;
                getToHandleTaskCount?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                getTransferTasks?(taskType:string,messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                getTaskAndMessageCategory?():$.java.util.List;
                /**
                 * 获取消息中心卡片需要的数据
                 * @param userId 当前用户id
                 * @return
                 */
                getMsgCenterCardOptions(userId:string):$.java.util.List;
                /**
                 * 首页获取待办任务的数量
                 * @param uid
                 * @param type
                 * @return
                 */
                getTaskCountByType(uid:string,type_arg:string):long;
                /**
                 * 设置消息的弹出状态
                 * @param messageId
                 * @param userIds
                 * @param popupState
                 */
                setMessagePopup?(messageId:long,userIds:$.java.util.List,popupState:boolean):void;
                /**
                 * 批量删除任务
                 * @param taskIds
                 * @return
                 */
                batchDeleteTasks?(taskIds:$.java.util.List):$.java.util.Map;
                /**
                 * 待办模板解析
                 * @param config
                 * @param taskMsg
                 */
                updateToDoMsgContent(config:kd.bos.workflow.engine.msg.MessageServiceConfig,taskMsg:kd.bos.workflow.engine.msg.info.ITaskMsg):void;
                /**
                 * 根据实体编码和标签查询消息
                 */
                findMessageByEntity(uid:string,entityNumber:string,tags:string):$.kd.bos.dataentity.entity.DynamicObjectCollection;
                /**
                 * 根据过滤条件获取消息模板(多语言)
                 * @param type	消息类型
                 * @param channel	消息渠道
                 * @param scenen	消息场景，为空取默认
                 * @param entityNumber	实体编码
                 * @return
                 */
                getMessageTemplateLocaleByFilters?(type_arg:string,channel:string,scenen:string,entityNumber:string):$.java.util.List;
                /**
                 * 首页个人中心获取未处理任务消息数据
                 * @param userId 当前用户id
                 * @param topCount 前topCount条数据
                 * @return
                 */
                getToHandleTasksMessage(userId:long,topCount:number):$.java.util.List;
                getMessageDatasCount?(messageType:string,messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                getTaskAndMessageFields?(formId:string):$.java.util.List;
                /**
                 * 无代码_获取消息数量
                 * @param userId
                 * @param readState 为空标识获取全部消息,unread是获取未读消息,read是获取已读消息
                 * @return
                 */
                getNoCodeFlowMessageCount?(userId:string,readState:string):long;
                /**
                 * 推送任务
                 * @param taskEntityInfo
                 * @return
                 */
                createTask?(taskEntityInfo:kd.bos.workflow.engine.msg.info.TaskEntityInfo):$.java.util.Map;
                getToHandleTasks?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 用户登录时，系统主动推送该用户未读且未过期的系统消息
                 * @param userId
                 * @return
                 */
                sendNoticeMessageByLoginUser?(userId:long):$.java.util.Map;
                getDelegateTaskCount?(taskType:string,messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 根据参数生成消息中心可以打开的链接
                 * @param formId
                 * @param mobFormId
                 * @param pkId
                 * @param param
                 * @return
                 */
                builMessageUrl?(formId:string,mobFormId:string,pkId:long,param:$.java.util.Map):$.java.util.Map;
                /**
                 * 设置消息中所有接收人的阅读状态为已读
                 * @param msgIds
                 */
                setMsgReadState(msgIds:$.java.util.List):void;
                /**
                 * 更新消息渠道数据，并且更新缓存信息
                 * @param param
                 * @return
                 */
                updateChannelData?(param:$.java.util.Map):$.java.util.Map;
                /**
                 * 获取消息内容
                 * @param messageRequestInfo
                 * @return
                 */
                getMessageData?(messageRequestInfo:kd.bos.workflow.api.MessageRequestInfo):$.java.util.List;
                /**
                 * 任务模型-处理任务
                 * @param completeOperationParam
                 * @RETURN
                 */
                completeBizTask?(completeOperationParam:kd.bos.workflow.engine.task.operation.CompleteOperationParam):kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 通过应用编码获取未读运营消息
                 * @param userId 用户id
                 * @param appNum 应用编码
                 * @return
                 */
                getUnreadActivityMessageByAppNum?(userId:long,...appNum:string[]):$.java.util.List;
                /**
                 * 任务模型-更新参与人
                 * @param updateParticipantParam
                 * @return
                 */
                updateParticipant?(updateParticipantParam:kd.bos.workflow.engine.task.operation.UpdateParticipantParam):kd.bos.workflow.engine.task.BatchOperateResult;
                getHandledTasks?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 设置哪一条消息被某用户已读，并设置打开消息的终端类型
                 *
                 * @param msgId
                 * @param userId
                 * @param terminalWay
                 */
                setMsgReadStateAndTerminalWay?(msgId:long,userId:long,terminalWay:string):void;
                /**
                 * 消息模板解析
                 * @param config
                 * @param messageInfo
                 */
                updateToDoMsgContent(config:kd.bos.workflow.engine.msg.MessageServiceConfig,messageInfo:kd.bos.workflow.engine.msg.info.MessageInfo):void;
                /**
                 * 按照消息Id批量删除消息，该消息下的接收人也一并删除
                 */
                deleteMessage?(msgIds:$.java.util.List):$.java.util.Map;
                /**
                 * 根据过滤条件获取消息模板
                 * @param type	消息类型
                 * @param channel	消息渠道
                 * @param scenen	消息场景，为空取默认
                 * @param entityNumber	实体编码
                 * @return
                 */
                getMessageTemplateByFilters(type_arg:string,channel:string,scenen:string,entityNumber:string):$.java.util.List;
                /**
                 * 设置哪一条消息被用些用户已读
                 * @param msgId
                 * @param userIds
                 */
                setMsgReadState(msgId:long,userIds:$.java.util.List):void;
                getTransferTaskCount?(taskType:string,messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 获取启用的渠道
                 * @return
                 */
                getEnableChannel?():$.java.util.Map;
                /**
                 * 撤回pc端消息
                 * @param messageId
                 * @return
                 */
                retractMessage(messageId:long):$.java.util.Map;
                getDelegateTasks?(taskType:string,messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 获取消息类型中使用的消息渠道信息
                 * @param type
                 * @return
                 */
                getChannelsOfMsgType(type_arg:string):string;
                /**
                 * 任务模型-转交任务
                 * @param transferOperationParam
                 * @return
                 */
                transferBizTask?(transferOperationParam:kd.bos.workflow.engine.task.operation.TransferOperationParam):kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 获取未读消息
                 * @param userId 当前用户id
                 * @param topCount 前topCount条数据
                 * @return
                 */
                getUnReadMessage(userId:string,topCount:number):$.java.util.List;
                /**
                 * 任务模型-任务传阅
                 * @param circulateOperationParam
                 * @return
                 */
                circulateBizTask?(circulateOperationParam:kd.bos.workflow.engine.task.operation.CirculateOperationParam):kd.bos.workflow.engine.task.BatchOperateResult;
                /**
                 * 消息推送失败之后，可以调用该接口手动重发渠道消息，
                 * 注意，messageInfos为业务根据失败的消息自己组装的失败消息集合
                 * 适用于业务自己记录消息详细日志的场景
                 * @param messageInfos
                 */
                resendMessageByMsgInfos?(messageInfos:$.java.util.List):void;
                getMessageDatas?(messageType:string,messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                getUserFilterSchemes?(formId:string):$.java.util.List;
                /**
                 * 保存消息信息，并根据消息类型所定义的消息渠道发送消息
                 */
                sendMessage(message:kd.bos.workflow.engine.msg.info.MessageInfo):long;
                getToApplyProcess?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):$.java.util.Map;
                /**
                 * 根据实体编码和标签查询消息数量
                 */
                findMsgCountByEntity(uid:string,entityNumber:string,tags:string):long;
                /**
                 * 任务模型-创建任务
                 * @param taskEntityInfo
                 * @return
                 */
                createBizTask?(taskEntityInfo:kd.bos.workflow.engine.msg.info.TaskEntityInfo):kd.bos.workflow.engine.task.TaskInfo;
                /**
                 * 消息推送失败之后，可以调用该接口手动重发渠道消息，
                 * 注意，msgId为被拆分后的渠道消息Id,可以通过消息推送监听获取到。
                 * 适用于业务只记录失败消息ID的场景
                 * @param channelMsgIds
                 */
                resendMessageByIds?(channelMsgIds:$.java.util.List):void;
                getApplyedProcessCount?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 获取未读消息的数量
                 * @param uid
                 */
                getUnReadMessageCount(uid:string):long;
                /**
                 * 清理指定用户的topN缓存
                 * @param userId
                 */
                clearMsgPersonalTopIdsCache?(userId:long):void;
                getHandledTaskCount?(messageCenterParams:kd.bos.workflow.engine.task.MessageCenterParams):long;
                /**
                 * 查询该条消息下所有接收人的阅读状态
                 * @param msgId
                 * @return
                 */
                getMessageReadState?(msgId:long):$.java.util.Map;
                /**
                 * 批量推送消息接口
                 * @param messageInfos
                 * @return
                 */
                batchSendMessages?(messageInfos:$.java.util.List):$.java.util.Map;
                /**
                 * 保存消息信息
                 */
                saveMessage(message:kd.bos.workflow.engine.msg.info.MessageInfo):void;
                /**
                 * 查询该数据中心下短信推送成功的数据量
                 * @return
                 */
                getSmsUsingQuantitySummary?():SmsUsingQuantities;
                /**
                 * 获取消息中心卡片类型： 消息类型+任务类型（门户首页配置以及初始化）
                 * @param userId 当前用户id
                 * @return
                 */
                getMsgCenterCardType?(userId:string):$.java.util.List;
                /**
                 * 修改首页徽章的数量角标
                 */
                updateBadgeCount(userIds:$.java.util.List):void;
                /**
                 * 通过过滤条件获取消息数据
                 */
                getMessageByFilter(userId:string,start:number,limit:number,filterPrarms:$.java.util.Map):$.java.util.List;
                /**
                 * 更新任务参与人
                 * @param taskId
                 * @param userIds
                 * @return
                 */
                updateTaskParticipant?(taskId:long,userIds:$.java.util.List):$.java.util.Map;
                /**
                 * 获取消息中心卡片需要的数据
                 * @param userId 当前用户id
                 * @param itemKey 门户首页设置的消息卡片分类的key
                 * @return
                 */
                getMsgCenterCardOptions(userId:string,itemKey:$.java.util.List):$.java.util.List;
            }
            type IMessageCenterService_T = IMessageCenterService$;
            interface IMessageCenterService extends IMessageCenterService_T {
            }
            class MsgTypeEnum {
                static readonly ALARM:kd.bos.workflow.message.api.MsgTypeEnum;
                static readonly MESSAGE:kd.bos.workflow.message.api.MsgTypeEnum;
                static readonly TASK:kd.bos.workflow.message.api.MsgTypeEnum;
                static readonly WARNING:kd.bos.workflow.message.api.MsgTypeEnum;
                static values():kd.bos.workflow.message.api.MsgTypeEnum[];
                static valueOf(arg0:string):kd.bos.workflow.message.api.MsgTypeEnum;
                getName():string;
                getNumber():string;
            }
            interface SmsUsingQuantities_S {
            }
            type SmsUsingQuantities_ST = $.java.io.Serializable & SmsUsingQuantities_S;
            interface SmsUsingQuantities_C extends SmsUsingQuantities_ST {
                new():SmsUsingQuantities;
                /**
                 * 消息中心短信使用数量
                 * @param totalSum 消息中心推送短信次数总量
                 * @param failSum 记录推送失败次数量
                 * @param successSum 记录成功推送次数量
                 */
                new(totalSum:long,failSum:long,successSum:long):SmsUsingQuantities;
            }
            interface SmsUsingQuantities$ {
                /**
                 * 记录成功推送次数量
                 * @return successSum
                 */
                getSuccessSum():long;
                /**
                 * 记录成功推送次数量
                 */
                setSuccessSum(successSum:long):void;
                /**
                 * 消息中心推送短信次数总量
                 * @return totalSum
                 */
                getTotalSum():long;
                /**
                 * 记录推送失败次数量
                 * @return failSum
                 */
                getFailSum():long;
                /**
                 * 消息中心推送短信次数总量
                 * @param totalSum
                 */
                setTotalSum(totalSum:long):void;
                /**
                 * 记录推送失败次数量
                 * @param failSum
                 */
                setFailSum(failSum:long):void;
            }
            type SmsUsingQuantities_T = $.java.io.Serializable & SmsUsingQuantities$;
            interface SmsUsingQuantities extends SmsUsingQuantities_T {
            }
        }
        namespace kd.bos.workflow.service{
            interface GraphModelParseHelper_S {
                /**
                 * 通过流程定义ID创建，取默认方案
                 *
                 * @param prodefId 流程定义ID
                 * @return helper
                 */
                createInstanceByProcDefId(prodefId:long):GraphModelParseHelper;
            }
            interface GraphModelParseHelper_C extends GraphModelParseHelper_S {
                /**
                 * 通过流程方案ID创建
                 *
                 * @param schemeId 方案id
                 */
                new(schemeId:long):GraphModelParseHelper;
            }
            interface GraphModelParseHelper$ {
                /**
                 * 解析节点跳过条件
                 *
                 * @param elementIds
                 * @return
                 */
                parseElementSkipCondition(elementIds:$.java.util.List):$.java.util.Map;
                /**
                 * 解析线条上的条件规则
                 *
                 * @param elementIds 节点id
                 * @return 条件规则
                 */
                parseSequenceCondition(elementIds:$.java.util.List):$.java.util.Map;
                /**
                 * 解析启动条件规则
                 *
                 * @return
                 */
                parseStarupCondition():$.java.util.Map;
            }
            type GraphModelParseHelper_T = GraphModelParseHelper$;
            interface GraphModelParseHelper extends GraphModelParseHelper_T {
            }
            interface WorkFlowFormServiceHelper_S {
                /**
                 * 打开流程实例强制终止页面
                 * @param id 流程实列ID
                 * @param formView 表单view
                 * @param closeCallBack 回调
                 */
                openProcessAbortView(id:string,formView:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 根据流程实例查看流程图
                 * @param pageId 页面ID
                 * @param style 表单打开方式
                 * @param procInstId 流程实列ID
                 */
                viewFlowchartWithProcInstId(pageId:string,style:$.kd.bos.form.OpenStyle,procInstId:long):void;
                /**
                 * 跳转开放页面
                 * @param id 流程实列ID
                 * @param formView 表单viw
                 * @param closeCallBack 回调
                 */
                openSkipView(id:string,formView:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 打开消息中心列表
                 * @param pageId 页面ID
                 * @param showType 显示类型：toHandle 待办，handled 已办 ，toApply 在办申请，applyed 已办申请
                 * @param filterConditions 过滤条件
                 */
                openMessageCenterList(pageId:string,showType:string,filterConditions:$.java.util.Map):void;
                openTaskAndMessageDetails(pageId:string,showType:string,resourceId:long):void;
                /**
                 * 打开转交页面
                 * @param formView  父页面视图
                 * @param taskIds  任务id集合
                 * @param closeCallBack  页面关闭时的回调
                 */
                openTransferView(formView:$.kd.bos.form.IFormView,taskIds:$.java.util.List,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 打开加签页面
                 * @param id 流程实列ID
                 * @param formView 表单view
                 * @param closeCallBack 回调
                 */
                openAddSignView(id:string,formView:$.kd.bos.form.IFormView,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 打开协办请求页面
                 * @param formView 父页面视图
                 * @param taskId   任务id
                 * @param isTaskCoordinate   当前任务是否是协办任务
                 * @param closeCallBack  页面关闭时的回调
                 */
                openCoordinateRequestView(formView:$.kd.bos.form.IFormView,taskId:long,isTaskCoordinate:boolean,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                /**
                 * 打开任务催办页面
                 * @param formView  父页面视图
                 * @param proInstanceId   流程实例id
                 */
                openTaskReminderView(formView:$.kd.bos.form.IFormView,proInstanceId:long):void;
                /**
                 * 更换流程图展示指定的流程实列
                 * @param view 表单view
                 * @param processInstanceId 流程实列ID
                 */
                changeFlowChart(view:$.kd.bos.form.IFormView,processInstanceId:long):void;
                /**
                 * 打开任务传阅页面
                 * @param formView  父页面视图
                 * @param taskId  任务id
                 * @param closeCallBack   页面关闭时的回调
                 */
                openTaskCirculateView(formView:$.kd.bos.form.IFormView,taskId:long,closeCallBack:$.kd.bos.form.CloseCallBack):void;
                viewBillDetails(pageId:string,showType:string,resourceId:long):void;
                /**
                 * 打开更新任务参与人页面
                 * @param formView  父页面视图
                 * @param taskIds  任务ids
                 * @param closeCallBack  页面关闭时的回调
                 */
                openUpdateTaskParticipantView(formView:$.kd.bos.form.IFormView,taskIds:$.java.util.List,closeCallBack:$.kd.bos.form.CloseCallBack):void;
            }
            interface WorkFlowFormServiceHelper_C extends WorkFlowFormServiceHelper_S {
                new():WorkFlowFormServiceHelper;
            }
            interface WorkFlowFormServiceHelper$ {
            }
            type WorkFlowFormServiceHelper_T = WorkFlowFormServiceHelper$;
            interface WorkFlowFormServiceHelper extends WorkFlowFormServiceHelper_T {
            }
        }
        namespace kd.bos.workflow.taskcenter.plugin.udlayout.entity{
            interface AfterCreatNewDataForHandledCustomEvent_S {
                readonly KEYFORHANDLEDAFTERCREATNEWDATA:string;
                readonly EVENTNAME:string;
            }
            type AfterCreatNewDataForHandledCustomEvent_ST = $.kd.bos.form.events.CustomEventArgs & AfterCreatNewDataForHandledCustomEvent_S;
            interface AfterCreatNewDataForHandledCustomEvent_C extends AfterCreatNewDataForHandledCustomEvent_ST {
                /**
                 * @param source
                 * @param key
                 * @param eventName
                 * @param eventArgs
                 */
                new(source:any,key:string,eventName:string,eventArgs:string):AfterCreatNewDataForHandledCustomEvent;
                new(source:any,key:string,eventName:string,eventArgs:string,context:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext,flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):AfterCreatNewDataForHandledCustomEvent;
            }
            interface AfterCreatNewDataForHandledCustomEvent$ {
                getFlowElement():$.kd.bos.workflow.bpmn.model.FlowElement;
                getContext():kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext;
                setContext(context:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext):void;
                setFlowElement(flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):void;
            }
            type AfterCreatNewDataForHandledCustomEvent_T = $.kd.bos.form.events.CustomEventArgs & AfterCreatNewDataForHandledCustomEvent$;
            interface AfterCreatNewDataForHandledCustomEvent extends AfterCreatNewDataForHandledCustomEvent_T {
            }
            interface AfterCreatNewDataForApprovalCustomEvent_S {
                readonly EVENTNAME:string;
                readonly KEYFORAFTERCREATNEWDATA:string;
            }
            type AfterCreatNewDataForApprovalCustomEvent_ST = $.kd.bos.form.events.CustomEventArgs & AfterCreatNewDataForApprovalCustomEvent_S;
            interface AfterCreatNewDataForApprovalCustomEvent_C extends AfterCreatNewDataForApprovalCustomEvent_ST {
                new(source:any,key:string,eventName:string,eventArgs:string):AfterCreatNewDataForApprovalCustomEvent;
                new(source:any,key:string,eventName:string,eventArgs:string,context:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext,decisionOptionList:$.java.util.List,flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):AfterCreatNewDataForApprovalCustomEvent;
            }
            interface AfterCreatNewDataForApprovalCustomEvent$ {
                setContext(context:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext):void;
                getContext():kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext;
                setDecisionOptionList(decisionOptionList:$.java.util.List):void;
                getFlowElement():$.kd.bos.workflow.bpmn.model.FlowElement;
                getDecisionOptionList():$.java.util.List;
                setFlowElement(flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):void;
            }
            type AfterCreatNewDataForApprovalCustomEvent_T = $.kd.bos.form.events.CustomEventArgs & AfterCreatNewDataForApprovalCustomEvent$;
            interface AfterCreatNewDataForApprovalCustomEvent extends AfterCreatNewDataForApprovalCustomEvent_T {
            }
            interface BeforeSubmitCustomEvent_S {
                readonly EVENTNAME:string;
                readonly KEYFORAPPOINTBEFORESUBMIT:string;
            }
            type BeforeSubmitCustomEvent_ST = $.kd.bos.form.events.CustomEventArgs & BeforeSubmitCustomEvent_S;
            interface BeforeSubmitCustomEvent_C extends BeforeSubmitCustomEvent_ST {
                new(source:any,key:string,eventName:string,eventArgs:string):BeforeSubmitCustomEvent;
                new(source:any,key:string,eventName:string,eventArgs:string,variables:$.java.util.Map,scene:string,decisionOption:$.kd.bos.workflow.bpmn.model.DecisionOption):BeforeSubmitCustomEvent;
                new(source:any,key:string,eventName:string,eventArgs:string,variables:$.java.util.Map,scene:string,decisionOption:$.kd.bos.workflow.bpmn.model.DecisionOption,flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):BeforeSubmitCustomEvent;
                new(source:any,key:string,eventName:string,eventArgs:string,variables:$.java.util.Map,scene:string,decisionOption:$.kd.bos.workflow.bpmn.model.DecisionOption,flowElement:$.kd.bos.workflow.bpmn.model.FlowElement,agentTaskHandleContext:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext):BeforeSubmitCustomEvent;
            }
            interface BeforeSubmitCustomEvent$ {
                getDynParticipantList():$.java.util.List;
                setVariables(variables:$.java.util.Map):void;
                setDynParticipantList(dynParticipantList:$.java.util.List):void;
                isCancel():boolean;
                setVerifyInformation(verifyInformation:string):void;
                getDecisionOption():$.kd.bos.workflow.bpmn.model.DecisionOption;
                getScene():string;
                getVerifyInformation():string;
                setCancel(cancel:boolean):void;
                getFlowElement():$.kd.bos.workflow.bpmn.model.FlowElement;
                getConfirmTips():string;
                getAgentTaskHandleContext():kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext;
                setAgentTaskHandleContext(agentTaskHandleContext:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext):void;
                setConfirmTips(confirmTips:string):void;
                setScene(scene:string):void;
                setDecisionOption(decisionOption:$.kd.bos.workflow.bpmn.model.DecisionOption):void;
                setShowConfirmTips(showConfirmTips:boolean):void;
                isShowConfirmTips():boolean;
                setFlowElement(flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):void;
                getVariables():$.java.util.Map;
            }
            type BeforeSubmitCustomEvent_T = $.kd.bos.form.events.CustomEventArgs & BeforeSubmitCustomEvent$;
            interface BeforeSubmitCustomEvent extends BeforeSubmitCustomEvent_T {
            }
            interface IApproverPageEventListener_S {
            }
            interface IApproverPageEventListener_C extends IApproverPageEventListener_S {
            }
            interface IApproverPageEventListener$ {
                afterCreatNewDataForCoordinateCustomEvent?(e:AfterCreatNewDataForCoordinateCustomEvent):void;
                afterCreatNewDataForApprovalCustomEvent?(e:AfterCreatNewDataForApprovalCustomEvent):void;
                afterCreatNewDataForHandledApprovalCustomEvent?(e:AfterCreatNewDataForHandledCustomEvent):void;
                beforeSubmitCustomEvent?(e:BeforeSubmitCustomEvent):void;
                afterSubmitCustomEvent?(e:AfterSubmitCustomEvent):void;
            }
            type IApproverPageEventListener_T = IApproverPageEventListener$;
            interface IApproverPageEventListener extends IApproverPageEventListener_T {
            }
            interface AfterSubmitCustomEvent_S {
            }
            type AfterSubmitCustomEvent_ST = $.kd.bos.form.events.CustomEventArgs & AfterSubmitCustomEvent_S;
            interface AfterSubmitCustomEvent_C extends AfterSubmitCustomEvent_ST {
                new(source:any,key:string,eventName:string,eventArgs:string):AfterSubmitCustomEvent;
            }
            interface AfterSubmitCustomEvent$ {
            }
            type AfterSubmitCustomEvent_T = $.kd.bos.form.events.CustomEventArgs & AfterSubmitCustomEvent$;
            interface AfterSubmitCustomEvent extends AfterSubmitCustomEvent_T {
            }
            interface AfterCreatNewDataForCoordinateCustomEvent_S {
                readonly KEYFORCOORDINATEAFTERCREATNEWDATA:string;
                readonly EVENTNAME:string;
            }
            type AfterCreatNewDataForCoordinateCustomEvent_ST = $.kd.bos.form.events.CustomEventArgs & AfterCreatNewDataForCoordinateCustomEvent_S;
            interface AfterCreatNewDataForCoordinateCustomEvent_C extends AfterCreatNewDataForCoordinateCustomEvent_ST {
                /**
                 * @param source
                 * @param key
                 * @param eventName
                 * @param eventArgs
                 */
                new(source:any,key:string,eventName:string,eventArgs:string):AfterCreatNewDataForCoordinateCustomEvent;
                new(source:any,key:string,eventName:string,eventArgs:string,context:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext,flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):AfterCreatNewDataForCoordinateCustomEvent;
            }
            interface AfterCreatNewDataForCoordinateCustomEvent$ {
                setContext(context:kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext):void;
                setFlowElement(flowElement:$.kd.bos.workflow.bpmn.model.FlowElement):void;
                getContext():kd.bos.workflow.engine.impl.cmd.task.AgentTaskHandleContext;
                getFlowElement():$.kd.bos.workflow.bpmn.model.FlowElement;
            }
            type AfterCreatNewDataForCoordinateCustomEvent_T = $.kd.bos.form.events.CustomEventArgs & AfterCreatNewDataForCoordinateCustomEvent$;
            interface AfterCreatNewDataForCoordinateCustomEvent extends AfterCreatNewDataForCoordinateCustomEvent_T {
            }
        }
        namespace kd.bos.workflow.taskcenter.plugin.validate{
            interface BeforeSubmitCustomEventArgs_S {
                readonly PAGECACHEKEYFORSUBMIT:string;
            }
            type BeforeSubmitCustomEventArgs_ST = $.kd.bos.form.events.CustomEventArgs & BeforeSubmitCustomEventArgs_S;
            interface BeforeSubmitCustomEventArgs_C extends BeforeSubmitCustomEventArgs_ST {
                new(source:any,key:string,eventName:string,eventArgs:string):BeforeSubmitCustomEventArgs;
                new(source:any,key:string,eventName:string,eventArgs:string,nextUserTaskNodes:$.java.util.List,bizIdentifyKey:string,submitParams:$.java.util.Map):BeforeSubmitCustomEventArgs;
            }
            interface BeforeSubmitCustomEventArgs$ {
                getSubmitParams():$.java.util.Map;
                setNextUserTaskNodes(nextUserTaskNodes:$.java.util.List):void;
                setBizIdentifyKey(bizIdentifyKey:string):void;
                setDynNodeInfo(dynNodeInfo:$.java.util.Map):void;
                getCustomVariables():$.java.util.Map;
                setNextUserTaskNode(nextUserTaskNodes:$.java.util.List):void;
                setSubmitParams(submitParams:$.java.util.Map):void;
                setCancel(cancel:boolean):void;
                isCancel():boolean;
                setCustomVariables(customVariables:$.java.util.Map):void;
                getNextUserTaskNodes():$.java.util.List;
                isShowConfirmTips():boolean;
                getBizIdentifyKey():string;
                setShowConfirmTips(showConfirmTips:boolean):void;
                getDynNodeInfo():$.java.util.Map;
            }
            type BeforeSubmitCustomEventArgs_T = $.kd.bos.form.events.CustomEventArgs & BeforeSubmitCustomEventArgs$;
            interface BeforeSubmitCustomEventArgs extends BeforeSubmitCustomEventArgs_T {
            }
            interface BeforeSubmitCustomEventArgsClosedCallBack_S {
            }
            type BeforeSubmitCustomEventArgsClosedCallBack_ST = $.kd.bos.form.events.CustomEventArgs & BeforeSubmitCustomEventArgsClosedCallBack_S;
            interface BeforeSubmitCustomEventArgsClosedCallBack_C extends BeforeSubmitCustomEventArgsClosedCallBack_ST {
                new(source:any,key:string,eventName:string,eventArgs:string):BeforeSubmitCustomEventArgsClosedCallBack;
                new(source:any,key:string,eventName:string,eventArgs:string,doSubmitTask:boolean):BeforeSubmitCustomEventArgsClosedCallBack;
            }
            interface BeforeSubmitCustomEventArgsClosedCallBack$ {
                isDoSubmitTask():boolean;
                setDoSubmitTask(doSubmitTask:boolean):void;
            }
            type BeforeSubmitCustomEventArgsClosedCallBack_T = $.kd.bos.form.events.CustomEventArgs & BeforeSubmitCustomEventArgsClosedCallBack$;
            interface BeforeSubmitCustomEventArgsClosedCallBack extends BeforeSubmitCustomEventArgsClosedCallBack_T {
            }
            interface NextUserTaskNode_S {
            }
            type NextUserTaskNode_ST = $.java.io.Serializable & NextUserTaskNode_S;
            interface NextUserTaskNode_C extends NextUserTaskNode_ST {
                new():NextUserTaskNode;
                new(nodeValue:string,nodeText:string,nodeType:string,personValue:string,personName:string,personAvatar:string,endEvent:boolean,joinNode:boolean):NextUserTaskNode;
            }
            interface NextUserTaskNode$ {
                setNodeValue(nodeValue:string):void;
                setEndEvent(endEvent:boolean):void;
                getNodeText():string;
                setPersonName(personName:string):void;
                getPersonName():string;
                isEndEvent():boolean;
                getNodeType():string;
                setNodeText(nodeText:string):void;
                setPersonAvatar(personAvatar:string):void;
                isJoinNode():boolean;
                setJoinNode(joinNode:boolean):void;
                getNodeValue():string;
                setNodeType(nodeType:string):void;
                setPersonValue(personValue:string):void;
                getPersonValue():string;
                getPersonAvatar():string;
            }
            type NextUserTaskNode_T = $.java.io.Serializable & NextUserTaskNode$;
            interface NextUserTaskNode extends NextUserTaskNode_T {
            }
        }
        namespace kd.bos.xdb{
            interface ExceedShardingQueryLimit_S {
            }
            type ExceedShardingQueryLimit_ST = $.java.lang.AutoCloseable & ExceedShardingQueryLimit_S;
            interface ExceedShardingQueryLimit_C extends ExceedShardingQueryLimit_ST {
                new():ExceedShardingQueryLimit;
            }
            interface ExceedShardingQueryLimit$ {
            }
            type ExceedShardingQueryLimit_T = $.java.lang.AutoCloseable & ExceedShardingQueryLimit$;
            interface ExceedShardingQueryLimit extends ExceedShardingQueryLimit_T {
            }
            interface QueryTimeout_S {
            }
            type QueryTimeout_ST = $.java.lang.AutoCloseable & QueryTimeout_S;
            interface QueryTimeout_C extends QueryTimeout_ST {
            }
            interface QueryTimeout$ {
                /**
                 * 获取查询超时时间值。
                 * @return 秒
                 */
                getSeconds():number;
            }
            type QueryTimeout_T = $.java.lang.AutoCloseable & QueryTimeout$;
            interface QueryTimeout extends QueryTimeout_T {
            }
            interface XDBLogable_S {
                readonly log:any;
            }
            interface XDBLogable_C extends XDBLogable_S {
            }
            interface XDBLogable$ {
            }
            type XDBLogable_T = XDBLogable$;
            interface XDBLogable extends XDBLogable_T {
            }
            interface ShardingModule_S {
            }
            type ShardingModule_ST = $.kd.sdk.module.Module & ShardingModule_S;
            interface ShardingModule_C extends ShardingModule_ST {
                new():ShardingModule;
            }
            interface ShardingModule$ {
            }
            type ShardingModule_T = $.kd.sdk.module.Module & ShardingModule$;
            interface ShardingModule extends ShardingModule_T {
            }
        }
        namespace kd.bos.xdb.ext{
            interface SelfSetParameter_S {
            }
            type SelfSetParameter_ST = $.java.io.Serializable & SelfSetParameter_S;
            interface SelfSetParameter_C extends SelfSetParameter_ST {
            }
            interface SelfSetParameter$ {
                getValue():any;
                setValue(ps:$.java.sql.PreparedStatement,paramIndex:number):void;
            }
            type SelfSetParameter_T = $.java.io.Serializable & SelfSetParameter$;
            interface SelfSetParameter extends SelfSetParameter_T {
            }
        }
        namespace kd.bos.xdb.hint{
            interface HintCondition_S {
            }
            interface HintCondition_C extends HintCondition_S {
                /**
                 * 分片提示条件，其中field为字段，cp为符号，value为字段值。
                 */
                new(field:string,cp:string,value:any):HintCondition;
                /**
                 * 分片提示条件，其中field为字段，filterType为符号，value为字段值。
                 */
                new(field:string,filterType:kd.bos.xdb.sharding.sql.FilterType,value:any):HintCondition;
            }
            interface HintCondition$ {
                /**
                 * 分片提示条件字段
                 */
                getField():string;
                /**
                 * 分片提示条件字段值
                 */
                getValue():any;
                /**
                 * 分片提示条件符号
                 */
                getFilterType():kd.bos.xdb.sharding.sql.FilterType;
            }
            type HintCondition_T = HintCondition$;
            interface HintCondition extends HintCondition_T {
            }
            interface ShardingHintContext_S {
                /**
                 * 创建强制路由
                 * @param hintTable
                 * @param hintConditions
                 * @return
                 */
                create(hintTable:string,...hintConditions:HintCondition[]):ShardingHintContext;
                /**
                 * 创建强制路由并设置到当前线程上下文
                 * @param hintTable
                 * @param hintConditions
                 * @return
                 */
                createAndSet(hintTable:string,...hintConditions:HintCondition[]):ShardingHintContext;
                /**
                 * 当前已经有同一张表单的hint时,调用方根据返回值判断是否增加内嵌强制路由.
                 * @return 建议是否创建对当前hintTable的提示上下文
                 */
                canHintNestedIfExistsGroupHintTable(groupHintTable:string):boolean;
            }
            type ShardingHintContext_ST = $.java.lang.AutoCloseable & ShardingHintContext_S;
            interface ShardingHintContext_C extends ShardingHintContext_ST {
                new():ShardingHintContext;
            }
            interface ShardingHintContext$ {
                /**
                 * 找到分片提示生效的分片配置。
                 * @return
                 */
                findHintConfig():kd.bos.xdb.sharding.config.ShardingConfig;
                /**
                 * 设置强制路由
                 */
                set():void;
                /**
                 * 插入顺序：要求插入表头数据，再插入子表数据。使用prepareShardingIndex，可先插子表再插表头。
                 * @return
                 */
                prepareShardingIndex():this;
                /**
                 * 强制路由是否可预插入子表
                 * @return
                 */
                isPrepareShardingIndex():boolean;
                /**
                 * 优化sql批量参数，为true时：只解析第一条参数，其余参数直接修改分片索引。仅适用于已知该批量必定在同一个分片表中。
                 * @param batchSharding
                 */
                setBatchShardingEnabled(batchSharding:boolean):void;
                /**
                 * 优化sql批量参数，为true时：只解析第一条参数，其余参数直接修改分片索引。仅适用于已知该批量必定在同一个分片表中。
                 * @return
                 */
                isBatchShardingEnabled():boolean;
            }
            type ShardingHintContext_T = $.java.lang.AutoCloseable & ShardingHintContext$;
            interface ShardingHintContext extends ShardingHintContext_T {
            }
        }
        namespace kd.bos.xdb.mservice{
            interface ShardingMetadataService_S {
                /**
                 * 分表api
                 * @return
                 */
                getInstance():ShardingMetadataService;
            }
            interface ShardingMetadataService_C extends ShardingMetadataService_S {
            }
            interface ShardingMetadataService$ {
                /**
                 * 判断表单是否分表
                 */
                isXDBEnableByEntity(entityNumber:string):boolean;
                /**
                 * 获取该表存在的分片表名
                 * @param dbRouteKey
                 * @param tableName
                 * @return
                 * @throws SQLException
                 */
                getExistShardingTables(dbRouteKey:string,tableName:string):string[];
                /**
                 * 获取分表,供集成平台调用微服务提供给外部客户使用
                 * @param entityNumber 单据编码
                 * @param params map的key=分片属性properity+间隔符$+计算符,value为Object
                 * @return
                 */
                getShardingTableName(entityNumber:string,params:$.java.util.Map):$.java.util.List;
                /**
                 * 映射策略中含mapper时根据分片属性的值取出对应的mod值与字段值Map
                 *
                 * @param entityNumber 单据编码
                 * @param shardingFieldName 分片属性字段
                 * @param modFieldValues 对应属性字段值集合
                 * @return mod-modFieldValues
                 */
                getModValuesByModField(entityNumber:string,shardingFieldName:string,modFieldValues:$.java.util.List):$.java.util.Map;
            }
            type ShardingMetadataService_T = ShardingMetadataService$;
            interface ShardingMetadataService extends ShardingMetadataService_T {
            }
        }
        namespace kd.bos.xdb.sharding{
            interface ShardingGroupTable_S {
            }
            interface ShardingGroupTable_C extends ShardingGroupTable_S {
                new(shardingTable:string):ShardingGroupTable;
            }
            interface ShardingGroupTable$ {
                setShardingTableAsPrototypeTable(prototypeTable:string):void;
                getShardingTable():string;
                setShardingHintContext(shardingHintContext:kd.bos.xdb.hint.ShardingHintContext):void;
                setIfExistsShardingHintContext(table:string):kd.bos.xdb.hint.ShardingHintContext;
                getShardingHintContext():kd.bos.xdb.hint.ShardingHintContext;
                getFieldValues():$.java.util.List;
                clearFieldValues():void;
                addShardingFieldValue(fieldValue:ShardingFieldValue):void;
                addShardingFieldValues(fieldValues:$.java.util.List):void;
            }
            type ShardingGroupTable_T = ShardingGroupTable$;
            interface ShardingGroupTable extends ShardingGroupTable_T {
            }
            interface ShardingFieldValue_S {
            }
            interface ShardingFieldValue_C extends ShardingFieldValue_S {
                new(pk:kd.bos.xdb.sharding.sql.ParamsGroup$ParameterKey,pg:kd.bos.xdb.sharding.sql.ParamsGroup):ShardingFieldValue;
                new(pk:kd.bos.xdb.sharding.sql.ParamsGroup$ParameterKey,values:$.java.util.List):ShardingFieldValue;
            }
            interface ShardingFieldValue$ {
                getValues():$.java.util.List;
                getField():string;
                getPosIndex():number;
            }
            type ShardingFieldValue_T = ShardingFieldValue$;
            interface ShardingFieldValue extends ShardingFieldValue_T {
            }
        }
        namespace kd.bos.xdb.sharding.config{
            interface IndexDefine_S {
            }
            type IndexDefine_ST = FieldDefine_S & IndexDefine_S;
            interface IndexDefine_C extends IndexDefine_ST {
                new(table:string,field:string,type_arg:FieldType):IndexDefine;
            }
            interface IndexDefine$ {
            }
            type IndexDefine_T = FieldDefine & IndexDefine$;
            interface IndexDefine extends IndexDefine_T {
            }
            interface ShardingConfig_S {
                table(entityNumber:string,name:string,table:string,shardingFieldDefines:FieldDefine[],shardingStrategy:kd.bos.xdb.sharding.strategy.ShardingStrategy,dataRowsRange:DataRowsRange,indexDefines:IndexDefine[],isMock:boolean):ShardingConfig;
                childrenTable(name:string,table:string,joinField:string,parentField:string,parent:ShardingConfig):ShardingConfig;
                childrenTable(name:string,table:string,joinField:string,parentField:string,parent:ShardingConfig,isMock:boolean):ShardingConfig;
                table(entityNumber:string,name:string,table:string,shardingFieldDefines:FieldDefine[],shardingStrategy:kd.bos.xdb.sharding.strategy.ShardingStrategy,dataRowsRange:DataRowsRange,indexDefines:IndexDefine[]):ShardingConfig;
            }
            interface ShardingConfig_C extends ShardingConfig_S {
            }
            interface ShardingConfig$ {
                isEnabled():boolean;
                setEnabled(enabled:boolean):void;
                /**
                 * 小写
                 */
                getTable():string;
                getLevel():number;
                setAttribute(arg0:string,arg1:any):void;
                /**
                 * 单独记录主键分片索引
                 */
                isIndexPK():boolean;
                getShardingStrategy():kd.bos.xdb.sharding.strategy.ShardingStrategy;
                getEntitynumber():string;
                setIndexPK(indexPK:boolean):void;
                getChildrenConfigMap():$.java.util.Map;
                getOptions():ShardingConfigOptions;
                getAttribute(attr:string):any;
                /**
                 * 全小写
                 */
                getShardingFields():string[];
                getName():string;
            }
            type ShardingConfig_T = ShardingConfig$;
            interface ShardingConfig extends ShardingConfig_T {
            }
            interface ShardingIndexRoute_S {
            }
            type ShardingIndexRoute_ST = ShardingIndexRoute_S & XDBLogable_S;
            interface ShardingIndexRoute_C extends ShardingIndexRoute_ST {
                new(shardingIndexRouteMap:$.java.util.Map):ShardingIndexRoute;
            }
            interface ShardingIndexRoute$ {
                setMainRouteKey(mainRouteKey:string):void;
                getDbRoutes():$.java.util.Set;
                getAllArchiveRoutes():$.java.util.Set;
                getRoute(shardingIndex:long):string;
                getMainRouteKey():string;
                clear():void;
                getRoute(tableName:string):string;
            }
            type ShardingIndexRoute_T = ShardingIndexRoute$ & XDBLogable;
            interface ShardingIndexRoute extends ShardingIndexRoute_T {
            }
            interface ShardingConfigOptions_S {
            }
            interface ShardingConfigOptions_C extends ShardingConfigOptions_S {
                new():ShardingConfigOptions;
            }
            interface ShardingConfigOptions$ {
                hasIndexDefine(table:string,field:string):boolean;
                getShardDefines():FieldDefine[];
                getDbRouteKey():string;
                setDbRouteKey(dbRouteKey:string):void;
                getShardingFieldDefines(field:string):FieldDefine;
                setShardingFieldDefines(shardingFieldDefines:FieldDefine[]):void;
                getIndexNameSet():$.java.util.Set;
                setIndexRoute(indexRoute:ShardingIndexRoute):void;
                setDataRowsRange(dataRowsRange:DataRowsRange):void;
                getDataRowsRange():DataRowsRange;
                getIndexRoute():ShardingIndexRoute;
                getIndexDefines():IndexDefine[];
                setIndexDefines(indexDefines:IndexDefine[]):void;
            }
            type ShardingConfigOptions_T = ShardingConfigOptions$;
            interface ShardingConfigOptions extends ShardingConfigOptions_T {
            }
            interface FieldDefine_S {
            }
            interface FieldDefine_C extends FieldDefine_S {
                new(table:string,field:string,type_arg:FieldType):FieldDefine;
            }
            interface FieldDefine$ {
                getField():string;
                getTable():string;
                getType():FieldType;
            }
            type FieldDefine_T = FieldDefine$;
            interface FieldDefine extends FieldDefine_T {
            }
            class DataRowsRange {
                static readonly lessMax:kd.bos.xdb.sharding.config.DataRowsRange;
                static readonly less50:kd.bos.xdb.sharding.config.DataRowsRange;
                static readonly less10:kd.bos.xdb.sharding.config.DataRowsRange;
                static readonly less100:kd.bos.xdb.sharding.config.DataRowsRange;
                static valueOf(arg0:string):kd.bos.xdb.sharding.config.DataRowsRange;
                static values():kd.bos.xdb.sharding.config.DataRowsRange[];
                getPartitions():number;
            }
            class FieldType {
                static readonly DATE:kd.bos.xdb.sharding.config.FieldType;
                static readonly INTEGER:kd.bos.xdb.sharding.config.FieldType;
                static readonly STRING:kd.bos.xdb.sharding.config.FieldType;
                static readonly LONG:kd.bos.xdb.sharding.config.FieldType;
                static valueOf(arg0:string):kd.bos.xdb.sharding.config.FieldType;
                static values():kd.bos.xdb.sharding.config.FieldType[];
            }
        }
        namespace kd.bos.xdb.sharding.indexpk{
            interface IndexPKStore_S {
                ensureCreatePKTable(config:kd.bos.xdb.sharding.config.ShardingConfig,pkTable:string,type_arg:kd.bos.xdb.tablemanager.PkTypeEnum,drr:kd.bos.xdb.sharding.config.DataRowsRange,indexDefines:kd.bos.xdb.sharding.config.IndexDefine[]):void;
            }
            interface IndexPKStore_C extends IndexPKStore_S {
                /**
                 * @param name:
                 *            config name(entity name)
                 */
                new(name:string):IndexPKStore;
            }
            interface IndexPKStore$ {
                initCacheSize(tableName:string):void;
                getCache(am:kd.bos.xdb.xpm.metrics.action.ActionMetric,tableName:string,...pk:any[]):$.java.util.Map;
                setCache(tableName:string,index:long,pk:any):void;
                updatePKShardingIndex(tableName:string,index:long,pk:any):void;
                getCache(am:kd.bos.xdb.xpm.metrics.action.ActionMetric,tableName:string,pk:any):long;
                incVersion():void;
                insertPKShardingIndex(dbRoute:string,tableName:string,index:long,pkField:string,indexDefines:kd.bos.xdb.sharding.config.IndexDefine[],pg:kd.bos.xdb.sharding.sql.ParamsGroup):void;
                queryShardingIndexWithCompare(tableName:string,cp:string,pk:any):long[];
                clearParentPk(tableName:string,pk:any):void;
                clearCache(tableName:string):void;
                getOrQueryPKShardingIndex(am:kd.bos.xdb.xpm.metrics.action.ActionMetric,tableName:string,...pks:any[]):long[];
                clear(...tableNames:string[]):void;
            }
            type IndexPKStore_T = IndexPKStore$;
            interface IndexPKStore extends IndexPKStore_T {
            }
        }
        namespace kd.bos.xdb.sharding.sql{
            interface ParamsGroup_S {
            }
            interface ParamsGroup_C extends ParamsGroup_S {
                new(statementType:StatementType,sqlInfo:SQLInfo):ParamsGroup;
                new(initSize:number,statementType:StatementType,sqlInfo:SQLInfo):ParamsGroup;
            }
            interface ParamsGroup$ {
                get(k:ParamsGroup$ParameterKey):$.java.util.List;
                getParamMap():$.java.util.Map;
                setAlwaysValue(alwaysValue:kd.bos.xdb.sharding.sql.condition.AlwaysValue):void;
                reTestShardingEffectiveKeys(shardingFields:string[]):void;
                add(field:string,paramsFromPos:number,value:any,posIndex:number,filterType:FilterType,expr:any,owner:any):ParamsGroup$ParameterKey;
                getSqlInfo():SQLInfo;
                keys():$.java.util.Set;
                getStatementType():StatementType;
                setEffectiveParametersTester(tester:kd.bos.xdb.sharding.sql.condition.EffectiveParametersTester):void;
                keys(field:string):$.java.util.Set;
                shardingEffectiveKeys():$.java.util.Set;
                get(field:string,posIndex:number):$.java.util.List;
                getAlwaysValue():kd.bos.xdb.sharding.sql.condition.AlwaysValue;
                asVarRefValueProvider():(t:any)=>any;
            }
            type ParamsGroup_T = ParamsGroup$;
            interface ParamsGroup extends ParamsGroup_T {
            }
            class FilterType {
                static readonly like:kd.bos.xdb.sharding.sql.FilterType;
                static readonly lt:kd.bos.xdb.sharding.sql.FilterType;
                static readonly eq:kd.bos.xdb.sharding.sql.FilterType;
                static readonly le:kd.bos.xdb.sharding.sql.FilterType;
                static readonly ge:kd.bos.xdb.sharding.sql.FilterType;
                static readonly not_eq:kd.bos.xdb.sharding.sql.FilterType;
                static readonly not_like:kd.bos.xdb.sharding.sql.FilterType;
                static readonly not_in_range:kd.bos.xdb.sharding.sql.FilterType;
                static readonly other:kd.bos.xdb.sharding.sql.FilterType;
                static readonly gt:kd.bos.xdb.sharding.sql.FilterType;
                static readonly not_between_and:kd.bos.xdb.sharding.sql.FilterType;
                static readonly between_and:kd.bos.xdb.sharding.sql.FilterType;
                static readonly in_range:kd.bos.xdb.sharding.sql.FilterType;
                static valueOf(arg0:string):kd.bos.xdb.sharding.sql.FilterType;
                static values():kd.bos.xdb.sharding.sql.FilterType[];
                getCP():string;
            }
            interface SQLInfo_S {
            }
            interface SQLInfo_C extends SQLInfo_S {
                new():SQLInfo;
                new(sql:string,params:any[],shardingSQL:boolean):SQLInfo;
                new(dbRoute:string,sql:string,params:any[],shardingSQL:boolean):SQLInfo;
            }
            interface SQLInfo$ {
                setParams(params:any[]):void;
                getDbRoute():string;
                setSql(sql:string):void;
                getSql():string;
                isShardingSQL():boolean;
                setShardingSQL(shardingSQL:boolean):void;
                setShardingHintContext(shardingHintContext:kd.bos.xdb.hint.ShardingHintContext):void;
                getShardingHintContext():kd.bos.xdb.hint.ShardingHintContext;
                setDbRoute(dbRoute:string):void;
                getParams():any[];
            }
            type SQLInfo_T = SQLInfo$;
            interface SQLInfo extends SQLInfo_T {
            }
            class StatementType {
                static readonly create_table:kd.bos.xdb.sharding.sql.StatementType;
                static readonly comment:kd.bos.xdb.sharding.sql.StatementType;
                static readonly insert:kd.bos.xdb.sharding.sql.StatementType;
                static readonly drop_index:kd.bos.xdb.sharding.sql.StatementType;
                static readonly create_index:kd.bos.xdb.sharding.sql.StatementType;
                static readonly drop_table:kd.bos.xdb.sharding.sql.StatementType;
                static readonly if_exists:kd.bos.xdb.sharding.sql.StatementType;
                static readonly exec:kd.bos.xdb.sharding.sql.StatementType;
                static readonly update:kd.bos.xdb.sharding.sql.StatementType;
                static readonly delete:kd.bos.xdb.sharding.sql.StatementType;
                static readonly truncate:kd.bos.xdb.sharding.sql.StatementType;
                static readonly select:kd.bos.xdb.sharding.sql.StatementType;
                static readonly alter_table:kd.bos.xdb.sharding.sql.StatementType;
                static valueOf(arg0:string):kd.bos.xdb.sharding.sql.StatementType;
                static values():kd.bos.xdb.sharding.sql.StatementType[];
                isDDL():boolean;
            }
            interface ParamsGroup$ParameterKey_S {
            }
            type ParamsGroup$ParameterKey_ST = $.java.lang.Comparable & ParamsGroup$ParameterKey_S;
            interface ParamsGroup$ParameterKey_C extends ParamsGroup$ParameterKey_ST {
                new(arg0:string,arg1:number,arg2:number,arg3:FilterType,arg4:any,arg5:any):ParamsGroup$ParameterKey;
            }
            interface ParamsGroup$ParameterKey$ {
                readonly paramsFromPos:number;
                readonly field:string;
                readonly posIndex:number;
                setShardingEffective(arg0:boolean):void;
                getParameterPositionIndex():number;
                getSQLExpr():any;
                compareTo(arg0:ParamsGroup$ParameterKey):number;
                getOwner():any;
                isShardingEffective():boolean;
                getFilterType():FilterType;
            }
            type ParamsGroup$ParameterKey_T = $.java.lang.Comparable & ParamsGroup$ParameterKey$;
            interface ParamsGroup$ParameterKey extends ParamsGroup$ParameterKey_T {
            }
        }
        namespace kd.bos.xdb.sharding.sql.condition{
            interface ConditionExprList_S {
            }
            interface ConditionExprList_C extends ConditionExprList_S {
                new():ConditionExprList;
            }
            interface ConditionExprList$ {
                getExprList():$.java.util.List;
                add(conditionExp:any):void;
            }
            type ConditionExprList_T = ConditionExprList$;
            interface ConditionExprList extends ConditionExprList_T {
            }
            interface EffectiveParametersTester_S {
            }
            interface EffectiveParametersTester_C extends EffectiveParametersTester_S {
            }
            interface EffectiveParametersTester$ {
                testEffectiveParameters(...fields:string[]):void;
            }
            type EffectiveParametersTester_T = EffectiveParametersTester$;
            interface EffectiveParametersTester extends EffectiveParametersTester_T {
            }
            class AlwaysValue {
                static readonly always_true:kd.bos.xdb.sharding.sql.condition.AlwaysValue;
                static readonly always_none:kd.bos.xdb.sharding.sql.condition.AlwaysValue;
                static readonly always_false:kd.bos.xdb.sharding.sql.condition.AlwaysValue;
                static values():kd.bos.xdb.sharding.sql.condition.AlwaysValue[];
                static valueOf(arg0:string):kd.bos.xdb.sharding.sql.condition.AlwaysValue;
                static of(ce:kd.bos.xdb.sharding.sql.condition.ConditionExprList,func1:(t:any)=>any):kd.bos.xdb.sharding.sql.condition.AlwaysValue;
            }
        }
        namespace kd.bos.xdb.sharding.strategy{
            interface AbstractShardingStrategy_S {
            }
            type AbstractShardingStrategy_ST = AbstractShardingStrategy_S & ShardingStrategy_S & SupportBetweenAndSharding_S & XDBLogable_S;
            interface AbstractShardingStrategy_C extends AbstractShardingStrategy_ST {
                new():AbstractShardingStrategy;
            }
            interface AbstractShardingStrategy$ {
                setPKField(pkField:string):void;
                getCreateSpareStrategies():$.java.util.List;
                isIDSequence():boolean;
                isIndexPK():boolean;
                shardingIndex(filterTypes:kd.bos.xdb.sharding.sql.FilterType[],values:any[]):long[];
                setIDSequence(IDSequence:boolean):void;
                getPKField():string;
                getIndexPKStore():kd.bos.xdb.sharding.indexpk.IndexPKStore;
                setIndexPK(indexPK:boolean):void;
            }
            type AbstractShardingStrategy_T = AbstractShardingStrategy$ & ShardingStrategy & SupportBetweenAndSharding & XDBLogable;
            interface AbstractShardingStrategy extends AbstractShardingStrategy_T {
            }
            interface ShardingStrategy_S {
                readonly moving_table_delim:string;
                readonly sharding_table_delim:string;
            }
            interface ShardingStrategy_C extends ShardingStrategy_S {
            }
            interface ShardingStrategy$ {
                getConfig():kd.bos.xdb.sharding.config.ShardingConfig;
                onShardingDataMoved(dmList:$.java.util.List):void;
                /**
                 * @param onlyExists
                 *            只返回物理存在的
                 * @return 分片表名
                 */
                getAllShardingTables(onlyExists:boolean):string[];
                /**
                 * 当为单属性分片且filterType=eq/in时，可支持批量计算/查询分片索引，以提高性能，如：IndexPKSpareStrategy。
                 * 主要针对有存储访问的策略的优化：#IndexPKSpareStrategy（已优化）、IndexSpareStrategy（已优化）、ChildrenStrategy（已优化）、MapStrategy（已优化）、InternalSpareStrategy（已优化）。
                 *
                 * 需要在策略的shardingIndex方法中处理批量。
                 *
                 * @see ShardingKeyGather#keys
                 * @return 是否支持批量查询
                 */
                isSupportBatchShardingIndex?():boolean;
                ensureTableInited():void;
                /**
                 * <p>
                 *
                 * 用于单属性分片，且原值与分片一一对应才能排除。
                 *
                 * not in排除分片的依据。
                 *
                 * @return true: not一个条件值，就可以排除所对应的分片。
                 */
                notValueExcludeSharding():boolean;
                initConfig(config:kd.bos.xdb.sharding.config.ShardingConfig):void;
                /**
                 * <p>
                 * 数据从分片表1迁移到分片表2后，调用此方法(事务已提交)：flush 缓存
                 *
                 * 1) AbstractShardingStrategy: shardingIndexEqCache(keys)、indexPK
                 *
                 * 2) 具体策略用到的缓存，如MapStrategy用到的ShardingIndexMap: keyIndexMap(keys)
                 *
                 * receivedEventCall: 表示是否为被通知的节点，若是则只需flush本地缓存。
                 */
                onShardingDataMoveCommitted(dmList:$.java.util.List,receivedEventCall:boolean):void;
                /**
                 * 清理缓存：数据迁移调用
                 */
                clearCache():void;
                /**
                 * 在hint定位到的分片表范围内
                 */
                getAllShardingTablesUseHintContext(onlyExists:boolean):string[];
                /**
                 * 注意：有些策略(如hash)not的分片不能排除，因为not加工过的值不等价于not原值，not加工过的值其原值也可能在这个分片中。
                 *
                 * @param filterType 过滤类型
                 * @return 明确的过滤值，如果不明确，不能用于分片的判断。
                 */
                isExplicitFilter(filterType:kd.bos.xdb.sharding.sql.FilterType):boolean;
                /**
                 * @return 长度为0，则处理所有分片。
                 */
                shardingGroups(pg:kd.bos.xdb.sharding.sql.ParamsGroup,fullShardingValueRequired:boolean):ShardingGroupTable[];
                shardingIndexUseEqCache(filterTypes:kd.bos.xdb.sharding.sql.FilterType[],values:any[],shardingFieldCount:number):long[];
            }
            type ShardingStrategy_T = ShardingStrategy$;
            interface ShardingStrategy extends ShardingStrategy_T {
            }
            interface BaseCustomStrategy_S {
            }
            type BaseCustomStrategy_ST = AbstractShardingStrategy_S & BaseCustomStrategy_S;
            interface BaseCustomStrategy_C extends BaseCustomStrategy_ST {
                /**
                 * 构造方法
                 * @param paramMap
                 */
                new(paramMap:$.java.util.Map):BaseCustomStrategy;
            }
            interface BaseCustomStrategy$ {
            }
            type BaseCustomStrategy_T = AbstractShardingStrategy & BaseCustomStrategy$;
            interface BaseCustomStrategy extends BaseCustomStrategy_T {
            }
            interface SupportBetweenAndSharding_S {
            }
            interface SupportBetweenAndSharding_C extends SupportBetweenAndSharding_S {
            }
            interface SupportBetweenAndSharding$ {
                shardingIndexBetweenAnd(v1:any,v2:any,not:boolean):long[];
            }
            type SupportBetweenAndSharding_T = SupportBetweenAndSharding$;
            interface SupportBetweenAndSharding extends SupportBetweenAndSharding_T {
            }
        }
        namespace kd.bos.xdb.sharding.strategy.map.mapper{
            interface AbstractValueMapper_S {
            }
            type AbstractValueMapper_ST = AbstractValueMapper_S & ValueMapper_S;
            interface AbstractValueMapper_C extends AbstractValueMapper_ST {
                /**
                 * 配置参数
                 *
                 * @param paramMap
                 */
                new(paramMap:$.java.util.Map):AbstractValueMapper;
            }
            interface AbstractValueMapper$ {
            }
            type AbstractValueMapper_T = AbstractValueMapper$ & ValueMapper;
            interface AbstractValueMapper extends AbstractValueMapper_T {
            }
            interface ValueMapper_S {
            }
            interface ValueMapper_C extends ValueMapper_S {
            }
            interface ValueMapper$ {
                /**
                 * @param fieldIndex
                 *            分片属性的位置索引
                 * @param field
                 *            分片属性字段名
                 * @param fieldType
                 *            分片属性类型
                 * @param value
                 *            原始值
                 * @return 映射的值
                 */
                mapValue(fieldIndex:number,field:string,fieldType:kd.bos.xdb.sharding.config.FieldType,value:any):any;
            }
            type ValueMapper_T = ValueMapper$;
            interface ValueMapper extends ValueMapper_T {
            }
        }
        namespace kd.bos.xdb.tablemanager{
            class PkTypeEnum {
                static readonly pk_long:kd.bos.xdb.tablemanager.PkTypeEnum;
                static readonly pk_string:kd.bos.xdb.tablemanager.PkTypeEnum;
                static values():kd.bos.xdb.tablemanager.PkTypeEnum[];
                static valueOf(arg0:string):kd.bos.xdb.tablemanager.PkTypeEnum;
                getTypeName():string;
                getValue():string;
            }
        }
        namespace kd.bos.xdb.xpm.metrics{
            interface Metrics_S {
            }
            interface Metrics_C extends Metrics_S {
            }
            interface Metrics$ {
                merge?(metrics:Metrics):boolean;
                format?():string;
            }
            type Metrics_T = Metrics$;
            interface Metrics extends Metrics_T {
            }
        }
        namespace kd.bos.xdb.xpm.metrics.action{
            interface ActionSpan_S {
            }
            interface ActionSpan_C extends ActionSpan_S {
                new():ActionSpan;
            }
            interface ActionSpan$ {
            }
            type ActionSpan_T = ActionSpan$;
            interface ActionSpan extends ActionSpan_T {
            }
            interface ActionMetric_S {
            }
            type ActionMetric_ST = ActionMetric_S & Metrics_S;
            interface ActionMetric_C extends ActionMetric_ST {
                new():ActionMetric;
            }
            interface ActionMetric$ {
                getParseSQLExtractNewParameterCount():number;
                getShardingTables():$.java.util.Set;
                incParseSQLExtractParameterTimes():void;
                getMissParseCacheTimes():number;
                incMissParseCacheTimes():void;
                incParseSQLExtractNewParameterCount(parseSQLExtractNewParameterCount:number):void;
                stat(ss:ActionSpan):void;
                incParseSQLTimes():void;
                getParseSQLTimes():number;
                stat(msg:string):void;
                incHitParseCacheTimes():void;
                getParseSQLExtractParameterTimes():number;
                getActionSpanList():$.java.util.List;
                getHitParseCacheTimes():number;
            }
            type ActionMetric_T = ActionMetric$ & Metrics;
            interface ActionMetric extends ActionMetric_T {
            }
        }
        namespace kd.bos.zip{
            interface ZipFile_S {
            }
            interface ZipFile_C extends ZipFile_S {
                new(arg0:string):ZipFile;
                new(arg0:any):ZipFile;
                new(arg0:any,arg1:string[]):ZipFile;
                new(arg0:string,arg1:string[]):ZipFile;
            }
            interface ZipFile$ {
                addFile(arg0:any):void;
                addFile(arg0:string):void;
                addFile(arg0:any,arg1:kd.bos.zip.model.ZipParameters):void;
                addFile(arg0:string,arg1:kd.bos.zip.model.ZipParameters):void;
                addFiles(arg0:$.java.util.List):void;
                addFiles(arg0:$.java.util.List,arg1:kd.bos.zip.model.ZipParameters):void;
                addFolder(arg0:any):void;
                addFolder(arg0:any,arg1:kd.bos.zip.model.ZipParameters):void;
                addStream(arg0:any,arg1:kd.bos.zip.model.ZipParameters):void;
                createSplitZipFile(arg0:$.java.util.List,arg1:kd.bos.zip.model.ZipParameters,arg2:boolean,arg3:long):void;
                createSplitZipFileFromFolder(arg0:any,arg1:kd.bos.zip.model.ZipParameters,arg2:boolean,arg3:long):void;
                extractAll(arg0:string):void;
                extractAll(arg0:string,arg1:kd.bos.zip.model.UnzipParameters):void;
                extractFile(arg0:kd.bos.zip.model.FileHeader,arg1:string):void;
                extractFile(arg0:string,arg1:string):void;
                extractFile(arg0:kd.bos.zip.model.FileHeader,arg1:string,arg2:string):void;
                extractFile(arg0:kd.bos.zip.model.FileHeader,arg1:string,arg2:kd.bos.zip.model.UnzipParameters):void;
                extractFile(arg0:string,arg1:string,arg2:kd.bos.zip.model.UnzipParameters):void;
                extractFile(arg0:string,arg1:string,arg2:string):void;
                extractFile(arg0:kd.bos.zip.model.FileHeader,arg1:string,arg2:string,arg3:kd.bos.zip.model.UnzipParameters):void;
                extractFile(arg0:string,arg1:string,arg2:string,arg3:kd.bos.zip.model.UnzipParameters):void;
                getBufferSize():number;
                getCharset():any;
                getComment():string;
                getExecutorService():$.java.util.concurrent.ExecutorService;
                getFile():any;
                getFileHeader(arg0:string):kd.bos.zip.model.FileHeader;
                getFileHeaders():$.java.util.List;
                getInputStream(arg0:kd.bos.zip.model.FileHeader):kd.bos.zip.io.inputstream.ZipInputStream;
                getProgressMonitor():kd.bos.zip.progress.ProgressMonitor;
                getSplitZipFiles():$.java.util.List;
                isEncrypted():boolean;
                isRunInThread():boolean;
                isSplitArchive():boolean;
                isValidZipFile():boolean;
                mergeSplitFiles(arg0:any):void;
                removeFile(arg0:kd.bos.zip.model.FileHeader):void;
                removeFile(arg0:string):void;
                removeFiles(arg0:$.java.util.List):void;
                renameFile(arg0:kd.bos.zip.model.FileHeader,arg1:string):void;
                renameFile(arg0:string,arg1:string):void;
                renameFiles(arg0:$.java.util.Map):void;
                setBufferSize(arg0:number):void;
                setCharset(arg0:any):void;
                setComment(arg0:string):void;
                setPassword(arg0:string[]):void;
                setRunInThread(arg0:boolean):void;
                setThreadFactory(arg0:any):void;
                toString():string;
            }
            type ZipFile_T = ZipFile_S & ZipFile$;
            interface ZipFile extends ZipFile_T {
            }
        }
        namespace kd.bos.zip.headers{
            enum HeaderSignature {
                LOCAL_FILE_HEADER,
                EXTRA_DATA_RECORD,
                CENTRAL_DIRECTORY,
                END_OF_CENTRAL_DIRECTORY,
                TEMPORARY_SPANNING_MARKER,
                DIGITAL_SIGNATURE,
                ARCEXTDATREC,
                SPLIT_ZIP,
                ZIP64_END_CENTRAL_DIRECTORY_LOCATOR,
                ZIP64_END_CENTRAL_DIRECTORY_RECORD,
                ZIP64_EXTRA_FIELD_SIGNATURE,
                AES_EXTRA_DATA_RECORD
            }
        }
        namespace kd.bos.zip.io.inputstream{
            interface ZipInputStream_S {
            }
            interface ZipInputStream_C extends ZipInputStream_S {
                new(arg0:any):ZipInputStream;
                new(arg0:any,arg1:string[]):ZipInputStream;
                new(arg0:any,arg1:any):ZipInputStream;
                new(arg0:any,arg1:string[],arg2:kd.bos.zip.model.Zip4jConfig):ZipInputStream;
                new(arg0:any,arg1:string[],arg2:any):ZipInputStream;
            }
            interface ZipInputStream$ {
                close():void;
                getNextEntry():kd.bos.zip.model.LocalFileHeader;
                getNextEntry(arg0:kd.bos.zip.model.FileHeader):kd.bos.zip.model.LocalFileHeader;
                read():number;
                read(arg0:number[]):number;
                read(arg0:number[],arg1:number,arg2:number):number;
            }
            type ZipInputStream_T = any & ZipInputStream_S & ZipInputStream$;
            interface ZipInputStream extends ZipInputStream_T {
            }
        }
        namespace kd.bos.zip.io.outputstream{
            interface ZipOutputStream_S {
            }
            interface ZipOutputStream_C extends ZipOutputStream_S {
                new(arg0:any):ZipOutputStream;
                new(arg0:any,arg1:string[]):ZipOutputStream;
                new(arg0:any,arg1:any):ZipOutputStream;
                new(arg0:any,arg1:string[],arg2:any):ZipOutputStream;
                new(arg0:any,arg1:string[],arg2:kd.bos.zip.model.Zip4jConfig,arg3:kd.bos.zip.model.ZipModel):ZipOutputStream;
            }
            interface ZipOutputStream$ {
                close():void;
                closeEntry():kd.bos.zip.model.FileHeader;
                putNextEntry(arg0:kd.bos.zip.model.ZipParameters):void;
                setComment(arg0:string):void;
                write(arg0:number[]):void;
                write(arg0:number):void;
                write(arg0:number[],arg1:number,arg2:number):void;
            }
            type ZipOutputStream_T = any & ZipOutputStream_S & ZipOutputStream$;
            interface ZipOutputStream extends ZipOutputStream_T {
            }
        }
        namespace kd.bos.zip.model{
            interface CentralDirectory_S {
            }
            interface CentralDirectory_C extends CentralDirectory_S {
                new():CentralDirectory;
            }
            interface CentralDirectory$ {
                getDigitalSignature():DigitalSignature;
                getFileHeaders():$.java.util.List;
                setDigitalSignature(arg0:DigitalSignature):void;
                setFileHeaders(arg0:$.java.util.List):void;
            }
            type CentralDirectory_T = CentralDirectory_S & CentralDirectory$;
            interface CentralDirectory extends CentralDirectory_T {
            }
            interface ArchiveExtraDataRecord_S {
            }
            type ArchiveExtraDataRecord_ST = ZipHeader_S & ArchiveExtraDataRecord_S;
            interface ArchiveExtraDataRecord_C extends ArchiveExtraDataRecord_ST {
                new():ArchiveExtraDataRecord;
            }
            interface ArchiveExtraDataRecord$ {
                getExtraFieldData():string;
                getExtraFieldLength():number;
                setExtraFieldData(arg0:string):void;
                setExtraFieldLength(arg0:number):void;
            }
            type ArchiveExtraDataRecord_T = ZipHeader & ArchiveExtraDataRecord_S & ArchiveExtraDataRecord$;
            interface ArchiveExtraDataRecord extends ArchiveExtraDataRecord_T {
            }
            interface AESExtraDataRecord_S {
            }
            type AESExtraDataRecord_ST = ZipHeader_S & AESExtraDataRecord_S;
            interface AESExtraDataRecord_C extends AESExtraDataRecord_ST {
                new():AESExtraDataRecord;
            }
            interface AESExtraDataRecord$ {
                getAesKeyStrength():kd.bos.zip.model.enums.AesKeyStrength;
                getAesVersion():kd.bos.zip.model.enums.AesVersion;
                getCompressionMethod():kd.bos.zip.model.enums.CompressionMethod;
                getDataSize():number;
                getVendorID():string;
                setAesKeyStrength(arg0:kd.bos.zip.model.enums.AesKeyStrength):void;
                setAesVersion(arg0:kd.bos.zip.model.enums.AesVersion):void;
                setCompressionMethod(arg0:kd.bos.zip.model.enums.CompressionMethod):void;
                setDataSize(arg0:number):void;
                setVendorID(arg0:string):void;
            }
            type AESExtraDataRecord_T = ZipHeader & AESExtraDataRecord_S & AESExtraDataRecord$;
            interface AESExtraDataRecord extends AESExtraDataRecord_T {
            }
            interface DigitalSignature_S {
            }
            type DigitalSignature_ST = ZipHeader_S & DigitalSignature_S;
            interface DigitalSignature_C extends DigitalSignature_ST {
                new():DigitalSignature;
            }
            interface DigitalSignature$ {
                getSignatureData():string;
                getSizeOfData():number;
                setSignatureData(arg0:string):void;
                setSizeOfData(arg0:number):void;
            }
            type DigitalSignature_T = ZipHeader & DigitalSignature_S & DigitalSignature$;
            interface DigitalSignature extends DigitalSignature_T {
            }
            interface LocalFileHeader_S {
            }
            type LocalFileHeader_ST = AbstractFileHeader_S & LocalFileHeader_S;
            interface LocalFileHeader_C extends LocalFileHeader_ST {
                new():LocalFileHeader;
            }
            interface LocalFileHeader$ {
                getExtraField():number[];
                getOffsetStartOfData():long;
                isWriteCompressedSizeInZip64ExtraRecord():boolean;
                setExtraField(arg0:number[]):void;
                setOffsetStartOfData(arg0:long):void;
                setWriteCompressedSizeInZip64ExtraRecord(arg0:boolean):void;
            }
            type LocalFileHeader_T = AbstractFileHeader & LocalFileHeader_S & LocalFileHeader$;
            interface LocalFileHeader extends LocalFileHeader_T {
            }
            interface ZipModel_S {
            }
            interface ZipModel_C extends ZipModel_S {
                new():ZipModel;
            }
            interface ZipModel$ {
                clone():any;
                getArchiveExtraDataRecord():ArchiveExtraDataRecord;
                getCentralDirectory():CentralDirectory;
                getDataDescriptors():$.java.util.List;
                getEnd():long;
                getEndOfCentralDirectoryRecord():EndOfCentralDirectoryRecord;
                getLocalFileHeaders():$.java.util.List;
                getSplitLength():long;
                getStart():long;
                getZip64EndOfCentralDirectoryLocator():Zip64EndOfCentralDirectoryLocator;
                getZip64EndOfCentralDirectoryRecord():Zip64EndOfCentralDirectoryRecord;
                getZipFile():any;
                isNestedZipFile():boolean;
                isSplitArchive():boolean;
                isZip64Format():boolean;
                setArchiveExtraDataRecord(arg0:ArchiveExtraDataRecord):void;
                setCentralDirectory(arg0:CentralDirectory):void;
                setDataDescriptors(arg0:$.java.util.List):void;
                setEnd(arg0:long):void;
                setEndOfCentralDirectoryRecord(arg0:EndOfCentralDirectoryRecord):void;
                setLocalFileHeaders(arg0:$.java.util.List):void;
                setNestedZipFile(arg0:boolean):void;
                setSplitArchive(arg0:boolean):void;
                setSplitLength(arg0:long):void;
                setStart(arg0:long):void;
                setZip64EndOfCentralDirectoryLocator(arg0:Zip64EndOfCentralDirectoryLocator):void;
                setZip64EndOfCentralDirectoryRecord(arg0:Zip64EndOfCentralDirectoryRecord):void;
                setZip64Format(arg0:boolean):void;
                setZipFile(arg0:any):void;
            }
            type ZipModel_T = $.java.lang.Cloneable & ZipModel_S & ZipModel$;
            interface ZipModel extends ZipModel_T {
            }
            interface ZipParameters_S {
            }
            interface ZipParameters_C extends ZipParameters_S {
                new():ZipParameters;
                new(arg0:ZipParameters):ZipParameters;
            }
            interface ZipParameters$ {
                clone():any;
                getAesKeyStrength():kd.bos.zip.model.enums.AesKeyStrength;
                getAesVersion():kd.bos.zip.model.enums.AesVersion;
                getCompressionLevel():kd.bos.zip.model.enums.CompressionLevel;
                getCompressionMethod():kd.bos.zip.model.enums.CompressionMethod;
                getDefaultFolderPath():string;
                getEncryptionMethod():kd.bos.zip.model.enums.EncryptionMethod;
                getEntryCRC():long;
                getEntrySize():long;
                getExcludeFileFilter():ExcludeFileFilter;
                getFileComment():string;
                getFileNameInZip():string;
                getLastModifiedFileTime():long;
                getRootFolderNameInZip():string;
                getSymbolicLinkAction():ZipParameters$SymbolicLinkAction;
                isEncryptFiles():boolean;
                isIncludeRootFolder():boolean;
                isOverrideExistingFilesInZip():boolean;
                isReadHiddenFiles():boolean;
                isReadHiddenFolders():boolean;
                isUnixMode():boolean;
                isWriteExtendedLocalFileHeader():boolean;
                setAesKeyStrength(arg0:kd.bos.zip.model.enums.AesKeyStrength):void;
                setAesVersion(arg0:kd.bos.zip.model.enums.AesVersion):void;
                setCompressionLevel(arg0:kd.bos.zip.model.enums.CompressionLevel):void;
                setCompressionMethod(arg0:kd.bos.zip.model.enums.CompressionMethod):void;
                setDefaultFolderPath(arg0:string):void;
                setEncryptFiles(arg0:boolean):void;
                setEncryptionMethod(arg0:kd.bos.zip.model.enums.EncryptionMethod):void;
                setEntryCRC(arg0:long):void;
                setEntrySize(arg0:long):void;
                setExcludeFileFilter(arg0:ExcludeFileFilter):void;
                setFileComment(arg0:string):void;
                setFileNameInZip(arg0:string):void;
                setIncludeRootFolder(arg0:boolean):void;
                setLastModifiedFileTime(arg0:long):void;
                setOverrideExistingFilesInZip(arg0:boolean):void;
                setReadHiddenFiles(arg0:boolean):void;
                setReadHiddenFolders(arg0:boolean):void;
                setRootFolderNameInZip(arg0:string):void;
                setSymbolicLinkAction(arg0:ZipParameters$SymbolicLinkAction):void;
                setUnixMode(arg0:boolean):void;
                setWriteExtendedLocalFileHeader(arg0:boolean):void;
            }
            type ZipParameters_T = ZipParameters_S & ZipParameters$;
            interface ZipParameters extends ZipParameters_T {
            }
            interface ZipHeader_S {
            }
            interface ZipHeader_C extends ZipHeader_S {
                new():ZipHeader;
            }
            interface ZipHeader$ {
                getSignature():kd.bos.zip.headers.HeaderSignature;
                setSignature(arg0:kd.bos.zip.headers.HeaderSignature):void;
            }
            type ZipHeader_T = ZipHeader_S & ZipHeader$;
            interface ZipHeader extends ZipHeader_T {
            }
            interface Zip64EndOfCentralDirectoryRecord_S {
            }
            type Zip64EndOfCentralDirectoryRecord_ST = ZipHeader_S & Zip64EndOfCentralDirectoryRecord_S;
            interface Zip64EndOfCentralDirectoryRecord_C extends Zip64EndOfCentralDirectoryRecord_ST {
                new():Zip64EndOfCentralDirectoryRecord;
            }
            interface Zip64EndOfCentralDirectoryRecord$ {
                getExtensibleDataSector():number[];
                getNumberOfThisDisk():number;
                getNumberOfThisDiskStartOfCentralDirectory():number;
                getOffsetStartCentralDirectoryWRTStartDiskNumber():long;
                getSizeOfCentralDirectory():long;
                getSizeOfZip64EndCentralDirectoryRecord():long;
                getTotalNumberOfEntriesInCentralDirectory():long;
                getTotalNumberOfEntriesInCentralDirectoryOnThisDisk():long;
                getVersionMadeBy():number;
                getVersionNeededToExtract():number;
                setExtensibleDataSector(arg0:number[]):void;
                setNumberOfThisDisk(arg0:number):void;
                setNumberOfThisDiskStartOfCentralDirectory(arg0:number):void;
                setOffsetStartCentralDirectoryWRTStartDiskNumber(arg0:long):void;
                setSizeOfCentralDirectory(arg0:long):void;
                setSizeOfZip64EndCentralDirectoryRecord(arg0:long):void;
                setTotalNumberOfEntriesInCentralDirectory(arg0:long):void;
                setTotalNumberOfEntriesInCentralDirectoryOnThisDisk(arg0:long):void;
                setVersionMadeBy(arg0:number):void;
                setVersionNeededToExtract(arg0:number):void;
            }
            type Zip64EndOfCentralDirectoryRecord_T = ZipHeader & Zip64EndOfCentralDirectoryRecord_S & Zip64EndOfCentralDirectoryRecord$;
            interface Zip64EndOfCentralDirectoryRecord extends Zip64EndOfCentralDirectoryRecord_T {
            }
            interface ExcludeFileFilter_S {
            }
            interface ExcludeFileFilter$ {
                isExcluded(arg0:any):boolean;
            }
            type ExcludeFileFilter_T = ExcludeFileFilter_S & ExcludeFileFilter$;
            interface ExcludeFileFilter extends ExcludeFileFilter_T {
            }
            enum ZipParameters$SymbolicLinkAction {
                INCLUDE_LINK_ONLY,
                INCLUDE_LINKED_FILE_ONLY,
                INCLUDE_LINK_AND_LINKED_FILE
            }
            interface Zip64EndOfCentralDirectoryLocator_S {
            }
            type Zip64EndOfCentralDirectoryLocator_ST = ZipHeader_S & Zip64EndOfCentralDirectoryLocator_S;
            interface Zip64EndOfCentralDirectoryLocator_C extends Zip64EndOfCentralDirectoryLocator_ST {
                new():Zip64EndOfCentralDirectoryLocator;
            }
            interface Zip64EndOfCentralDirectoryLocator$ {
                getNumberOfDiskStartOfZip64EndOfCentralDirectoryRecord():number;
                getOffsetZip64EndOfCentralDirectoryRecord():long;
                getTotalNumberOfDiscs():number;
                setNumberOfDiskStartOfZip64EndOfCentralDirectoryRecord(arg0:number):void;
                setOffsetZip64EndOfCentralDirectoryRecord(arg0:long):void;
                setTotalNumberOfDiscs(arg0:number):void;
            }
            type Zip64EndOfCentralDirectoryLocator_T = ZipHeader & Zip64EndOfCentralDirectoryLocator_S & Zip64EndOfCentralDirectoryLocator$;
            interface Zip64EndOfCentralDirectoryLocator extends Zip64EndOfCentralDirectoryLocator_T {
            }
            interface Zip4jConfig_S {
            }
            interface Zip4jConfig_C extends Zip4jConfig_S {
                new(arg0:any,arg1:number):Zip4jConfig;
            }
            interface Zip4jConfig$ {
                getBufferSize():number;
                getCharset():any;
            }
            type Zip4jConfig_T = Zip4jConfig_S & Zip4jConfig$;
            interface Zip4jConfig extends Zip4jConfig_T {
            }
            interface EndOfCentralDirectoryRecord_S {
            }
            type EndOfCentralDirectoryRecord_ST = ZipHeader_S & EndOfCentralDirectoryRecord_S;
            interface EndOfCentralDirectoryRecord_C extends EndOfCentralDirectoryRecord_ST {
                new():EndOfCentralDirectoryRecord;
            }
            interface EndOfCentralDirectoryRecord$ {
                getComment():string;
                getNumberOfThisDisk():number;
                getNumberOfThisDiskStartOfCentralDir():number;
                getOffsetOfEndOfCentralDirectory():long;
                getOffsetOfStartOfCentralDirectory():long;
                getSizeOfCentralDirectory():number;
                getTotalNumberOfEntriesInCentralDirectory():number;
                getTotalNumberOfEntriesInCentralDirectoryOnThisDisk():number;
                setComment(arg0:string):void;
                setNumberOfThisDisk(arg0:number):void;
                setNumberOfThisDiskStartOfCentralDir(arg0:number):void;
                setOffsetOfEndOfCentralDirectory(arg0:long):void;
                setOffsetOfStartOfCentralDirectory(arg0:long):void;
                setSizeOfCentralDirectory(arg0:number):void;
                setTotalNumberOfEntriesInCentralDirectory(arg0:number):void;
                setTotalNumberOfEntriesInCentralDirectoryOnThisDisk(arg0:number):void;
            }
            type EndOfCentralDirectoryRecord_T = ZipHeader & EndOfCentralDirectoryRecord_S & EndOfCentralDirectoryRecord$;
            interface EndOfCentralDirectoryRecord extends EndOfCentralDirectoryRecord_T {
            }
            interface Zip64ExtendedInfo_S {
            }
            type Zip64ExtendedInfo_ST = ZipHeader_S & Zip64ExtendedInfo_S;
            interface Zip64ExtendedInfo_C extends Zip64ExtendedInfo_ST {
                new():Zip64ExtendedInfo;
            }
            interface Zip64ExtendedInfo$ {
                getCompressedSize():long;
                getDiskNumberStart():number;
                getOffsetLocalHeader():long;
                getSize():number;
                getUncompressedSize():long;
                setCompressedSize(arg0:long):void;
                setDiskNumberStart(arg0:number):void;
                setOffsetLocalHeader(arg0:long):void;
                setSize(arg0:number):void;
                setUncompressedSize(arg0:long):void;
            }
            type Zip64ExtendedInfo_T = ZipHeader & Zip64ExtendedInfo_S & Zip64ExtendedInfo$;
            interface Zip64ExtendedInfo extends Zip64ExtendedInfo_T {
            }
            interface FileHeader_S {
            }
            type FileHeader_ST = AbstractFileHeader_S & FileHeader_S;
            interface FileHeader_C extends FileHeader_ST {
                new():FileHeader;
            }
            interface FileHeader$ {
                getDiskNumberStart():number;
                getExternalFileAttributes():number[];
                getFileComment():string;
                getFileCommentLength():number;
                getInternalFileAttributes():number[];
                getOffsetLocalHeader():long;
                getVersionMadeBy():number;
                setDiskNumberStart(arg0:number):void;
                setExternalFileAttributes(arg0:number[]):void;
                setFileComment(arg0:string):void;
                setFileCommentLength(arg0:number):void;
                setInternalFileAttributes(arg0:number[]):void;
                setOffsetLocalHeader(arg0:long):void;
                setVersionMadeBy(arg0:number):void;
                toString():string;
            }
            type FileHeader_T = AbstractFileHeader & FileHeader_S & FileHeader$;
            interface FileHeader extends FileHeader_T {
            }
            interface AbstractFileHeader_S {
            }
            type AbstractFileHeader_ST = ZipHeader_S & AbstractFileHeader_S;
            interface AbstractFileHeader_C extends AbstractFileHeader_ST {
                new():AbstractFileHeader;
            }
            interface AbstractFileHeader$ {
                equals(arg0:any):boolean;
                getAesExtraDataRecord():AESExtraDataRecord;
                getCompressedSize():long;
                getCompressionMethod():kd.bos.zip.model.enums.CompressionMethod;
                getCrc():long;
                getEncryptionMethod():kd.bos.zip.model.enums.EncryptionMethod;
                getExtraDataRecords():$.java.util.List;
                getExtraFieldLength():number;
                getFileName():string;
                getFileNameLength():number;
                getGeneralPurposeFlag():number[];
                getLastModifiedTime():long;
                getLastModifiedTimeEpoch():long;
                getUncompressedSize():long;
                getVersionNeededToExtract():number;
                getZip64ExtendedInfo():Zip64ExtendedInfo;
                isDataDescriptorExists():boolean;
                isDirectory():boolean;
                isEncrypted():boolean;
                isFileNameUTF8Encoded():boolean;
                setAesExtraDataRecord(arg0:AESExtraDataRecord):void;
                setCompressedSize(arg0:long):void;
                setCompressionMethod(arg0:kd.bos.zip.model.enums.CompressionMethod):void;
                setCrc(arg0:long):void;
                setDataDescriptorExists(arg0:boolean):void;
                setDirectory(arg0:boolean):void;
                setEncrypted(arg0:boolean):void;
                setEncryptionMethod(arg0:kd.bos.zip.model.enums.EncryptionMethod):void;
                setExtraDataRecords(arg0:$.java.util.List):void;
                setExtraFieldLength(arg0:number):void;
                setFileName(arg0:string):void;
                setFileNameLength(arg0:number):void;
                setFileNameUTF8Encoded(arg0:boolean):void;
                setGeneralPurposeFlag(arg0:number[]):void;
                setLastModifiedTime(arg0:long):void;
                setUncompressedSize(arg0:long):void;
                setVersionNeededToExtract(arg0:number):void;
                setZip64ExtendedInfo(arg0:Zip64ExtendedInfo):void;
            }
            type AbstractFileHeader_T = ZipHeader & AbstractFileHeader_S & AbstractFileHeader$;
            interface AbstractFileHeader extends AbstractFileHeader_T {
            }
            interface UnzipParameters_S {
            }
            interface UnzipParameters_C extends UnzipParameters_S {
                new():UnzipParameters;
            }
            interface UnzipParameters$ {
                isExtractSymbolicLinks():boolean;
                setExtractSymbolicLinks(arg0:boolean):void;
            }
            type UnzipParameters_T = UnzipParameters_S & UnzipParameters$;
            interface UnzipParameters extends UnzipParameters_T {
            }
        }
        namespace kd.bos.zip.model.enums{
            enum AesKeyStrength {
                KEY_STRENGTH_128,
                KEY_STRENGTH_192,
                KEY_STRENGTH_256
            }
            enum AesVersion {
                ONE,
                TWO
            }
            enum CompressionLevel {
                FASTEST,
                FAST,
                NORMAL,
                MAXIMUM,
                ULTRA
            }
            enum CompressionMethod {
                STORE,
                DEFLATE,
                AES_INTERNAL_ONLY
            }
            enum EncryptionMethod {
                NONE,
                ZIP_STANDARD,
                ZIP_STANDARD_VARIANT_STRONG,
                AES
            }
        }
        namespace kd.bos.zip.progress{
            interface ProgressMonitor_S {
            }
            interface ProgressMonitor_C extends ProgressMonitor_S {
                new():ProgressMonitor;
            }
            interface ProgressMonitor$ {
                endProgressMonitor():void;
                endProgressMonitor(arg0:$.java.lang.Exception):void;
                fullReset():void;
                getCurrentTask():ProgressMonitor$Task;
                getException():$.java.lang.Exception;
                getFileName():string;
                getPercentDone():number;
                getResult():ProgressMonitor$Result;
                getState():ProgressMonitor$State;
                getTotalWork():long;
                getWorkCompleted():long;
                isCancelAllTasks():boolean;
                isPause():boolean;
                setCancelAllTasks(arg0:boolean):void;
                setCurrentTask(arg0:ProgressMonitor$Task):void;
                setException(arg0:$.java.lang.Exception):void;
                setFileName(arg0:string):void;
                setPause(arg0:boolean):void;
                setPercentDone(arg0:number):void;
                setResult(arg0:ProgressMonitor$Result):void;
                setState(arg0:ProgressMonitor$State):void;
                setTotalWork(arg0:long):void;
                updateWorkCompleted(arg0:long):void;
            }
            type ProgressMonitor_T = ProgressMonitor_S & ProgressMonitor$;
            interface ProgressMonitor extends ProgressMonitor_T {
            }
            enum ProgressMonitor$Task {
                NONE,
                ADD_ENTRY,
                REMOVE_ENTRY,
                CALCULATE_CRC,
                EXTRACT_ENTRY,
                MERGE_ZIP_FILES,
                SET_COMMENT,
                RENAME_FILE
            }
            enum ProgressMonitor$Result {
                SUCCESS,
                WORK_IN_PROGRESS,
                ERROR,
                CANCELLED
            }
            enum ProgressMonitor$State {
                READY,
                BUSY
            }
        }
        namespace kd.sdk{
            interface SdkBaseModule_S {
            }
            type SdkBaseModule_ST = kd.sdk.module.Module_S & SdkBaseModule_S;
            interface SdkBaseModule_C extends SdkBaseModule_ST {
                new():SdkBaseModule;
            }
            interface SdkBaseModule$ {
            }
            type SdkBaseModule_T = kd.sdk.module.Module & SdkBaseModule_S & SdkBaseModule$;
            interface SdkBaseModule extends SdkBaseModule_T {
            }
        }
        namespace kd.sdk.bos.logging{
            interface LogFactory_S {
                getLog(clazz:$.java.lang.Class):$.kd.bos.logging.Log;
                getLog(name:string):$.kd.bos.logging.Log;
            }
            interface LogFactory_C extends LogFactory_S {
                new(arg0:kd.sdk.bos.logging.LogFactory):LogFactory;
            }
            interface LogFactory$ {
            }
            type LogFactory_T = LogFactory$;
            interface LogFactory extends LogFactory_T {
            }
        }
        namespace kd.sdk.module{
            interface Module_S {
            }
            interface Module$ {
                /**
                 * 模块启动时调用(目前不生效，待应用框架完善)
                 */
                start?():void;
                /**
                 * 模块停止时调用(目前不生效，待应用框架完善)
                 */
                stop?():void;
            }
            type Module_T = Module_S & Module$;
            interface Module extends Module_T {
            }
        }
        namespace kd.sdk.plugin{
            interface Plugin_S {
            }
            interface Plugin$ {
            }
            type Plugin_T = Plugin_S & Plugin$;
            interface Plugin extends Plugin_T {
            }
        }
        namespace kd.sdk.service{
            interface Service_S {
            }
            interface Service$ {
            }
            type Service_T = Service_S & Service$;
            interface Service extends Service_T {
            }
        }
        namespace kd.sdk.spi{
            interface ServiceLoader_S {
                /**
                 * 加载SPI实例列表
                 *
                 * @param spiCls spi接口类，接口可选择标注{@link kd.sdk.annotation.SdkSPI}
                 * @param <T>    接口类型
                 * @return SPI实例列表，若spiCls标注了<tt>SdkSPI</tt>且设置<tt>single=true</tt>，则与loadSingle同
                 */
                load(spiCls:$.java.lang.Class):$.java.util.List;
                /**
                 * 只允许加载唯一的实例(非单例)
                 *
                 * @param spiCls spi接口类
                 * @param <T>    接口类型
                 * @return spi实例
                 * @throws SPIConfigurationException 如果非唯一(实例数为0或者>1)则抛此异常
                 */
                loadSingle(spiCls:$.java.lang.Class):any;
            }
            interface ServiceLoader_C extends ServiceLoader_S {
                new():ServiceLoader;
            }
            interface ServiceLoader$ {
            }
            type ServiceLoader_T = ServiceLoader_S & ServiceLoader$;
            interface ServiceLoader extends ServiceLoader_T {
            }
            interface SPIConfigurationException_S {
            }
            type SPIConfigurationException_ST = $.java.lang.RuntimeException & SPIConfigurationException_S;
            interface SPIConfigurationException_C extends SPIConfigurationException_ST {
                /**
                 * @param msg 异常信息
                 */
                new(msg:string):SPIConfigurationException;
            }
            interface SPIConfigurationException$ {
            }
            type SPIConfigurationException_T = $.java.lang.RuntimeException & SPIConfigurationException_S & SPIConfigurationException$;
            interface SPIConfigurationException extends SPIConfigurationException_T {
            }
        }
    }
}
export {};