/**
 * Namespace Api
 *
 * All backend api type
 */
declare namespace Api {
  /**
   * namespace Art
   *
   * backend api module: "Art"
   */
  namespace Art {
    /** major */
    type Major = Common.CommonRecord<{
      /** 专业主键ID */
      majorId: CommonType.IdType;
      /** 租户编号 */
      tenantId: CommonType.IdType;
      /** 删除标志（0存在 1删除） */
      delFlag: string;
      /** 专业名称 */
      majorName: string;
      /** 学历层次 */
      educationLevel: string;
      /** 专业图标 */
      majorIcon: string;
      /** 学制(年) */
      schoolingYears: number;
      /** 所属一级学科 */
      disciplinePrimary: string;
      /** 所属二级学科 */
      disciplineSecondary: string;
      /** 授予学士学位 */
      degreeAwarded: string;
      /** 专业概括 */
      summary: string;
      /** 培养方向 */
      trainingDirection: string;
      /** 主要课程 */
      coreCourses: string;
      /** 备注 */
      remark: string;
    }>;

    /** major search params */
    type MajorSearchParams = CommonType.RecordNullable<
      Pick<
        Api.Art.Major,
        | 'majorName'
        | 'educationLevel'
        | 'majorIcon'
        | 'schoolingYears'
        | 'disciplinePrimary'
        | 'disciplineSecondary'
        | 'degreeAwarded'
        | 'summary'
        | 'trainingDirection'
        | 'coreCourses'
      > &
        Api.Common.CommonSearchParams
    >;

    /** major operate params */
    type MajorOperateParams = CommonType.RecordNullable<
      Pick<
        Api.Art.Major,
        | 'majorId'
        | 'majorName'
        | 'educationLevel'
        | 'majorIcon'
        | 'schoolingYears'
        | 'disciplinePrimary'
        | 'disciplineSecondary'
        | 'degreeAwarded'
        | 'summary'
        | 'trainingDirection'
        | 'coreCourses'
        | 'remark'
      >
    >;

    /** major list */
    type MajorList = Api.Common.PaginatingQueryRecord<Major>;
  }
}
