/// <reference types="../../@cosmic/bos-script" />
/// <reference types="../../@cosmic/bos-core" />
declare global {
    namespace $ {
        namespace kd.sdk.hdtc.hrcc{
            interface SdkHdtcHrccModule_S {
            }
            type SdkHdtcHrccModule_ST = $.kd.sdk.module.Module & SdkHdtcHrccModule_S;
            interface SdkHdtcHrccModule_C extends SdkHdtcHrccModule_ST {
                new():SdkHdtcHrccModule;
            }
            interface SdkHdtcHrccModule$ {
            }
            type SdkHdtcHrccModule_T = $.kd.sdk.module.Module & SdkHdtcHrccModule_S & SdkHdtcHrccModule$;
            interface SdkHdtcHrccModule extends SdkHdtcHrccModule_T {
            }
        }
        namespace kd.sdk.hdtc.hrcc.fileimport.model{
            interface FileInfo_S {
            }
            type FileInfo_ST = $.java.io.Serializable & FileInfo_S;
            interface FileInfo_C extends FileInfo_ST {
                new():FileInfo;
                new(fileName:string):FileInfo;
                new(fileName:string,fileId:string,fileUid:string,size:long):FileInfo;
            }
            interface FileInfo$ {
                getBizIde():any;
                getCreateMen():long;
                getCreateName():string;
                getCreateNumber():string;
                getCreateTime():Date;
                getFileId():string;
                getFileName():string;
                /**
                 * 文件名后缀，
                 * @param fileName 文件名
                 * @return 如:test.zip，获取zip
                 */
                getFileSuffix(fileName:string):string;
                getFileUid():string;
                getFormat():string;
                getSize():long;
                getSubTaskId():any;
                setBizIde(bizIde:string):void;
                setCreateMen(createMen:long):void;
                setCreateName(createName:string):void;
                setCreateNumber(createNumber:string):void;
                setCreateTime(createTime:Date):void;
                setFileId(fileId:string):void;
                setFileName(fileName:string):void;
                setFileUid(fileUid:string):void;
                setFormat(format:string):void;
                setSize(size:long):void;
                setSubTaskId(subTaskId:any):void;
            }
            type FileInfo_T = $.java.io.Serializable & FileInfo_S & FileInfo$;
            interface FileInfo extends FileInfo_T {
            }
        }
        namespace kd.sdk.hdtc.hrcc.fileimport.service{
            interface IFileMigrationService_S {
            }
            interface IFileMigrationService$ {
                /**
                 * 删除文件服务器上的文件
                 *
                 * @param fileInfoList 附件信息 {@link FileInfo}
                 */
                deleteFile?(fileInfoList:$.java.util.List):$.java.util.Map;
                /**
                 * 文件上传处理
                 * 不包含文件绑定业务数据
                 *
                 * @param fileInfoList 附件信息 {@link FileInfo}
                 * @return 文件信息 {@link FileInfo}
                 */
                upload?(fileInfoList:$.java.util.List):$.java.util.List;
            }
            type IFileMigrationService_T = IFileMigrationService_S & IFileMigrationService$;
            interface IFileMigrationService extends IFileMigrationService_T {
            }
        }
        namespace kd.sdk.hdtc.hrdbs.model{
            interface ApiResponse_S {
                /**
                 * Api接口调用全部失败
                 *
                 * @param failedCount 失败数量
                 * @param failedMsg 失败信息
                 * @return 结果对象
                 */
                failed(failedCount:string,failedMsg:string):ApiResponse;
                /**
                 * Api接口调用失败
                 *
                 * @param failedCount 失败数量
                 * @param successCount 成功数量
                 * @param failedMsgMap 失败信息
                 * @return 结果对象
                 */
                failed(failedCount:string,successCount:string,failedMsgMap:$.java.util.Map):ApiResponse;
                /**
                 * Api接口调用成功
                 *
                 * @param successCount 成功数量
                 * @return 结果对象
                 */
                success(successCount:string):ApiResponse;
            }
            type ApiResponse_ST = $.java.io.Serializable & ApiResponse_S;
            interface ApiResponse_C extends ApiResponse_ST {
                new():ApiResponse;
            }
            interface ApiResponse$ {
                getErrorMsg():$.java.util.Map;
                getFailCount():string;
                getSuccessCount():string;
                setErrorMsg(errorMsg:$.java.util.Map):void;
                setFailCount(failCount:string):void;
                setSuccessCount(successCount:string):void;
            }
            type ApiResponse_T = $.java.io.Serializable & ApiResponse_S & ApiResponse$;
            interface ApiResponse extends ApiResponse_T {
            }
        }
        namespace kd.sdk.hdtc.hrdi{
            interface SdkHdtcHrdiModule_S {
            }
            type SdkHdtcHrdiModule_ST = $.kd.sdk.module.Module & SdkHdtcHrdiModule_S;
            interface SdkHdtcHrdiModule_C extends SdkHdtcHrdiModule_ST {
                new():SdkHdtcHrdiModule;
            }
            interface SdkHdtcHrdiModule$ {
            }
            type SdkHdtcHrdiModule_T = $.kd.sdk.module.Module & SdkHdtcHrdiModule_S & SdkHdtcHrdiModule$;
            interface SdkHdtcHrdiModule extends SdkHdtcHrdiModule_T {
            }
        }
        namespace kd.sdk.hdtc.hrdi.adaptor.api{
            interface IBizSyncSceneAdaptor_S {
            }
            interface IBizSyncSceneAdaptor$ {
                /**
                 * 业务场景适配同步
                 * 入参为中间表对应业务实体动态对象数组，出参为业务数据同步失败信息
                 *
                 * @param   dys                 业务实体动态对象
                 * @return  Map<String, String> 同步业务数据校验失败信息
                 * key为业务数据编码，value为同步结果信息，例如{["1010","名称不能为空"],["1020","上级不能为空"]}
                 */
                sync(dys:$.kd.bos.dataentity.entity.DynamicObject[]):$.java.util.Map;
            }
            type IBizSyncSceneAdaptor_T = IBizSyncSceneAdaptor_S & IBizSyncSceneAdaptor$;
            interface IBizSyncSceneAdaptor extends IBizSyncSceneAdaptor_T {
            }
        }
        namespace kd.sdk.hdtc.hrdi.adaptor.extend{
            interface IBaseDataBeforeInvokeApiExtend_S {
            }
            interface IBaseDataBeforeInvokeApiExtend$ {
                /**
                 * 基础资料调用API前埋点
                 *
                 * @param args 基础资料调api前埋点入参
                 */
                beforeInvokeApi(args:kd.sdk.hdtc.hrdi.adaptor.model.BaseDataBeforeInvokeApiArgs):void;
            }
            type IBaseDataBeforeInvokeApiExtend_T = IBaseDataBeforeInvokeApiExtend_S & IBaseDataBeforeInvokeApiExtend$;
            interface IBaseDataBeforeInvokeApiExtend extends IBaseDataBeforeInvokeApiExtend_T {
            }
            interface IPersonMainEntityExtend_S {
            }
            interface IPersonMainEntityExtend$ {
                /**
                 * 获取人员主数据扩展实体
                 * 返回类型为Map，key为实体标识，value为实体在人事业务档案（hspm_ermanfile）上对应的字段
                 * 例如:("hrpi_depemp", "depemp")
                 * 如果在人员档案上没有对应字段，则value设置为person.id
                 * 例如:("hrpi_perregion", "person.id")
                 *
                 * @return 人员主数据扩展实体Map
                 */
                getPersonMainExtEntity():$.java.util.Map;
            }
            type IPersonMainEntityExtend_T = IPersonMainEntityExtend_S & IPersonMainEntityExtend$;
            interface IPersonMainEntityExtend extends IPersonMainEntityExtend_T {
            }
            interface IBizSyncSceneExtendAdaptor_S {
            }
            interface IBizSyncSceneExtendAdaptor$ {
                /**
                 *  调用业务接口同步之后埋点
                 * 入参为调业务接口同步错误信息，可对错误信息调整
                 *
                 *  @param entityNumber 实体对象
                 *  @param syncErrorMap 调业务接口同步错误信息
                 */
                afterSync(entityNumber:string,syncErrorMap:$.java.util.Map):void;
                /**
                 * 调用业务接口同步成功之后埋点
                 * 可根据对集成成功的业务数据，做后续逻辑（例如人员离职成功后禁用平台人）
                 *
                 * @param dynList 同步成功的业务数据
                 */
                afterSyncSuccess(dynList:$.java.util.List):void;
                /**
                 * 调用业务接口同步之前埋点
                 * 入参为中间表对应业务实体动态对象数组，可对业务实体动态对象调整，不可改变动态对象实体类型
                 *
                 * @param dyns 业务实体动态对象数组
                 */
                beforeSync(dyns:$.kd.bos.dataentity.entity.DynamicObject[]):void;
            }
            type IBizSyncSceneExtendAdaptor_T = IBizSyncSceneExtendAdaptor_S & IBizSyncSceneExtendAdaptor$;
            interface IBizSyncSceneExtendAdaptor extends IBizSyncSceneExtendAdaptor_T {
            }
            interface IMidTableDataExtendValidator_S {
            }
            interface IMidTableDataExtendValidator$ {
                /**
                 * 中间表数据校验
                 * 入参为中间表数据数组
                 * 出参为校验失败信息Map，key为中间表数据ID，value为失败信息
                 *
                 * @param dynList 中间表数据动态对象集合
                 * @return 校验失败信息
                 */
                validate(dynList:$.java.util.List):$.java.util.Map;
            }
            type IMidTableDataExtendValidator_T = IMidTableDataExtendValidator_S & IMidTableDataExtendValidator$;
            interface IMidTableDataExtendValidator extends IMidTableDataExtendValidator_T {
            }
            interface IBaseDataUniqueFieldExtend_S {
            }
            interface IBaseDataUniqueFieldExtend$ {
                /**
                 * 获取基础资料唯一值字段
                 *
                 * @param entityNumber 基础资料编码
                 * @return 基础资料唯一值
                 */
                getUniqueField(entityNumber:string):string;
            }
            type IBaseDataUniqueFieldExtend_T = IBaseDataUniqueFieldExtend_S & IBaseDataUniqueFieldExtend$;
            interface IBaseDataUniqueFieldExtend extends IBaseDataUniqueFieldExtend_T {
            }
            interface IBizPersonDataMappingExtendUpdate_S {
            }
            interface IBizPersonDataMappingExtendUpdate$ {
                /**
                 * 人员四层人id生成之后埋点
                 * 四层人ID生成后，可通过该埋点替换四层人ID
                 * 如：实习生转正场景，默认生成不同的四层人ID，如果想要自然人ID与之前一致，可在该埋点的扩展插件中替换自然人ID
                 *
                 * @param argsList 四层人映射关系扩展埋点入参
                 */
                afterGenerateFourFloorPersonId(argsList:$.java.util.List):void;
            }
            type IBizPersonDataMappingExtendUpdate_T = IBizPersonDataMappingExtendUpdate_S & IBizPersonDataMappingExtendUpdate$;
            interface IBizPersonDataMappingExtendUpdate extends IBizPersonDataMappingExtendUpdate_T {
            }
        }
        namespace kd.sdk.hdtc.hrdi.adaptor.model{
            interface BaseDataBeforeInvokeApiArgs_S {
            }
            interface BaseDataBeforeInvokeApiArgs_C extends BaseDataBeforeInvokeApiArgs_S {
                new():BaseDataBeforeInvokeApiArgs;
            }
            interface BaseDataBeforeInvokeApiArgs$ {
                getDataList():$.java.util.List;
                getEntityNumber():string;
                getOperation():string;
                setDataList(dataList:$.java.util.List):void;
                setEntityNumber(entityNumber:string):void;
                setOperation(operation:string):void;
            }
            type BaseDataBeforeInvokeApiArgs_T = BaseDataBeforeInvokeApiArgs_S & BaseDataBeforeInvokeApiArgs$;
            interface BaseDataBeforeInvokeApiArgs extends BaseDataBeforeInvokeApiArgs_T {
            }
            interface BizPersonDataMappingArgs_S {
            }
            interface BizPersonDataMappingArgs_C extends BizPersonDataMappingArgs_S {
                new():BizPersonDataMappingArgs;
            }
            interface BizPersonDataMappingArgs$ {
                getNumber():string;
                getOldNumber():string;
                getPersonIdMap():$.java.util.Map;
                getSourceDataKey():string;
                setNumber(number_arg:string):void;
                setOldNumber(oldNumber:string):void;
                setPersonIdMap(personIdMap:$.java.util.Map):void;
                setSourceDataKey(sourceDataKey:string):void;
            }
            type BizPersonDataMappingArgs_T = BizPersonDataMappingArgs_S & BizPersonDataMappingArgs$;
            interface BizPersonDataMappingArgs extends BizPersonDataMappingArgs_T {
            }
            interface PersonReEmploymentArgs_S {
            }
            interface PersonReEmploymentArgs_C extends PersonReEmploymentArgs_S {
                new():PersonReEmploymentArgs;
            }
            interface PersonReEmploymentArgs$ {
                getCredentialsNumber():string;
                getCredentialsTypeId():long;
                getNumber():string;
                getOldNumber():string;
                getSourceSysKey():string;
                setCredentialsNumber(credentialsNumber:string):void;
                setCredentialsTypeId(credentialsTypeId:long):void;
                setNumber(number_arg:string):void;
                setOldNumber(oldNumber:string):void;
                setSourceSysKey(sourceSysKey:string):void;
            }
            type PersonReEmploymentArgs_T = PersonReEmploymentArgs_S & PersonReEmploymentArgs$;
            interface PersonReEmploymentArgs extends PersonReEmploymentArgs_T {
            }
        }
        namespace kd.sdk.hdtc.hrdi.adaptor.service{
            interface HrdiBizDataSyncServiceHelper_S {
                /**
                 * 集成中心业务数据同步服务
                 *
                 * @param tableNumber 集成中间表实体编码
                 * @param batchNumber 批次号
                 * @param sourceSys 外部系统编码
                 * @param data 待同步数据
                 * @return 同步结果
                 */
                syncMidTableData(tableNumber:string,batchNumber:string,sourceSys:string,data:$.java.util.List):kd.sdk.hdtc.hrdbs.model.ApiResponse;
            }
            interface HrdiBizDataSyncServiceHelper_C extends HrdiBizDataSyncServiceHelper_S {
                new():HrdiBizDataSyncServiceHelper;
            }
            interface HrdiBizDataSyncServiceHelper$ {
            }
            type HrdiBizDataSyncServiceHelper_T = HrdiBizDataSyncServiceHelper_S & HrdiBizDataSyncServiceHelper$;
            interface HrdiBizDataSyncServiceHelper extends HrdiBizDataSyncServiceHelper_T {
            }
        }
    }
}
export {};