/**
 * Namespace Api
 *
 * All backend api type
 */
declare namespace Api {
  /**
   * namespace Art
   *
   * backend api module: "Art"
   */
  namespace Art {
    /** school major */
    type SchoolMajor = Common.CommonRecord<{
      /** 主键ID */
      majorId: CommonType.IdType;
      /** 租户编号 */
      tenantId: CommonType.IdType;
      /** 学校ID(冗余便于查) */
      schoolId: CommonType.IdType;
      /** 学院ID */
      collegeId: CommonType.IdType;
      /** 专业编码(可选) */
      majorCode: string;
      /** 专业名称 */
      majorName: string;
      /** 学历层次：本科/专科 */
      educationLevel: string;
      /** 学制(3/4/5) */
      durationYears: number;
      /** 专业类别：工学/理学/艺术学... */
      majorCategory: string;
      /** 学位类型：工学学士/理学学士/艺术学学士... */
      degreeType: string;
      /** 专业介绍 */
      introduction: string;
      /** 专业标签列表（推荐字段） */
      majorTags: string[];
      /** 专业标签文本（兼容旧字段） */
      tags: string;
      /** 删除标志（0代表存在 1代表删除） */
      delFlag: string;
      /** 备注 */
      remark: string;
    }>;

    /** school major search params */
    type SchoolMajorSearchParams = CommonType.RecordNullable<
      Pick<
        Api.Art.SchoolMajor,
        | 'schoolId'
        | 'collegeId'
        | 'majorCode'
        | 'majorName'
        | 'educationLevel'
        | 'durationYears'
        | 'majorCategory'
        | 'degreeType'
        | 'introduction'
      > &
        Api.Common.CommonSearchParams
    >;

    /** school major operate params */
    type SchoolMajorOperateParams = CommonType.RecordNullable<
      Pick<
        Api.Art.SchoolMajor,
        | 'majorId'
        | 'schoolId'
        | 'collegeId'
        | 'majorCode'
        | 'majorName'
        | 'educationLevel'
        | 'durationYears'
        | 'majorCategory'
        | 'degreeType'
        | 'introduction'
        | 'majorTags'
        | 'tags'
        | 'remark'
      >
    >;

    /** school major list */
    type SchoolMajorList = Api.Common.PaginatingQueryRecord<SchoolMajor>;
  }
}
