declare namespace API {
  type ResourceModelVersionListResponse = {
    modelVersions?: ModelVersion[];
  };
  type AlgorithmModel = {
    categoryFkId?: number;
    createTime?: string;
    id?: number;
    name?: string;
    defaultVersionFkId?: number;
    remark?: string;
    updateTime?: string;
  };

  type ResourceModelVersionFkSelectResponse = {
    id?: number;
    name?: string;
  };

  type BusinessImage = {
    configHash?: string;
    createTime?: string;
    id?: number;
    name?: string;
    path?: string;
    projectFkId?: number;
    remark?: string;
    startCode?: string;
    updateTime?: string;
    version?: string;
  };

  type FkResult = {
    list?: any;
  };

  type GetById = {
    /** 主键ID */
    id?: number;
  };

  type GetFkSelect = {
    /** 关键字 */
    keyword?: string;
  };

  type IdsReq = {
    ids?: number[];
  };

  type ModelCategory = {
    code?: string;
    createTime?: string;
    id?: number;
    name?: string;
    remark?: string;
    updateTime?: string;
  };

  type ModelImage = {
    createTime?: string;
    id?: number;
    modelVersionFkId?: number;
    name?: string;
    path?: string;
    remark?: string;
    startCode?: string;
    updateTime?: string;
  };

  type ModelVersion = {
    createTime?: string;
    id?: number;
    isEnable?: boolean;
    modelFkId?: number;
    modelConfig?: Record<string, any>;
    path?: string;
    status?: number;
    remark?: string;
    startCode?: string;
    updateTime?: string;
    version?: string;
  };

  type NamesResult = {
    list?: any;
  };

  type PageResult = {
    list?: any;
    page?: number;
    pageSize?: number;
    total?: number;
  };

  type ResourceAlgorithmModelResponse = {
    algorithmModel?: AlgorithmModel;
  };

  type ResourceBusinessImageResponse = {
    businessImage?: BusinessImage;
  };

  type ResourceModelCategoryResponse = {
    modelCategory?: ModelCategory;
  };

  type ResourceModelImageResponse = {
    modelImage?: ModelImage;
  };

  type ResourceModelVersionResponse = {
    modelVersion?: ModelVersion;
  };

  type Response = {
    code?: number;
    data?: any;
    msg?: string;
    success?: boolean;
  };

  type SearchAlgorithmModelParams = {
    categoryFkId?: number;
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    id?: number;
    /** 关键字 */
    keyword?: string;
    name?: string;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    remark?: string;
    updateTime?: string;
  };

  type SearchBusinessImageParams = {
    configHash?: string;
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    id?: number;
    /** 关键字 */
    keyword?: string;
    name?: string;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    path?: string;
    projectFkId?: number;
    remark?: string;
    startCode?: string;
    updateTime?: string;
    version?: string;
  };

  type SearchModelCategoryParams = {
    code?: string;
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    id?: number;
    /** 关键字 */
    keyword?: string;
    name?: string;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    remark?: string;
    updateTime?: string;
  };

  type SearchModelImageParams = {
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    id?: number;
    /** 关键字 */
    keyword?: string;
    modelVersionFkId?: number;
    name?: string;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    path?: string;
    remark?: string;
    startCode?: string;
    updateTime?: string;
  };

  type SearchModelVersionParams = {
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    id?: number;
    isEnable?: boolean;
    /** 关键字 */
    keyword?: string;
    modelFkId?: number;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    path?: string;
    remark?: string;
    startCode?: string;
    updateTime?: string;
    version?: string;
  };
}
