/**
 * This file was auto-generated by openapi-typescript.
 * Do not make direct changes to the file.
 */

export interface paths {
  "/calendar": {
    get: operations["getCalendar"];
  };
  "/search/subject/{keywords}": {
    get: operations["searchSubjectByKeywords"];
  };
  "/v0/search/subjects": {
    /**
     * ## 实验性 API， 本 schema 和实际的 API 行为都可能随时发生改动
     *
     * 目前支持的筛选条件包括:
     * - `type`: 条目类型，参照 `SubjectType` enum， `或`。
     * - `tag`: 标签，可以多次出现。`且` 关系。
     * - `airdate`: 播出日期/发售日期。`且` 关系。
     * - `rating`: 用于搜索指定评分的条目。`且` 关系。
     * - `rank`: 用于搜索指定排名的条目。`且` 关系。
     * - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项，不会返回NSFW条目。
     *
     * 不同筛选条件之间为 `且`
     *
     *
     * 由于目前 meilisearch 的一些问题，条目排名更新并不会触发搜索数据更新，所以条目排名可能是过期数据。
     *
     * 希望未来版本的 meilisearch 能解决相关的问题。
     */
    post: operations["searchSubjects"];
  };
  "/v0/subjects/{subject_id}": {
    /** cache with 300s */
    get: operations["getSubjectById"];
  };
  "/v0/subjects/{subject_id}/image": {
    get: operations["getSubjectImageById"];
  };
  "/v0/subjects/{subject_id}/persons": {
    get: operations["getRelatedPersonsBySubjectId"];
  };
  "/v0/subjects/{subject_id}/characters": {
    get: operations["getRelatedCharactersBySubjectId"];
  };
  "/v0/subjects/{subject_id}/subjects": {
    get: operations["getRelatedSubjectsBySubjectId"];
  };
  "/v0/episodes": {
    get: operations["getEpisodes"];
  };
  "/v0/episodes/{episode_id}": {
    get: operations["getEpisodeById"];
  };
  "/v0/characters/{character_id}": {
    /** cache with 60s */
    get: operations["getCharacterById"];
  };
  "/v0/characters/{character_id}/image": {
    get: operations["getCharacterImageById"];
  };
  "/v0/characters/{character_id}/subjects": {
    get: operations["getRelatedSubjectsByCharacterId"];
  };
  "/v0/characters/{character_id}/persons": {
    get: operations["getRelatedPersonsByCharacterId"];
  };
  "/v0/persons/{person_id}": {
    /** cache with 60s */
    get: operations["getPersonById"];
  };
  "/v0/persons/{person_id}/image": {
    get: operations["getPersonImageById"];
  };
  "/v0/persons/{person_id}/subjects": {
    get: operations["getRelatedSubjectsByPersonId"];
  };
  "/v0/persons/{person_id}/characters": {
    get: operations["getRelatedCharactersByPersonId"];
  };
  "/v0/users/{username}": {
    /** 获取用户信息 */
    get: operations["getUserByName"];
  };
  "/v0/users/{username}/avatar": {
    /** 获取用户头像，302 重定向至头像地址，设置了 username 之后无法使用 UID 查询。 */
    get: operations["getUserAvatarByName"];
  };
  "/v0/me": {
    /** 返回当前 Access Token 对应的用户信息 */
    get: operations["getMyself"];
  };
  "/v0/users/{username}/collections": {
    /** 获取对应用户的收藏，查看私有收藏需要access token。 */
    get: operations["getUserCollectionsByUsername"];
  };
  "/v0/users/{username}/collections/{subject_id}": {
    /** 获取对应用户的收藏，查看私有收藏需要access token。 */
    get: operations["getUserCollection"];
  };
  "/v0/users/-/collections/{subject_id}": {
    /**
     * 修改条目收藏状态
     *
     * 由于直接修改剧集条目的完成度可能会引起意料之外效果，只能用于修改书籍类条目的完成度。
     *
     * PATCH 方法的所有请求体字段均可选
     */
    patch: operations["patchUserCollection"];
  };
  "/v0/users/-/collections/{subject_id}/episodes": {
    get: operations["getUserSubjectEpisodeCollection"];
    /** 同时会重新计算条目的完成度 */
    patch: operations["patchUserSubjectEpisodeCollection"];
  };
  "/v0/users/-/collections/-/episodes/{episode_id}": {
    get: operations["getUserEpisodeCollection"];
    put: operations["putUserEpisodeCollection"];
  };
  "/v0/revisions/persons": {
    get: operations["getPersonRevisions"];
  };
  "/v0/revisions/persons/{revision_id}": {
    get: operations["getPersonRevisionByRevisionId"];
  };
  "/v0/revisions/characters": {
    get: operations["getCharacterRevisions"];
  };
  "/v0/revisions/characters/{revision_id}": {
    get: operations["getCharacterRevisionByRevisionId"];
  };
  "/v0/revisions/subjects": {
    get: operations["getSubjectRevisions"];
  };
  "/v0/revisions/subjects/{revision_id}": {
    get: operations["getSubjectRevisionByRevisionId"];
  };
  "/v0/revisions/episodes": {
    get: operations["getEpisodeRevisions"];
  };
  "/v0/revisions/episodes/{revision_id}": {
    get: operations["getEpisodeRevisionByRevisionId"];
  };
  "/v0/indices": {
    post: operations["newIndex"];
  };
  "/v0/indices/{index_id}": {
    get: operations["getIndexById"];
    put: operations["editIndexById"];
  };
  "/v0/indices/{index_id}/subjects": {
    get: operations["getIndexSubjectsByIndexId"];
    post: operations["addSubjectToIndexByIndexId"];
  };
  "/v0/indices/{index_id}/subjects/{subject_id}": {
    /** 如果条目不存在于目录，会创建该条目 */
    put: operations["editIndexSubjectsByIndexIdAndSubjectID"];
    delete: operations["delelteSubjectFromIndexByIndexIdAndSubjectID"];
  };
  "/v0/indices/{index_id}/collect": {
    /** 为当前用户收藏一条目录 */
    post: operations["collectIndexByIndexIdAndUserId"];
    /** 为当前用户取消收藏一条目录 */
    delete: operations["uncollectIndexByIndexIdAndUserId"];
  };
}

