declare namespace API {
  type FkResult = {
    list?: any;
  };

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

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

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

  type NamesResult = {
    list?: any;
  };

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

  type Project = {
    code?: string;
    createTime?: string;
    groupIds?: number[];
    id?: number;
    inferConfig?: Record<string, any>;
    info?: string;
    isEnable?: boolean;
    name?: string;
    projectFilePath?: string;
    remark?: string;
    updateTime?: string;
  };

  type ProjectModelConfig = {
    createTime?: string;
    /** 设备是一个 以,隔开的存储device id的字符例如   1,2 */
    devices?: string;
    id?: number;
    modelConfig?: Record<string, any>;
    modelFkId?: number;
    modelVersionFkId?: number;
    projectConfig?: Record<string, any>;
    projectGroupFkId?: number;
    remark?: string;
    updateTime?: string;
  };

  type ProjectProjectModelConfigResponse = {
    ProjectModelConfig?: ProjectModelConfig;
  };

  type ProjectProjectResponse = {
    project?: Project;
  };

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

  type SearchProjectModelConfigParams = {
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    /** 设备是一个 以,隔开的存储device id的字符例如   1,2 */
    devices?: string;
    id?: number;
    /** 关键字 */
    keyword?: string;
    modelConfig?: Record<string, any>;
    modelFkId?: number;
    modelVersionFkId?: number;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    projectConfig?: Record<string, any>;
    projectGroupFkId?: number;
    remark?: string;
    updateTime?: string;
  };

  type SearchProjectParams = {
    code?: string;
    createTime?: string;
    /** 排序方式:升序false(默认)|降序true */
    desc?: boolean;
    groupIds?: number[];
    id?: number;
    inferConfig?: Record<string, any>;
    info?: string;
    isEnable?: boolean;
    /** 关键字 */
    keyword?: string;
    name?: string;
    /** 排序 */
    orderKey?: string;
    /** 页码 */
    page?: number;
    /** 每页大小 */
    pageSize?: number;
    projectFilePath?: string;
    remark?: string;
    updateTime?: string;
  };

  type UpdateProjectGroupParams = {
    groupIds?: number[];
    projectId?: number;
  };
}