export interface components {
  schemas: {
    /**
     * @description 条目类型 <br> 1 = book <br> 2 = anime <br> 3 = music <br> 4 = game <br> 6 = real
     * @example 2
     * @enum {integer}
     */
    Legacy_SubjectType: 1 | 2 | 3 | 4 | 6;
    Legacy_SubjectSmall: {
      /**
       * @description 条目 ID
       * @example 12
       */
      id?: number;
      /**
       * @description 条目地址
       * @example https://bgm.tv/subject/12
       */
      url?: string;
      /**
       * SubjectType
       * @description 条目类型
       * - `1` 为 书籍
       * - `2` 为 动画
       * - `3` 为 音乐
       * - `4` 为 游戏
       * - `6` 为 三次元
       *
       * 没有 `5`
       * @example 2
       * @enum {integer}
       */
      type?: 1 | 2 | 3 | 4 | 6;
      /**
       * @description 条目名称
       * @example ちょびっツ
       */
      name?: string;
      /**
       * @description 条目中文名称
       * @example 人形电脑天使心
       */
      name_cn?: string;
      /**
       * @description 剧情简介
       * @example 在不久的将来,电子技术飞速发展,电脑成为人们生活中不可缺少的一部分.主角的名字是本须和秀树,是个19岁的少年,由于考试失败,来到东京上补习班,过着贫穷潦倒的生活……\r\n到达东京的第一天,他很幸运的在垃圾堆捡到一个人型电脑,一直以来秀树都非常渴望拥有个人电脑.当他抱着她带返公寓后,却不知如何开机,在意想不到的地方找到开关并开启后,故事就此展开\r\n本须和秀树捡到了人型计算机〔唧〕。虽然不晓得她到底是不是〔Chobits〕，但她的身上似乎藏有极大的秘密。看到秀树为了钱而烦恼，唧出去找打工，没想到却找到了危险的工作！为了让秀树开心，唧开始到色情小屋打工。但她在遭到过度激烈的强迫要求之后失控。让周遭计算机因此而强制停摆。\r\n另一方面，秀树发现好友新保与补习班的清水老师有着不可告人的关系……
       */
      summary?: string;
      /**
       * @description 放送开始日期
       * @example 2002-04-02
       */
      air_date?: string;
      /**
       * @description 放送星期
       * @example 2
       */
      air_weekday?: number;
      /** @description 封面 */
      images?: {
        /** @example https://lain.bgm.tv/pic/cover/l/c2/0a/12_24O6L.jpg */
        large?: string;
        /** @example https://lain.bgm.tv/pic/cover/c/c2/0a/12_24O6L.jpg */
        common?: string;
        /** @example https://lain.bgm.tv/pic/cover/m/c2/0a/12_24O6L.jpg */
        medium?: string;
        /** @example https://lain.bgm.tv/pic/cover/s/c2/0a/12_24O6L.jpg */
        small?: string;
        /** @example https://lain.bgm.tv/pic/cover/g/c2/0a/12_24O6L.jpg */
        grid?: string;
      };
      /**
       * @description 话数
       * @example 27
       */
      eps?: number;
      /**
       * @description 话数
       * @example 27
       */
      eps_count?: number;
      /** @description 评分 */
      rating?: {
        /**
         * @description 总评分人数
         * @example 2289
         */
        total?: number;
        /** @description 各分值评分人数 */
        count?: {
          /** @example 5 */
          "1"?: number;
          /** @example 3 */
          "2"?: number;
          /** @example 4 */
          "3"?: number;
          /** @example 6 */
          "4"?: number;
          /** @example 46 */
          "5"?: number;
          /** @example 267 */
          "6"?: number;
          /** @example 659 */
          "7"?: number;
          /** @example 885 */
          "8"?: number;
          /** @example 284 */
          "9"?: number;
          /** @example 130 */
          "10"?: number;
        };
        /**
         * @description 评分
         * @example 7.6
         */
        score?: number;
      };
      /**
       * @description 排名
       * @example 573
       */
      rank?: number;
      /** @description 收藏人数 */
      collection?: {
        /**
         * @description 想做
         * @example 608
         */
        wish?: number;
        /**
         * @description 做过
         * @example 3010
         */
        collect?: number;
        /**
         * @description 在做
         * @example 103
         */
        doing?: number;
        /**
         * @description 搁置
         * @example 284
         */
        on_hold?: number;
        /**
         * @description 抛弃
         * @example 86
         */
        dropped?: number;
      };
    };
    Legacy_SubjectMedium: components["schemas"]["Legacy_SubjectSmall"] & {
      /** @description 角色信息 */
      crt?: (components["schemas"]["Legacy_Character"] & {
        /**
         * @description 角色类型
         * @example 主角
         */
        role_name?: string;
      })[];
      /** @description 制作人员信息 */
      staff?: (components["schemas"]["Legacy_Person"] & {
        /**
         * @description 人物类型
         * @example 主角
         */
        role_name?: string;
        /** @description 职位 */
        jobs?: string[];
      })[];
    };
    Legacy_SubjectLarge: components["schemas"]["Legacy_SubjectMedium"] & {
      /** @description 章节列表 */
      eps?: components["schemas"]["Legacy_Episode"][];
      /** @description 讨论版 */
      topic?: components["schemas"]["Legacy_Topic"][];
      /** @description 评论日志 */
      blog?: components["schemas"]["Legacy_Blog"][];
    };
    /**
     * @description 章节类型 <br> 0 = 本篇 <br> 1 = 特别篇 <br> 2 = OP <br> 3 = ED <br> 4 = 预告/宣传/广告 <br> 5 = MAD <br> 6 = 其他
     * @example 0
     * @enum {integer}
     */
    Legacy_EpisodeType: 0 | 1 | 2 | 3 | 4 | 5 | 6;
    /** @description 章节信息 */
    Legacy_Episode: {
      /**
       * @description 章节 ID
       * @example 1027
       */
      id?: number;
      /**
       * @description 章节地址
       * @example https://bgm.tv/ep/1027
       */
      url?: string;
      type?: components["schemas"]["Legacy_EpisodeType"];
      /**
       * @description 集数
       * @example 1
       */
      sort?: number;
      /**
       * @description 标题
       * @example ちぃ 目覚める
       */
      name?: string;
      /**
       * @description 简体中文标题
       * @example 叽，觉醒了
       */
      name_cn?: string;
      /**
       * @description 时长
       * @example 24m
       */
      duration?: string;
      /**
       * @description 放送日期
       * @example 2002-04-03
       */
      airdate?: string;
      /**
       * @description 回复数量
       * @example 9
       */
      comment?: number;
      /** @description 简介 */
      desc?: string;
      /**
       * @description 放送状态 <br> Air = 已放送 <br> Today = 正在放送 <br> NA = 未放送
       * @example Air
       * @enum {string}
       */
      status?: "Air" | "Today" | "NA";
    };
    /** @description 讨论版 */
    Legacy_Topic: {
      /** @description ID */
      id?: number;
      /** @description 地址 */
      url?: string;
      /** @description 标题 */
      title?: string;
      /** @description 所属对象（条目） ID */
      main_id?: number;
      /** @description 发布时间 */
      timestamp?: number;
      /** @description 最后回复时间 */
      lastpost?: number;
      /** @description 回复数 */
      replies?: number;
      user?: components["schemas"]["Legacy_User"];
    };
    /** @description 日志 */
    Legacy_Blog: {
      /** @description ID */
      id?: number;
      /** @description 地址 */
      url?: string;
      /** @description 标题 */
      title?: string;
      /** @description 概览 */
      summary?: string;
      /** @description 图片 */
      image?: string;
      /** @description 回复数 */
      replies?: number;
      /**
       * @description 发布时间
       * @example 1357144903
       */
      timestamp?: number;
      /**
       * @description 发布时间
       * @example 2013-1-2 16:41
       */
      dateline?: string;
      user?: components["schemas"]["Legacy_User"];
    };
    /** @description 用户信息 */
    Legacy_User: {
      /**
       * @description 用户 id
       * @example 1
       */
      id?: number;
      /**
       * @description 用户主页地址
       * @example https://bgm.tv/user/sai
       */
      url?: string;
      /**
       * @description 用户名
       * @example sai
       */
      username?: string;
      /**
       * @description 昵称
       * @example Sai
       */
      nickname?: string;
      /** @description 头像地址 */
      avatar?: {
        /** @example https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456 */
        large?: string;
        /** @example https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456 */
        medium?: string;
        /** @example https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456 */
        small?: string;
      };
      /**
       * @description 签名
       * @example Awesome!
       */
      sign?: string;
      usergroup?: components["schemas"]["Legacy_UserGroup"];
    };
    /**
     * @description 用户组 <br> 1 = 管理员 <br> 2 = Bangumi 管理猿 <br> 3 = 天窗管理猿 <br> 4 = 禁言用户 <br> 5 = 禁止访问用户 <br> 8 = 人物管理猿 <br> 9 = 维基条目管理猿 <br> 10 = 用户 <br> 11 = 维基人
     * @example 11
     * @enum {integer}
     */
    Legacy_UserGroup: 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11;
    /** @description 现实人物 */
    Legacy_Person: components["schemas"]["Legacy_Mono"] & {
      info?: components["schemas"]["Legacy_MonoInfo"];
    };
    /** @description 虚拟角色 */
    Legacy_Character: components["schemas"]["Legacy_Mono"] & {
      info?: components["schemas"]["Legacy_MonoInfo"];
      /** @description 声优列表 */
      actors?: components["schemas"]["Legacy_MonoBase"][];
    };
    /** @description 人物（基础模型） */
    Legacy_MonoBase: {
      /** @description 人物 ID */
      id?: number;
      /** @description 人物地址 */
      url?: string;
      /** @description 姓名 */
      name?: string;
      /** @description 肖像 */
      images?: {
        /** @example https://lain.bgm.tv/pic/crt/l/ce/65/32_crt_XMJOj.jpg */
        large?: string;
        /** @example https://lain.bgm.tv/pic/crt/m/ce/65/32_crt_XMJOj.jpg */
        medium?: string;
        /** @example https://lain.bgm.tv/pic/crt/s/ce/65/32_crt_XMJOj.jpg */
        small?: string;
        /** @example https://lain.bgm.tv/pic/crt/g/ce/65/32_crt_XMJOj.jpg */
        grid?: string;
      };
    };
    /** @description 人物 */
    Legacy_Mono: components["schemas"]["Legacy_MonoBase"] & {
      /** @description 简体中文名 */
      name_cn?: string;
      /** @description 回复数量 */
      comment?: number;
      /** @description 收藏人数 */
      collects?: number;
    };
    /** @description 人物信息 */
    Legacy_MonoInfo: {
      /**
       * @description 生日
       * @example 4月13日
       */
      birth?: string;
      /**
       * @description 身高
       * @example 152cm
       */
      height?: string;
      /**
       * @description 性别
       * @example 女
       */
      gender?: string;
      /** @description 别名（另外添加出来的 key 为 0 开始的数字） */
      alias?: {
        /** @description 日文名 */
        jp?: string;
        /** @description 纯假名 */
        kana?: string;
        /** @description 昵称 */
        nick?: string;
        /** @description 罗马字 */
        romaji?: string;
        /** @description 第二中文名 */
        zh?: string;
      };
      /** @description 引用来源 */
      source?: string | string[];
      /** @description 简体中文名 */
      name_cn?: string;
      /** @description 声优 */
      cv?: string;
    };
    /**
     * Subject ID
     * @description 条目 ID
     */
    SubjectID: number;
    /**
     * User
     * @description 实际的返回值可能包括文档未声明的 `url` 字段，此字段主要用于开发者从 api 响应直接转跳到网页。
     * 客户端开发者请不用依赖于此特性，此字段的值随时可能会改变。
     *
     * @example {
     *   "avatar": {
     *     "large": "https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456",
     *     "medium": "https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456",
     *     "small": "https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456"
     *   },
     *   "sign": "Awesome!",
     *   "username": "sai",
     *   "nickname": "Sai🖖",
     *   "id": 1,
     *   "user_group": 1
     * }
     */
    User: {
      /** ID */
      id: number;
      /**
       * Username
       * @description 唯一用户名，初始与 UID 相同，可修改一次
       */
      username: string;
      /** Nickname */
      nickname: string;
      user_group: components["schemas"]["UserGroup"];
      avatar: components["schemas"]["Avatar"];
      /**
       * Sign
       * @description 个人签名
       */
      sign: string;
    };
    /**
     * Avatar
     * @example {
     *   "large": "https://lain.bgm.tv/pic/user/l/000/00/00/1.jpg?r=1391790456",
     *   "medium": "https://lain.bgm.tv/pic/user/m/000/00/00/1.jpg?r=1391790456",
     *   "small": "https://lain.bgm.tv/pic/user/s/000/00/00/1.jpg?r=1391790456"
     * }
     */
    Avatar: {
      /**
       * Large
       * Format: url
       */
      large: string;
      /**
       * Medium
       * Format: url
       */
      medium: string;
      /**
       * Small
       * Format: url
       */
      small: string;
    };
    /**
     * UserGroup
     * @description 用户组 - 1 = 管理员 - 2 = Bangumi 管理猿 - 3 = 天窗管理猿 - 4 = 禁言用户 - 5 = 禁止访问用户 - 8 = 人物管理猿 - 9 = 维基条目管理猿 - 10 = 用户 - 11 = 维基人
     * @enum {integer}
     */
    UserGroup: 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11;
    /**
     * BloodType
     * @description Blood type of a person. A, B, AB, O
     * @enum {integer}
     */
    BloodType: 1 | 2 | 3 | 4;
    /** CharacterDetail */
    CharacterDetail: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description 角色，机体，舰船，组织... */
      type: number;
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Summary */
      summary: string;
      /** Locked */
      locked: boolean;
      /**
       * Infobox
       * @description server parsed infobox, a map from key to string or tuple
       * null if server infobox is not valid
       */
      infobox?: { [key: string]: unknown }[];
      /**
       * Gender
       * @description parsed from wiki, maybe null
       */
      gender?: string;
      /** @description parsed from wiki, maybe null, `1, 2, 3, 4` for `A, B, AB, O` */
      blood_type?: number;
      /**
       * Birth Year
       * @description parsed from wiki, maybe `null`
       */
      birth_year?: number;
      /**
       * Birth Mon
       * @description parsed from wiki, maybe `null`
       */
      birth_mon?: number;
      /**
       * Birth Day
       * @description parsed from wiki, maybe `null`
       */
      birth_day?: number;
      stat: components["schemas"]["Stat"];
    };
    /** CharacterPerson */
    CharacterPerson: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description 角色，机体，舰船，组织... */
      type: number;
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Subject ID */
      subject_id: number;
      /** Subject Name */
      subject_name: string;
      /** Subject Name Cn */
      subject_name_cn: string;
      /** Staff */
      staff?: string;
    };
    /**
     * CharacterType
     * @description type of a character 角色，机体，舰船，组织...
     * @enum {integer}
     */
    CharacterType: 1 | 2 | 3 | 4;
    /**
     * CollectionType
     * @description - `1`: 想看
     * - `2`: 看过
     * - `3`: 在看
     * - `4`: 搁置
     * - `5`: 抛弃
     * @example 3
     * @enum {integer}
     */
    SubjectCollectionType: 1 | 2 | 3 | 4 | 5;
    /**
     * EpisodeCollectionType
     * @description - `0`: 未收藏
     * - `1`: 想看
     * - `2`: 看过
     * - `3`: 抛弃
     * @example 2
     * @enum {integer}
     */
    EpisodeCollectionType: 1 | 2 | 3;
    /**
     * Creator
     * @description 意义同<a href="#model-Me">Me</a>
     */
    Creator: {
      /** Username */
      username: string;
      /** Nickname */
      nickname: string;
    };
    /** DetailedRevision */
    DetailedRevision: {
      /** ID */
      id: number;
      /** Type */
      type: number;
      creator?: components["schemas"]["Creator"];
      /** Summary */
      summary: string;
      /**
       * Created At
       * Format: date-time
       */
      created_at: string;
      /**
       * Data
       * @description 编辑修改内容，响应类型不固定
       */
      data?: { [key: string]: unknown };
    };
    /** PersonRevision */
    PersonRevision: components["schemas"]["Revision"] & {
      /** Data */
      data?: { [key: string]: components["schemas"]["PersonRevisionDataItem"] };
    };
    /** PersonRevisionDataItem */
    PersonRevisionDataItem: {
      /** Person Infobox */
      prsn_infobox: string;
      /** Person Summary */
      prsn_summary: string;
      profession: components["schemas"]["PersonRevisionProfession"];
      extra: components["schemas"]["RevisionExtra"];
      /** Person Name */
      prsn_name: string;
    };
    /** PersonRevisionProfession */
    PersonRevisionProfession: {
      /** Producer */
      producer?: string;
      /** Mangaka */
      mangaka?: string;
      /** Artist */
      artist?: string;
      /** Seiyu */
      seiyu?: string;
      /** Writer */
      writer?: string;
      /** Illustrator */
      illustrator?: string;
      /** Actor */
      actor?: string;
    };
    /** RevisionExtra */
    RevisionExtra: {
      /** Image */
      img?: string;
    };
    /** SubjectRevision */
    SubjectRevision: components["schemas"]["Revision"] & {
      data?: components["schemas"]["SubjectRevisionData"];
    };
    /** SubjectRevisionData */
    SubjectRevisionData: {
      /** Field EPs */
      field_eps: number;
      /** Field Infobox */
      field_infobox: string;
      /** Field Summary */
      field_summary: string;
      /** Name */
      name: string;
      /** Name CN */
      name_cn: string;
      /** Platform */
      platform: number;
      /** Subject ID */
      subject_id: number;
      /** Type */
      type: number;
      /** Type ID */
      type_id: number;
      /** Vote Field */
      vote_field: string;
    };
    /** CharacterRevision */
    CharacterRevision: components["schemas"]["Revision"] & {
      /** Data */
      data?: {
        [key: string]: components["schemas"]["CharacterRevisionDataItem"];
      };
    };
    /** CharacterRevisionDataItem */
    CharacterRevisionDataItem: {
      /** Character Infobox */
      infobox: string;
      /** Character Summary */
      summary: string;
      /** Character Name */
      name: string;
      extra: components["schemas"]["RevisionExtra"];
    };
    /**
     * EpType
     * @description 本篇 = 0
     * 特别篇 = 1
     * OP = 2
     * ED = 3
     * 预告/宣传/广告 = 4
     * MAD = 5
     * 其他 = 6
     * @enum {integer}
     */
    EpType: 0 | 1 | 2 | 3 | 4 | 5 | 6;
    /**
     * Episode
     * @example {
     *   "airdate": "",
     *   "comment": 0,
     *   "desc": "",
     *   "disc": 0,
     *   "duration": "",
     *   "ep": 6,
     *   "id": 8,
     *   "name": "蒼と白の境界線",
     *   "name_cn": "",
     *   "sort": 6,
     *   "subject_id": 15,
     *   "type": 0,
     *   "duration_seconds": 1440
     * }
     */
    Episode: {
      /** ID */
      id: number;
      /**
       * Type
       * @description `0` 本篇，`1` SP，`2` OP，`3` ED
       */
      type: number;
      /** Name */
      name: string;
      /** Name Cn */
      name_cn: string;
      /**
       * Sort
       * @description 同类条目的排序和集数
       */
      sort: number;
      /**
       * Ep
       * @description 条目内的集数, 从`1`开始。非本篇剧集的此字段无意义
       */
      ep?: number;
      /** Airdate */
      airdate: string;
      /** Comment */
      comment: number;
      /**
       * Duration
       * @description 维基人填写的原始时长
       */
      duration: string;
      /**
       * Desc
       * @description 简介
       */
      desc: string;
      /**
       * Disc
       * @description 音乐曲目的碟片数
       */
      disc: number;
      /** @description 服务器解析的时长，无法解析时为 `0` */
      duration_seconds?: number;
    };
    /** EpisodeDetail */
    EpisodeDetail: {
      /** ID */
      id: number;
      /**
       * Type
       * @description `0` 本篇，`1` SP，`2` OP，`3` ED
       */
      type: number;
      /** Name */
      name: string;
      /** Name Cn */
      name_cn: string;
      /**
       * Sort
       * @description 同类条目的排序和集数
       */
      sort: number;
      /**
       * Ep
       * @description 条目内的集数, 从`1`开始。非本篇剧集的此字段无意义
       */
      ep?: number;
      /** Airdate */
      airdate: string;
      /** Comment */
      comment: number;
      /** Duration */
      duration: string;
      /**
       * Desc
       * @description 简介
       */
      desc: string;
      /**
       * Disc
       * @description 音乐曲目的碟片数
       */
      disc: number;
      /** Subject ID */
      subject_id: number;
    };
    /** ErrorDetail */
    ErrorDetail: {
      /** Title */
      title: string;
      /** Description */
      description: string;
      /** Detail */
      details?:
        | string
        | {
            /** @description error message */
            error?: string;
            /** @description request path */
            path?: string;
          };
    };
    /** Images */
    Images: {
      /** Large */
      large: string;
      /** Common */
      common: string;
      /** Medium */
      medium: string;
      /** Small */
      small: string;
      /** Grid */
      grid: string;
    };
    /** Index */
    Index: {
      /** ID */
      id: number;
      /** Title */
      title: string;
      /** Desc */
      desc: string;
      /**
       * Total
       * @description 收录条目总数
       * @default 0
       */
      total?: number;
      /**
       * Stat
       * @description 目录评论及收藏数
       */
      stat: components["schemas"]["Stat"];
      /**
       * Created At
       * Format: date-time
       */
      created_at: string;
      /**
       * Updated At
       * Format: date-time
       */
      updated_at: string;
      creator: components["schemas"]["Creator"];
      /** Ban */
      ban: boolean;
      /** 目录是否包括 nsfw 条目 */
      nsfw: boolean;
    };
    /**
     * IndexSubject
     * @description 同名字段意义同<a href="#model-Subject">Subject</a>
     */
    IndexSubject: {
      /** ID */
      id: number;
      /** Type */
      type: number;
      /** Name */
      name: string;
      images?: components["schemas"]["Images"];
      infobox?: components["schemas"]["WikiV0"];
      /** Date */
      date?: string;
      /** Comment */
      comment: string;
      /**
       * Added At
       * Format: date-time
       */
      added_at: string;
    };
    /**
     * IndexBasicInfo
     * @description 新增或修改条目的内容，同名字段意义同<a href="#model-Subject">Subject</a>
     */
    IndexBasicInfo: {
      /** Title */
      title?: string;
      /** Description */
      description?: string;
    };
    /**
     * IndexBasicInfo
     * @description 新增某条目到目录的请求信息
     */
    IndexSubjectAddInfo: {
      /** Subject ID */
      subject_id?: number;
      /**
       * Sort
       * @description 排序条件，越小越靠前
       */
      sort?: number;
      /** Comment */
      comment?: string;
    };
    /**
     * IndexBasicInfo
     * @description 修改目录中条目的信息
     */
    IndexSubjectEditInfo: {
      /**
       * Sort
       * @description 排序条件，越小越靠前
       */
      sort?: number;
      /** Comment */
      comment?: string;
    };
    /**
     * Infobox
     * @example [
     *   {
     *     "key": "简体中文名",
     *     "value": "鲁路修·兰佩路基"
     *   },
     *   {
     *     "key": "别名",
     *     "value": [
     *       {
     *         "v": "L.L."
     *       },
     *       {
     *         "v": "勒鲁什"
     *       },
     *       {
     *         "v": "鲁鲁修"
     *       },
     *       {
     *         "v": "ゼロ"
     *       },
     *       {
     *         "v": "Zero"
     *       },
     *       {
     *         "k": "英文名",
     *         "v": "Lelouch Lamperouge"
     *       },
     *       {
     *         "k": "第二中文名",
     *         "v": "鲁路修·冯·布里塔尼亚"
     *       },
     *       {
     *         "k": "英文名二",
     *         "v": "Lelouch Vie Britannia"
     *       },
     *       {
     *         "k": "日文名",
     *         "v": "ルルーシュ・ヴィ・ブリタニア"
     *       }
     *     ]
     *   },
     *   {
     *     "key": "性别",
     *     "value": "男"
     *   },
     *   {
     *     "key": "生日",
     *     "value": "12月5日"
     *   },
     *   {
     *     "key": "血型",
     *     "value": "A型"
     *   },
     *   {
     *     "key": "身高",
     *     "value": "178cm→181cm"
     *   },
     *   {
     *     "key": "体重",
     *     "value": "54kg"
     *   },
     *   {
     *     "key": "引用来源",
     *     "value": "Wikipedia"
     *   }
     * ]
     */
    WikiV0: {
      /** Key */
      key: string;
      /** Value */
      value: Partial<string> &
        Partial<
          (Partial<{
            /** K */
            k: string;
            /** V */
            v: string;
          }> &
            Partial<{
              /** V */
              v: string;
            }>)[]
        >;
    }[];
    Page: {
      /** Total */
      total: number;
      /** Limit */
      limit: number;
      /** Offset */
      offset: number;
    };
    /** Paged[Episode] */
    Paged_Episode: {
      /**
       * Total
       * @default 0
       */
      total?: number;
      /**
       * Limit
       * @default 0
       */
      limit?: number;
      /**
       * Offset
       * @default 0
       */
      offset?: number;
      /**
       * Data
       * @default []
       */
      data?: components["schemas"]["Episode"][];
    };
    /** Paged[IndexSubject] */
    Paged_IndexSubject: {
      /**
       * Total
       * @default 0
       */
      total?: number;
      /**
       * Limit
       * @default 0
       */
      limit?: number;
      /**
       * Offset
       * @default 0
       */
      offset?: number;
      /**
       * Data
       * @default []
       */
      data?: components["schemas"]["IndexSubject"][];
    };
    /** Paged[Revision] */
    Paged_Revision: {
      /**
       * Total
       * @default 0
       */
      total?: number;
      /**
       * Limit
       * @default 0
       */
      limit?: number;
      /**
       * Offset
       * @default 0
       */
      offset?: number;
      /**
       * Data
       * @default []
       */
      data?: components["schemas"]["Revision"][];
    };
    /** Paged[UserCollection] */
    Paged_UserCollection: {
      /**
       * Total
       * @default 0
       */
      total?: number;
      /**
       * Limit
       * @default 0
       */
      limit?: number;
      /**
       * Offset
       * @default 0
       */
      offset?: number;
      /**
       * Data
       * @default []
       */
      data?: components["schemas"]["UserSubjectCollection"][];
    };
    /** Person */
    Person: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
      type: number;
      career: components["schemas"]["PersonCareer"][];
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Short Summary */
      short_summary: string;
      /** Locked */
      locked: boolean;
    };
    /**
     * PersonCareer
     * @description An enumeration.
     * @enum {string}
     */
    PersonCareer:
      | "producer"
      | "mangaka"
      | "artist"
      | "seiyu"
      | "writer"
      | "illustrator"
      | "actor";
    /** PersonCharacter */
    PersonCharacter: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description 角色，机体，舰船，组织... */
      type: number;
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Subject ID */
      subject_id: number;
      /** Subject Name */
      subject_name: string;
      /** Subject Name Cn */
      subject_name_cn: string;
      /** Staff */
      staff?: string;
    };
    /** PersonDetail */
    PersonDetail: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
      type: number;
      career: components["schemas"]["PersonCareer"][];
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Summary */
      summary: string;
      /** Locked */
      locked: boolean;
      /**
       * Last Modified
       * Format: date-time
       * @description currently it's latest user comment time, it will be replaced by wiki modified date in the future
       */
      last_modified: string;
      /**
       * Infobox
       * @description server parsed infobox, a map from key to string or tuple
       * null if server infobox is not valid
       */
      infobox?: { [key: string]: unknown }[];
      /**
       * Gender
       * @description parsed from wiki, maybe null
       */
      gender?: string;
      /** @description parsed from wiki, maybe null, `1, 2, 3, 4` for `A, B, AB, O` */
      blood_type?: number;
      /**
       * Birth Year
       * @description parsed from wiki, maybe `null`
       */
      birth_year?: number;
      /**
       * Birth Mon
       * @description parsed from wiki, maybe `null`
       */
      birth_mon?: number;
      /**
       * Birth Day
       * @description parsed from wiki, maybe `null`
       */
      birth_day?: number;
      stat: components["schemas"]["Stat"];
    };
    /** PersonImages */
    PersonImages: {
      /** Large */
      large: string;
      /** Medium */
      medium: string;
      /** Small */
      small: string;
      /** Grid */
      grid: string;
    };
    /**
     * PersonType
     * @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合`
     * @enum {integer}
     */
    PersonType: 1 | 2 | 3;
    /** RelatedCharacter */
    RelatedCharacter: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description 角色，机体，舰船，组织... */
      type: number;
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Relation */
      relation: string;
      /**
       * Actors
       * @description 演员列表
       * @default []
       */
      actors?: components["schemas"]["Person"][];
    };
    /** RelatedPerson */
    RelatedPerson: {
      /** ID */
      id: number;
      /** Name */
      name: string;
      /** @description `1`, `2`, `3` 表示 `个人`, `公司`, `组合` */
      type: number;
      career: components["schemas"]["PersonCareer"][];
      /**
       * Images
       * @description object with some size of images, this object maybe `null`
       */
      images?: components["schemas"]["PersonImages"];
      /** Relation */
      relation: string;
    };
    /** Revision */
    Revision: {
      /** ID */
      id: number;
      /** Type */
      type: number;
      creator?: components["schemas"]["Creator"];
      /** Summary */
      summary: string;
      /**
       * Created At
       * Format: date-time
       */
      created_at: string;
    };
    /** Stat */
    Stat: {
      /** Comments */
      comments: number;
      /** Collects */
      collects: number;
    };
    /** Subject */
    Subject: {
      /** ID */
      id: number;
      /** Type */
      type: number;
      /** Name */
      name: string;
      /** Name Cn */
      name_cn: string;
      /** Summary */
      summary: string;
      /** Nsfw */
      nsfw: boolean;
      /** Locked */
      locked: boolean;
      /**
       * Date
       * @description air date in `YYYY-MM-DD` format
       */
      date?: string;
      /**
       * Platform
       * @description TV, Web, 欧美剧, PS4...
       */
      platform: string;
      images: components["schemas"]["Images"];
      infobox?: components["schemas"]["WikiV0"];
      /**
       * Volumes
       * @description 书籍条目的册数，由旧服务端从wiki中解析
       */
      volumes: number;
      /**
       * Eps
       * @description 由旧服务端从wiki中解析，对于书籍条目为`话数`
       */
      eps: number;
      /**
       * Total Episodes
       * @description 数据库中的章节数量
       */
      total_episodes: number;
      /** Rating */
      rating: {
        /** Rank */
        rank: number;
        /** Total */
        total: number;
        /** Count */
        count: {
          "1"?: number;
          "2"?: number;
          "3"?: number;
          "4"?: number;
          "5"?: number;
          "6"?: number;
          "7"?: number;
          "8"?: number;
          "9"?: number;
          "10"?: number;
        };
        /** Score */
        score: number;
      };
      /** Collection */
      collection: {
        /** Wish */
        wish: number;
        /** Collect */
        collect: number;
        /** Doing */
        doing: number;
        /** On Hold */
        on_hold: number;
        /** Dropped */
        dropped: number;
      };
      tags: components["schemas"]["SubjectTags"];
    };
    /** SlimSubject */
    SlimSubject: {
      /** ID */
      id: number;
      /** Type */
      type: number;
      /** Name */
      name: string;
      /** Name Cn */
      name_cn: string;
      /**
       * Summary
       * @description 截短后的条目描述。
       */
      short_summary: string;
      /**
       * Date
       * @description air date in `YYYY-MM-DD` format
       */
      date?: string;
      images: components["schemas"]["Images"];
      /**
       * Volumes
       * @description 书籍条目的册数，由旧服务端从wiki中解析
       */
      volumes: number;
      /**
       * Eps
       * @description 由旧服务端从wiki中解析，对于书籍条目为`话数`
       */
      eps: number;
      /**
       * Total
       * @description 收藏人数
       */
      collection_total: number;
      /**
       * Total
       * @description 分数
       */
      score: number;
      /** @description 前 10 个 tag */
      tags: components["schemas"]["SubjectTags"];
    } & {
      rank: unknown;
    };
    /** Tags */
    SubjectTags: {
      /** Name */
      name: string;
      /** Count */
      count: number;
    }[];
    /**
     * SubjectType
     * @description 条目类型
     * - `1` 为 书籍
     * - `2` 为 动画
     * - `3` 为 音乐
     * - `4` 为 游戏
     * - `6` 为 三次元
     *
     * 没有 `5`
     * @example 2
     * @enum {integer}
     */
    SubjectType: 1 | 2 | 3 | 4 | 6;
    /** UserSubjectCollection */
    UserSubjectCollection: {
      /**
       * Subject ID
       * @example 8
       */
      subject_id: number;
      subject_type: components["schemas"]["SubjectType"];
      /**
       * Rate
       * @example 4
       */
      rate: number;
      type: components["schemas"]["SubjectCollectionType"];
      /**
       * Comment
       * @example 看看
       */
      comment?: string;
      /**
       * Tags
       * @example [
       *   "柯南",
       *   "万年小学生",
       *   "推理",
       *   "青山刚昌",
       *   "TV"
       * ]
       */
      tags: string[];
      /**
       * Ep Status
       * @example 5
       */
      ep_status: number;
      /**
       * Vol Status
       * @example 0
       */
      vol_status: number;
      /**
       * Updated At
       * Format: date-time
       * @description 本时间并不代表条目的收藏时间。修改评分，评价，章节观看状态等收藏信息时未更新此时间是一个 bug。请不要依赖此特性
       * @example 2022-06-19T18:44:13.6140127+08:00
       */
      updated_at: string;
      /** Private */
      private: boolean;
      subject?: components["schemas"]["SlimSubject"];
    };
    UserEpisodeCollection: {
      episode: components["schemas"]["Episode"];
      type: components["schemas"]["EpisodeCollectionType"];
    };
    /** RelatedSubject */
    v0_RelatedSubject: {
      /** ID */
      id: number;
      /** Staff */
      staff: string;
      /** Name */
      name?: string;
      /** Name Cn */
      name_cn: string;
      /** Image */
      image?: string;
    };
    /** SubjectRelation */
    v0_subject_relation: {
      /** ID */
      id: number;
      /** Type */
      type: number;
      /** Name */
      name: string;
      /** Name Cn */
      name_cn: string;
      images?: components["schemas"]["Images"];
      /** Relation */
      relation: string;
    };
  };
  responses: {
    /** Bad Request */
    400: {
      content: {
        "application/json": components["schemas"]["ErrorDetail"];
      };
    };
    /** Unauthorized */
    401: {
      content: {
        "application/json": components["schemas"]["ErrorDetail"];
      };
    };
    /** Not Found */
    404: {
      content: {
        "application/json": components["schemas"]["ErrorDetail"];
      };
    };
    /** Internal Server Error */
    500: {
      content: {
        "application/json": components["schemas"]["ErrorDetail"];
      };
    };
    /** Successful Response */
    "200-no-content": unknown;
  };
  parameters: {
    /** @description 条目 ID */
    path_subject_id: components["schemas"]["SubjectID"];
    /** @description 设置了用户名之后无法使用 UID。 */
    path_username: string;
    /** @description 章节 ID */
    path_episode_id: number;
    /** @description 角色 ID */
    path_character_id: number;
    /** @description 人物 ID */
    path_person_id: number;
    /** @description 目录 ID */
    path_index_id: number;
    /** @description 条目 ID */
    query_subject_id: components["schemas"]["SubjectID"];
    /** @description 分页参数 */
    default_query_limit: number;
    /** @description 分页参数 */
    default_query_offset: number;
    /** @description 版本 ID */
    path_revision_id: number;
  };
}

export interface operations {
  getCalendar: {
    responses: {
      /** 每日放送 */
      200: {
        content: {
          "application/json": {
            weekday?: {
              /** @example Mon */
              en?: string;
              /** @example 星期一 */
              cn?: string;
              /** @example 月耀日 */
              ja?: string;
              /** @example 1 */
              id?: number;
            };
            items?: components["schemas"]["Legacy_SubjectSmall"][];
          }[];
        };
      };
    };
  };
  searchSubjectByKeywords: {
    parameters: {
      path: {
        /** 关键词 <br> 需要 URL Encode */
        keywords: string;
      };
      query: {
        /** 条目类型，参考 [SubjectType](#model-Legacy_SubjectType) */
        type?: components["schemas"]["Legacy_SubjectType"];
        /** 返回数据大小 <br> 默认为 small */
        responseGroup?: "small" | "medium" | "large";
        /** 开始条数 */
        start?: number;
        /** 每页条数 <br> 最多 25 */
        max_results?: number;
      };
    };
    responses: {
      /** 搜索结果 */
      200: {
        content: {
          "application/json":
            | {
                /** @description 总条数 */
                results?: number;
                /** @description 结果列表 */
                list?: components["schemas"]["Legacy_SubjectSmall"][];
              }
            | {
                /** @description 总条数 */
                results?: number;
                /** @description 结果列表 */
                list?: components["schemas"]["Legacy_SubjectMedium"][];
              }
            | {
                /** @description 总条数 */
                results?: number;
                /** @description 结果列表 */
                list?: components["schemas"]["Legacy_SubjectLarge"][];
              };
        };
      };
    };
  };
  /**
   * ## 实验性 API， 本 schema 和实际的 API 行为都可能随时发生改动
   *
   * 目前支持的筛选条件包括:
   * - `type`: 条目类型，参照 `SubjectType` enum， `或`。
   * - `tag`: 标签，可以多次出现。`且` 关系。
   * - `airdate`: 播出日期/发售日期。`且` 关系。
   * - `rating`: 用于搜索指定评分的条目。`且` 关系。
   * - `rank`: 用于搜索指定排名的条目。`且` 关系。
   * - `nsfw`: 使用 `include` 包含NSFW搜索结果。默认排除搜索NSFW条目。无权限情况下忽略此选项，不会返回NSFW条目。
   *
   * 不同筛选条件之间为 `且`
   *
   *
   * 由于目前 meilisearch 的一些问题，条目排名更新并不会触发搜索数据更新，所以条目排名可能是过期数据。
   *
   * 希望未来版本的 meilisearch 能解决相关的问题。
   */
  searchSubjects: {
    parameters: {
      query: {
        /** 分页参数 */
        limit?: number;
        /** 分页参数 */
        offset?: number;
      };
    };
    responses: {
      /** 返回搜索结果 */
      200: {
        content: {
          "application/json": {
            /**
             * @description 搜索结果数量
             * @example 100
             */
            total?: number;
            /**
             * @description 当前分页参数
             * @example 100
             */
            limit?: number;
            /**
             * @description 当前分页参数
             * @example 100
             */
            offset?: number;
            data?: {
              /**
               * @description 条目ID
               * @example 8
               */
              id: number;
              type?: components["schemas"]["SubjectType"];
              /** @description 上映/开播/连载开始日期，可能为空字符串 */
              date: string;
              /**
               * Format: url
               * @description 封面
               */
              image: string;
              /** @description 条目描述 */
              summary: string;
              /** @description 条目原名 */
              name: string;
              /** @description 条目中文名 */
              name_cn: string;
              tags: components["schemas"]["SubjectTags"];
              /** @description 评分 */
              score: number;
              /** @description 排名 */
              rank: number;
            }[];
          };
        };
      };
    };
    requestBody: {
      content: {
        "application/json": {
          keyword: string;
          /**
           * @description 排序规则
           *
           * - `match` meilisearch 的默认排序，按照匹配程度
           * - `heat` 收藏人数
           * - `rank` 排名由高到低
           * - `score` 评分
           *
           * @default match
           * @example rank
           * @enum {string}
           */
          sort?: "match" | "heat" | "rank" | "score";
          /** @description 不同条件之间是 `且` 的关系 */
          filter?: {
            /** @description 条目类型，参照 `SubjectType` enum，多值之间为 `或` 的关系。 */
            type?: components["schemas"]["SubjectType"][];
            /**
             * @description 标签，可以多次出现。多值之间为 `且` 关系。
             * @example [
             *   "童年",
             *   "原创"
             * ]
             */
            tag?: string[];
            /**
             * @description 播出日期/发售日期，日期必需为 `YYYY-MM-DD` 格式。多值之间为 `且` 关系。
             * @example [
             *   ">=2020-07-01",
             *   "<2020-10-01"
             * ]
             */
            air_date?: string[];
            /**
             * @description 用于搜索指定评分的条目，多值之间为 `且` 关系。
             * @example [
             *   ">=6",
             *   "<8"
             * ]
             */
            rating?: string[];
            /**
             * @description 用于搜索指定排名的条目，多值之间为 `且` 关系。
             * @example [
             *   ">10",
             *   "<=18"
             * ]
             */
            rank?: string[];
            /**
             * @description 无权限的用户会直接忽略此字段，不会返回R18条目。
             *
             * 默认或者 `null` 会返回包含 R18 的所有搜索结果。
             *
             * `true` 只会返回 R18 条目。
             *
             * `false` 只会返回非 R18 条目。
             */
            nsfw?: boolean;
          };
        };
      };
    };
  };
  /** cache with 300s */
  getSubjectById: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Subject"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getSubjectImageById: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
      query: {
        /** 枚举值 {small|grid|large|medium|common} */
        type: string;
      };
    };
    responses: {
      /** Successful Response */
      302: never;
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedPersonsBySubjectId: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["RelatedPerson"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedCharactersBySubjectId: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["RelatedCharacter"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedSubjectsBySubjectId: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["v0_subject_relation"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getEpisodes: {
    parameters: {
      query: {
        /** 条目 ID */
        subject_id: components["parameters"]["query_subject_id"];
        /** 参照章节的`type` */
        type?: number;
        /** 分页参数 */
        limit?: number;
        /** 分页参数 */
        offset?: number;
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Paged_Episode"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getEpisodeById: {
    parameters: {
      path: {
        /** 章节 ID */
        episode_id: components["parameters"]["path_episode_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["EpisodeDetail"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** cache with 60s */
  getCharacterById: {
    parameters: {
      path: {
        /** 角色 ID */
        character_id: components["parameters"]["path_character_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["CharacterDetail"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getCharacterImageById: {
    parameters: {
      path: {
        /** 角色 ID */
        character_id: components["parameters"]["path_character_id"];
      };
      query: {
        /** 枚举值 {small|grid|large|medium} */
        type: string;
      };
    };
    responses: {
      /** Successful Response */
      302: never;
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedSubjectsByCharacterId: {
    parameters: {
      path: {
        /** 角色 ID */
        character_id: components["parameters"]["path_character_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["v0_RelatedSubject"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedPersonsByCharacterId: {
    parameters: {
      path: {
        /** 角色 ID */
        character_id: components["parameters"]["path_character_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["CharacterPerson"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** cache with 60s */
  getPersonById: {
    parameters: {
      path: {
        /** 人物 ID */
        person_id: components["parameters"]["path_person_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["PersonDetail"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getPersonImageById: {
    parameters: {
      path: {
        /** 人物 ID */
        person_id: components["parameters"]["path_person_id"];
      };
      query: {
        /** 枚举值 {small|grid|large|medium} */
        type: string;
      };
    };
    responses: {
      /** Successful Response */
      302: never;
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedSubjectsByPersonId: {
    parameters: {
      path: {
        /** 人物 ID */
        person_id: components["parameters"]["path_person_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["v0_RelatedSubject"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getRelatedCharactersByPersonId: {
    parameters: {
      path: {
        /** 人物 ID */
        person_id: components["parameters"]["path_person_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["PersonCharacter"][];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** 获取用户信息 */
  getUserByName: {
    parameters: {
      path: {
        /** 设置了用户名之后无法使用 UID。 */
        username: components["parameters"]["path_username"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["User"];
        };
      };
      /** username 太长 */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 对应用户不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** 获取用户头像，302 重定向至头像地址，设置了 username 之后无法使用 UID 查询。 */
  getUserAvatarByName: {
    parameters: {
      path: {
        /** 设置了用户名之后无法使用 UID。 */
        username: components["parameters"]["path_username"];
      };
      query: {
        /** 枚举值 {small|large|medium} */
        type: string;
      };
    };
    responses: {
      /** Successful Response */
      302: never;
      /** username 太长 */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 对应用户不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** 返回当前 Access Token 对应的用户信息 */
  getMyself: {
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["User"];
        };
      };
      /** unauthorized */
      403: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** 获取对应用户的收藏，查看私有收藏需要access token。 */
  getUserCollectionsByUsername: {
    parameters: {
      path: {
        /** 设置了用户名之后无法使用 UID。 */
        username: components["parameters"]["path_username"];
      };
      query: {
        /**
         * 条目类型，默认为全部
         *
         * 具体含义见 [SubjectType](#model-SubjectType)
         */
        subject_type?: components["schemas"]["SubjectType"];
        /**
         * 收藏类型，默认为全部
         *
         * 具体含义见 [CollectionType](#model-CollectionType)
         */
        type?: number;
        /** 分页参数 */
        limit?: components["parameters"]["default_query_limit"];
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Paged_UserCollection"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 用户不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** 获取对应用户的收藏，查看私有收藏需要access token。 */
  getUserCollection: {
    parameters: {
      path: {
        /** 设置了用户名之后无法使用 UID。 */
        username: components["parameters"]["path_username"];
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["UserSubjectCollection"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 用户不存在或者条目未收藏，或者条目为私有收藏 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /**
   * 修改条目收藏状态
   *
   * 由于直接修改剧集条目的完成度可能会引起意料之外效果，只能用于修改书籍类条目的完成度。
   *
   * PATCH 方法的所有请求体字段均可选
   */
  patchUserCollection: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      204: never;
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Unauthorized */
      401: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 用户不存在或者条目未收藏 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
    requestBody: {
      content: {
        "application/json": {
          /** @description 修改条目收藏类型 */
          type?: components["schemas"]["SubjectCollectionType"];
          /** @description 评分，`0` 表示删除评分 */
          rate?: number;
          /** @description 只能用于修改书籍条目进度 */
          ep_status?: number;
          /** @description 只能用于修改书籍条目进度 */
          vol_status?: number;
          /** @description 评价 */
          comment?: string;
          /** @description 仅自己可见 */
          private?: boolean;
          /**
           * 标签
           * @description 不传或者 `null` 都会被忽略，传 `[]` 则会删除所有 tag。
           */
          tags?: string[];
        };
      };
    };
  };
  getUserSubjectEpisodeCollection: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
      query: {
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
        /** 分页参数 */
        limit?: number;
        /** 章节类型，不传则不按照章节进行筛选 */
        episode_type?: components["schemas"]["EpType"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Page"] & {
            data?: components["schemas"]["UserEpisodeCollection"][];
          };
        };
      };
      /** Bad Request */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** not authorized */
      401: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 条目不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  /** 同时会重新计算条目的完成度 */
  patchUserSubjectEpisodeCollection: {
    parameters: {
      path: {
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      /** Successful Response */
      204: never;
      /** Bad Request */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** not authorized */
      401: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 条目不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
    requestBody: {
      content: {
        "application/json": {
          /**
           * @example [
           *   1,
           *   2,
           *   8
           * ]
           */
          episode_id: number[];
          type: components["schemas"]["EpisodeCollectionType"];
        };
      };
    };
  };
  getUserEpisodeCollection: {
    parameters: {
      path: {
        /** 章节 ID */
        episode_id: components["parameters"]["path_episode_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["UserEpisodeCollection"];
        };
      };
      /** episode ID not valid */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** not authorized */
      401: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 条目或者章节不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  putUserEpisodeCollection: {
    parameters: {
      path: {
        /** 章节 ID */
        episode_id: components["parameters"]["path_episode_id"];
      };
    };
    responses: {
      /** Successful Response */
      204: never;
      /** episode ID not valid or subject not collected */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** not authorized */
      401: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** 条目或者章节不存在 */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
    requestBody: {
      content: {
        "application/json": {
          type: components["schemas"]["EpisodeCollectionType"];
        };
      };
    };
  };
  getPersonRevisions: {
    parameters: {
      query: {
        /** 角色 ID */
        person_id: number;
        /** 分页参数 */
        limit?: components["parameters"]["default_query_limit"];
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Paged_Revision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getPersonRevisionByRevisionId: {
    parameters: {
      path: {
        /** 历史版本 ID */
        revision_id: number;
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["PersonRevision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getCharacterRevisions: {
    parameters: {
      query: {
        /** 角色 ID */
        character_id: number;
        /** 分页参数 */
        limit?: components["parameters"]["default_query_limit"];
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Paged_Revision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getCharacterRevisionByRevisionId: {
    parameters: {
      path: {
        /** 版本 ID */
        revision_id: components["parameters"]["path_revision_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["CharacterRevision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getSubjectRevisions: {
    parameters: {
      query: {
        /** 条目 ID */
        subject_id: number;
        /** 分页参数 */
        limit?: components["parameters"]["default_query_limit"];
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Paged_Revision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getSubjectRevisionByRevisionId: {
    parameters: {
      path: {
        /** 版本 ID */
        revision_id: components["parameters"]["path_revision_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["SubjectRevision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getEpisodeRevisions: {
    parameters: {
      query: {
        /** 章节 ID */
        episode_id: number;
        /** 分页参数 */
        limit?: components["parameters"]["default_query_limit"];
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Paged_Revision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getEpisodeRevisionByRevisionId: {
    parameters: {
      path: {
        /** 版本 ID */
        revision_id: components["parameters"]["path_revision_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["DetailedRevision"];
        };
      };
      /** Validation Error */
      400: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
      /** Not Found */
      404: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  newIndex: {
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Index"];
        };
      };
      /** Unauthorized */
      401: {
        content: {
          "application/json": components["schemas"]["ErrorDetail"];
        };
      };
    };
  };
  getIndexById: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Index"];
        };
      };
      404: components["responses"]["404"];
    };
  };
  editIndexById: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
      };
    };
    responses: {
      /** Successful Response */
      200: {
        content: {
          "application/json": components["schemas"]["Index"];
        };
      };
      400: components["responses"]["400"];
      401: components["responses"]["401"];
      404: components["responses"]["404"];
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["IndexBasicInfo"];
      };
    };
  };
  getIndexSubjectsByIndexId: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
      };
      query: {
        /** 条目类型 */
        type?: components["schemas"]["SubjectType"];
        /** 分页参数 */
        limit?: components["parameters"]["default_query_limit"];
        /** 分页参数 */
        offset?: components["parameters"]["default_query_offset"];
      };
    };
    responses: {
      /** Successful Response */
      200: unknown;
      400: components["responses"]["400"];
      404: components["responses"]["404"];
    };
  };
  addSubjectToIndexByIndexId: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
      };
    };
    responses: {
      200: components["responses"]["200-no-content"];
      400: components["responses"]["401"];
      401: components["responses"]["400"];
      404: components["responses"]["404"];
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["IndexSubjectAddInfo"];
      };
    };
  };
  /** 如果条目不存在于目录，会创建该条目 */
  editIndexSubjectsByIndexIdAndSubjectID: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      200: components["responses"]["200-no-content"];
      400: components["responses"]["400"];
      401: components["responses"]["401"];
      404: components["responses"]["404"];
    };
    requestBody: {
      content: {
        "application/json": components["schemas"]["IndexSubjectEditInfo"];
      };
    };
  };
  delelteSubjectFromIndexByIndexIdAndSubjectID: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
        /** 条目 ID */
        subject_id: components["parameters"]["path_subject_id"];
      };
    };
    responses: {
      200: components["responses"]["200-no-content"];
      401: components["responses"]["401"];
      404: components["responses"]["404"];
    };
  };
  /** 为当前用户收藏一条目录 */
  collectIndexByIndexIdAndUserId: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
      };
    };
    responses: {
      200: components["responses"]["200-no-content"];
      401: components["responses"]["401"];
      404: components["responses"]["404"];
      500: components["responses"]["500"];
    };
  };
  /** 为当前用户取消收藏一条目录 */
  uncollectIndexByIndexIdAndUserId: {
    parameters: {
      path: {
        /** 目录 ID */
        index_id: components["parameters"]["path_index_id"];
      };
    };
    responses: {
      200: components["responses"]["200-no-content"];
      401: components["responses"]["401"];
      404: components["responses"]["404"];
      500: components["responses"]["500"];
    };
  };
}

export interface external {}
